Skip to content

Commit 706c08c

Browse files
bot: Update proposals candid bindings (#7696)
# Motivation We would like to render all the latest proposal types. Even with no changes, just updating the reference is good practice. # Changes * Update the version of `IC_COMMIT_FOR_PROPOSALS` specified in `config.json`. * Updated the `proposals` candid files to the versions in that commit. * Updated the Rust code derived from `.did` files in the proposals payload rendering crate. # Tests - [ ] Please check the API updates for any breaking changes that affect our code. - [ ] Please check for new proposal types and add tests for them. Breaking changes are: * New mandatory fields * Removing mandatory fields * Renaming fields * Changing the type of a field * Adding new variants Co-authored-by: gix-bot <[email protected]>
1 parent 18fd9d4 commit 706c08c

File tree

7 files changed

+36
-7
lines changed

7 files changed

+36
-7
lines changed

config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
"POCKETIC_VERSION": "3.0.1",
118118
"CARGO_SORT_VERSION": "1.0.9",
119119
"SNSDEMO_RELEASE": "release-2026-01-14",
120-
"IC_COMMIT_FOR_PROPOSALS": "release-2026-01-08_03-31-base",
120+
"IC_COMMIT_FOR_PROPOSALS": "release-2026-01-22_03-33-base",
121121
"IC_COMMIT_FOR_SNS_AGGREGATOR": "release-2026-01-08_03-31-base"
122122
},
123123
"packtool": ""

declarations/used_by_proposals/nns_governance/nns_governance.did

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-08_03-31-base/rs/nns/governance/canister/governance.did>
1+
//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-22_03-33-base/rs/nns/governance/canister/governance.did>
22
type AccountIdentifier = record {
33
hash : blob;
44
};
@@ -23,6 +23,8 @@ type Action = variant {
2323
Motion : Motion;
2424
FulfillSubnetRentalRequest : FulfillSubnetRentalRequest;
2525
BlessAlternativeGuestOsVersion : BlessAlternativeGuestOsVersion;
26+
TakeCanisterSnapshot : TakeCanisterSnapshot;
27+
LoadCanisterSnapshot : LoadCanisterSnapshot;
2628
};
2729

2830
type AddHotKey = record {
@@ -470,6 +472,11 @@ type ListKnownNeuronsResponse = record {
470472
known_neurons : vec KnownNeuron;
471473
};
472474

475+
type LoadCanisterSnapshot = record {
476+
canister_id : opt principal;
477+
snapshot_id : opt blob;
478+
};
479+
473480
// Parameters of the list_neurons method.
474481
type ListNeurons = record {
475482
// These fields select neurons to be in the result set.
@@ -1032,6 +1039,8 @@ type ProposalActionRequest = variant {
10321039
Motion : Motion;
10331040
FulfillSubnetRentalRequest : FulfillSubnetRentalRequest;
10341041
BlessAlternativeGuestOsVersion : BlessAlternativeGuestOsVersion;
1042+
TakeCanisterSnapshot : TakeCanisterSnapshot;
1043+
LoadCanisterSnapshot : LoadCanisterSnapshot;
10351044
};
10361045

10371046
// Creates a rented subnet from a rental request (in the Subnet Rental
@@ -1100,6 +1109,10 @@ type GuestLaunchMeasurementMetadata = record {
11001109
kernel_cmdline : opt text;
11011110
};
11021111

1112+
type TakeCanisterSnapshot = record {
1113+
canister_id : opt principal;
1114+
replace_snapshot : opt blob;
1115+
};
11031116

11041117
type ProposalData = record {
11051118
id : opt ProposalId;
@@ -1477,6 +1490,7 @@ type SelfDescribingProposalAction = record {
14771490
type SelfDescribingValue = variant {
14781491
Blob : blob;
14791492
Text : text;
1493+
Bool : bool;
14801494
Nat : nat;
14811495
Int : int;
14821496
Array : vec SelfDescribingValue;

declarations/used_by_proposals/nns_registry/nns_registry.did

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-08_03-31-base/rs/registry/canister/canister/registry.did>
1+
//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-22_03-33-base/rs/registry/canister/canister/registry.did>
22
// A brief note about the history of this file: This file used to be
33
// automatically generated, but now, it is hand-crafted, because the
44
// auto-generator has some some pretty degenerate behaviors. The worst of those

declarations/used_by_proposals/sns_wasm/sns_wasm.did

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-08_03-31-base/rs/nns/sns-wasm/canister/sns-wasm.did>
1+
//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-22_03-33-base/rs/nns/sns-wasm/canister/sns-wasm.did>
22
type AddWasmRequest = record {
33
hash : blob;
44
wasm : opt SnsWasm;

rs/proposals/src/canisters/nns_governance/api.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//! Rust code created from candid by: `scripts/did2rs.sh --canister nns_governance --out api.rs --header did2rs.header --traits Serialize`
2-
//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-08_03-31-base/rs/nns/governance/canister/governance.did>
2+
//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-22_03-33-base/rs/nns/governance/canister/governance.did>
33
#![allow(clippy::all)]
44
#![allow(missing_docs)]
55
#![allow(clippy::missing_docs_in_private_items)]
@@ -500,6 +500,11 @@ pub struct ManageNeuronProposal {
500500
pub neuron_id_or_subaccount: Option<NeuronIdOrSubaccount>,
501501
}
502502
#[derive(Serialize, CandidType, Deserialize)]
503+
pub struct LoadCanisterSnapshot {
504+
pub canister_id: Option<Principal>,
505+
pub snapshot_id: Option<serde_bytes::ByteBuf>,
506+
}
507+
#[derive(Serialize, CandidType, Deserialize)]
503508
pub struct GuestLaunchMeasurementMetadata {
504509
pub kernel_cmdline: Option<String>,
505510
}
@@ -550,6 +555,11 @@ pub struct DeregisterKnownNeuron {
550555
pub id: Option<NeuronId>,
551556
}
552557
#[derive(Serialize, CandidType, Deserialize)]
558+
pub struct TakeCanisterSnapshot {
559+
pub replace_snapshot: Option<serde_bytes::ByteBuf>,
560+
pub canister_id: Option<Principal>,
561+
}
562+
#[derive(Serialize, CandidType, Deserialize)]
553563
pub struct StopOrStartCanister {
554564
pub action: Option<i32>,
555565
pub canister_id: Option<Principal>,
@@ -736,10 +746,12 @@ pub enum Action {
736746
RegisterKnownNeuron(KnownNeuron),
737747
FulfillSubnetRentalRequest(FulfillSubnetRentalRequest),
738748
ManageNeuron(ManageNeuronProposal),
749+
LoadCanisterSnapshot(LoadCanisterSnapshot),
739750
BlessAlternativeGuestOsVersion(BlessAlternativeGuestOsVersion),
740751
UpdateCanisterSettings(UpdateCanisterSettings),
741752
InstallCode(InstallCode),
742753
DeregisterKnownNeuron(DeregisterKnownNeuron),
754+
TakeCanisterSnapshot(TakeCanisterSnapshot),
743755
StopOrStartCanister(StopOrStartCanister),
744756
CreateServiceNervousSystem(CreateServiceNervousSystem),
745757
ExecuteNnsFunction(ExecuteNnsFunction),
@@ -759,6 +771,7 @@ pub enum SelfDescribingValue {
759771
Map(Vec<(String, Box<SelfDescribingValue>)>),
760772
Nat(candid::Nat),
761773
Blob(serde_bytes::ByteBuf),
774+
Bool(bool),
762775
Null,
763776
Text(String),
764777
Array(Vec<Box<SelfDescribingValue>>),
@@ -1103,10 +1116,12 @@ pub enum ProposalActionRequest {
11031116
RegisterKnownNeuron(KnownNeuron),
11041117
FulfillSubnetRentalRequest(FulfillSubnetRentalRequest),
11051118
ManageNeuron(Box<ManageNeuronRequest>),
1119+
LoadCanisterSnapshot(LoadCanisterSnapshot),
11061120
BlessAlternativeGuestOsVersion(BlessAlternativeGuestOsVersion),
11071121
UpdateCanisterSettings(UpdateCanisterSettings),
11081122
InstallCode(InstallCodeRequest),
11091123
DeregisterKnownNeuron(DeregisterKnownNeuron),
1124+
TakeCanisterSnapshot(TakeCanisterSnapshot),
11101125
StopOrStartCanister(StopOrStartCanister),
11111126
CreateServiceNervousSystem(CreateServiceNervousSystem),
11121127
ExecuteNnsFunction(ExecuteNnsFunction),

rs/proposals/src/canisters/nns_registry/api.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//! Rust code created from candid by: `scripts/did2rs.sh --canister nns_registry --out api.rs --header did2rs.header --traits Serialize`
2-
//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-08_03-31-base/rs/registry/canister/canister/registry.did>
2+
//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-22_03-33-base/rs/registry/canister/canister/registry.did>
33
#![allow(clippy::all)]
44
#![allow(missing_docs)]
55
#![allow(clippy::missing_docs_in_private_items)]

rs/proposals/src/canisters/sns_wasm/api.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//! Rust code created from candid by: `scripts/did2rs.sh --canister sns_wasm --out api.rs --header did2rs.header --traits Serialize`
2-
//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-08_03-31-base/rs/nns/sns-wasm/canister/sns-wasm.did>
2+
//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: <https://raw.githubusercontent.com/dfinity/ic/release-2026-01-22_03-33-base/rs/nns/sns-wasm/canister/sns-wasm.did>
33
#![allow(clippy::all)]
44
#![allow(missing_docs)]
55
#![allow(clippy::missing_docs_in_private_items)]

0 commit comments

Comments
 (0)