@dfinity/nns 11.1.4-next-2025-11-26 → 11.1.4-next-2025-12-03.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.
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 948d5b9 (2025-11-19 tags: release-2025-11-20_03-21-base) 'rs/nns/gtc/canister/gtc.did' by import-candid
1
+ // Generated from IC repo commit 724ae41 (2025-11-27 tags: release-2025-11-28_03-22-base) 'rs/nns/gtc/canister/gtc.did' by import-candid
2
2
 
3
3
  type AccountState = record {
4
4
  authenticated_principal_id : opt principal;
@@ -9,6 +9,7 @@
9
9
  export const idlFactory = ({ IDL }) => {
10
10
  const ManageNeuronRequest = IDL.Rec();
11
11
  const Proposal = IDL.Rec();
12
+ const SelfDescribingValue = IDL.Rec();
12
13
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
13
14
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
14
15
  const DateUtc = IDL.Record({
@@ -593,12 +594,28 @@ export const idlFactory = ({ IDL }) => {
593
594
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
594
595
  Motion: Motion,
595
596
  });
597
+ SelfDescribingValue.fill(
598
+ IDL.Variant({
599
+ Int: IDL.Int,
600
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
601
+ Nat: IDL.Nat,
602
+ Blob: IDL.Vec(IDL.Nat8),
603
+ Text: IDL.Text,
604
+ Array: IDL.Vec(SelfDescribingValue),
605
+ }),
606
+ );
607
+ const SelfDescribingProposalAction = IDL.Record({
608
+ type_description: IDL.Opt(IDL.Text),
609
+ type_name: IDL.Opt(IDL.Text),
610
+ value: IDL.Opt(SelfDescribingValue),
611
+ });
596
612
  Proposal.fill(
597
613
  IDL.Record({
598
614
  url: IDL.Text,
599
615
  title: IDL.Opt(IDL.Text),
600
616
  action: IDL.Opt(Action),
601
617
  summary: IDL.Text,
618
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
602
619
  }),
603
620
  );
604
621
  const WaitForQuietState = IDL.Record({
@@ -770,6 +787,9 @@ export const idlFactory = ({ IDL }) => {
770
787
  Ok: NodeProvider,
771
788
  Err: GovernanceError,
772
789
  });
790
+ const GetPendingProposalsRequest = IDL.Record({
791
+ return_self_describing_action: IDL.Opt(IDL.Bool),
792
+ });
773
793
  const ProposalInfo = IDL.Record({
774
794
  id: IDL.Opt(ProposalId),
775
795
  status: IDL.Int32,
@@ -843,6 +863,7 @@ export const idlFactory = ({ IDL }) => {
843
863
  node_providers: IDL.Vec(NodeProvider),
844
864
  });
845
865
  const ListProposalInfoRequest = IDL.Record({
866
+ return_self_describing_action: IDL.Opt(IDL.Bool),
846
867
  include_reward_status: IDL.Vec(IDL.Int32),
847
868
  omit_large_fields: IDL.Opt(IDL.Bool),
848
869
  before_proposal: IDL.Opt(ProposalId),
@@ -1044,7 +1065,11 @@ export const idlFactory = ({ IDL }) => {
1044
1065
  [],
1045
1066
  ),
1046
1067
  get_node_provider_by_caller: IDL.Func([IDL.Null], [Result_7], []),
1047
- get_pending_proposals: IDL.Func([], [IDL.Vec(ProposalInfo)], []),
1068
+ get_pending_proposals: IDL.Func(
1069
+ [IDL.Opt(GetPendingProposalsRequest)],
1070
+ [IDL.Vec(ProposalInfo)],
1071
+ [],
1072
+ ),
1048
1073
  get_proposal_info: IDL.Func([IDL.Nat64], [IDL.Opt(ProposalInfo)], []),
1049
1074
  get_restore_aging_summary: IDL.Func([], [RestoreAgingSummary], []),
1050
1075
  list_known_neurons: IDL.Func([], [ListKnownNeuronsResponse], []),
@@ -1088,6 +1113,7 @@ export const idlFactory = ({ IDL }) => {
1088
1113
 
1089
1114
  export const init = ({ IDL }) => {
1090
1115
  const Proposal = IDL.Rec();
1116
+ const SelfDescribingValue = IDL.Rec();
1091
1117
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
1092
1118
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
1093
1119
  const DateUtc = IDL.Record({
@@ -1672,12 +1698,28 @@ export const init = ({ IDL }) => {
1672
1698
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
1673
1699
  Motion: Motion,
1674
1700
  });
1701
+ SelfDescribingValue.fill(
1702
+ IDL.Variant({
1703
+ Int: IDL.Int,
1704
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
1705
+ Nat: IDL.Nat,
1706
+ Blob: IDL.Vec(IDL.Nat8),
1707
+ Text: IDL.Text,
1708
+ Array: IDL.Vec(SelfDescribingValue),
1709
+ }),
1710
+ );
1711
+ const SelfDescribingProposalAction = IDL.Record({
1712
+ type_description: IDL.Opt(IDL.Text),
1713
+ type_name: IDL.Opt(IDL.Text),
1714
+ value: IDL.Opt(SelfDescribingValue),
1715
+ });
1675
1716
  Proposal.fill(
1676
1717
  IDL.Record({
1677
1718
  url: IDL.Text,
1678
1719
  title: IDL.Opt(IDL.Text),
1679
1720
  action: IDL.Opt(Action),
1680
1721
  summary: IDL.Text,
1722
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
1681
1723
  }),
1682
1724
  );
1683
1725
  const WaitForQuietState = IDL.Record({
@@ -274,6 +274,9 @@ export interface GetNeuronsFundAuditInfoRequest {
274
274
  export interface GetNeuronsFundAuditInfoResponse {
275
275
  result: [] | [Result_6];
276
276
  }
277
+ export interface GetPendingProposalsRequest {
278
+ return_self_describing_action: [] | [boolean];
279
+ }
277
280
  export interface GlobalTimeOfDay {
278
281
  seconds_after_utc_midnight: [] | [bigint];
279
282
  }
@@ -502,6 +505,7 @@ export interface ListNodeProvidersResponse {
502
505
  node_providers: Array<NodeProvider>;
503
506
  }
504
507
  export interface ListProposalInfoRequest {
508
+ return_self_describing_action: [] | [boolean];
505
509
  include_reward_status: Int32Array;
506
510
  omit_large_fields: [] | [boolean];
507
511
  before_proposal: [] | [ProposalId];
@@ -949,6 +953,7 @@ export interface Proposal {
949
953
  title: [] | [string];
950
954
  action: [] | [Action];
951
955
  summary: string;
956
+ self_describing_action: [] | [SelfDescribingProposalAction];
952
957
  }
953
958
  export type ProposalActionRequest =
954
959
  | { RegisterKnownNeuron: KnownNeuron }
@@ -1076,6 +1081,18 @@ export interface RewardToAccount {
1076
1081
  export interface RewardToNeuron {
1077
1082
  dissolve_delay_seconds: bigint;
1078
1083
  }
1084
+ export interface SelfDescribingProposalAction {
1085
+ type_description: [] | [string];
1086
+ type_name: [] | [string];
1087
+ value: [] | [SelfDescribingValue];
1088
+ }
1089
+ export type SelfDescribingValue =
1090
+ | { Int: bigint }
1091
+ | { Map: Array<[string, SelfDescribingValue]> }
1092
+ | { Nat: bigint }
1093
+ | { Blob: Uint8Array }
1094
+ | { Text: string }
1095
+ | { Array: Array<SelfDescribingValue> };
1079
1096
  export interface SetDefaultFollowees {
1080
1097
  default_followees: Array<[number, Followees]>;
1081
1098
  }
@@ -1302,7 +1319,10 @@ export interface _SERVICE {
1302
1319
  GetNeuronsFundAuditInfoResponse
1303
1320
  >;
1304
1321
  get_node_provider_by_caller: ActorMethod<[null], Result_7>;
1305
- get_pending_proposals: ActorMethod<[], Array<ProposalInfo>>;
1322
+ get_pending_proposals: ActorMethod<
1323
+ [[] | [GetPendingProposalsRequest]],
1324
+ Array<ProposalInfo>
1325
+ >;
1306
1326
  get_proposal_info: ActorMethod<[bigint], [] | [ProposalInfo]>;
1307
1327
  get_restore_aging_summary: ActorMethod<[], RestoreAgingSummary>;
1308
1328
  list_known_neurons: ActorMethod<[], ListKnownNeuronsResponse>;
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 948d5b9 (2025-11-19 tags: release-2025-11-20_03-21-base) 'rs/nns/governance/canister/governance.did' by import-candid
1
+ // Generated from IC repo commit 724ae41 (2025-11-27 tags: release-2025-11-28_03-22-base) 'rs/nns/governance/canister/governance.did' by import-candid
2
2
 
3
3
  type AccountIdentifier = record {
4
4
  hash : blob;
@@ -527,6 +527,7 @@ type ListProposalInfoRequest = record {
527
527
  exclude_topic : vec int32;
528
528
  include_all_manage_neuron_proposals : opt bool;
529
529
  include_status : vec int32;
530
+ return_self_describing_action : opt bool;
530
531
  };
531
532
 
532
533
  type ListProposalInfoResponse = record {
@@ -1009,6 +1010,7 @@ type Proposal = record {
1009
1010
  title : opt text;
1010
1011
  action : opt Action;
1011
1012
  summary : text;
1013
+ self_describing_action : opt SelfDescribingProposalAction;
1012
1014
  };
1013
1015
 
1014
1016
  type ProposalActionRequest = variant {
@@ -1428,6 +1430,25 @@ type Vote = variant {
1428
1430
  No;
1429
1431
  };
1430
1432
 
1433
+ type SelfDescribingProposalAction = record {
1434
+ type_name : opt text;
1435
+ type_description : opt text;
1436
+ value : opt SelfDescribingValue;
1437
+ };
1438
+
1439
+ type SelfDescribingValue = variant {
1440
+ Blob : blob;
1441
+ Text : text;
1442
+ Nat : nat;
1443
+ Int : int;
1444
+ Array : vec SelfDescribingValue;
1445
+ Map : vec record { text; SelfDescribingValue };
1446
+ };
1447
+
1448
+ type GetPendingProposalsRequest = record {
1449
+ return_self_describing_action : opt bool;
1450
+ }
1451
+
1431
1452
  service : (Governance) -> {
1432
1453
  claim_gtc_neurons : (principal, vec NeuronId) -> (Result);
1433
1454
  claim_or_refresh_neuron_from_account : (ClaimOrRefreshNeuronFromAccount) -> (
@@ -1455,7 +1476,7 @@ service : (Governance) -> {
1455
1476
  GetNeuronsFundAuditInfoResponse,
1456
1477
  ) query;
1457
1478
  get_node_provider_by_caller : (null) -> (Result_7) query;
1458
- get_pending_proposals : () -> (vec ProposalInfo) query;
1479
+ get_pending_proposals : (opt GetPendingProposalsRequest) -> (vec ProposalInfo) query;
1459
1480
  get_proposal_info : (nat64) -> (opt ProposalInfo) query;
1460
1481
  get_restore_aging_summary : () -> (RestoreAgingSummary) query;
1461
1482
  list_known_neurons : () -> (ListKnownNeuronsResponse) query;
@@ -9,6 +9,7 @@
9
9
  export const idlFactory = ({ IDL }) => {
10
10
  const ManageNeuronRequest = IDL.Rec();
11
11
  const Proposal = IDL.Rec();
12
+ const SelfDescribingValue = IDL.Rec();
12
13
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
13
14
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
14
15
  const DateUtc = IDL.Record({
@@ -593,12 +594,28 @@ export const idlFactory = ({ IDL }) => {
593
594
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
594
595
  Motion: Motion,
595
596
  });
597
+ SelfDescribingValue.fill(
598
+ IDL.Variant({
599
+ Int: IDL.Int,
600
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
601
+ Nat: IDL.Nat,
602
+ Blob: IDL.Vec(IDL.Nat8),
603
+ Text: IDL.Text,
604
+ Array: IDL.Vec(SelfDescribingValue),
605
+ }),
606
+ );
607
+ const SelfDescribingProposalAction = IDL.Record({
608
+ type_description: IDL.Opt(IDL.Text),
609
+ type_name: IDL.Opt(IDL.Text),
610
+ value: IDL.Opt(SelfDescribingValue),
611
+ });
596
612
  Proposal.fill(
597
613
  IDL.Record({
598
614
  url: IDL.Text,
599
615
  title: IDL.Opt(IDL.Text),
600
616
  action: IDL.Opt(Action),
601
617
  summary: IDL.Text,
618
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
602
619
  }),
603
620
  );
604
621
  const WaitForQuietState = IDL.Record({
@@ -770,6 +787,9 @@ export const idlFactory = ({ IDL }) => {
770
787
  Ok: NodeProvider,
771
788
  Err: GovernanceError,
772
789
  });
790
+ const GetPendingProposalsRequest = IDL.Record({
791
+ return_self_describing_action: IDL.Opt(IDL.Bool),
792
+ });
773
793
  const ProposalInfo = IDL.Record({
774
794
  id: IDL.Opt(ProposalId),
775
795
  status: IDL.Int32,
@@ -843,6 +863,7 @@ export const idlFactory = ({ IDL }) => {
843
863
  node_providers: IDL.Vec(NodeProvider),
844
864
  });
845
865
  const ListProposalInfoRequest = IDL.Record({
866
+ return_self_describing_action: IDL.Opt(IDL.Bool),
846
867
  include_reward_status: IDL.Vec(IDL.Int32),
847
868
  omit_large_fields: IDL.Opt(IDL.Bool),
848
869
  before_proposal: IDL.Opt(ProposalId),
@@ -1048,7 +1069,11 @@ export const idlFactory = ({ IDL }) => {
1048
1069
  ["query"],
1049
1070
  ),
1050
1071
  get_node_provider_by_caller: IDL.Func([IDL.Null], [Result_7], ["query"]),
1051
- get_pending_proposals: IDL.Func([], [IDL.Vec(ProposalInfo)], ["query"]),
1072
+ get_pending_proposals: IDL.Func(
1073
+ [IDL.Opt(GetPendingProposalsRequest)],
1074
+ [IDL.Vec(ProposalInfo)],
1075
+ ["query"],
1076
+ ),
1052
1077
  get_proposal_info: IDL.Func(
1053
1078
  [IDL.Nat64],
1054
1079
  [IDL.Opt(ProposalInfo)],
@@ -1096,6 +1121,7 @@ export const idlFactory = ({ IDL }) => {
1096
1121
 
1097
1122
  export const init = ({ IDL }) => {
1098
1123
  const Proposal = IDL.Rec();
1124
+ const SelfDescribingValue = IDL.Rec();
1099
1125
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
1100
1126
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
1101
1127
  const DateUtc = IDL.Record({
@@ -1680,12 +1706,28 @@ export const init = ({ IDL }) => {
1680
1706
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
1681
1707
  Motion: Motion,
1682
1708
  });
1709
+ SelfDescribingValue.fill(
1710
+ IDL.Variant({
1711
+ Int: IDL.Int,
1712
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
1713
+ Nat: IDL.Nat,
1714
+ Blob: IDL.Vec(IDL.Nat8),
1715
+ Text: IDL.Text,
1716
+ Array: IDL.Vec(SelfDescribingValue),
1717
+ }),
1718
+ );
1719
+ const SelfDescribingProposalAction = IDL.Record({
1720
+ type_description: IDL.Opt(IDL.Text),
1721
+ type_name: IDL.Opt(IDL.Text),
1722
+ value: IDL.Opt(SelfDescribingValue),
1723
+ });
1683
1724
  Proposal.fill(
1684
1725
  IDL.Record({
1685
1726
  url: IDL.Text,
1686
1727
  title: IDL.Opt(IDL.Text),
1687
1728
  action: IDL.Opt(Action),
1688
1729
  summary: IDL.Text,
1730
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
1689
1731
  }),
1690
1732
  );
1691
1733
  const WaitForQuietState = IDL.Record({
@@ -9,6 +9,7 @@
9
9
  export const idlFactory = ({ IDL }) => {
10
10
  const ManageNeuronRequest = IDL.Rec();
11
11
  const Proposal = IDL.Rec();
12
+ const SelfDescribingValue = IDL.Rec();
12
13
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
13
14
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
14
15
  const DateUtc = IDL.Record({
@@ -593,12 +594,28 @@ export const idlFactory = ({ IDL }) => {
593
594
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
594
595
  Motion: Motion,
595
596
  });
597
+ SelfDescribingValue.fill(
598
+ IDL.Variant({
599
+ Int: IDL.Int,
600
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
601
+ Nat: IDL.Nat,
602
+ Blob: IDL.Vec(IDL.Nat8),
603
+ Text: IDL.Text,
604
+ Array: IDL.Vec(SelfDescribingValue),
605
+ }),
606
+ );
607
+ const SelfDescribingProposalAction = IDL.Record({
608
+ type_description: IDL.Opt(IDL.Text),
609
+ type_name: IDL.Opt(IDL.Text),
610
+ value: IDL.Opt(SelfDescribingValue),
611
+ });
596
612
  Proposal.fill(
597
613
  IDL.Record({
598
614
  url: IDL.Text,
599
615
  title: IDL.Opt(IDL.Text),
600
616
  action: IDL.Opt(Action),
601
617
  summary: IDL.Text,
618
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
602
619
  }),
603
620
  );
604
621
  const WaitForQuietState = IDL.Record({
@@ -770,6 +787,9 @@ export const idlFactory = ({ IDL }) => {
770
787
  Ok: NodeProvider,
771
788
  Err: GovernanceError,
772
789
  });
790
+ const GetPendingProposalsRequest = IDL.Record({
791
+ return_self_describing_action: IDL.Opt(IDL.Bool),
792
+ });
773
793
  const ProposalInfo = IDL.Record({
774
794
  id: IDL.Opt(ProposalId),
775
795
  status: IDL.Int32,
@@ -843,6 +863,7 @@ export const idlFactory = ({ IDL }) => {
843
863
  node_providers: IDL.Vec(NodeProvider),
844
864
  });
845
865
  const ListProposalInfoRequest = IDL.Record({
866
+ return_self_describing_action: IDL.Opt(IDL.Bool),
846
867
  include_reward_status: IDL.Vec(IDL.Int32),
847
868
  omit_large_fields: IDL.Opt(IDL.Bool),
848
869
  before_proposal: IDL.Opt(ProposalId),
@@ -1044,7 +1065,11 @@ export const idlFactory = ({ IDL }) => {
1044
1065
  [],
1045
1066
  ),
1046
1067
  get_node_provider_by_caller: IDL.Func([IDL.Null], [Result_7], []),
1047
- get_pending_proposals: IDL.Func([], [IDL.Vec(ProposalInfo)], []),
1068
+ get_pending_proposals: IDL.Func(
1069
+ [IDL.Opt(GetPendingProposalsRequest)],
1070
+ [IDL.Vec(ProposalInfo)],
1071
+ [],
1072
+ ),
1048
1073
  get_proposal_info: IDL.Func([IDL.Nat64], [IDL.Opt(ProposalInfo)], []),
1049
1074
  get_restore_aging_summary: IDL.Func([], [RestoreAgingSummary], []),
1050
1075
  list_known_neurons: IDL.Func([], [ListKnownNeuronsResponse], []),
@@ -1089,6 +1114,7 @@ export const idlFactory = ({ IDL }) => {
1089
1114
 
1090
1115
  export const init = ({ IDL }) => {
1091
1116
  const Proposal = IDL.Rec();
1117
+ const SelfDescribingValue = IDL.Rec();
1092
1118
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
1093
1119
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
1094
1120
  const DateUtc = IDL.Record({
@@ -1673,12 +1699,28 @@ export const init = ({ IDL }) => {
1673
1699
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
1674
1700
  Motion: Motion,
1675
1701
  });
1702
+ SelfDescribingValue.fill(
1703
+ IDL.Variant({
1704
+ Int: IDL.Int,
1705
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
1706
+ Nat: IDL.Nat,
1707
+ Blob: IDL.Vec(IDL.Nat8),
1708
+ Text: IDL.Text,
1709
+ Array: IDL.Vec(SelfDescribingValue),
1710
+ }),
1711
+ );
1712
+ const SelfDescribingProposalAction = IDL.Record({
1713
+ type_description: IDL.Opt(IDL.Text),
1714
+ type_name: IDL.Opt(IDL.Text),
1715
+ value: IDL.Opt(SelfDescribingValue),
1716
+ });
1676
1717
  Proposal.fill(
1677
1718
  IDL.Record({
1678
1719
  url: IDL.Text,
1679
1720
  title: IDL.Opt(IDL.Text),
1680
1721
  action: IDL.Opt(Action),
1681
1722
  summary: IDL.Text,
1723
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
1682
1724
  }),
1683
1725
  );
1684
1726
  const WaitForQuietState = IDL.Record({
@@ -274,6 +274,9 @@ export interface GetNeuronsFundAuditInfoRequest {
274
274
  export interface GetNeuronsFundAuditInfoResponse {
275
275
  result: [] | [Result_6];
276
276
  }
277
+ export interface GetPendingProposalsRequest {
278
+ return_self_describing_action: [] | [boolean];
279
+ }
277
280
  export interface GlobalTimeOfDay {
278
281
  seconds_after_utc_midnight: [] | [bigint];
279
282
  }
@@ -502,6 +505,7 @@ export interface ListNodeProvidersResponse {
502
505
  node_providers: Array<NodeProvider>;
503
506
  }
504
507
  export interface ListProposalInfoRequest {
508
+ return_self_describing_action: [] | [boolean];
505
509
  include_reward_status: Int32Array;
506
510
  omit_large_fields: [] | [boolean];
507
511
  before_proposal: [] | [ProposalId];
@@ -949,6 +953,7 @@ export interface Proposal {
949
953
  title: [] | [string];
950
954
  action: [] | [Action];
951
955
  summary: string;
956
+ self_describing_action: [] | [SelfDescribingProposalAction];
952
957
  }
953
958
  export type ProposalActionRequest =
954
959
  | { RegisterKnownNeuron: KnownNeuron }
@@ -1076,6 +1081,18 @@ export interface RewardToAccount {
1076
1081
  export interface RewardToNeuron {
1077
1082
  dissolve_delay_seconds: bigint;
1078
1083
  }
1084
+ export interface SelfDescribingProposalAction {
1085
+ type_description: [] | [string];
1086
+ type_name: [] | [string];
1087
+ value: [] | [SelfDescribingValue];
1088
+ }
1089
+ export type SelfDescribingValue =
1090
+ | { Int: bigint }
1091
+ | { Map: Array<[string, SelfDescribingValue]> }
1092
+ | { Nat: bigint }
1093
+ | { Blob: Uint8Array }
1094
+ | { Text: string }
1095
+ | { Array: Array<SelfDescribingValue> };
1079
1096
  export interface SetDefaultFollowees {
1080
1097
  default_followees: Array<[number, Followees]>;
1081
1098
  }
@@ -1302,7 +1319,10 @@ export interface _SERVICE {
1302
1319
  GetNeuronsFundAuditInfoResponse
1303
1320
  >;
1304
1321
  get_node_provider_by_caller: ActorMethod<[null], Result_7>;
1305
- get_pending_proposals: ActorMethod<[], Array<ProposalInfo>>;
1322
+ get_pending_proposals: ActorMethod<
1323
+ [[] | [GetPendingProposalsRequest]],
1324
+ Array<ProposalInfo>
1325
+ >;
1306
1326
  get_proposal_info: ActorMethod<[bigint], [] | [ProposalInfo]>;
1307
1327
  get_restore_aging_summary: ActorMethod<[], RestoreAgingSummary>;
1308
1328
  list_known_neurons: ActorMethod<[], ListKnownNeuronsResponse>;
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 5e10dc3 (2025-11-24) 'packages/nns/src/candid/governance_test.did.tmp' by import-candid
1
+ // Generated from IC repo commit c49fb87 (2025-12-02) 'packages/nns/src/candid/governance_test.did.tmp' by import-candid
2
2
 
3
3
  type AccountIdentifier = record {
4
4
  hash : blob;
@@ -527,6 +527,7 @@ type ListProposalInfoRequest = record {
527
527
  exclude_topic : vec int32;
528
528
  include_all_manage_neuron_proposals : opt bool;
529
529
  include_status : vec int32;
530
+ return_self_describing_action : opt bool;
530
531
  };
531
532
 
532
533
  type ListProposalInfoResponse = record {
@@ -1009,6 +1010,7 @@ type Proposal = record {
1009
1010
  title : opt text;
1010
1011
  action : opt Action;
1011
1012
  summary : text;
1013
+ self_describing_action : opt SelfDescribingProposalAction;
1012
1014
  };
1013
1015
 
1014
1016
  type ProposalActionRequest = variant {
@@ -1428,6 +1430,25 @@ type Vote = variant {
1428
1430
  No;
1429
1431
  };
1430
1432
 
1433
+ type SelfDescribingProposalAction = record {
1434
+ type_name : opt text;
1435
+ type_description : opt text;
1436
+ value : opt SelfDescribingValue;
1437
+ };
1438
+
1439
+ type SelfDescribingValue = variant {
1440
+ Blob : blob;
1441
+ Text : text;
1442
+ Nat : nat;
1443
+ Int : int;
1444
+ Array : vec SelfDescribingValue;
1445
+ Map : vec record { text; SelfDescribingValue };
1446
+ };
1447
+
1448
+ type GetPendingProposalsRequest = record {
1449
+ return_self_describing_action : opt bool;
1450
+ }
1451
+
1431
1452
  service : (Governance) -> {
1432
1453
  claim_gtc_neurons : (principal, vec NeuronId) -> (Result);
1433
1454
  claim_or_refresh_neuron_from_account : (ClaimOrRefreshNeuronFromAccount) -> (
@@ -1455,7 +1476,7 @@ service : (Governance) -> {
1455
1476
  GetNeuronsFundAuditInfoResponse,
1456
1477
  ) query;
1457
1478
  get_node_provider_by_caller : (null) -> (Result_7) query;
1458
- get_pending_proposals : () -> (vec ProposalInfo) query;
1479
+ get_pending_proposals : (opt GetPendingProposalsRequest) -> (vec ProposalInfo) query;
1459
1480
  get_proposal_info : (nat64) -> (opt ProposalInfo) query;
1460
1481
  get_restore_aging_summary : () -> (RestoreAgingSummary) query;
1461
1482
  list_known_neurons : () -> (ListKnownNeuronsResponse) query;
@@ -9,6 +9,7 @@
9
9
  export const idlFactory = ({ IDL }) => {
10
10
  const ManageNeuronRequest = IDL.Rec();
11
11
  const Proposal = IDL.Rec();
12
+ const SelfDescribingValue = IDL.Rec();
12
13
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
13
14
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
14
15
  const DateUtc = IDL.Record({
@@ -593,12 +594,28 @@ export const idlFactory = ({ IDL }) => {
593
594
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
594
595
  Motion: Motion,
595
596
  });
597
+ SelfDescribingValue.fill(
598
+ IDL.Variant({
599
+ Int: IDL.Int,
600
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
601
+ Nat: IDL.Nat,
602
+ Blob: IDL.Vec(IDL.Nat8),
603
+ Text: IDL.Text,
604
+ Array: IDL.Vec(SelfDescribingValue),
605
+ }),
606
+ );
607
+ const SelfDescribingProposalAction = IDL.Record({
608
+ type_description: IDL.Opt(IDL.Text),
609
+ type_name: IDL.Opt(IDL.Text),
610
+ value: IDL.Opt(SelfDescribingValue),
611
+ });
596
612
  Proposal.fill(
597
613
  IDL.Record({
598
614
  url: IDL.Text,
599
615
  title: IDL.Opt(IDL.Text),
600
616
  action: IDL.Opt(Action),
601
617
  summary: IDL.Text,
618
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
602
619
  }),
603
620
  );
604
621
  const WaitForQuietState = IDL.Record({
@@ -770,6 +787,9 @@ export const idlFactory = ({ IDL }) => {
770
787
  Ok: NodeProvider,
771
788
  Err: GovernanceError,
772
789
  });
790
+ const GetPendingProposalsRequest = IDL.Record({
791
+ return_self_describing_action: IDL.Opt(IDL.Bool),
792
+ });
773
793
  const ProposalInfo = IDL.Record({
774
794
  id: IDL.Opt(ProposalId),
775
795
  status: IDL.Int32,
@@ -843,6 +863,7 @@ export const idlFactory = ({ IDL }) => {
843
863
  node_providers: IDL.Vec(NodeProvider),
844
864
  });
845
865
  const ListProposalInfoRequest = IDL.Record({
866
+ return_self_describing_action: IDL.Opt(IDL.Bool),
846
867
  include_reward_status: IDL.Vec(IDL.Int32),
847
868
  omit_large_fields: IDL.Opt(IDL.Bool),
848
869
  before_proposal: IDL.Opt(ProposalId),
@@ -1048,7 +1069,11 @@ export const idlFactory = ({ IDL }) => {
1048
1069
  ["query"],
1049
1070
  ),
1050
1071
  get_node_provider_by_caller: IDL.Func([IDL.Null], [Result_7], ["query"]),
1051
- get_pending_proposals: IDL.Func([], [IDL.Vec(ProposalInfo)], ["query"]),
1072
+ get_pending_proposals: IDL.Func(
1073
+ [IDL.Opt(GetPendingProposalsRequest)],
1074
+ [IDL.Vec(ProposalInfo)],
1075
+ ["query"],
1076
+ ),
1052
1077
  get_proposal_info: IDL.Func(
1053
1078
  [IDL.Nat64],
1054
1079
  [IDL.Opt(ProposalInfo)],
@@ -1097,6 +1122,7 @@ export const idlFactory = ({ IDL }) => {
1097
1122
 
1098
1123
  export const init = ({ IDL }) => {
1099
1124
  const Proposal = IDL.Rec();
1125
+ const SelfDescribingValue = IDL.Rec();
1100
1126
  const NeuronId = IDL.Record({ id: IDL.Nat64 });
1101
1127
  const Followees = IDL.Record({ followees: IDL.Vec(NeuronId) });
1102
1128
  const DateUtc = IDL.Record({
@@ -1681,12 +1707,28 @@ export const init = ({ IDL }) => {
1681
1707
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
1682
1708
  Motion: Motion,
1683
1709
  });
1710
+ SelfDescribingValue.fill(
1711
+ IDL.Variant({
1712
+ Int: IDL.Int,
1713
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
1714
+ Nat: IDL.Nat,
1715
+ Blob: IDL.Vec(IDL.Nat8),
1716
+ Text: IDL.Text,
1717
+ Array: IDL.Vec(SelfDescribingValue),
1718
+ }),
1719
+ );
1720
+ const SelfDescribingProposalAction = IDL.Record({
1721
+ type_description: IDL.Opt(IDL.Text),
1722
+ type_name: IDL.Opt(IDL.Text),
1723
+ value: IDL.Opt(SelfDescribingValue),
1724
+ });
1684
1725
  Proposal.fill(
1685
1726
  IDL.Record({
1686
1727
  url: IDL.Text,
1687
1728
  title: IDL.Opt(IDL.Text),
1688
1729
  action: IDL.Opt(Action),
1689
1730
  summary: IDL.Text,
1731
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction),
1690
1732
  }),
1691
1733
  );
1692
1734
  const WaitForQuietState = IDL.Record({
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 948d5b9 (2025-11-19 tags: release-2025-11-20_03-21-base) 'rs/nns/sns-wasm/canister/sns-wasm.did' by import-candid
1
+ // Generated from IC repo commit 724ae41 (2025-11-27 tags: release-2025-11-28_03-22-base) 'rs/nns/sns-wasm/canister/sns-wasm.did' by import-candid
2
2
 
3
3
  type AddWasmRequest = record {
4
4
  hash : blob;
@@ -14,7 +14,7 @@ export declare const fromListNeurons: ({ neuronIds, includeEmptyNeurons, include
14
14
  pageSize?: bigint;
15
15
  }) => RawListNeurons;
16
16
  export declare const fromManageNeuron: ({ id, command, neuronIdOrSubaccount, }: ManageNeuronRequest) => RawManageNeuron;
17
- export declare const fromListProposalsRequest: ({ includeRewardStatus, beforeProposal, excludeTopic, includeStatus, limit, includeAllManageNeuronProposals, omitLargeFields, }: ListProposalsRequest) => RawListProposalInfo;
17
+ export declare const fromListProposalsRequest: ({ includeRewardStatus, beforeProposal, excludeTopic, includeStatus, limit, includeAllManageNeuronProposals, omitLargeFields, returnSelfDescribingAction, }: ListProposalsRequest) => RawListProposalInfo;
18
18
  export declare const fromClaimOrRefreshNeuronRequest: (request: ClaimOrRefreshNeuronRequest) => RawManageNeuron;
19
19
  export declare const toClaimOrRefreshRequest: ({ memo, controller, }: {
20
20
  memo: bigint;