Proposal to elect new release rc--2025-04-11_13-20

Proposal 136223 | Tim - CodeGov

Vote: Adopt

Reason: Commits match descriptions and the reasoning behind the changes is sound. The build failed with the error shown above. Exit code 137 usually indicates an out-of-memory issue so it may be that 16GB of RAM is not sufficient for the task, contrary to the advice that appears in the output. @DRE-Team @sat Does this seem accurate? Does anything need to be changed in the verification code?

Six reviewers have already verified that the hashes match between the payload and the build, so on this basis I’ve voted to adopt the proposal. I’ve reviewed commits for Consensus, Crypto, Interface and Owners as detailed below.

Review

Features:

[2439d8896]
Allows best-effort calls to be made to and from all subnets rather than just application subnets as per the previous similar change.

[91398734c]
Removes the 1-minute timeout for computing the state hash by changing for _ in 0..120 (using std::thread::sleep(WAIT_DURATION) for 500ms delay) to loop in fn get_state_hash.

[32082e416]
Adapts construct_hash_tree function in icrc1/ledger/src/lib.rs such that an ICRC-3 compliant certificate is always returned, by removing the condition #[cfg(feature = "icrc3-compatible-data-certificate")].

[412c839a0]
Adds node provider rewards calculations to the Node Reward Canister in preparation for the calculation being switched over to this canister. Specifically, it adds a method get_node_providers_monthly_xdr_rewards to rs/node_rewards/canister/src/canister.rs, which is then exposed as a query function, along with related new types.

Bugfixes:

[bb17ec5b9]
Renames the orchestrator binary crate from ic_state_tool to orchestrator within rs/orchestrator/BUILD.bazel.

Chores:

[6845d8a7b]
Adds the registry replicator task to the task tracker (introduced in 28445da below). More specifically, task_tracker.spawn("registry_replicator", future) is called within the Orchestrator::new method in rs/orchestrator/src/orchestrator.rs.

[28445da96]
Adds field critical_error_task_panicked to OrchestratorMetrics, which tracks the number of times a task panicked, grouped by the task name. Adds a new type TaskTracker and a new field task_tracker of type TaskTracker to Orchestrator, which is then utilised in several other sections.

[139f7fa88]
Adds InvalidRequestExpiry to InvalidSignature as a condition for logging an error for an http request, and limits the size of the logged request to 1024 characters.

[2e4ded9e6]
Modifies fn get_vetkd_public_key within execution_environment.rs so that it calls ic_vetkd_utils::DerivedPublicKey::deserialize for key derivation instead of ic_crypto_utils_canister_threshold_sig::derive_vetkd_public_key (which is removed in this commit), along with corresponding test changes.

[c3be0cb3f]
Corrects comment typos within pub enum HypervisorError.

[47c52251c]
Adds ic-crypto-test-utils-vetkd crate, containing type PrivateKey, associated methods and one related test (so far), along with other test changes. rs/state_machine_tests/src/lib.rs now uses the new crate and other new VetKD-related elements introduced in this commit.

[76a8f390b]
Adds default_vm_nr_of_vcpus() within ic_os/config_types/, returning a constant value of 64, and an associated test.

[1eb5c2361]
Sets the number of vCPUs for the host VM to 32 and for the guest VM to 16 within nested system tests, as per description.

[2fbdb88dc]
Updates crossbeam-channel to version 0.5.15.

[47dce406c] [0b43b5f69] [6f712d318] [bbc5097fc] [0624a206e]
These commits successively update base container image references for GuestOS, HostOS, SetupOS and Boundary Node GuestOS.

Tests:

[bd366ae95]
Within ic-prep, adds field initial_dc_records to type IcConfig, along with additional logic in order to add data centre records to the registry.

About CodeGov

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 & Neurons’ 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 decentralisation 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.

1 Like