NNS Updates 2024-10-04

Firstly I do agree somewhat with @timk11 in the terms that the process of the proposal verification should be made accessible to anyone and since including it should be fairly easy I don’t see any reason not to. The link with the instructions on how to verify is a good idea and should be kept so people can understand what the commands are doing and how the process works. I also think that when making the forum topic it should identify the proposal in question in order to contain discussions in one forum topic and making it easy to search for it on the forum. On the other hand I don’t see this in any way as grounds for rejecting proposals since I think the content of the proposal is much more relevant and if everything is fine with it, the proposal should be accepted, specially in the case of proposal 133311, since it is a continuation of a previously rejected proposal. There is no need for it to be delayed any further.

Proposal 133311

Vote: ADOPT

This proposal as already been reviewed here but for easy access I will provide it here aswell.

Build successful and hashes match.

[3bbabefb70]: Moves icp and icrc1 ledger suites from the rosetta-api/ subdirectory into the ledger_suite/ subdirectory as part of a restructure of the rosetta-api/.

[ebb4dc57d9]: Adds a new query method get_default_subnets that returns a list of default subnets ids.

[df1dbfc8a2]: Changes the globs used to select source files to be more specific by adding file extensions ( .rs for Rust or .proto for protocol files), ensuring only relevant files are included. This solves an issue where when building the compiler would complain about Vim .swp files.

[bbb8a51524]: Adds two new tests test_get_icp_xdr_conversion_rate_certification and test_get_average_icp_xdr_conversion_rate_certification. It solves the problem of using the wrong certification for the get_average_icp_xdr_conversion_rate endpoint which now uses the correct lable LABEL_AVERAGE_ICP_XDR_CONVERSION_RATE. Lastly it standardizes the version of the crates ic-certificate-verification, ic-certification and ic-http-certification to 2.6.0.

[3aa43520c4]: Removes no longer needed migrate function since the migration was performed a long time ago. Also replaces functionality in old state function warning users to perform the migration

[c2b4a0aaf4]: Merges CMC hotfix back to master, refactors code, adds a new validation ensuring that deposit memos don’t exceed 32 characters with const MAX_MEMO_LENGTH

[137faea9ee]: Simplifies the function get_next_multiply_of and adds comments

[4d09678d23]: Sorts Rust #[derive(...)] traits to maintain a consistent style

Proposal 133312

Vote: ADOPT

Build successful and hashes match.

[3bbabefb70]: Moves icp and icrc1 ledger suites from the rosetta-api/ subdirectory into the ledger_suite/ subdirectory as part of a restructure of the rosetta-api/

[e2cb3d6389]: Updates the version of the prost and tonic crates

[e9647a7f3e]: The new method schedule_seeding sets an interval with the variable SEEDING_INTERVAL of 1 hour for reseeding the Random Number Generator.

[e7ad4e2a9c]: Removes the heap_neurons method that returned a reference to the BTreeMap that stored neurons in heap memory. The use cases are now replaced with active_neurons_iter and active_neurons_range methods that encapsulate how neurons are accessed.

[f7791372e9]: Removes hyper and bumps prost and tonic versions

[09e7929d55]: Removes the SNS Governance’s and SNS Init’s --test-feature target and moves this logic to the canister crate

[5610c60491]: Removes the code used when #[cfg(not(feature = “test”))] was true. This code was used to set up a ledger with a principal with a ton of tokens but it’s no longer needed.

[f3d13ef565]: Lowers the probability of deprecated methods panicking from 0.7 to 0.1

[285a5db07d]: Migrates the nns governance from using dfn_core to using ic_cdk. The commit explains really well the changes. It makes small identation adjustments and sorting dependencies. This changes were made possible using a ic_cdk function is_recovering_from_trap that locks the state of a neuron after a panic when calling the ledger. This also means that we can replace Rt::call_without_cleanup with Rt::call_with_cleanup since we no longer rely on a lack of cleaning to prevent that the neuron isn’t locked.

1 Like