@junobuild/functions 0.5.3 → 0.5.5-next-2026-01-16

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.
Files changed (79) hide show
  1. package/canisters/ckbtc/index.js +1 -1
  2. package/canisters/cketh/index.js +1 -1
  3. package/canisters/cmc/index.js +1 -1
  4. package/canisters/declarations/_idl.d.ts +5 -5
  5. package/canisters/declarations/_types.d.ts +5 -5
  6. package/canisters/declarations/ckbtc/bitcoin.did.d.ts +2 -0
  7. package/canisters/declarations/ckbtc/bitcoin.did.idl.d.ts +3 -2
  8. package/canisters/declarations/ckbtc/minter.did.d.ts +4 -0
  9. package/canisters/declarations/ckbtc/minter.did.idl.d.ts +1 -0
  10. package/canisters/declarations/cmc/cmc.did.idl.d.ts +1 -1
  11. package/canisters/declarations/ic-management/ic-management.did.d.ts +2 -0
  12. package/canisters/declarations/ledger-icrc/icrc_icrc-1.did.d.ts +70 -0
  13. package/canisters/declarations/ledger-icrc/icrc_icrc-1.did.idl.d.ts +26 -0
  14. package/canisters/declarations/ledger-icrc/icrc_icrc-10.did.d.ts +21 -0
  15. package/canisters/declarations/ledger-icrc/icrc_icrc-10.did.idl.d.ts +13 -0
  16. package/canisters/declarations/ledger-icrc/icrc_index.did.d.ts +69 -17
  17. package/canisters/declarations/ledger-icrc/icrc_index.did.idl.d.ts +21 -4
  18. package/canisters/declarations/ledger-icrc/icrc_ledger.did.d.ts +6 -0
  19. package/canisters/declarations/ledger-icrc/icrc_ledger.did.idl.d.ts +1 -0
  20. package/canisters/declarations/nns/governance.did.d.ts +54 -30
  21. package/canisters/declarations/nns/governance.did.idl.d.ts +6 -3
  22. package/canisters/declarations/nns/governance_test.did.d.ts +54 -30
  23. package/canisters/declarations/nns/governance_test.did.idl.d.ts +6 -3
  24. package/{src/canisters/declarations/sns/sns_root.did.d.ts → canisters/declarations/sns/root.did.d.ts} +12 -0
  25. package/canisters/declarations/sns/{sns_root.did.idl.d.ts → root.did.idl.d.ts} +5 -1
  26. package/canisters/ic-management/index.js +1 -1
  27. package/canisters/ledger/icp/index.js +1 -1
  28. package/canisters/ledger/icrc/index.d.ts +1 -1
  29. package/canisters/ledger/icrc/index.js +1 -1
  30. package/canisters/ledger/icrc/schemas.d.ts +1 -1
  31. package/canisters/nns/index.js +1 -1
  32. package/canisters/schemas.d.ts +1 -1
  33. package/canisters/sns/index.js +1 -1
  34. package/chunk-CAQXR2VB.js +2 -0
  35. package/chunk-CAQXR2VB.js.map +7 -0
  36. package/package.json +5 -5
  37. package/schemas/satellite.d.ts +1 -1
  38. package/sdk/schemas/controllers.d.ts +1 -1
  39. package/sdk/schemas/db.d.ts +6 -6
  40. package/sdk/schemas/params.d.ts +1 -1
  41. package/sdk/schemas/storage.d.ts +6 -6
  42. package/src/canisters/declarations/ckbtc/bitcoin.did.d.ts +2 -0
  43. package/src/canisters/declarations/ckbtc/bitcoin.did.idl.js +44 -22
  44. package/src/canisters/declarations/ckbtc/minter.did.d.ts +4 -0
  45. package/src/canisters/declarations/ckbtc/minter.did.idl.js +14 -0
  46. package/src/canisters/declarations/ic-management/ic-management.did.d.ts +2 -0
  47. package/src/canisters/declarations/ic-management/ic-management.did.idl.js +6 -2
  48. package/src/canisters/declarations/ledger-icrc/icrc_icrc-1.did.d.ts +70 -0
  49. package/src/canisters/declarations/ledger-icrc/icrc_icrc-1.did.idl.js +116 -0
  50. package/src/canisters/declarations/ledger-icrc/icrc_icrc-10.did.d.ts +21 -0
  51. package/src/canisters/declarations/ledger-icrc/icrc_icrc-10.did.idl.js +34 -0
  52. package/src/canisters/declarations/ledger-icrc/icrc_index.did.d.ts +69 -17
  53. package/src/canisters/declarations/ledger-icrc/icrc_index.did.idl.js +150 -35
  54. package/src/canisters/declarations/ledger-icrc/icrc_ledger.did.d.ts +6 -0
  55. package/src/canisters/declarations/ledger-icrc/icrc_ledger.did.idl.js +12 -0
  56. package/src/canisters/declarations/nns/governance.did.d.ts +54 -30
  57. package/src/canisters/declarations/nns/governance.did.idl.js +87 -17
  58. package/src/canisters/declarations/nns/governance_test.did.d.ts +54 -30
  59. package/src/canisters/declarations/nns/governance_test.did.idl.js +87 -17
  60. package/{canisters/declarations/sns/sns_root.did.d.ts → src/canisters/declarations/sns/root.did.d.ts} +12 -0
  61. package/src/canisters/declarations/sns/{sns_root.did.idl.js → root.did.idl.js} +38 -8
  62. package/canisters/declarations/ledger-icrc/icrc_index-ng.did.d.ts +0 -148
  63. package/canisters/declarations/ledger-icrc/icrc_index-ng.did.idl.d.ts +0 -44
  64. package/chunk-HANEPD6T.js +0 -2
  65. package/chunk-HANEPD6T.js.map +0 -7
  66. package/src/canisters/declarations/ledger-icrc/icrc_index-ng.did.d.ts +0 -148
  67. package/src/canisters/declarations/ledger-icrc/icrc_index-ng.did.idl.js +0 -274
  68. /package/canisters/declarations/sns/{sns_governance.did.d.ts → governance.did.d.ts} +0 -0
  69. /package/canisters/declarations/sns/{sns_governance.did.idl.d.ts → governance.did.idl.d.ts} +0 -0
  70. /package/canisters/declarations/sns/{sns_governance_test.did.d.ts → governance_test.did.d.ts} +0 -0
  71. /package/canisters/declarations/sns/{sns_governance_test.did.idl.d.ts → governance_test.did.idl.d.ts} +0 -0
  72. /package/canisters/declarations/sns/{sns_swap.did.d.ts → swap.did.d.ts} +0 -0
  73. /package/canisters/declarations/sns/{sns_swap.did.idl.d.ts → swap.did.idl.d.ts} +0 -0
  74. /package/src/canisters/declarations/sns/{sns_governance.did.d.ts → governance.did.d.ts} +0 -0
  75. /package/src/canisters/declarations/sns/{sns_governance.did.idl.js → governance.did.idl.js} +0 -0
  76. /package/src/canisters/declarations/sns/{sns_governance_test.did.d.ts → governance_test.did.d.ts} +0 -0
  77. /package/src/canisters/declarations/sns/{sns_governance_test.did.idl.js → governance_test.did.idl.js} +0 -0
  78. /package/src/canisters/declarations/sns/{sns_swap.did.d.ts → swap.did.d.ts} +0 -0
  79. /package/src/canisters/declarations/sns/{sns_swap.did.idl.js → swap.did.idl.js} +0 -0
@@ -17,7 +17,7 @@ export interface Account {
17
17
  export interface AccountIdentifier { 'hash' : Uint8Array }
18
18
  export type Action = { 'RegisterKnownNeuron' : KnownNeuron } |
19
19
  { 'FulfillSubnetRentalRequest' : FulfillSubnetRentalRequest } |
20
- { 'ManageNeuron' : ManageNeuron } |
20
+ { 'ManageNeuron' : ManageNeuronProposal } |
21
21
  { 'UpdateCanisterSettings' : UpdateCanisterSettings } |
22
22
  { 'InstallCode' : InstallCode } |
23
23
  { 'DeregisterKnownNeuron' : DeregisterKnownNeuron } |
@@ -84,24 +84,6 @@ export interface ClaimOrRefreshNeuronFromAccountResponse {
84
84
  export interface ClaimOrRefreshResponse {
85
85
  'refreshed_neuron_id' : [] | [NeuronId],
86
86
  }
87
- /**
88
- * KEEP THIS IN SYNC WITH ManageNeuronCommandRequest!
89
- */
90
- export type Command = { 'Spawn' : Spawn } |
91
- { 'Split' : Split } |
92
- { 'Follow' : Follow } |
93
- { 'DisburseMaturity' : DisburseMaturity } |
94
- { 'RefreshVotingPower' : RefreshVotingPower } |
95
- { 'ClaimOrRefresh' : ClaimOrRefresh } |
96
- { 'Configure' : Configure } |
97
- { 'RegisterVote' : RegisterVote } |
98
- { 'Merge' : Merge } |
99
- { 'DisburseToNeuron' : DisburseToNeuron } |
100
- { 'SetFollowing' : SetFollowing } |
101
- { 'MakeProposal' : Proposal } |
102
- { 'StakeMaturity' : StakeMaturity } |
103
- { 'MergeMaturity' : MergeMaturity } |
104
- { 'Disburse' : Disburse };
105
87
  export type Command_1 = { 'Error' : GovernanceError } |
106
88
  { 'Spawn' : SpawnResponse } |
107
89
  { 'Split' : SpawnResponse } |
@@ -245,6 +227,9 @@ export interface GetNeuronsFundAuditInfoRequest {
245
227
  'nns_proposal_id' : [] | [ProposalId],
246
228
  }
247
229
  export interface GetNeuronsFundAuditInfoResponse { 'result' : [] | [Result_6] }
230
+ export interface GetPendingProposalsRequest {
231
+ 'return_self_describing_action' : [] | [boolean],
232
+ }
248
233
  export interface GlobalTimeOfDay {
249
234
  'seconds_after_utc_midnight' : [] | [bigint],
250
235
  }
@@ -370,12 +355,16 @@ export interface KnownNeuron {
370
355
  export interface KnownNeuronData {
371
356
  'name' : string,
372
357
  /**
373
- * The first `opt` makes it so that the field can be renamed/deprecated in the future, and
374
- * the second `opt` makes it so that an older client not recognizing a new variant can still
375
- * get the rest of the `vec`.
358
+ * Topics that the known neuron is committed to always vote on.
359
+ * Note regarding the type: the first `opt` makes it so that the field can be renamed/deprecated
360
+ * in the future, and the second `opt` makes it so that an older client not recognizing a new
361
+ * variant can still get the rest of the `vec`.
376
362
  */
377
363
  'committed_topics' : [] | [Array<[] | [TopicToFollow]>],
378
364
  'description' : [] | [string],
365
+ /**
366
+ * Links related to the known neuron. Can be links to social URLs (OpenChat, X, etc.), or a homepage.
367
+ */
379
368
  'links' : [] | [Array<string>],
380
369
  }
381
370
  export interface LedgerParameters {
@@ -472,6 +461,7 @@ export interface ListNodeProvidersResponse {
472
461
  'node_providers' : Array<NodeProvider>,
473
462
  }
474
463
  export interface ListProposalInfoRequest {
464
+ 'return_self_describing_action' : [] | [boolean],
475
465
  'include_reward_status' : Int32Array,
476
466
  'omit_large_fields' : [] | [boolean],
477
467
  'before_proposal' : [] | [ProposalId],
@@ -494,18 +484,36 @@ export interface MakeProposalResponse {
494
484
  'proposal_id' : [] | [ProposalId],
495
485
  }
496
486
  /**
497
- * Not to be confused with ManageNeuronRequest. (Yes, this is very structurally
498
- * similar to that, but not actually exactly equivalent.)
487
+ * KEEP THIS IN SYNC WITH COMMAND!
488
+ */
489
+ export type ManageNeuronCommandRequest = { 'Spawn' : Spawn } |
490
+ { 'Split' : Split } |
491
+ { 'Follow' : Follow } |
492
+ { 'DisburseMaturity' : DisburseMaturity } |
493
+ { 'RefreshVotingPower' : RefreshVotingPower } |
494
+ { 'ClaimOrRefresh' : ClaimOrRefresh } |
495
+ { 'Configure' : Configure } |
496
+ { 'RegisterVote' : RegisterVote } |
497
+ { 'Merge' : Merge } |
498
+ { 'DisburseToNeuron' : DisburseToNeuron } |
499
+ { 'SetFollowing' : SetFollowing } |
500
+ { 'MakeProposal' : MakeProposalRequest } |
501
+ { 'StakeMaturity' : StakeMaturity } |
502
+ { 'MergeMaturity' : MergeMaturity } |
503
+ { 'Disburse' : Disburse };
504
+ /**
505
+ * Not to be confused with ManageNeuronRequest. This is only used to represent a manage neuron proposal.
506
+ * (Yes, this is very structurally similar to that, but not actually exactly equivalent)
499
507
  */
500
- export interface ManageNeuron {
508
+ export interface ManageNeuronProposal {
501
509
  'id' : [] | [NeuronId],
502
- 'command' : [] | [Command],
510
+ 'command' : [] | [ManageNeuronProposalCommand],
503
511
  'neuron_id_or_subaccount' : [] | [NeuronIdOrSubaccount],
504
512
  }
505
513
  /**
506
- * KEEP THIS IN SYNC WITH COMMAND!
514
+ * KEEP THIS IN SYNC WITH ManageNeuronCommandRequest!
507
515
  */
508
- export type ManageNeuronCommandRequest = { 'Spawn' : Spawn } |
516
+ export type ManageNeuronProposalCommand = { 'Spawn' : Spawn } |
509
517
  { 'Split' : Split } |
510
518
  { 'Follow' : Follow } |
511
519
  { 'DisburseMaturity' : DisburseMaturity } |
@@ -516,7 +524,7 @@ export type ManageNeuronCommandRequest = { 'Spawn' : Spawn } |
516
524
  { 'Merge' : Merge } |
517
525
  { 'DisburseToNeuron' : DisburseToNeuron } |
518
526
  { 'SetFollowing' : SetFollowing } |
519
- { 'MakeProposal' : MakeProposalRequest } |
527
+ { 'MakeProposal' : Proposal } |
520
528
  { 'StakeMaturity' : StakeMaturity } |
521
529
  { 'MergeMaturity' : MergeMaturity } |
522
530
  { 'Disburse' : Disburse };
@@ -567,6 +575,7 @@ export interface MergeResponse {
567
575
  'source_neuron_info' : [] | [NeuronInfo],
568
576
  }
569
577
  export interface MonthlyNodeProviderRewards {
578
+ 'algorithm_version' : [] | [number],
570
579
  'minimum_xdr_permyriad_per_icp' : [] | [bigint],
571
580
  'end_date' : [] | [DateUtc],
572
581
  'registry_version' : [] | [bigint],
@@ -878,6 +887,7 @@ export interface Proposal {
878
887
  'title' : [] | [string],
879
888
  'action' : [] | [Action],
880
889
  'summary' : string,
890
+ 'self_describing_action' : [] | [SelfDescribingProposalAction],
881
891
  }
882
892
  export type ProposalActionRequest = { 'RegisterKnownNeuron' : KnownNeuron } |
883
893
  { 'FulfillSubnetRentalRequest' : FulfillSubnetRentalRequest } |
@@ -1002,6 +1012,17 @@ export interface RewardNodeProviders {
1002
1012
  }
1003
1013
  export interface RewardToAccount { 'to_account' : [] | [AccountIdentifier] }
1004
1014
  export interface RewardToNeuron { 'dissolve_delay_seconds' : bigint }
1015
+ export interface SelfDescribingProposalAction {
1016
+ 'type_description' : [] | [string],
1017
+ 'type_name' : [] | [string],
1018
+ 'value' : [] | [SelfDescribingValue],
1019
+ }
1020
+ export type SelfDescribingValue = { 'Int' : bigint } |
1021
+ { 'Map' : Array<[string, SelfDescribingValue]> } |
1022
+ { 'Nat' : bigint } |
1023
+ { 'Blob' : Uint8Array } |
1024
+ { 'Text' : string } |
1025
+ { 'Array' : Array<SelfDescribingValue> };
1005
1026
  export interface SetDefaultFollowees {
1006
1027
  'default_followees' : Array<[number, Followees]>,
1007
1028
  }
@@ -1214,7 +1235,10 @@ export interface _SERVICE {
1214
1235
  GetNeuronsFundAuditInfoResponse
1215
1236
  >,
1216
1237
  'get_node_provider_by_caller' : ActorMethod<[null], Result_7>,
1217
- 'get_pending_proposals' : ActorMethod<[], Array<ProposalInfo>>,
1238
+ 'get_pending_proposals' : ActorMethod<
1239
+ [[] | [GetPendingProposalsRequest]],
1240
+ Array<ProposalInfo>
1241
+ >,
1218
1242
  'get_proposal_info' : ActorMethod<[bigint], [] | [ProposalInfo]>,
1219
1243
  'get_restore_aging_summary' : ActorMethod<[], RestoreAgingSummary>,
1220
1244
  'list_known_neurons' : ActorMethod<[], ListKnownNeuronsResponse>,
@@ -10,6 +10,7 @@ import {IDL} from '@icp-sdk/core/candid';
10
10
 
11
11
  export const ManageNeuronRequest = IDL.Rec();
12
12
  export const Proposal = IDL.Rec();
13
+ export const SelfDescribingValue = IDL.Rec();
13
14
  export const NeuronId = IDL.Record({id: IDL.Nat64});
14
15
  export const Followees = IDL.Record({followees: IDL.Vec(NeuronId)});
15
16
  export const DateUtc = IDL.Record({
@@ -42,6 +43,7 @@ export const XdrConversionRate = IDL.Record({
42
43
  timestamp_seconds: IDL.Opt(IDL.Nat64)
43
44
  });
44
45
  export const MonthlyNodeProviderRewards = IDL.Record({
46
+ algorithm_version: IDL.Opt(IDL.Nat32),
45
47
  minimum_xdr_permyriad_per_icp: IDL.Opt(IDL.Nat64),
46
48
  end_date: IDL.Opt(DateUtc),
47
49
  registry_version: IDL.Opt(IDL.Nat64),
@@ -375,7 +377,7 @@ export const Disburse = IDL.Record({
375
377
  to_account: IDL.Opt(AccountIdentifier),
376
378
  amount: IDL.Opt(Amount)
377
379
  });
378
- export const Command = IDL.Variant({
380
+ export const ManageNeuronProposalCommand = IDL.Variant({
379
381
  Spawn: Spawn,
380
382
  Split: Split,
381
383
  Follow: Follow,
@@ -396,9 +398,9 @@ export const NeuronIdOrSubaccount = IDL.Variant({
396
398
  Subaccount: IDL.Vec(IDL.Nat8),
397
399
  NeuronId: NeuronId
398
400
  });
399
- export const ManageNeuron = IDL.Record({
401
+ export const ManageNeuronProposal = IDL.Record({
400
402
  id: IDL.Opt(NeuronId),
401
- command: IDL.Opt(Command),
403
+ command: IDL.Opt(ManageNeuronProposalCommand),
402
404
  neuron_id_or_subaccount: IDL.Opt(NeuronIdOrSubaccount)
403
405
  });
404
406
  export const Controllers = IDL.Record({
@@ -564,7 +566,7 @@ export const Motion = IDL.Record({motion_text: IDL.Text});
564
566
  export const Action = IDL.Variant({
565
567
  RegisterKnownNeuron: KnownNeuron,
566
568
  FulfillSubnetRentalRequest: FulfillSubnetRentalRequest,
567
- ManageNeuron: ManageNeuron,
569
+ ManageNeuron: ManageNeuronProposal,
568
570
  UpdateCanisterSettings: UpdateCanisterSettings,
569
571
  InstallCode: InstallCode,
570
572
  DeregisterKnownNeuron: DeregisterKnownNeuron,
@@ -581,12 +583,28 @@ export const Action = IDL.Variant({
581
583
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
582
584
  Motion: Motion
583
585
  });
586
+ SelfDescribingValue.fill(
587
+ IDL.Variant({
588
+ Int: IDL.Int,
589
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
590
+ Nat: IDL.Nat,
591
+ Blob: IDL.Vec(IDL.Nat8),
592
+ Text: IDL.Text,
593
+ Array: IDL.Vec(SelfDescribingValue)
594
+ })
595
+ );
596
+ export const SelfDescribingProposalAction = IDL.Record({
597
+ type_description: IDL.Opt(IDL.Text),
598
+ type_name: IDL.Opt(IDL.Text),
599
+ value: IDL.Opt(SelfDescribingValue)
600
+ });
584
601
  Proposal.fill(
585
602
  IDL.Record({
586
603
  url: IDL.Text,
587
604
  title: IDL.Opt(IDL.Text),
588
605
  action: IDL.Opt(Action),
589
- summary: IDL.Text
606
+ summary: IDL.Text,
607
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction)
590
608
  })
591
609
  );
592
610
  export const WaitForQuietState = IDL.Record({
@@ -759,6 +777,9 @@ export const Result_7 = IDL.Variant({
759
777
  Ok: NodeProvider,
760
778
  Err: GovernanceError
761
779
  });
780
+ export const GetPendingProposalsRequest = IDL.Record({
781
+ return_self_describing_action: IDL.Opt(IDL.Bool)
782
+ });
762
783
  export const ProposalInfo = IDL.Record({
763
784
  id: IDL.Opt(ProposalId),
764
785
  status: IDL.Int32,
@@ -834,6 +855,7 @@ export const ListNodeProvidersResponse = IDL.Record({
834
855
  node_providers: IDL.Vec(NodeProvider)
835
856
  });
836
857
  export const ListProposalInfoRequest = IDL.Record({
858
+ return_self_describing_action: IDL.Opt(IDL.Bool),
837
859
  include_reward_status: IDL.Vec(IDL.Int32),
838
860
  omit_large_fields: IDL.Opt(IDL.Bool),
839
861
  before_proposal: IDL.Opt(ProposalId),
@@ -1025,7 +1047,11 @@ export const idlService = IDL.Service({
1025
1047
  ['query']
1026
1048
  ),
1027
1049
  get_node_provider_by_caller: IDL.Func([IDL.Null], [Result_7], ['query']),
1028
- get_pending_proposals: IDL.Func([], [IDL.Vec(ProposalInfo)], ['query']),
1050
+ get_pending_proposals: IDL.Func(
1051
+ [IDL.Opt(GetPendingProposalsRequest)],
1052
+ [IDL.Vec(ProposalInfo)],
1053
+ ['query']
1054
+ ),
1029
1055
  get_proposal_info: IDL.Func([IDL.Nat64], [IDL.Opt(ProposalInfo)], ['query']),
1030
1056
  get_restore_aging_summary: IDL.Func([], [RestoreAgingSummary], ['query']),
1031
1057
  list_known_neurons: IDL.Func([], [ListKnownNeuronsResponse], ['query']),
@@ -1055,6 +1081,7 @@ export const idlInitArgs = [Governance];
1055
1081
  export const idlFactory = ({IDL}) => {
1056
1082
  const ManageNeuronRequest = IDL.Rec();
1057
1083
  const Proposal = IDL.Rec();
1084
+ const SelfDescribingValue = IDL.Rec();
1058
1085
  const NeuronId = IDL.Record({id: IDL.Nat64});
1059
1086
  const Followees = IDL.Record({followees: IDL.Vec(NeuronId)});
1060
1087
  const DateUtc = IDL.Record({
@@ -1085,6 +1112,7 @@ export const idlFactory = ({IDL}) => {
1085
1112
  timestamp_seconds: IDL.Opt(IDL.Nat64)
1086
1113
  });
1087
1114
  const MonthlyNodeProviderRewards = IDL.Record({
1115
+ algorithm_version: IDL.Opt(IDL.Nat32),
1088
1116
  minimum_xdr_permyriad_per_icp: IDL.Opt(IDL.Nat64),
1089
1117
  end_date: IDL.Opt(DateUtc),
1090
1118
  registry_version: IDL.Opt(IDL.Nat64),
@@ -1415,7 +1443,7 @@ export const idlFactory = ({IDL}) => {
1415
1443
  to_account: IDL.Opt(AccountIdentifier),
1416
1444
  amount: IDL.Opt(Amount)
1417
1445
  });
1418
- const Command = IDL.Variant({
1446
+ const ManageNeuronProposalCommand = IDL.Variant({
1419
1447
  Spawn: Spawn,
1420
1448
  Split: Split,
1421
1449
  Follow: Follow,
@@ -1436,9 +1464,9 @@ export const idlFactory = ({IDL}) => {
1436
1464
  Subaccount: IDL.Vec(IDL.Nat8),
1437
1465
  NeuronId: NeuronId
1438
1466
  });
1439
- const ManageNeuron = IDL.Record({
1467
+ const ManageNeuronProposal = IDL.Record({
1440
1468
  id: IDL.Opt(NeuronId),
1441
- command: IDL.Opt(Command),
1469
+ command: IDL.Opt(ManageNeuronProposalCommand),
1442
1470
  neuron_id_or_subaccount: IDL.Opt(NeuronIdOrSubaccount)
1443
1471
  });
1444
1472
  const Controllers = IDL.Record({controllers: IDL.Vec(IDL.Principal)});
@@ -1600,7 +1628,7 @@ export const idlFactory = ({IDL}) => {
1600
1628
  const Action = IDL.Variant({
1601
1629
  RegisterKnownNeuron: KnownNeuron,
1602
1630
  FulfillSubnetRentalRequest: FulfillSubnetRentalRequest,
1603
- ManageNeuron: ManageNeuron,
1631
+ ManageNeuron: ManageNeuronProposal,
1604
1632
  UpdateCanisterSettings: UpdateCanisterSettings,
1605
1633
  InstallCode: InstallCode,
1606
1634
  DeregisterKnownNeuron: DeregisterKnownNeuron,
@@ -1617,12 +1645,28 @@ export const idlFactory = ({IDL}) => {
1617
1645
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
1618
1646
  Motion: Motion
1619
1647
  });
1648
+ SelfDescribingValue.fill(
1649
+ IDL.Variant({
1650
+ Int: IDL.Int,
1651
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
1652
+ Nat: IDL.Nat,
1653
+ Blob: IDL.Vec(IDL.Nat8),
1654
+ Text: IDL.Text,
1655
+ Array: IDL.Vec(SelfDescribingValue)
1656
+ })
1657
+ );
1658
+ const SelfDescribingProposalAction = IDL.Record({
1659
+ type_description: IDL.Opt(IDL.Text),
1660
+ type_name: IDL.Opt(IDL.Text),
1661
+ value: IDL.Opt(SelfDescribingValue)
1662
+ });
1620
1663
  Proposal.fill(
1621
1664
  IDL.Record({
1622
1665
  url: IDL.Text,
1623
1666
  title: IDL.Opt(IDL.Text),
1624
1667
  action: IDL.Opt(Action),
1625
- summary: IDL.Text
1668
+ summary: IDL.Text,
1669
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction)
1626
1670
  })
1627
1671
  );
1628
1672
  const WaitForQuietState = IDL.Record({
@@ -1792,6 +1836,9 @@ export const idlFactory = ({IDL}) => {
1792
1836
  Ok: NodeProvider,
1793
1837
  Err: GovernanceError
1794
1838
  });
1839
+ const GetPendingProposalsRequest = IDL.Record({
1840
+ return_self_describing_action: IDL.Opt(IDL.Bool)
1841
+ });
1795
1842
  const ProposalInfo = IDL.Record({
1796
1843
  id: IDL.Opt(ProposalId),
1797
1844
  status: IDL.Int32,
@@ -1865,6 +1912,7 @@ export const idlFactory = ({IDL}) => {
1865
1912
  node_providers: IDL.Vec(NodeProvider)
1866
1913
  });
1867
1914
  const ListProposalInfoRequest = IDL.Record({
1915
+ return_self_describing_action: IDL.Opt(IDL.Bool),
1868
1916
  include_reward_status: IDL.Vec(IDL.Int32),
1869
1917
  omit_large_fields: IDL.Opt(IDL.Bool),
1870
1918
  before_proposal: IDL.Opt(ProposalId),
@@ -2050,7 +2098,11 @@ export const idlFactory = ({IDL}) => {
2050
2098
  ['query']
2051
2099
  ),
2052
2100
  get_node_provider_by_caller: IDL.Func([IDL.Null], [Result_7], ['query']),
2053
- get_pending_proposals: IDL.Func([], [IDL.Vec(ProposalInfo)], ['query']),
2101
+ get_pending_proposals: IDL.Func(
2102
+ [IDL.Opt(GetPendingProposalsRequest)],
2103
+ [IDL.Vec(ProposalInfo)],
2104
+ ['query']
2105
+ ),
2054
2106
  get_proposal_info: IDL.Func([IDL.Nat64], [IDL.Opt(ProposalInfo)], ['query']),
2055
2107
  get_restore_aging_summary: IDL.Func([], [RestoreAgingSummary], ['query']),
2056
2108
  list_known_neurons: IDL.Func([], [ListKnownNeuronsResponse], ['query']),
@@ -2078,6 +2130,7 @@ export const idlFactory = ({IDL}) => {
2078
2130
 
2079
2131
  export const init = ({IDL}) => {
2080
2132
  const Proposal = IDL.Rec();
2133
+ const SelfDescribingValue = IDL.Rec();
2081
2134
  const NeuronId = IDL.Record({id: IDL.Nat64});
2082
2135
  const Followees = IDL.Record({followees: IDL.Vec(NeuronId)});
2083
2136
  const DateUtc = IDL.Record({
@@ -2108,6 +2161,7 @@ export const init = ({IDL}) => {
2108
2161
  timestamp_seconds: IDL.Opt(IDL.Nat64)
2109
2162
  });
2110
2163
  const MonthlyNodeProviderRewards = IDL.Record({
2164
+ algorithm_version: IDL.Opt(IDL.Nat32),
2111
2165
  minimum_xdr_permyriad_per_icp: IDL.Opt(IDL.Nat64),
2112
2166
  end_date: IDL.Opt(DateUtc),
2113
2167
  registry_version: IDL.Opt(IDL.Nat64),
@@ -2438,7 +2492,7 @@ export const init = ({IDL}) => {
2438
2492
  to_account: IDL.Opt(AccountIdentifier),
2439
2493
  amount: IDL.Opt(Amount)
2440
2494
  });
2441
- const Command = IDL.Variant({
2495
+ const ManageNeuronProposalCommand = IDL.Variant({
2442
2496
  Spawn: Spawn,
2443
2497
  Split: Split,
2444
2498
  Follow: Follow,
@@ -2459,9 +2513,9 @@ export const init = ({IDL}) => {
2459
2513
  Subaccount: IDL.Vec(IDL.Nat8),
2460
2514
  NeuronId: NeuronId
2461
2515
  });
2462
- const ManageNeuron = IDL.Record({
2516
+ const ManageNeuronProposal = IDL.Record({
2463
2517
  id: IDL.Opt(NeuronId),
2464
- command: IDL.Opt(Command),
2518
+ command: IDL.Opt(ManageNeuronProposalCommand),
2465
2519
  neuron_id_or_subaccount: IDL.Opt(NeuronIdOrSubaccount)
2466
2520
  });
2467
2521
  const Controllers = IDL.Record({controllers: IDL.Vec(IDL.Principal)});
@@ -2623,7 +2677,7 @@ export const init = ({IDL}) => {
2623
2677
  const Action = IDL.Variant({
2624
2678
  RegisterKnownNeuron: KnownNeuron,
2625
2679
  FulfillSubnetRentalRequest: FulfillSubnetRentalRequest,
2626
- ManageNeuron: ManageNeuron,
2680
+ ManageNeuron: ManageNeuronProposal,
2627
2681
  UpdateCanisterSettings: UpdateCanisterSettings,
2628
2682
  InstallCode: InstallCode,
2629
2683
  DeregisterKnownNeuron: DeregisterKnownNeuron,
@@ -2640,12 +2694,28 @@ export const init = ({IDL}) => {
2640
2694
  AddOrRemoveNodeProvider: AddOrRemoveNodeProvider,
2641
2695
  Motion: Motion
2642
2696
  });
2697
+ SelfDescribingValue.fill(
2698
+ IDL.Variant({
2699
+ Int: IDL.Int,
2700
+ Map: IDL.Vec(IDL.Tuple(IDL.Text, SelfDescribingValue)),
2701
+ Nat: IDL.Nat,
2702
+ Blob: IDL.Vec(IDL.Nat8),
2703
+ Text: IDL.Text,
2704
+ Array: IDL.Vec(SelfDescribingValue)
2705
+ })
2706
+ );
2707
+ const SelfDescribingProposalAction = IDL.Record({
2708
+ type_description: IDL.Opt(IDL.Text),
2709
+ type_name: IDL.Opt(IDL.Text),
2710
+ value: IDL.Opt(SelfDescribingValue)
2711
+ });
2643
2712
  Proposal.fill(
2644
2713
  IDL.Record({
2645
2714
  url: IDL.Text,
2646
2715
  title: IDL.Opt(IDL.Text),
2647
2716
  action: IDL.Opt(Action),
2648
- summary: IDL.Text
2717
+ summary: IDL.Text,
2718
+ self_describing_action: IDL.Opt(SelfDescribingProposalAction)
2649
2719
  })
2650
2720
  );
2651
2721
  const WaitForQuietState = IDL.Record({
@@ -17,7 +17,7 @@ export interface Account {
17
17
  export interface AccountIdentifier { 'hash' : Uint8Array }
18
18
  export type Action = { 'RegisterKnownNeuron' : KnownNeuron } |
19
19
  { 'FulfillSubnetRentalRequest' : FulfillSubnetRentalRequest } |
20
- { 'ManageNeuron' : ManageNeuron } |
20
+ { 'ManageNeuron' : ManageNeuronProposal } |
21
21
  { 'UpdateCanisterSettings' : UpdateCanisterSettings } |
22
22
  { 'InstallCode' : InstallCode } |
23
23
  { 'DeregisterKnownNeuron' : DeregisterKnownNeuron } |
@@ -84,24 +84,6 @@ export interface ClaimOrRefreshNeuronFromAccountResponse {
84
84
  export interface ClaimOrRefreshResponse {
85
85
  'refreshed_neuron_id' : [] | [NeuronId],
86
86
  }
87
- /**
88
- * KEEP THIS IN SYNC WITH ManageNeuronCommandRequest!
89
- */
90
- export type Command = { 'Spawn' : Spawn } |
91
- { 'Split' : Split } |
92
- { 'Follow' : Follow } |
93
- { 'DisburseMaturity' : DisburseMaturity } |
94
- { 'RefreshVotingPower' : RefreshVotingPower } |
95
- { 'ClaimOrRefresh' : ClaimOrRefresh } |
96
- { 'Configure' : Configure } |
97
- { 'RegisterVote' : RegisterVote } |
98
- { 'Merge' : Merge } |
99
- { 'DisburseToNeuron' : DisburseToNeuron } |
100
- { 'SetFollowing' : SetFollowing } |
101
- { 'MakeProposal' : Proposal } |
102
- { 'StakeMaturity' : StakeMaturity } |
103
- { 'MergeMaturity' : MergeMaturity } |
104
- { 'Disburse' : Disburse };
105
87
  export type Command_1 = { 'Error' : GovernanceError } |
106
88
  { 'Spawn' : SpawnResponse } |
107
89
  { 'Split' : SpawnResponse } |
@@ -245,6 +227,9 @@ export interface GetNeuronsFundAuditInfoRequest {
245
227
  'nns_proposal_id' : [] | [ProposalId],
246
228
  }
247
229
  export interface GetNeuronsFundAuditInfoResponse { 'result' : [] | [Result_6] }
230
+ export interface GetPendingProposalsRequest {
231
+ 'return_self_describing_action' : [] | [boolean],
232
+ }
248
233
  export interface GlobalTimeOfDay {
249
234
  'seconds_after_utc_midnight' : [] | [bigint],
250
235
  }
@@ -370,12 +355,16 @@ export interface KnownNeuron {
370
355
  export interface KnownNeuronData {
371
356
  'name' : string,
372
357
  /**
373
- * The first `opt` makes it so that the field can be renamed/deprecated in the future, and
374
- * the second `opt` makes it so that an older client not recognizing a new variant can still
375
- * get the rest of the `vec`.
358
+ * Topics that the known neuron is committed to always vote on.
359
+ * Note regarding the type: the first `opt` makes it so that the field can be renamed/deprecated
360
+ * in the future, and the second `opt` makes it so that an older client not recognizing a new
361
+ * variant can still get the rest of the `vec`.
376
362
  */
377
363
  'committed_topics' : [] | [Array<[] | [TopicToFollow]>],
378
364
  'description' : [] | [string],
365
+ /**
366
+ * Links related to the known neuron. Can be links to social URLs (OpenChat, X, etc.), or a homepage.
367
+ */
379
368
  'links' : [] | [Array<string>],
380
369
  }
381
370
  export interface LedgerParameters {
@@ -472,6 +461,7 @@ export interface ListNodeProvidersResponse {
472
461
  'node_providers' : Array<NodeProvider>,
473
462
  }
474
463
  export interface ListProposalInfoRequest {
464
+ 'return_self_describing_action' : [] | [boolean],
475
465
  'include_reward_status' : Int32Array,
476
466
  'omit_large_fields' : [] | [boolean],
477
467
  'before_proposal' : [] | [ProposalId],
@@ -494,18 +484,36 @@ export interface MakeProposalResponse {
494
484
  'proposal_id' : [] | [ProposalId],
495
485
  }
496
486
  /**
497
- * Not to be confused with ManageNeuronRequest. (Yes, this is very structurally
498
- * similar to that, but not actually exactly equivalent.)
487
+ * KEEP THIS IN SYNC WITH COMMAND!
488
+ */
489
+ export type ManageNeuronCommandRequest = { 'Spawn' : Spawn } |
490
+ { 'Split' : Split } |
491
+ { 'Follow' : Follow } |
492
+ { 'DisburseMaturity' : DisburseMaturity } |
493
+ { 'RefreshVotingPower' : RefreshVotingPower } |
494
+ { 'ClaimOrRefresh' : ClaimOrRefresh } |
495
+ { 'Configure' : Configure } |
496
+ { 'RegisterVote' : RegisterVote } |
497
+ { 'Merge' : Merge } |
498
+ { 'DisburseToNeuron' : DisburseToNeuron } |
499
+ { 'SetFollowing' : SetFollowing } |
500
+ { 'MakeProposal' : MakeProposalRequest } |
501
+ { 'StakeMaturity' : StakeMaturity } |
502
+ { 'MergeMaturity' : MergeMaturity } |
503
+ { 'Disburse' : Disburse };
504
+ /**
505
+ * Not to be confused with ManageNeuronRequest. This is only used to represent a manage neuron proposal.
506
+ * (Yes, this is very structurally similar to that, but not actually exactly equivalent)
499
507
  */
500
- export interface ManageNeuron {
508
+ export interface ManageNeuronProposal {
501
509
  'id' : [] | [NeuronId],
502
- 'command' : [] | [Command],
510
+ 'command' : [] | [ManageNeuronProposalCommand],
503
511
  'neuron_id_or_subaccount' : [] | [NeuronIdOrSubaccount],
504
512
  }
505
513
  /**
506
- * KEEP THIS IN SYNC WITH COMMAND!
514
+ * KEEP THIS IN SYNC WITH ManageNeuronCommandRequest!
507
515
  */
508
- export type ManageNeuronCommandRequest = { 'Spawn' : Spawn } |
516
+ export type ManageNeuronProposalCommand = { 'Spawn' : Spawn } |
509
517
  { 'Split' : Split } |
510
518
  { 'Follow' : Follow } |
511
519
  { 'DisburseMaturity' : DisburseMaturity } |
@@ -516,7 +524,7 @@ export type ManageNeuronCommandRequest = { 'Spawn' : Spawn } |
516
524
  { 'Merge' : Merge } |
517
525
  { 'DisburseToNeuron' : DisburseToNeuron } |
518
526
  { 'SetFollowing' : SetFollowing } |
519
- { 'MakeProposal' : MakeProposalRequest } |
527
+ { 'MakeProposal' : Proposal } |
520
528
  { 'StakeMaturity' : StakeMaturity } |
521
529
  { 'MergeMaturity' : MergeMaturity } |
522
530
  { 'Disburse' : Disburse };
@@ -567,6 +575,7 @@ export interface MergeResponse {
567
575
  'source_neuron_info' : [] | [NeuronInfo],
568
576
  }
569
577
  export interface MonthlyNodeProviderRewards {
578
+ 'algorithm_version' : [] | [number],
570
579
  'minimum_xdr_permyriad_per_icp' : [] | [bigint],
571
580
  'end_date' : [] | [DateUtc],
572
581
  'registry_version' : [] | [bigint],
@@ -878,6 +887,7 @@ export interface Proposal {
878
887
  'title' : [] | [string],
879
888
  'action' : [] | [Action],
880
889
  'summary' : string,
890
+ 'self_describing_action' : [] | [SelfDescribingProposalAction],
881
891
  }
882
892
  export type ProposalActionRequest = { 'RegisterKnownNeuron' : KnownNeuron } |
883
893
  { 'FulfillSubnetRentalRequest' : FulfillSubnetRentalRequest } |
@@ -1002,6 +1012,17 @@ export interface RewardNodeProviders {
1002
1012
  }
1003
1013
  export interface RewardToAccount { 'to_account' : [] | [AccountIdentifier] }
1004
1014
  export interface RewardToNeuron { 'dissolve_delay_seconds' : bigint }
1015
+ export interface SelfDescribingProposalAction {
1016
+ 'type_description' : [] | [string],
1017
+ 'type_name' : [] | [string],
1018
+ 'value' : [] | [SelfDescribingValue],
1019
+ }
1020
+ export type SelfDescribingValue = { 'Int' : bigint } |
1021
+ { 'Map' : Array<[string, SelfDescribingValue]> } |
1022
+ { 'Nat' : bigint } |
1023
+ { 'Blob' : Uint8Array } |
1024
+ { 'Text' : string } |
1025
+ { 'Array' : Array<SelfDescribingValue> };
1005
1026
  export interface SetDefaultFollowees {
1006
1027
  'default_followees' : Array<[number, Followees]>,
1007
1028
  }
@@ -1214,7 +1235,10 @@ export interface _SERVICE {
1214
1235
  GetNeuronsFundAuditInfoResponse
1215
1236
  >,
1216
1237
  'get_node_provider_by_caller' : ActorMethod<[null], Result_7>,
1217
- 'get_pending_proposals' : ActorMethod<[], Array<ProposalInfo>>,
1238
+ 'get_pending_proposals' : ActorMethod<
1239
+ [[] | [GetPendingProposalsRequest]],
1240
+ Array<ProposalInfo>
1241
+ >,
1218
1242
  'get_proposal_info' : ActorMethod<[bigint], [] | [ProposalInfo]>,
1219
1243
  'get_restore_aging_summary' : ActorMethod<[], RestoreAgingSummary>,
1220
1244
  'list_known_neurons' : ActorMethod<[], ListKnownNeuronsResponse>,