proposal - 136224, 136225, 136226 – Cyberowl | CodeGov
Checks
Proposals:
136224
136225
136226
Vote: ADOPT
Hashes Match: MATCH, MATCH, MATCH
Proposer Checks: MATCH, MATCH, MATCH
Target Canisters: MATCH, MATCH, MATCH
Feedback: NONE
Reason:
I successfully built and verified the hash. All the commit descriptions match their code changes.
Commits Summary
Governance
7fb2409c64
Adds a snapshot system to detect and handle voting power spikes that could unfairly influence proposal outcomes. It introduces two new protobuf types—NeuronIdToVotingPowerMap
and VotingPowerTotal
—and a VotingPowerSnapshots
structure that stores up to 7 recent snapshots, using them to revert to a stable prior state if current voting power exceeds 1.5× the recent minimum.
f045cf0b6a
Sort constant variables.
40a9c37bd4
Retrieving node provider rewards from a dedicated Node Rewards Canister, enabled by default in test builds via a feature flag. The system now uses this canister’s response in place of registry-based rewards when enabled, with the canister’s get_node_providers_monthly_xdr_rewards
method upgraded to an update call
in production for consistency guarantees.
63936e262c
Adds maturity disbursement, allowing neuron owners to convert a portion of their maturity (1–100%) into ICP and send it to a specified account after a 7-day delay. The feature includes thorough validation, such as ensuring a minimum disbursement threshold of 1 ICP after modulation, enforcing a 10-disbursement limit, and locking neurons during the process to maintain state integrity. Gated by a feature flag.
cb423a02db
Updates the panic_with_probability
function to always panic probability = 1.0
when deprecated Protobuf methods manage_neuron_pb
and list_neurons_pb
are called, enforcing their deprecation. Previously, these methods had a 10% chance of not panicking, allowing outdated clients to continue using them intermittently. Now, these interfaces are guaranteed to fail.
3a5a7a1af4
Matches description Update changelog for release 2025-04-04
.
856b710881
Matches description Update changelogs after 3/28 release
.
Registry
2672847307
Replaces the custom pb_encode
helper function with the standard encode_to_vec
method provided by the prost::Message
trait for serializing RegistryAtomicMutateRequest
.
5d4a1b4115
Optimizes the do_recover_subnet
method by executing the setup_initial_dkg
and get_all_initial_i_dkg_dealings_from_ic00
calls in parallel using futures::join!
. Previously executed sequentially.
856b710881
The benchmark updates show significant performance improvements in WASM compilation for arithmetic-heavy modules and stable memory reads, while introducing regressions in minimal module instrumentation, stable writes, and data-copying system API calls.
bf169efa41
Chunked value support in the ic-registry-nns-data-provider
crate, enabling the Registry to handle large values by fetching and validating SHA-256–verified chunks via the new FetchLargeValue
trait.
Node Rewards
40a9c37bd4
Enable the governance canister to fetch node provider rewards from the new Node Rewards Canister in test builds, while still using the Registry in production. The Node Rewards Canister’s API was updated to use an update
call instead of a query
.
3a5a7a1af4
Matches description Update changelog for release 2025-04-04
412c839a0a
The Node Rewards Canister now supports a new query endpoint, get_node_providers_monthly_xdr_rewards
, which allows retrieval of node provider rewards based on a specified or latest registry version.
f6425d47af
Document outlines how the IC calculates and distributes rewards to Node Providers based on node types, regions, and data center configurations, including a decay factor for type-3 nodes and region-specific rate tables. It also details administrative procedures like updating wallet addresses via HSM, implementation interfaces, and comprehensive testing coverage to ensure system reliability.
e325bb0616
Integrate NodeRewardsCanister, enabling its use in test setups, governance proposals, deployments, and reward calculations. Shifts node provider reward calculations from the Registry canister to the new NodeRewardsCanister. The test suite and utility tooling were updated to support its initialization, deployment, and validation.
2fe8aefafc
This change enables the NodeRewardsCanister to sync registry data from the Registry canister at regular intervals, storing it locally using stable memory. It replaces the older registry data provider with a new, simplified client library that supports asynchronous operations.
If you like the review please follow:
About CodeGov…(click to expand)
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 topics and Synapse on most other 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 and KongSwap with a known neuron and credible Followees.
Learn more about CodeGov and it’s mission at codegov.org.