@dfinity/sns 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -277,14 +277,24 @@ export const idlFactory = ({ IDL }) => {
277
277
  'operation_name' : IDL.Opt(IDL.Text),
278
278
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
279
279
  });
280
- const SetTopicsForCustomProposals = IDL.Record({
281
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
282
- });
283
280
  const ChunkedCanisterWasm = IDL.Record({
284
281
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
285
282
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
286
283
  'store_canister_id' : IDL.Opt(IDL.Principal),
287
284
  });
285
+ const Wasm = IDL.Variant({
286
+ 'Chunked' : ChunkedCanisterWasm,
287
+ 'Bytes' : IDL.Vec(IDL.Nat8),
288
+ });
289
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
290
+ const UpgradeExtension = IDL.Record({
291
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
292
+ 'wasm' : IDL.Opt(Wasm),
293
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
294
+ });
295
+ const SetTopicsForCustomProposals = IDL.Record({
296
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
297
+ });
288
298
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
289
299
  const RegisterExtension = IDL.Record({
290
300
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -342,6 +352,7 @@ export const idlFactory = ({ IDL }) => {
342
352
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
343
353
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
344
354
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
355
+ 'UpgradeExtension' : UpgradeExtension,
345
356
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
346
357
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
347
358
  'RegisterExtension' : RegisterExtension,
@@ -711,7 +722,23 @@ export const idlFactory = ({ IDL }) => {
711
722
  'include_topic_filtering' : IDL.Opt(IDL.Bool),
712
723
  });
713
724
  const ListTopicsRequest = IDL.Record({});
725
+ const ExtensionOperationType = IDL.Variant({
726
+ 'TreasuryManagerWithdraw' : IDL.Null,
727
+ 'TreasuryManagerDeposit' : IDL.Null,
728
+ });
729
+ const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });
730
+ const ExtensionOperationSpec = IDL.Record({
731
+ 'topic' : IDL.Opt(Topic),
732
+ 'operation_type' : IDL.Opt(ExtensionOperationType),
733
+ 'description' : IDL.Opt(IDL.Text),
734
+ 'extension_type' : IDL.Opt(ExtensionType),
735
+ });
736
+ const RegisteredExtensionOperationSpec = IDL.Record({
737
+ 'spec' : IDL.Opt(ExtensionOperationSpec),
738
+ 'canister_id' : IDL.Opt(IDL.Principal),
739
+ });
714
740
  const TopicInfo = IDL.Record({
741
+ 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),
715
742
  'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),
716
743
  'topic' : IDL.Opt(Topic),
717
744
  'is_critical' : IDL.Opt(IDL.Bool),
@@ -1125,14 +1152,24 @@ export const init = ({ IDL }) => {
1125
1152
  'operation_name' : IDL.Opt(IDL.Text),
1126
1153
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
1127
1154
  });
1128
- const SetTopicsForCustomProposals = IDL.Record({
1129
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1130
- });
1131
1155
  const ChunkedCanisterWasm = IDL.Record({
1132
1156
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
1133
1157
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
1134
1158
  'store_canister_id' : IDL.Opt(IDL.Principal),
1135
1159
  });
1160
+ const Wasm = IDL.Variant({
1161
+ 'Chunked' : ChunkedCanisterWasm,
1162
+ 'Bytes' : IDL.Vec(IDL.Nat8),
1163
+ });
1164
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1165
+ const UpgradeExtension = IDL.Record({
1166
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
1167
+ 'wasm' : IDL.Opt(Wasm),
1168
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
1169
+ });
1170
+ const SetTopicsForCustomProposals = IDL.Record({
1171
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1172
+ });
1136
1173
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1137
1174
  const RegisterExtension = IDL.Record({
1138
1175
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -1190,6 +1227,7 @@ export const init = ({ IDL }) => {
1190
1227
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
1191
1228
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
1192
1229
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
1230
+ 'UpgradeExtension' : UpgradeExtension,
1193
1231
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
1194
1232
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
1195
1233
  'RegisterExtension' : RegisterExtension,
@@ -13,6 +13,7 @@ export type Action =
13
13
  | { AddGenericNervousSystemFunction: NervousSystemFunction }
14
14
  | { ManageDappCanisterSettings: ManageDappCanisterSettings }
15
15
  | { ExecuteExtensionOperation: ExecuteExtensionOperation }
16
+ | { UpgradeExtension: UpgradeExtension }
16
17
  | { RemoveGenericNervousSystemFunction: bigint }
17
18
  | { SetTopicsForCustomProposals: SetTopicsForCustomProposals }
18
19
  | { RegisterExtension: RegisterExtension }
@@ -204,6 +205,19 @@ export interface ExtensionInit {
204
205
  export interface ExtensionOperationArg {
205
206
  value: [] | [PreciseValue];
206
207
  }
208
+ export interface ExtensionOperationSpec {
209
+ topic: [] | [Topic];
210
+ operation_type: [] | [ExtensionOperationType];
211
+ description: [] | [string];
212
+ extension_type: [] | [ExtensionType];
213
+ }
214
+ export type ExtensionOperationType =
215
+ | { TreasuryManagerWithdraw: null }
216
+ | { TreasuryManagerDeposit: null };
217
+ export type ExtensionType = { TreasuryManager: null };
218
+ export interface ExtensionUpgradeArg {
219
+ value: [] | [PreciseValue];
220
+ }
207
221
  export interface FinalizeDisburseMaturity {
208
222
  amount_to_be_disbursed_e8s: bigint;
209
223
  to_account: [] | [Account];
@@ -611,6 +625,10 @@ export interface RegisterVote {
611
625
  vote: number;
612
626
  proposal: [] | [ProposalId];
613
627
  }
628
+ export interface RegisteredExtensionOperationSpec {
629
+ spec: [] | [ExtensionOperationSpec];
630
+ canister_id: [] | [Principal];
631
+ }
614
632
  export interface RemoveNeuronPermissions {
615
633
  permissions_to_remove: [] | [NeuronPermissionList];
616
634
  principal_id: [] | [Principal];
@@ -700,6 +718,7 @@ export type Topic =
700
718
  | { Governance: null }
701
719
  | { SnsFrameworkManagement: null };
702
720
  export interface TopicInfo {
721
+ extension_operations: [] | [Array<RegisteredExtensionOperationSpec>];
703
722
  native_functions: [] | [Array<NervousSystemFunction>];
704
723
  topic: [] | [Topic];
705
724
  is_critical: [] | [boolean];
@@ -726,6 +745,11 @@ export interface TreasuryMetrics {
726
745
  treasury: number;
727
746
  timestamp_seconds: [] | [bigint];
728
747
  }
748
+ export interface UpgradeExtension {
749
+ extension_canister_id: [] | [Principal];
750
+ wasm: [] | [Wasm];
751
+ canister_upgrade_arg: [] | [ExtensionUpgradeArg];
752
+ }
729
753
  export interface UpgradeInProgress {
730
754
  mark_failed_at_seconds: bigint;
731
755
  checking_upgrade_lock: bigint;
@@ -818,6 +842,9 @@ export interface VotingRewardsParameters {
818
842
  export interface WaitForQuietState {
819
843
  current_deadline_timestamp_seconds: bigint;
820
844
  }
845
+ export type Wasm =
846
+ | { Chunked: ChunkedCanisterWasm }
847
+ | { Bytes: Uint8Array | number[] };
821
848
  export interface _SERVICE {
822
849
  claim_swap_neurons: ActorMethod<
823
850
  [ClaimSwapNeuronsRequest],
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 047925d (2025-08-06 tags: release-2025-08-07_03-33-base) 'rs/sns/governance/canister/governance.did' by import-candid
1
+ // Generated from IC repo commit 9173238 (2025-08-18 tags: release-2025-08-28_03-17-snapshot-feature) 'rs/sns/governance/canister/governance.did' by import-candid
2
2
  type Account = record {
3
3
  owner : opt principal;
4
4
  subaccount : opt Subaccount;
@@ -14,6 +14,7 @@ type Action = variant {
14
14
  AdvanceSnsTargetVersion : AdvanceSnsTargetVersion;
15
15
  RegisterDappCanisters : RegisterDappCanisters;
16
16
  RegisterExtension : RegisterExtension;
17
+ UpgradeExtension : UpgradeExtension;
17
18
  ExecuteExtensionOperation : ExecuteExtensionOperation;
18
19
  TransferSnsTreasuryFunds : TransferSnsTreasuryFunds;
19
20
  UpgradeSnsControlledCanister : UpgradeSnsControlledCanister;
@@ -752,6 +753,21 @@ type ExtensionOperationArg = record {
752
753
  value : opt PreciseValue;
753
754
  };
754
755
 
756
+ type ExtensionUpgradeArg = record {
757
+ value : opt PreciseValue;
758
+ };
759
+
760
+ type Wasm = variant {
761
+ Bytes : blob;
762
+ Chunked : ChunkedCanisterWasm;
763
+ };
764
+
765
+ type UpgradeExtension = record {
766
+ extension_canister_id : opt principal;
767
+ canister_upgrade_arg : opt ExtensionUpgradeArg;
768
+ wasm : opt Wasm;
769
+ };
770
+
755
771
  type ExecuteExtensionOperation = record {
756
772
  extension_canister_id : opt principal;
757
773
 
@@ -760,6 +776,27 @@ type ExecuteExtensionOperation = record {
760
776
  operation_arg : opt ExtensionOperationArg;
761
777
  };
762
778
 
779
+ type ExtensionOperationSpec = record {
780
+ operation_type : opt ExtensionOperationType;
781
+ description : opt text;
782
+ extension_type : opt ExtensionType;
783
+ topic : opt Topic;
784
+ };
785
+
786
+ type ExtensionOperationType = variant {
787
+ TreasuryManagerDeposit;
788
+ TreasuryManagerWithdraw;
789
+ };
790
+
791
+ type ExtensionType = variant {
792
+ TreasuryManager;
793
+ };
794
+
795
+ type RegisteredExtensionOperationSpec = record {
796
+ canister_id : opt principal;
797
+ spec : opt ExtensionOperationSpec;
798
+ };
799
+
763
800
  type RegisterVote = record {
764
801
  vote : int32;
765
802
  proposal : opt ProposalId;
@@ -993,6 +1030,7 @@ type TopicInfo = record {
993
1030
  description : opt text;
994
1031
  native_functions : opt vec NervousSystemFunction;
995
1032
  custom_functions : opt vec NervousSystemFunction;
1033
+ extension_operations : opt vec RegisteredExtensionOperationSpec;
996
1034
  is_critical : opt bool;
997
1035
  };
998
1036
 
@@ -277,14 +277,24 @@ export const idlFactory = ({ IDL }) => {
277
277
  'operation_name' : IDL.Opt(IDL.Text),
278
278
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
279
279
  });
280
- const SetTopicsForCustomProposals = IDL.Record({
281
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
282
- });
283
280
  const ChunkedCanisterWasm = IDL.Record({
284
281
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
285
282
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
286
283
  'store_canister_id' : IDL.Opt(IDL.Principal),
287
284
  });
285
+ const Wasm = IDL.Variant({
286
+ 'Chunked' : ChunkedCanisterWasm,
287
+ 'Bytes' : IDL.Vec(IDL.Nat8),
288
+ });
289
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
290
+ const UpgradeExtension = IDL.Record({
291
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
292
+ 'wasm' : IDL.Opt(Wasm),
293
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
294
+ });
295
+ const SetTopicsForCustomProposals = IDL.Record({
296
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
297
+ });
288
298
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
289
299
  const RegisterExtension = IDL.Record({
290
300
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -342,6 +352,7 @@ export const idlFactory = ({ IDL }) => {
342
352
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
343
353
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
344
354
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
355
+ 'UpgradeExtension' : UpgradeExtension,
345
356
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
346
357
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
347
358
  'RegisterExtension' : RegisterExtension,
@@ -711,7 +722,23 @@ export const idlFactory = ({ IDL }) => {
711
722
  'include_topic_filtering' : IDL.Opt(IDL.Bool),
712
723
  });
713
724
  const ListTopicsRequest = IDL.Record({});
725
+ const ExtensionOperationType = IDL.Variant({
726
+ 'TreasuryManagerWithdraw' : IDL.Null,
727
+ 'TreasuryManagerDeposit' : IDL.Null,
728
+ });
729
+ const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });
730
+ const ExtensionOperationSpec = IDL.Record({
731
+ 'topic' : IDL.Opt(Topic),
732
+ 'operation_type' : IDL.Opt(ExtensionOperationType),
733
+ 'description' : IDL.Opt(IDL.Text),
734
+ 'extension_type' : IDL.Opt(ExtensionType),
735
+ });
736
+ const RegisteredExtensionOperationSpec = IDL.Record({
737
+ 'spec' : IDL.Opt(ExtensionOperationSpec),
738
+ 'canister_id' : IDL.Opt(IDL.Principal),
739
+ });
714
740
  const TopicInfo = IDL.Record({
741
+ 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),
715
742
  'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),
716
743
  'topic' : IDL.Opt(Topic),
717
744
  'is_critical' : IDL.Opt(IDL.Bool),
@@ -1141,14 +1168,24 @@ export const init = ({ IDL }) => {
1141
1168
  'operation_name' : IDL.Opt(IDL.Text),
1142
1169
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
1143
1170
  });
1144
- const SetTopicsForCustomProposals = IDL.Record({
1145
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1146
- });
1147
1171
  const ChunkedCanisterWasm = IDL.Record({
1148
1172
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
1149
1173
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
1150
1174
  'store_canister_id' : IDL.Opt(IDL.Principal),
1151
1175
  });
1176
+ const Wasm = IDL.Variant({
1177
+ 'Chunked' : ChunkedCanisterWasm,
1178
+ 'Bytes' : IDL.Vec(IDL.Nat8),
1179
+ });
1180
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1181
+ const UpgradeExtension = IDL.Record({
1182
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
1183
+ 'wasm' : IDL.Opt(Wasm),
1184
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
1185
+ });
1186
+ const SetTopicsForCustomProposals = IDL.Record({
1187
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1188
+ });
1152
1189
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1153
1190
  const RegisterExtension = IDL.Record({
1154
1191
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -1206,6 +1243,7 @@ export const init = ({ IDL }) => {
1206
1243
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
1207
1244
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
1208
1245
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
1246
+ 'UpgradeExtension' : UpgradeExtension,
1209
1247
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
1210
1248
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
1211
1249
  'RegisterExtension' : RegisterExtension,
@@ -277,14 +277,24 @@ export const idlFactory = ({ IDL }) => {
277
277
  'operation_name' : IDL.Opt(IDL.Text),
278
278
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
279
279
  });
280
- const SetTopicsForCustomProposals = IDL.Record({
281
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
282
- });
283
280
  const ChunkedCanisterWasm = IDL.Record({
284
281
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
285
282
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
286
283
  'store_canister_id' : IDL.Opt(IDL.Principal),
287
284
  });
285
+ const Wasm = IDL.Variant({
286
+ 'Chunked' : ChunkedCanisterWasm,
287
+ 'Bytes' : IDL.Vec(IDL.Nat8),
288
+ });
289
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
290
+ const UpgradeExtension = IDL.Record({
291
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
292
+ 'wasm' : IDL.Opt(Wasm),
293
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
294
+ });
295
+ const SetTopicsForCustomProposals = IDL.Record({
296
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
297
+ });
288
298
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
289
299
  const RegisterExtension = IDL.Record({
290
300
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -342,6 +352,7 @@ export const idlFactory = ({ IDL }) => {
342
352
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
343
353
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
344
354
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
355
+ 'UpgradeExtension' : UpgradeExtension,
345
356
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
346
357
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
347
358
  'RegisterExtension' : RegisterExtension,
@@ -722,7 +733,23 @@ export const idlFactory = ({ IDL }) => {
722
733
  'include_topic_filtering' : IDL.Opt(IDL.Bool),
723
734
  });
724
735
  const ListTopicsRequest = IDL.Record({});
736
+ const ExtensionOperationType = IDL.Variant({
737
+ 'TreasuryManagerWithdraw' : IDL.Null,
738
+ 'TreasuryManagerDeposit' : IDL.Null,
739
+ });
740
+ const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });
741
+ const ExtensionOperationSpec = IDL.Record({
742
+ 'topic' : IDL.Opt(Topic),
743
+ 'operation_type' : IDL.Opt(ExtensionOperationType),
744
+ 'description' : IDL.Opt(IDL.Text),
745
+ 'extension_type' : IDL.Opt(ExtensionType),
746
+ });
747
+ const RegisteredExtensionOperationSpec = IDL.Record({
748
+ 'spec' : IDL.Opt(ExtensionOperationSpec),
749
+ 'canister_id' : IDL.Opt(IDL.Principal),
750
+ });
725
751
  const TopicInfo = IDL.Record({
752
+ 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),
726
753
  'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),
727
754
  'topic' : IDL.Opt(Topic),
728
755
  'is_critical' : IDL.Opt(IDL.Bool),
@@ -1153,14 +1180,24 @@ export const init = ({ IDL }) => {
1153
1180
  'operation_name' : IDL.Opt(IDL.Text),
1154
1181
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
1155
1182
  });
1156
- const SetTopicsForCustomProposals = IDL.Record({
1157
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1158
- });
1159
1183
  const ChunkedCanisterWasm = IDL.Record({
1160
1184
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
1161
1185
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
1162
1186
  'store_canister_id' : IDL.Opt(IDL.Principal),
1163
1187
  });
1188
+ const Wasm = IDL.Variant({
1189
+ 'Chunked' : ChunkedCanisterWasm,
1190
+ 'Bytes' : IDL.Vec(IDL.Nat8),
1191
+ });
1192
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1193
+ const UpgradeExtension = IDL.Record({
1194
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
1195
+ 'wasm' : IDL.Opt(Wasm),
1196
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
1197
+ });
1198
+ const SetTopicsForCustomProposals = IDL.Record({
1199
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1200
+ });
1164
1201
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1165
1202
  const RegisterExtension = IDL.Record({
1166
1203
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -1218,6 +1255,7 @@ export const init = ({ IDL }) => {
1218
1255
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
1219
1256
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
1220
1257
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
1258
+ 'UpgradeExtension' : UpgradeExtension,
1221
1259
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
1222
1260
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
1223
1261
  'RegisterExtension' : RegisterExtension,
@@ -13,6 +13,7 @@ export type Action =
13
13
  | { AddGenericNervousSystemFunction: NervousSystemFunction }
14
14
  | { ManageDappCanisterSettings: ManageDappCanisterSettings }
15
15
  | { ExecuteExtensionOperation: ExecuteExtensionOperation }
16
+ | { UpgradeExtension: UpgradeExtension }
16
17
  | { RemoveGenericNervousSystemFunction: bigint }
17
18
  | { SetTopicsForCustomProposals: SetTopicsForCustomProposals }
18
19
  | { RegisterExtension: RegisterExtension }
@@ -215,6 +216,19 @@ export interface ExtensionInit {
215
216
  export interface ExtensionOperationArg {
216
217
  value: [] | [PreciseValue];
217
218
  }
219
+ export interface ExtensionOperationSpec {
220
+ topic: [] | [Topic];
221
+ operation_type: [] | [ExtensionOperationType];
222
+ description: [] | [string];
223
+ extension_type: [] | [ExtensionType];
224
+ }
225
+ export type ExtensionOperationType =
226
+ | { TreasuryManagerWithdraw: null }
227
+ | { TreasuryManagerDeposit: null };
228
+ export type ExtensionType = { TreasuryManager: null };
229
+ export interface ExtensionUpgradeArg {
230
+ value: [] | [PreciseValue];
231
+ }
218
232
  export interface FinalizeDisburseMaturity {
219
233
  amount_to_be_disbursed_e8s: bigint;
220
234
  to_account: [] | [Account];
@@ -626,6 +640,10 @@ export interface RegisterVote {
626
640
  vote: number;
627
641
  proposal: [] | [ProposalId];
628
642
  }
643
+ export interface RegisteredExtensionOperationSpec {
644
+ spec: [] | [ExtensionOperationSpec];
645
+ canister_id: [] | [Principal];
646
+ }
629
647
  export interface RemoveNeuronPermissions {
630
648
  permissions_to_remove: [] | [NeuronPermissionList];
631
649
  principal_id: [] | [Principal];
@@ -715,6 +733,7 @@ export type Topic =
715
733
  | { Governance: null }
716
734
  | { SnsFrameworkManagement: null };
717
735
  export interface TopicInfo {
736
+ extension_operations: [] | [Array<RegisteredExtensionOperationSpec>];
718
737
  native_functions: [] | [Array<NervousSystemFunction>];
719
738
  topic: [] | [Topic];
720
739
  is_critical: [] | [boolean];
@@ -741,6 +760,11 @@ export interface TreasuryMetrics {
741
760
  treasury: number;
742
761
  timestamp_seconds: [] | [bigint];
743
762
  }
763
+ export interface UpgradeExtension {
764
+ extension_canister_id: [] | [Principal];
765
+ wasm: [] | [Wasm];
766
+ canister_upgrade_arg: [] | [ExtensionUpgradeArg];
767
+ }
744
768
  export interface UpgradeInProgress {
745
769
  mark_failed_at_seconds: bigint;
746
770
  checking_upgrade_lock: bigint;
@@ -833,6 +857,9 @@ export interface VotingRewardsParameters {
833
857
  export interface WaitForQuietState {
834
858
  current_deadline_timestamp_seconds: bigint;
835
859
  }
860
+ export type Wasm =
861
+ | { Chunked: ChunkedCanisterWasm }
862
+ | { Bytes: Uint8Array | number[] };
836
863
  export interface _SERVICE {
837
864
  add_maturity: ActorMethod<[AddMaturityRequest], AddMaturityResponse>;
838
865
  advance_target_version: ActorMethod<
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 047925d (2025-08-06 tags: release-2025-08-07_03-33-base) 'rs/sns/governance/canister/governance_test.did' by import-candid
1
+ // Generated from IC repo commit 9173238 (2025-08-18 tags: release-2025-08-28_03-17-snapshot-feature) 'rs/sns/governance/canister/governance_test.did' by import-candid
2
2
  type Account = record {
3
3
  owner : opt principal;
4
4
  subaccount : opt Subaccount;
@@ -14,6 +14,7 @@ type Action = variant {
14
14
  AdvanceSnsTargetVersion : AdvanceSnsTargetVersion;
15
15
  RegisterDappCanisters : RegisterDappCanisters;
16
16
  RegisterExtension : RegisterExtension;
17
+ UpgradeExtension : UpgradeExtension;
17
18
  ExecuteExtensionOperation : ExecuteExtensionOperation;
18
19
  TransferSnsTreasuryFunds : TransferSnsTreasuryFunds;
19
20
  UpgradeSnsControlledCanister : UpgradeSnsControlledCanister;
@@ -766,6 +767,21 @@ type ExtensionOperationArg = record {
766
767
  value : opt PreciseValue;
767
768
  };
768
769
 
770
+ type ExtensionUpgradeArg = record {
771
+ value : opt PreciseValue;
772
+ };
773
+
774
+ type Wasm = variant {
775
+ Bytes : blob;
776
+ Chunked : ChunkedCanisterWasm;
777
+ };
778
+
779
+ type UpgradeExtension = record {
780
+ extension_canister_id : opt principal;
781
+ canister_upgrade_arg : opt ExtensionUpgradeArg;
782
+ wasm : opt Wasm;
783
+ };
784
+
769
785
  type ExecuteExtensionOperation = record {
770
786
  extension_canister_id : opt principal;
771
787
 
@@ -774,6 +790,27 @@ type ExecuteExtensionOperation = record {
774
790
  operation_arg : opt ExtensionOperationArg;
775
791
  };
776
792
 
793
+ type ExtensionOperationSpec = record {
794
+ operation_type : opt ExtensionOperationType;
795
+ description : opt text;
796
+ extension_type : opt ExtensionType;
797
+ topic : opt Topic;
798
+ };
799
+
800
+ type ExtensionOperationType = variant {
801
+ TreasuryManagerDeposit;
802
+ TreasuryManagerWithdraw;
803
+ };
804
+
805
+ type ExtensionType = variant {
806
+ TreasuryManager;
807
+ };
808
+
809
+ type RegisteredExtensionOperationSpec = record {
810
+ canister_id : opt principal;
811
+ spec : opt ExtensionOperationSpec;
812
+ };
813
+
777
814
  type RegisterVote = record {
778
815
  vote : int32;
779
816
  proposal : opt ProposalId;
@@ -1011,6 +1048,7 @@ type TopicInfo = record {
1011
1048
  description : opt text;
1012
1049
  native_functions : opt vec NervousSystemFunction;
1013
1050
  custom_functions : opt vec NervousSystemFunction;
1051
+ extension_operations : opt vec RegisteredExtensionOperationSpec;
1014
1052
  is_critical : opt bool;
1015
1053
  };
1016
1054
 
@@ -277,14 +277,24 @@ export const idlFactory = ({ IDL }) => {
277
277
  'operation_name' : IDL.Opt(IDL.Text),
278
278
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
279
279
  });
280
- const SetTopicsForCustomProposals = IDL.Record({
281
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
282
- });
283
280
  const ChunkedCanisterWasm = IDL.Record({
284
281
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
285
282
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
286
283
  'store_canister_id' : IDL.Opt(IDL.Principal),
287
284
  });
285
+ const Wasm = IDL.Variant({
286
+ 'Chunked' : ChunkedCanisterWasm,
287
+ 'Bytes' : IDL.Vec(IDL.Nat8),
288
+ });
289
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
290
+ const UpgradeExtension = IDL.Record({
291
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
292
+ 'wasm' : IDL.Opt(Wasm),
293
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
294
+ });
295
+ const SetTopicsForCustomProposals = IDL.Record({
296
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
297
+ });
288
298
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
289
299
  const RegisterExtension = IDL.Record({
290
300
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -342,6 +352,7 @@ export const idlFactory = ({ IDL }) => {
342
352
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
343
353
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
344
354
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
355
+ 'UpgradeExtension' : UpgradeExtension,
345
356
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
346
357
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
347
358
  'RegisterExtension' : RegisterExtension,
@@ -722,7 +733,23 @@ export const idlFactory = ({ IDL }) => {
722
733
  'include_topic_filtering' : IDL.Opt(IDL.Bool),
723
734
  });
724
735
  const ListTopicsRequest = IDL.Record({});
736
+ const ExtensionOperationType = IDL.Variant({
737
+ 'TreasuryManagerWithdraw' : IDL.Null,
738
+ 'TreasuryManagerDeposit' : IDL.Null,
739
+ });
740
+ const ExtensionType = IDL.Variant({ 'TreasuryManager' : IDL.Null });
741
+ const ExtensionOperationSpec = IDL.Record({
742
+ 'topic' : IDL.Opt(Topic),
743
+ 'operation_type' : IDL.Opt(ExtensionOperationType),
744
+ 'description' : IDL.Opt(IDL.Text),
745
+ 'extension_type' : IDL.Opt(ExtensionType),
746
+ });
747
+ const RegisteredExtensionOperationSpec = IDL.Record({
748
+ 'spec' : IDL.Opt(ExtensionOperationSpec),
749
+ 'canister_id' : IDL.Opt(IDL.Principal),
750
+ });
725
751
  const TopicInfo = IDL.Record({
752
+ 'extension_operations' : IDL.Opt(IDL.Vec(RegisteredExtensionOperationSpec)),
726
753
  'native_functions' : IDL.Opt(IDL.Vec(NervousSystemFunction)),
727
754
  'topic' : IDL.Opt(Topic),
728
755
  'is_critical' : IDL.Opt(IDL.Bool),
@@ -1169,14 +1196,24 @@ export const init = ({ IDL }) => {
1169
1196
  'operation_name' : IDL.Opt(IDL.Text),
1170
1197
  'operation_arg' : IDL.Opt(ExtensionOperationArg),
1171
1198
  });
1172
- const SetTopicsForCustomProposals = IDL.Record({
1173
- 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1174
- });
1175
1199
  const ChunkedCanisterWasm = IDL.Record({
1176
1200
  'wasm_module_hash' : IDL.Vec(IDL.Nat8),
1177
1201
  'chunk_hashes_list' : IDL.Vec(IDL.Vec(IDL.Nat8)),
1178
1202
  'store_canister_id' : IDL.Opt(IDL.Principal),
1179
1203
  });
1204
+ const Wasm = IDL.Variant({
1205
+ 'Chunked' : ChunkedCanisterWasm,
1206
+ 'Bytes' : IDL.Vec(IDL.Nat8),
1207
+ });
1208
+ const ExtensionUpgradeArg = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1209
+ const UpgradeExtension = IDL.Record({
1210
+ 'extension_canister_id' : IDL.Opt(IDL.Principal),
1211
+ 'wasm' : IDL.Opt(Wasm),
1212
+ 'canister_upgrade_arg' : IDL.Opt(ExtensionUpgradeArg),
1213
+ });
1214
+ const SetTopicsForCustomProposals = IDL.Record({
1215
+ 'custom_function_id_to_topic' : IDL.Vec(IDL.Tuple(IDL.Nat64, Topic)),
1216
+ });
1180
1217
  const ExtensionInit = IDL.Record({ 'value' : IDL.Opt(PreciseValue) });
1181
1218
  const RegisterExtension = IDL.Record({
1182
1219
  'chunked_canister_wasm' : IDL.Opt(ChunkedCanisterWasm),
@@ -1234,6 +1271,7 @@ export const init = ({ IDL }) => {
1234
1271
  'AddGenericNervousSystemFunction' : NervousSystemFunction,
1235
1272
  'ManageDappCanisterSettings' : ManageDappCanisterSettings,
1236
1273
  'ExecuteExtensionOperation' : ExecuteExtensionOperation,
1274
+ 'UpgradeExtension' : UpgradeExtension,
1237
1275
  'RemoveGenericNervousSystemFunction' : IDL.Nat64,
1238
1276
  'SetTopicsForCustomProposals' : SetTopicsForCustomProposals,
1239
1277
  'RegisterExtension' : RegisterExtension,
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 047925d (2025-08-06 tags: release-2025-08-07_03-33-base) 'rs/sns/root/canister/root.did' by import-candid
1
+ // Generated from IC repo commit 9173238 (2025-08-18 tags: release-2025-08-28_03-17-snapshot-feature) 'rs/sns/root/canister/root.did' by import-candid
2
2
  type CanisterCallError = record {
3
3
  code : opt int32;
4
4
  description : text;
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 047925d (2025-08-06 tags: release-2025-08-07_03-33-base) 'rs/sns/swap/canister/swap.did' by import-candid
1
+ // Generated from IC repo commit 9173238 (2025-08-18 tags: release-2025-08-28_03-17-snapshot-feature) 'rs/sns/swap/canister/swap.did' by import-candid
2
2
  type BuyerState = record {
3
3
  icp : opt TransferableAmount;
4
4
  has_created_neuron_recipes : opt bool;