Proposals 136982 & 136983 | Tim - CodeGov
Vote: Adopt
Reason: Build is successful, hashes match, commits match descriptions and the reasoning behind the changes is sound. I’ve reviewed commits for Consensus, Interface and Execution as detailed below.
Review
Features:
[e179d8bba]
Adds variants UploadSnapshotMetadata
and UploadSnapshotData
to enum UnflushedCheckpointOp
. These are then used for checkpointing in rs/state_manager/src/checkpoint.rs
and rs/state_manager/src/tip.rs
. Several new methods (tests and otherwise) are added utilising upload_canister_snapshot_metadata
and upload_canister_snapshot_data
from the earlier commit 398efca66.
[37fa6264b]
Adds keys containing the canister_ranges_
prefix to the list of key/value pairs (within fn get_transformer
) that can be used when editing registry entries.
[8a429f677]
Adds to several code sections so as to enable logging of boundary node websocket data.
[ad4762f2a]
Adds a code section to IcConfig::initialize
to write a canister ranges key to the registry.
[02571e821]
Implements the ICRC-106 standard, which allows for the discovery of the index canister from the corresponding ledger canister, for the ICRC ledger. In particular, adds a query function icrc106_get_index_principal
.
[89d4e6a21]
Adds a tool to verify the catch-up package (CUP) for key resharing recovery proposals such as this one, as per the documentation shown here. Greatly expands the main
function of rs/cup_explorer/src/main.rs
to verify the CUP signature, to check that the subnet has been halted and to check that there exists a recovery proposal specifying an appropriate time and height and correct CUP hash value. I’ve added some further discussion here.
Chores:
[65c05992a]
Disables endpoints related to the pprof profiling data analysis and visualisation tool. (Further info here.) The relevant methods now display a page showing a message that these have been temporarily disabled.
[7dc75ea49]
Increases ACCEPTABLE_NOTARIZATION_CUP_GAP
from 70 to 130, leaves ACCEPTABLE_NOTARIZATION_CERTIFICATION_GAP
at 70 and moves both constants from consensus/notary.rs
to consensus.rs
. These represent the number of blocks after which notarisation will pause to allow for CUP creation or block certification to catch up. The change is intended to reduce the time that subnets need to stall for these purposes.
[9711ea8bf]
Adapts QueryContext::run
method to return an error if a composite query has been called other than by an end user.
[0939e4e4d]
Adapts CanisterManager::validate_specified_id
method to require specified_id
(of a canister) not to belong to the canister allocation ranges, the concept of which is explained here. The intention is for this validation to be used for canister creation in test environments.
[3671acb49]
Upgrades Rust version from 1.85.1 to 1.86.0 again, as the issue causing test failures the last time this was attempted has now been identified and a workaround put in place (and included within the commit).
[64bc28ba8]
Removes ic-os/boundary-guestos/
and ic-os/components/boundary-guestos/
directories + associated code changes elsewhere.
[502d0fbfe]
Updates Boundary GuestOS, GuestOS, HostOS and SetupOS base image container references.
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, API Boundary Node 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.