NNS Updates 2024-09-20

Proposal 133088

Voted to adopt.

Build successful. Hashes match for wasm_module_hash. arg_hash doesn’t match but I’ll take that as a mistake in the writing of the proposal.

[ebb4dc57d9]
Adds a query function get_default_subnets which returns a vector of default subnet principal IDs.

[df1dbfc8a2]
Changes srcs = glob(["src/**"]) to srcs = glob(["src/**/*.rs"]) in several BUILD.bazel files, the effect of which is to specify that the relevant packages should only use Rust files as source files in order to prevent building errors. Similarly, srcs = glob(["proto/**"]) is changed to srcs = glob(["proto/**/*.proto"]) in several places to specify .proto files only.

[bbb8a51524]
Adds new crate ic-certificate-verification to dependencies along with version updates for other dependencies, which are then used in tests. Adds ‘label’ as an input parameter to function convert_conversion_rate_to_payload, which is then utilised in get_icp_xdr_conversion_rate and get_average_icp_xdr_conversion_rate_, the effect of which is to ensure that the certification for get_average_icp_xdr_conversion_rate has its own distinct and correct label, rather than just using the same label for both.

[3aa43520c4]
Removes redundant migrate function and related code.

[c2b4a0aaf4]
Merges the hotfix from proposal 132262 back to master. Adds an error code for DepositMemoTooLong and specifies a maximum memo length of 32. Various other changes including new functions canister_cycles_balance, notify_top_up, total_cycles_minted and related tests.

[137faea9ee]
Simplifies get_next_multiple_of function.

[4d09678d23]
Re-orders traits within #[derive(...)] attribute lines within numerous files.

Proposal 133089

Voted to adopt.

Build successful. Hashes match.

[96814ec4af]
Removes constants--test_feature library as it is deemed unnecessary.

[d399ee7f6f]
Remove unnecessary ‘mut’ from call_canister_method function ‘self’ parameter in several locations.

[df1dbfc8a2]
Reviewed above for 133088.

[4e8565c624]
Similar to d123a2a015 below, but only pocket_ic_helpers.rs and tests are changed, not governance.rs, as changes in this file caused tests to fail.

[ad9e529296]
Increases the panic probability for deprecated pb methods from 0.3 to 0.7

[fbde007ff4]
Reverts d123a2a015 below.

[41f6ce3a7c]
Removes ic-nns-governance as a dependency for ic-admin and ic-sns-cli. Moves proposal fields validation code into its own Rust file.

[a4b9ab2ec1]
Sets DEFAULT_SNS_GOVERNANCE_CANISTER_WASM_MEMORY_LIMIT to 4 GB and DEFAULT_SNS_NON_GOVERNANCE_CANISTER_WASM_MEMORY_LIMIT to 3 GB in place of having both (in a single const) as 4 GB. This provides a buffer to ensure that non-governance canisters can still update even if this limit is reached.

[bfc9da0790]
Removes dfn_candid and dfn_core::call from ic-nervous-system-canisters dependencies. Adds Runtime trait to IcpLedgerCanister in order to eliminate the use of dfn_core::call.

[d123a2a015]
Removes NnsRootUpgrade and NnsCanisterUpgrade from lists of allowed proposal types as these have now been replaced by InstallCode. Adds several related tests.

[2e85a2e961]
Replaces heartbeat function with new functions init_timers and poll_for_new_archive_canisters + other related code changes and tests in order to use ic-cdk-timers instead of heartbeat to poll archives, so as to reduce required instructions.

Proposal 133090

Voted to adopt.

Build successful. Hashes match.

[29f688afe9]
Makes use of ic_nervous_system_string::clamp_debug_len in order to limit the size of some of the logging statements in the registry canister.

[df1dbfc8a2]
Reviewed above for 133088.

[b14c152f3a]
Changes get_changes_since function such that most of the logic is now rolled into a fn main() within it.

[c3a180c94c]
Moves implementations for CMCCanister and IcpLedgerCanister into a new package, ic_nervous_system_canisters.

3 Likes