diff --git a/config.json b/config.json index 63a0a96e74..64cf138daf 100644 --- a/config.json +++ b/config.json @@ -120,7 +120,7 @@ "POCKETIC_VERSION": "3.0.1", "CARGO_SORT_VERSION": "1.0.9", "SNSDEMO_RELEASE": "release-2025-11-13", - "IC_COMMIT_FOR_PROPOSALS": "release-2025-10-30_03-22-base", + "IC_COMMIT_FOR_PROPOSALS": "release-2025-11-20_03-21-base", "IC_COMMIT_FOR_SNS_AGGREGATOR": "release-2025-11-06_03-24-base" }, "packtool": "" diff --git a/declarations/used_by_proposals/nns_governance/nns_governance.did b/declarations/used_by_proposals/nns_governance/nns_governance.did index 9513e19c89..909477f133 100644 --- a/declarations/used_by_proposals/nns_governance/nns_governance.did +++ b/declarations/used_by_proposals/nns_governance/nns_governance.did @@ -1,4 +1,4 @@ -//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: +//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: type AccountIdentifier = record { hash : blob; }; @@ -6,7 +6,7 @@ type AccountIdentifier = record { type Action = variant { RegisterKnownNeuron : KnownNeuron; DeregisterKnownNeuron : DeregisterKnownNeuron; - ManageNeuron : ManageNeuron; + ManageNeuron : ManageNeuronProposal; UpdateCanisterSettings : UpdateCanisterSettings; InstallCode : InstallCode; StopOrStartCanister : StopOrStartCanister; @@ -154,7 +154,7 @@ type SetFollowingResponse = record { }; // KEEP THIS IN SYNC WITH ManageNeuronCommandRequest! -type Command = variant { +type ManageNeuronProposalCommand = variant { Spawn : Spawn; Split : Split; Follow : Follow; @@ -518,7 +518,7 @@ type ListNodeProvidersResponse = record { node_providers : vec NodeProvider; }; -type ListProposalInfo = record { +type ListProposalInfoRequest = record { include_reward_status : vec int32; omit_large_fields : opt bool; before_proposal : opt ProposalId; @@ -544,11 +544,11 @@ type MakeProposalResponse = record { proposal_id : opt ProposalId; }; -// Not to be confused with ManageNeuronRequest. (Yes, this is very structurally -// similar to that, but not actually exactly equivalent.) -type ManageNeuron = record { +// Not to be confused with ManageNeuronRequest. This is only used to represent a manage neuron proposal. +// (Yes, this is very structurally similar to that, but not actually exactly equivalent) +type ManageNeuronProposal = record { id : opt NeuronId; - command : opt Command; + command : opt ManageNeuronProposalCommand; neuron_id_or_subaccount : opt NeuronIdOrSubaccount; }; @@ -612,11 +612,20 @@ type MergeResponse = record { source_neuron_info : opt NeuronInfo; }; +type DateUtc = record { + year : nat32; + month : nat32; + day : nat32; +}; + type MonthlyNodeProviderRewards = record { minimum_xdr_permyriad_per_icp : opt nat64; registry_version : opt nat64; + algorithm_version : opt nat32; node_providers : vec NodeProvider; timestamp : nat64; + start_date : opt DateUtc; + end_date : opt DateUtc; rewards : vec RewardNodeProvider; xdr_conversion_rate : opt XdrConversionRate; maximum_node_provider_rewards_e8s : opt nat64; @@ -1454,7 +1463,7 @@ service : (Governance) -> { ListNodeProviderRewardsResponse, ) query; list_node_providers : () -> (ListNodeProvidersResponse) query; - list_proposals : (ListProposalInfo) -> (ListProposalInfoResponse) query; + list_proposals : (ListProposalInfoRequest) -> (ListProposalInfoResponse) query; list_neuron_votes : (ListNeuronVotesRequest) -> (ListNeuronVotesResponse) query; manage_neuron : (ManageNeuronRequest) -> (ManageNeuronResponse); settle_community_fund_participation : (SettleCommunityFundParticipation) -> ( diff --git a/declarations/used_by_proposals/nns_registry/nns_registry.did b/declarations/used_by_proposals/nns_registry/nns_registry.did index 49f57f20e8..bf074d56f8 100644 --- a/declarations/used_by_proposals/nns_registry/nns_registry.did +++ b/declarations/used_by_proposals/nns_registry/nns_registry.did @@ -1,4 +1,4 @@ -//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: +//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: // A brief note about the history of this file: This file used to be // automatically generated, but now, it is hand-crafted, because the // auto-generator has some some pretty degenerate behaviors. The worst of those diff --git a/declarations/used_by_proposals/sns_wasm/sns_wasm.did b/declarations/used_by_proposals/sns_wasm/sns_wasm.did index bcd9e97bfb..7ecfdfee2f 100644 --- a/declarations/used_by_proposals/sns_wasm/sns_wasm.did +++ b/declarations/used_by_proposals/sns_wasm/sns_wasm.did @@ -1,4 +1,4 @@ -//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: +//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: type AddWasmRequest = record { hash : blob; wasm : opt SnsWasm; diff --git a/rs/proposals/src/canisters/nns_governance/api.rs b/rs/proposals/src/canisters/nns_governance/api.rs index f070a0e5ff..7e3da57ed4 100644 --- a/rs/proposals/src/canisters/nns_governance/api.rs +++ b/rs/proposals/src/canisters/nns_governance/api.rs @@ -1,5 +1,5 @@ //! Rust code created from candid by: `scripts/did2rs.sh --canister nns_governance --out api.rs --header did2rs.header --traits Serialize` -//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: +//! Candid for canister `nns_governance` obtained by `scripts/update_ic_commit` from: #![allow(clippy::all)] #![allow(missing_docs)] #![allow(clippy::missing_docs_in_private_items)] @@ -26,6 +26,12 @@ pub struct Followees { pub followees: Vec, } #[derive(Serialize, CandidType, Deserialize)] +pub struct DateUtc { + pub day: u32, + pub month: u32, + pub year: u32, +} +#[derive(Serialize, CandidType, Deserialize)] pub struct AccountIdentifier { pub hash: serde_bytes::ByteBuf, } @@ -60,9 +66,12 @@ pub struct XdrConversionRate { } #[derive(Serialize, CandidType, Deserialize)] pub struct MonthlyNodeProviderRewards { + pub algorithm_version: Option, pub minimum_xdr_permyriad_per_icp: Option, + pub end_date: Option, pub registry_version: Option, pub node_providers: Vec, + pub start_date: Option, pub timestamp: u64, pub rewards: Vec, pub xdr_conversion_rate: Option, @@ -462,7 +471,7 @@ pub struct Disburse { pub amount: Option, } #[derive(Serialize, CandidType, Deserialize)] -pub enum Command { +pub enum ManageNeuronProposalCommand { Spawn(Spawn), Split(Split), Follow(Follow), @@ -485,9 +494,9 @@ pub enum NeuronIdOrSubaccount { NeuronId(NeuronId), } #[derive(Serialize, CandidType, Deserialize)] -pub struct ManageNeuron { +pub struct ManageNeuronProposal { pub id: Option, - pub command: Option, + pub command: Option, pub neuron_id_or_subaccount: Option, } #[derive(Serialize, CandidType, Deserialize)] @@ -707,7 +716,7 @@ pub struct Motion { pub enum Action { RegisterKnownNeuron(KnownNeuron), FulfillSubnetRentalRequest(FulfillSubnetRentalRequest), - ManageNeuron(ManageNeuron), + ManageNeuron(ManageNeuronProposal), UpdateCanisterSettings(UpdateCanisterSettings), InstallCode(InstallCode), DeregisterKnownNeuron(DeregisterKnownNeuron), @@ -1026,7 +1035,7 @@ pub struct ListNodeProvidersResponse { pub node_providers: Vec, } #[derive(Serialize, CandidType, Deserialize)] -pub struct ListProposalInfo { +pub struct ListProposalInfoRequest { pub include_reward_status: Vec, pub omit_large_fields: Option, pub before_proposal: Option, @@ -1304,7 +1313,7 @@ impl Service { pub async fn list_node_providers(&self) -> CallResult<(ListNodeProvidersResponse,)> { ic_cdk::call(self.0, "list_node_providers", ()).await } - pub async fn list_proposals(&self, arg0: ListProposalInfo) -> CallResult<(ListProposalInfoResponse,)> { + pub async fn list_proposals(&self, arg0: ListProposalInfoRequest) -> CallResult<(ListProposalInfoResponse,)> { ic_cdk::call(self.0, "list_proposals", (arg0,)).await } pub async fn manage_neuron(&self, arg0: ManageNeuronRequest) -> CallResult<(ManageNeuronResponse,)> { diff --git a/rs/proposals/src/canisters/nns_registry/api.rs b/rs/proposals/src/canisters/nns_registry/api.rs index b29d7e695b..6ab3ff9f71 100644 --- a/rs/proposals/src/canisters/nns_registry/api.rs +++ b/rs/proposals/src/canisters/nns_registry/api.rs @@ -1,5 +1,5 @@ //! Rust code created from candid by: `scripts/did2rs.sh --canister nns_registry --out api.rs --header did2rs.header --traits Serialize` -//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: +//! Candid for canister `nns_registry` obtained by `scripts/update_ic_commit` from: #![allow(clippy::all)] #![allow(missing_docs)] #![allow(clippy::missing_docs_in_private_items)] diff --git a/rs/proposals/src/canisters/sns_wasm/api.rs b/rs/proposals/src/canisters/sns_wasm/api.rs index 49f6db84fd..0459a8abc5 100644 --- a/rs/proposals/src/canisters/sns_wasm/api.rs +++ b/rs/proposals/src/canisters/sns_wasm/api.rs @@ -1,5 +1,5 @@ //! Rust code created from candid by: `scripts/did2rs.sh --canister sns_wasm --out api.rs --header did2rs.header --traits Serialize` -//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: +//! Candid for canister `sns_wasm` obtained by `scripts/update_ic_commit` from: #![allow(clippy::all)] #![allow(missing_docs)] #![allow(clippy::missing_docs_in_private_items)]