This is a shorter than usual voting period, as this issue can affect Node Provider Rewards for Node Operators that are redeploying gen1 nodes under updated agreements.
Additional Notes / Breaking Changes
This contains a fix that will prevent essential information from being lost during node redeployments with new node operator records.
Proposals to be Submitted
Registry
# Upgrade the Registry Canister to Commit 2008d47
__Proposer__: maximilian.summe at dfinity.org
__Source code__: [2008d47a169c4984631c87f2efaa88798e6f14dc][new-commit]
[new-commit]: https://github.com/dfinity/ic/tree/2008d47a169c4984631c87f2efaa88798e6f14dc
## Features & Fixes
## Fixed
### Update the correct node operator ID in do_remove_node_directly
Fix for the do_remove_node_directly function to update the correct node operator ID record.
In the past the caller_id and the node_operator_id for the node were always the same.
However, since #3285 the caller_id and the node_operator_id for the removed node may differ,
and this introduces a bug in this edge case.
The bug resulted in a node reward discrepancy for a few operator records, identified in the
regular administrative checks before the reward distribution and [described in the forum](https://forum.dfinity.org/t/issue-with-node-provider-rewards/41109/2) and
mitigated with a few NNS proposals referenced in the forum thread.
## New Commits
```
$ git log --format="%C(auto) %h %s" 2d4bcba47ea10520ff21ce54a8acb9cdb0629317..2008d47a169c4984631c87f2efaa88798e6f14dc -- ./rs/registry/canister
8a3737fa65 fix(registry): Update the correct node operator ID in node removal (#3924)
527f4adf99 chore: Quotation in error messages (#3828)
4c20acbce9 chore(nervous-system): Update changelog for release 2025-02-07 (#3867)
```
## Current Version
__Current git hash__: 2d4bcba47ea10520ff21ce54a8acb9cdb0629317
__Current wasm hash__: f8b2aba5d7217cc07a84d59a18af825c2a8813dd38073b96456b2e83d1e78e37
## Verification
See the general instructions on [how to verify] proposals like this. A "quick
start" guide is provided here.
[how to verify]: https://github.com/dfinity/ic/tree/2008d47a169c4984631c87f2efaa88798e6f14dc/rs/nervous_system/docs/proposal_verification.md
### WASM Verification
See ["Building the code"][prereqs] for prerequisites.
[prereqs]: https://github.com/dfinity/ic/tree/2008d47a169c4984631c87f2efaa88798e6f14dc/README.adoc#building-the-code
```
# 1. Get a copy of the code.
git clone git@github.com:dfinity/ic.git
cd ic
# Or, if you already have a copy of the ic repo,
git fetch
git checkout 2008d47a169c4984631c87f2efaa88798e6f14dc
# 2. Build canisters.
./ci/container/build-ic.sh -c
# 3. Fingerprint the result.
sha256sum ./artifacts/canisters/registry-canister.wasm.gz
```
This should match `wasm_module_hash` field of this proposal.
DFINITY will reject this proposal and vote to adopt another one, which includes all the changes announced in this thread. For more details, please read: NNS Update: February 13, 2025
Vote: REJECT
Hash Match: MATCH
Feedback: NONE
Proposer Check: MATCH
Reason: New proposal 135300 was created with all commits in this proposal plus an additional commit. Seems like that is the most updated proposal.
Summary
8a3737fa65
By using the proper node_operator_id instead of always assuming that it equals the caller_id, this patch fixes the bug that led to node reward discrepancies and updates the tests and helper functions to reflect the correct logic.
527f4adf99
Expect the trap error messages to consistently include single quotes around the actual message content.
4c20acbce9
These updates help keep the changelog in sync with the actual released changes and provide clear documentation of the updates made in these proposals.
Vote: ADOPT
Hash Match: MATCH
Feedback: NONE
Proposer Check: MATCH
Targeted Canister: MATCH
Reason: I successfully built and verified the hash. All the commit descriptions match their code changes.
Summary
4f60863183
The changes disable the ability to directly replace nodes that are active in a subnet until the rest of the protocol can safely support such behavior.
8a3737fa65
By using the proper node_operator_id instead of always assuming that it equals the caller_id, this patch fixes the bug that led to node reward discrepancies and updates the tests and helper functions to reflect the correct logic.
527f4adf99
Expect the trap error messages to consistently include single quotes around the actual message content.
4c20acbce9
These updates help keep the changelog in sync with the actual released changes and provide clear documentation of the updates made in these proposals.
Reason: Even though it builds fine and the wasm hash is a match, as per Dfinity the proposal #135300 should be adopted that has the same changes with an additional commit.
CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neuron’s Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralization of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.
Learn more about CodeGov and its mission at codegov.org.