NNS Updates: December 9, 2024

Proposal 134437

Vote: ADOPT

Reason:
Build successful and hashes match, commits look great and match the description. Found no issues.

[c2e11ca2ae]: This commit fixes a bug found in the previous Subnet Management Proposal 134382. The following line caused the problem if let Some(old_features) = subnet_record.features where if the old_features was None the condition would evaluate to false triggering the panic Proposal attempts to change sev_enabled for Subnet '{}', but sev_enabled can only be set during subnet creation. which isn’t true. Now this if condition is replaced with if let Some(sev_enabled) = features.sev_enabled that makes sure that only sev features are not changed since this can only be set during subnet creation.

[3e0cf89b23]: Previously the Universal Canister wasm needed to be manually changed at build time following specific instructions. Now it is treated as a run time dependency and it’s wasm is loaded during execution using an environment variable "UNIVERSAL_CANISTER_WASM_PATH": "$(rootpath //rs/universal_canister/impl:universal_canister.wasm.gz)".

[3c3d9cd360]: Moves the MasterPublicKeyId Protobuf and subsequently contained message definitions from the registry.crypto.v1package to thetypes.v1package. This is done in order to avoid a circular dependency in a later stage when adding an optional field to thetypes.v1.NiDkgId` message. The code is then refactored accordingly to the move.

[44095f27bb]: The ChainKeyInitialization message type is extended to include a new variant transcript_record. The dealings variant is replaced with a oneof initialization which can either hold InitialIDkgDealings dealings or InitialNiDkgTranscriptRecord transcript_record. Using the oneof like this does the change the wire representation of the type and doesn’t introduce incompatibilities, so no migration code was necessary.

2 Likes