@dfinity/nns 8.3.2 → 8.4.0-next-2025-04-15

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 2f02a66 (2025-02-13 tags: release-2025-02-20_10-16-disable-best-effort-messaging) 'rs/nns/governance/canister/governance.did' by import-candid
1
+ // Generated from IC repo commit 148ccc9 (2025-04-04 tags: rosetta-icrc-release-1.2.0) 'rs/nns/governance/canister/governance.did' by import-candid
2
2
  type AccountIdentifier = record {
3
3
  hash : blob;
4
4
  };
@@ -124,6 +124,20 @@ type RefreshVotingPowerResponse = record {
124
124
  // minimal until we discover there is a "real need". YAGNI.
125
125
  };
126
126
 
127
+ type DisburseMaturity = record {
128
+ percentage_to_disburse : nat32;
129
+ to_account : opt Account;
130
+ };
131
+
132
+ type Account = record {
133
+ owner: opt principal;
134
+ subaccount: opt blob;
135
+ };
136
+
137
+ type DisburseMaturityResponse = record {
138
+ amount_disbursed_e8s : opt nat64;
139
+ };
140
+
127
141
  // KEEP THIS IN SYNC WITH ManageNeuronCommandRequest!
128
142
  type Command = variant {
129
143
  Spawn : Spawn;
@@ -139,6 +153,7 @@ type Command = variant {
139
153
  MergeMaturity : MergeMaturity;
140
154
  Disburse : Disburse;
141
155
  RefreshVotingPower : RefreshVotingPower;
156
+ DisburseMaturity : DisburseMaturity;
142
157
 
143
158
  // KEEP THIS IN SYNC WITH ManageNeuronCommandRequest!
144
159
  };
@@ -158,6 +173,7 @@ type Command_1 = variant {
158
173
  MergeMaturity : MergeMaturityResponse;
159
174
  Disburse : DisburseResponse;
160
175
  RefreshVotingPower : RefreshVotingPowerResponse;
176
+ DisburseMaturity : DisburseMaturityResponse;
161
177
  };
162
178
 
163
179
  type Command_2 = variant {
@@ -266,14 +282,6 @@ type Followees = record {
266
282
  followees : vec NeuronId;
267
283
  };
268
284
 
269
- type Followers = record {
270
- followers : vec NeuronId;
271
- };
272
-
273
- type FollowersMap = record {
274
- followers_map : vec record { nat64; Followers };
275
- };
276
-
277
285
  type GetNeuronsFundAuditInfoRequest = record {
278
286
  nns_proposal_id : opt ProposalId;
279
287
  };
@@ -302,8 +310,6 @@ type Governance = record {
302
310
  latest_reward_event : opt RewardEvent;
303
311
  to_claim_transfers : vec NeuronStakeTransfer;
304
312
  short_voting_period_seconds : nat64;
305
- topic_followee_index : vec record { int32; FollowersMap };
306
- migrations : opt Migrations;
307
313
  proposals : vec record { nat64; ProposalData };
308
314
  xdr_conversion_rate : opt XdrConversionRate;
309
315
  in_flight_commands : vec record { nat64; NeuronInFlightCommand };
@@ -541,6 +547,7 @@ type ManageNeuronCommandRequest = variant {
541
547
  MergeMaturity : MergeMaturity;
542
548
  Disburse : Disburse;
543
549
  RefreshVotingPower : RefreshVotingPower;
550
+ DisburseMaturity : DisburseMaturity;
544
551
 
545
552
  // KEEP THIS IN SYNC WITH COMMAND!
546
553
  };
@@ -584,17 +591,6 @@ type MergeResponse = record {
584
591
  source_neuron_info : opt NeuronInfo;
585
592
  };
586
593
 
587
- type Migration = record {
588
- status : opt int32;
589
- failure_reason : opt text;
590
- progress : opt Progress;
591
- };
592
-
593
- type Migrations = record {
594
- neuron_indexes_migration : opt Migration;
595
- copy_inactive_neurons_to_stable_memory_migration : opt Migration;
596
- };
597
-
598
594
  type MonthlyNodeProviderRewards = record {
599
595
  minimum_xdr_permyriad_per_icp : opt nat64;
600
596
  registry_version : opt nat64;
@@ -645,6 +641,15 @@ type VotingPowerEconomics = record {
645
641
  //
646
642
  // Initially, set to 1/12 years.
647
643
  clear_following_after_seconds : opt nat64;
644
+
645
+ // The minimum dissolve delay a neuron must have in order to be eligible to vote.
646
+ //
647
+ // Neurons with a dissolve delay lower than this threshold will not have
648
+ // voting power, even if they are otherwise active.
649
+ //
650
+ // This value is an essential part of the staking mechanism, promoting
651
+ // long-term alignment with the network's governance.
652
+ neuron_minimum_dissolve_delay_to_vote_seconds : opt nat64;
648
653
  };
649
654
 
650
655
  type Neuron = record {
@@ -949,10 +954,6 @@ type Principals = record {
949
954
  principals : vec principal;
950
955
  };
951
956
 
952
- type Progress = variant {
953
- LastNeuronId : NeuronId;
954
- };
955
-
956
957
  type Proposal = record {
957
958
  url : text;
958
959
  title : opt text;
@@ -22,6 +22,14 @@ export const idlFactory = ({ IDL }) => {
22
22
  'topic' : IDL.Int32,
23
23
  'followees' : IDL.Vec(NeuronId),
24
24
  });
25
+ const Account = IDL.Record({
26
+ 'owner' : IDL.Opt(IDL.Principal),
27
+ 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),
28
+ });
29
+ const DisburseMaturity = IDL.Record({
30
+ 'to_account' : IDL.Opt(Account),
31
+ 'percentage_to_disburse' : IDL.Nat32,
32
+ });
25
33
  const RefreshVotingPower = IDL.Record({});
26
34
  const ClaimOrRefreshNeuronFromAccount = IDL.Record({
27
35
  'controller' : IDL.Opt(IDL.Principal),
@@ -87,6 +95,7 @@ export const idlFactory = ({ IDL }) => {
87
95
  'Spawn' : Spawn,
88
96
  'Split' : Split,
89
97
  'Follow' : Follow,
98
+ 'DisburseMaturity' : DisburseMaturity,
90
99
  'RefreshVotingPower' : RefreshVotingPower,
91
100
  'ClaimOrRefresh' : ClaimOrRefresh,
92
101
  'Configure' : Configure,
@@ -279,6 +288,7 @@ export const idlFactory = ({ IDL }) => {
279
288
  });
280
289
  const VotingPowerEconomics = IDL.Record({
281
290
  'start_reducing_voting_power_after_seconds' : IDL.Opt(IDL.Nat64),
291
+ 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),
282
292
  'clear_following_after_seconds' : IDL.Opt(IDL.Nat64),
283
293
  });
284
294
  const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });
@@ -477,20 +487,6 @@ export const idlFactory = ({ IDL }) => {
477
487
  'transfer_timestamp' : IDL.Nat64,
478
488
  'block_height' : IDL.Nat64,
479
489
  });
480
- const Followers = IDL.Record({ 'followers' : IDL.Vec(NeuronId) });
481
- const FollowersMap = IDL.Record({
482
- 'followers_map' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followers)),
483
- });
484
- const Progress = IDL.Variant({ 'LastNeuronId' : NeuronId });
485
- const Migration = IDL.Record({
486
- 'status' : IDL.Opt(IDL.Int32),
487
- 'failure_reason' : IDL.Opt(IDL.Text),
488
- 'progress' : IDL.Opt(Progress),
489
- });
490
- const Migrations = IDL.Record({
491
- 'neuron_indexes_migration' : IDL.Opt(Migration),
492
- 'copy_inactive_neurons_to_stable_memory_migration' : IDL.Opt(Migration),
493
- });
494
490
  const GovernanceError = IDL.Record({
495
491
  'error_message' : IDL.Text,
496
492
  'error_type' : IDL.Int32,
@@ -660,8 +656,6 @@ export const idlFactory = ({ IDL }) => {
660
656
  'latest_reward_event' : IDL.Opt(RewardEvent),
661
657
  'to_claim_transfers' : IDL.Vec(NeuronStakeTransfer),
662
658
  'short_voting_period_seconds' : IDL.Nat64,
663
- 'topic_followee_index' : IDL.Vec(IDL.Tuple(IDL.Int32, FollowersMap)),
664
- 'migrations' : IDL.Opt(Migrations),
665
659
  'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),
666
660
  'xdr_conversion_rate' : IDL.Opt(XdrConversionRate),
667
661
  'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Nat64, NeuronInFlightCommand)),
@@ -817,6 +811,7 @@ export const idlFactory = ({ IDL }) => {
817
811
  'Spawn' : Spawn,
818
812
  'Split' : Split,
819
813
  'Follow' : Follow,
814
+ 'DisburseMaturity' : DisburseMaturity,
820
815
  'RefreshVotingPower' : RefreshVotingPower,
821
816
  'ClaimOrRefresh' : ClaimOrRefresh,
822
817
  'Configure' : Configure,
@@ -836,6 +831,9 @@ export const idlFactory = ({ IDL }) => {
836
831
  })
837
832
  );
838
833
  const SpawnResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });
834
+ const DisburseMaturityResponse = IDL.Record({
835
+ 'amount_disbursed_e8s' : IDL.Opt(IDL.Nat64),
836
+ });
839
837
  const RefreshVotingPowerResponse = IDL.Record({});
840
838
  const ClaimOrRefreshResponse = IDL.Record({
841
839
  'refreshed_neuron_id' : IDL.Opt(NeuronId),
@@ -864,6 +862,7 @@ export const idlFactory = ({ IDL }) => {
864
862
  'Spawn' : SpawnResponse,
865
863
  'Split' : SpawnResponse,
866
864
  'Follow' : IDL.Record({}),
865
+ 'DisburseMaturity' : DisburseMaturityResponse,
867
866
  'RefreshVotingPower' : RefreshVotingPowerResponse,
868
867
  'ClaimOrRefresh' : ClaimOrRefreshResponse,
869
868
  'Configure' : IDL.Record({}),
@@ -1037,6 +1036,14 @@ export const init = ({ IDL }) => {
1037
1036
  'topic' : IDL.Int32,
1038
1037
  'followees' : IDL.Vec(NeuronId),
1039
1038
  });
1039
+ const Account = IDL.Record({
1040
+ 'owner' : IDL.Opt(IDL.Principal),
1041
+ 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),
1042
+ });
1043
+ const DisburseMaturity = IDL.Record({
1044
+ 'to_account' : IDL.Opt(Account),
1045
+ 'percentage_to_disburse' : IDL.Nat32,
1046
+ });
1040
1047
  const RefreshVotingPower = IDL.Record({});
1041
1048
  const ClaimOrRefreshNeuronFromAccount = IDL.Record({
1042
1049
  'controller' : IDL.Opt(IDL.Principal),
@@ -1102,6 +1109,7 @@ export const init = ({ IDL }) => {
1102
1109
  'Spawn' : Spawn,
1103
1110
  'Split' : Split,
1104
1111
  'Follow' : Follow,
1112
+ 'DisburseMaturity' : DisburseMaturity,
1105
1113
  'RefreshVotingPower' : RefreshVotingPower,
1106
1114
  'ClaimOrRefresh' : ClaimOrRefresh,
1107
1115
  'Configure' : Configure,
@@ -1294,6 +1302,7 @@ export const init = ({ IDL }) => {
1294
1302
  });
1295
1303
  const VotingPowerEconomics = IDL.Record({
1296
1304
  'start_reducing_voting_power_after_seconds' : IDL.Opt(IDL.Nat64),
1305
+ 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),
1297
1306
  'clear_following_after_seconds' : IDL.Opt(IDL.Nat64),
1298
1307
  });
1299
1308
  const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });
@@ -1492,20 +1501,6 @@ export const init = ({ IDL }) => {
1492
1501
  'transfer_timestamp' : IDL.Nat64,
1493
1502
  'block_height' : IDL.Nat64,
1494
1503
  });
1495
- const Followers = IDL.Record({ 'followers' : IDL.Vec(NeuronId) });
1496
- const FollowersMap = IDL.Record({
1497
- 'followers_map' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followers)),
1498
- });
1499
- const Progress = IDL.Variant({ 'LastNeuronId' : NeuronId });
1500
- const Migration = IDL.Record({
1501
- 'status' : IDL.Opt(IDL.Int32),
1502
- 'failure_reason' : IDL.Opt(IDL.Text),
1503
- 'progress' : IDL.Opt(Progress),
1504
- });
1505
- const Migrations = IDL.Record({
1506
- 'neuron_indexes_migration' : IDL.Opt(Migration),
1507
- 'copy_inactive_neurons_to_stable_memory_migration' : IDL.Opt(Migration),
1508
- });
1509
1504
  const GovernanceError = IDL.Record({
1510
1505
  'error_message' : IDL.Text,
1511
1506
  'error_type' : IDL.Int32,
@@ -1675,8 +1670,6 @@ export const init = ({ IDL }) => {
1675
1670
  'latest_reward_event' : IDL.Opt(RewardEvent),
1676
1671
  'to_claim_transfers' : IDL.Vec(NeuronStakeTransfer),
1677
1672
  'short_voting_period_seconds' : IDL.Nat64,
1678
- 'topic_followee_index' : IDL.Vec(IDL.Tuple(IDL.Int32, FollowersMap)),
1679
- 'migrations' : IDL.Opt(Migrations),
1680
1673
  'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),
1681
1674
  'xdr_conversion_rate' : IDL.Opt(XdrConversionRate),
1682
1675
  'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Nat64, NeuronInFlightCommand)),
@@ -22,6 +22,14 @@ export const idlFactory = ({ IDL }) => {
22
22
  'topic' : IDL.Int32,
23
23
  'followees' : IDL.Vec(NeuronId),
24
24
  });
25
+ const Account = IDL.Record({
26
+ 'owner' : IDL.Opt(IDL.Principal),
27
+ 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),
28
+ });
29
+ const DisburseMaturity = IDL.Record({
30
+ 'to_account' : IDL.Opt(Account),
31
+ 'percentage_to_disburse' : IDL.Nat32,
32
+ });
25
33
  const RefreshVotingPower = IDL.Record({});
26
34
  const ClaimOrRefreshNeuronFromAccount = IDL.Record({
27
35
  'controller' : IDL.Opt(IDL.Principal),
@@ -87,6 +95,7 @@ export const idlFactory = ({ IDL }) => {
87
95
  'Spawn' : Spawn,
88
96
  'Split' : Split,
89
97
  'Follow' : Follow,
98
+ 'DisburseMaturity' : DisburseMaturity,
90
99
  'RefreshVotingPower' : RefreshVotingPower,
91
100
  'ClaimOrRefresh' : ClaimOrRefresh,
92
101
  'Configure' : Configure,
@@ -279,6 +288,7 @@ export const idlFactory = ({ IDL }) => {
279
288
  });
280
289
  const VotingPowerEconomics = IDL.Record({
281
290
  'start_reducing_voting_power_after_seconds' : IDL.Opt(IDL.Nat64),
291
+ 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),
282
292
  'clear_following_after_seconds' : IDL.Opt(IDL.Nat64),
283
293
  });
284
294
  const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });
@@ -477,20 +487,6 @@ export const idlFactory = ({ IDL }) => {
477
487
  'transfer_timestamp' : IDL.Nat64,
478
488
  'block_height' : IDL.Nat64,
479
489
  });
480
- const Followers = IDL.Record({ 'followers' : IDL.Vec(NeuronId) });
481
- const FollowersMap = IDL.Record({
482
- 'followers_map' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followers)),
483
- });
484
- const Progress = IDL.Variant({ 'LastNeuronId' : NeuronId });
485
- const Migration = IDL.Record({
486
- 'status' : IDL.Opt(IDL.Int32),
487
- 'failure_reason' : IDL.Opt(IDL.Text),
488
- 'progress' : IDL.Opt(Progress),
489
- });
490
- const Migrations = IDL.Record({
491
- 'neuron_indexes_migration' : IDL.Opt(Migration),
492
- 'copy_inactive_neurons_to_stable_memory_migration' : IDL.Opt(Migration),
493
- });
494
490
  const GovernanceError = IDL.Record({
495
491
  'error_message' : IDL.Text,
496
492
  'error_type' : IDL.Int32,
@@ -660,8 +656,6 @@ export const idlFactory = ({ IDL }) => {
660
656
  'latest_reward_event' : IDL.Opt(RewardEvent),
661
657
  'to_claim_transfers' : IDL.Vec(NeuronStakeTransfer),
662
658
  'short_voting_period_seconds' : IDL.Nat64,
663
- 'topic_followee_index' : IDL.Vec(IDL.Tuple(IDL.Int32, FollowersMap)),
664
- 'migrations' : IDL.Opt(Migrations),
665
659
  'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),
666
660
  'xdr_conversion_rate' : IDL.Opt(XdrConversionRate),
667
661
  'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Nat64, NeuronInFlightCommand)),
@@ -817,6 +811,7 @@ export const idlFactory = ({ IDL }) => {
817
811
  'Spawn' : Spawn,
818
812
  'Split' : Split,
819
813
  'Follow' : Follow,
814
+ 'DisburseMaturity' : DisburseMaturity,
820
815
  'RefreshVotingPower' : RefreshVotingPower,
821
816
  'ClaimOrRefresh' : ClaimOrRefresh,
822
817
  'Configure' : Configure,
@@ -836,6 +831,9 @@ export const idlFactory = ({ IDL }) => {
836
831
  })
837
832
  );
838
833
  const SpawnResponse = IDL.Record({ 'created_neuron_id' : IDL.Opt(NeuronId) });
834
+ const DisburseMaturityResponse = IDL.Record({
835
+ 'amount_disbursed_e8s' : IDL.Opt(IDL.Nat64),
836
+ });
839
837
  const RefreshVotingPowerResponse = IDL.Record({});
840
838
  const ClaimOrRefreshResponse = IDL.Record({
841
839
  'refreshed_neuron_id' : IDL.Opt(NeuronId),
@@ -864,6 +862,7 @@ export const idlFactory = ({ IDL }) => {
864
862
  'Spawn' : SpawnResponse,
865
863
  'Split' : SpawnResponse,
866
864
  'Follow' : IDL.Record({}),
865
+ 'DisburseMaturity' : DisburseMaturityResponse,
867
866
  'RefreshVotingPower' : RefreshVotingPowerResponse,
868
867
  'ClaimOrRefresh' : ClaimOrRefreshResponse,
869
868
  'Configure' : IDL.Record({}),
@@ -1022,6 +1021,14 @@ export const init = ({ IDL }) => {
1022
1021
  'topic' : IDL.Int32,
1023
1022
  'followees' : IDL.Vec(NeuronId),
1024
1023
  });
1024
+ const Account = IDL.Record({
1025
+ 'owner' : IDL.Opt(IDL.Principal),
1026
+ 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),
1027
+ });
1028
+ const DisburseMaturity = IDL.Record({
1029
+ 'to_account' : IDL.Opt(Account),
1030
+ 'percentage_to_disburse' : IDL.Nat32,
1031
+ });
1025
1032
  const RefreshVotingPower = IDL.Record({});
1026
1033
  const ClaimOrRefreshNeuronFromAccount = IDL.Record({
1027
1034
  'controller' : IDL.Opt(IDL.Principal),
@@ -1087,6 +1094,7 @@ export const init = ({ IDL }) => {
1087
1094
  'Spawn' : Spawn,
1088
1095
  'Split' : Split,
1089
1096
  'Follow' : Follow,
1097
+ 'DisburseMaturity' : DisburseMaturity,
1090
1098
  'RefreshVotingPower' : RefreshVotingPower,
1091
1099
  'ClaimOrRefresh' : ClaimOrRefresh,
1092
1100
  'Configure' : Configure,
@@ -1279,6 +1287,7 @@ export const init = ({ IDL }) => {
1279
1287
  });
1280
1288
  const VotingPowerEconomics = IDL.Record({
1281
1289
  'start_reducing_voting_power_after_seconds' : IDL.Opt(IDL.Nat64),
1290
+ 'neuron_minimum_dissolve_delay_to_vote_seconds' : IDL.Opt(IDL.Nat64),
1282
1291
  'clear_following_after_seconds' : IDL.Opt(IDL.Nat64),
1283
1292
  });
1284
1293
  const Decimal = IDL.Record({ 'human_readable' : IDL.Opt(IDL.Text) });
@@ -1477,20 +1486,6 @@ export const init = ({ IDL }) => {
1477
1486
  'transfer_timestamp' : IDL.Nat64,
1478
1487
  'block_height' : IDL.Nat64,
1479
1488
  });
1480
- const Followers = IDL.Record({ 'followers' : IDL.Vec(NeuronId) });
1481
- const FollowersMap = IDL.Record({
1482
- 'followers_map' : IDL.Vec(IDL.Tuple(IDL.Nat64, Followers)),
1483
- });
1484
- const Progress = IDL.Variant({ 'LastNeuronId' : NeuronId });
1485
- const Migration = IDL.Record({
1486
- 'status' : IDL.Opt(IDL.Int32),
1487
- 'failure_reason' : IDL.Opt(IDL.Text),
1488
- 'progress' : IDL.Opt(Progress),
1489
- });
1490
- const Migrations = IDL.Record({
1491
- 'neuron_indexes_migration' : IDL.Opt(Migration),
1492
- 'copy_inactive_neurons_to_stable_memory_migration' : IDL.Opt(Migration),
1493
- });
1494
1489
  const GovernanceError = IDL.Record({
1495
1490
  'error_message' : IDL.Text,
1496
1491
  'error_type' : IDL.Int32,
@@ -1660,8 +1655,6 @@ export const init = ({ IDL }) => {
1660
1655
  'latest_reward_event' : IDL.Opt(RewardEvent),
1661
1656
  'to_claim_transfers' : IDL.Vec(NeuronStakeTransfer),
1662
1657
  'short_voting_period_seconds' : IDL.Nat64,
1663
- 'topic_followee_index' : IDL.Vec(IDL.Tuple(IDL.Int32, FollowersMap)),
1664
- 'migrations' : IDL.Opt(Migrations),
1665
1658
  'proposals' : IDL.Vec(IDL.Tuple(IDL.Nat64, ProposalData)),
1666
1659
  'xdr_conversion_rate' : IDL.Opt(XdrConversionRate),
1667
1660
  'in_flight_commands' : IDL.Vec(IDL.Tuple(IDL.Nat64, NeuronInFlightCommand)),
@@ -2,6 +2,10 @@ import type { ActorMethod } from "@dfinity/agent";
2
2
  import type { IDL } from "@dfinity/candid";
3
3
  import type { Principal } from "@dfinity/principal";
4
4
 
5
+ export interface Account {
6
+ owner: [] | [Principal];
7
+ subaccount: [] | [Uint8Array | number[]];
8
+ }
5
9
  export interface AccountIdentifier {
6
10
  hash: Uint8Array | number[];
7
11
  }
@@ -92,6 +96,7 @@ export type Command =
92
96
  | { Spawn: Spawn }
93
97
  | { Split: Split }
94
98
  | { Follow: Follow }
99
+ | { DisburseMaturity: DisburseMaturity }
95
100
  | { RefreshVotingPower: RefreshVotingPower }
96
101
  | { ClaimOrRefresh: ClaimOrRefresh }
97
102
  | { Configure: Configure }
@@ -107,6 +112,7 @@ export type Command_1 =
107
112
  | { Spawn: SpawnResponse }
108
113
  | { Split: SpawnResponse }
109
114
  | { Follow: {} }
115
+ | { DisburseMaturity: DisburseMaturityResponse }
110
116
  | { RefreshVotingPower: RefreshVotingPowerResponse }
111
117
  | { ClaimOrRefresh: ClaimOrRefreshResponse }
112
118
  | { Configure: {} }
@@ -175,6 +181,13 @@ export interface Disburse {
175
181
  to_account: [] | [AccountIdentifier];
176
182
  amount: [] | [Amount];
177
183
  }
184
+ export interface DisburseMaturity {
185
+ to_account: [] | [Account];
186
+ percentage_to_disburse: number;
187
+ }
188
+ export interface DisburseMaturityResponse {
189
+ amount_disbursed_e8s: [] | [bigint];
190
+ }
178
191
  export interface DisburseResponse {
179
192
  transfer_block_height: bigint;
180
193
  }
@@ -202,12 +215,6 @@ export interface Follow {
202
215
  export interface Followees {
203
216
  followees: Array<NeuronId>;
204
217
  }
205
- export interface Followers {
206
- followers: Array<NeuronId>;
207
- }
208
- export interface FollowersMap {
209
- followers_map: Array<[bigint, Followers]>;
210
- }
211
218
  export interface GetNeuronsFundAuditInfoRequest {
212
219
  nns_proposal_id: [] | [ProposalId];
213
220
  }
@@ -233,8 +240,6 @@ export interface Governance {
233
240
  latest_reward_event: [] | [RewardEvent];
234
241
  to_claim_transfers: Array<NeuronStakeTransfer>;
235
242
  short_voting_period_seconds: bigint;
236
- topic_followee_index: Array<[number, FollowersMap]>;
237
- migrations: [] | [Migrations];
238
243
  proposals: Array<[bigint, ProposalData]>;
239
244
  xdr_conversion_rate: [] | [XdrConversionRate];
240
245
  in_flight_commands: Array<[bigint, NeuronInFlightCommand]>;
@@ -410,6 +415,7 @@ export type ManageNeuronCommandRequest =
410
415
  | { Spawn: Spawn }
411
416
  | { Split: Split }
412
417
  | { Follow: Follow }
418
+ | { DisburseMaturity: DisburseMaturity }
413
419
  | { RefreshVotingPower: RefreshVotingPower }
414
420
  | { ClaimOrRefresh: ClaimOrRefresh }
415
421
  | { Configure: Configure }
@@ -444,15 +450,6 @@ export interface MergeResponse {
444
450
  target_neuron_info: [] | [NeuronInfo];
445
451
  source_neuron_info: [] | [NeuronInfo];
446
452
  }
447
- export interface Migration {
448
- status: [] | [number];
449
- failure_reason: [] | [string];
450
- progress: [] | [Progress];
451
- }
452
- export interface Migrations {
453
- neuron_indexes_migration: [] | [Migration];
454
- copy_inactive_neurons_to_stable_memory_migration: [] | [Migration];
455
- }
456
453
  export interface MonthlyNodeProviderRewards {
457
454
  minimum_xdr_permyriad_per_icp: [] | [bigint];
458
455
  registry_version: [] | [bigint];
@@ -674,7 +671,6 @@ export interface Percentage {
674
671
  export interface Principals {
675
672
  principals: Array<Principal>;
676
673
  }
677
- export type Progress = { LastNeuronId: NeuronId };
678
674
  export interface Proposal {
679
675
  url: string;
680
676
  title: [] | [string];
@@ -907,6 +903,7 @@ export interface UpdateNodeProvider {
907
903
  }
908
904
  export interface VotingPowerEconomics {
909
905
  start_reducing_voting_power_after_seconds: [] | [bigint];
906
+ neuron_minimum_dissolve_delay_to_vote_seconds: [] | [bigint];
910
907
  clear_following_after_seconds: [] | [bigint];
911
908
  }
912
909
  export interface VotingRewardParameters {
@@ -1,4 +1,4 @@
1
- // Generated from IC repo commit 2f02a66 (2025-02-13 tags: release-2025-02-20_10-16-disable-best-effort-messaging) 'rs/nns/governance/canister/governance_test.did' by import-candid
1
+ // Generated from IC repo commit 148ccc9 (2025-04-04 tags: rosetta-icrc-release-1.2.0) 'rs/nns/governance/canister/governance_test.did' by import-candid
2
2
  type AccountIdentifier = record {
3
3
  hash : blob;
4
4
  };
@@ -124,6 +124,20 @@ type RefreshVotingPowerResponse = record {
124
124
  // minimal until we discover there is a "real need". YAGNI.
125
125
  };
126
126
 
127
+ type DisburseMaturity = record {
128
+ percentage_to_disburse : nat32;
129
+ to_account : opt Account;
130
+ };
131
+
132
+ type Account = record {
133
+ owner: opt principal;
134
+ subaccount: opt blob;
135
+ };
136
+
137
+ type DisburseMaturityResponse = record {
138
+ amount_disbursed_e8s : opt nat64;
139
+ };
140
+
127
141
  type Command = variant {
128
142
  Spawn : Spawn;
129
143
  Split : Split;
@@ -138,6 +152,7 @@ type Command = variant {
138
152
  MergeMaturity : MergeMaturity;
139
153
  Disburse : Disburse;
140
154
  RefreshVotingPower : RefreshVotingPower;
155
+ DisburseMaturity : DisburseMaturity;
141
156
  };
142
157
 
143
158
  type Command_1 = variant {
@@ -155,6 +170,7 @@ type Command_1 = variant {
155
170
  MergeMaturity : MergeMaturityResponse;
156
171
  Disburse : DisburseResponse;
157
172
  RefreshVotingPower : RefreshVotingPowerResponse;
173
+ DisburseMaturity : DisburseMaturityResponse;
158
174
  };
159
175
 
160
176
  type Command_2 = variant {
@@ -263,16 +279,6 @@ type Followees = record {
263
279
  followees : vec NeuronId;
264
280
  };
265
281
 
266
- type Followers = record {
267
- followers : vec NeuronId;
268
- };
269
-
270
- type FollowersMap = record {
271
- followers_map : vec record {
272
- nat64;
273
- Followers;
274
- } };
275
-
276
282
  type GetNeuronsFundAuditInfoRequest = record {
277
283
  nns_proposal_id : opt ProposalId;
278
284
  };
@@ -301,8 +307,6 @@ type Governance = record {
301
307
  latest_reward_event : opt RewardEvent;
302
308
  to_claim_transfers : vec NeuronStakeTransfer;
303
309
  short_voting_period_seconds : nat64;
304
- topic_followee_index : vec record { int32; FollowersMap };
305
- migrations : opt Migrations;
306
310
  proposals : vec record { nat64; ProposalData };
307
311
  xdr_conversion_rate : opt XdrConversionRate;
308
312
  in_flight_commands : vec record { nat64; NeuronInFlightCommand };
@@ -518,6 +522,7 @@ type ManageNeuronCommandRequest = variant {
518
522
  MergeMaturity : MergeMaturity;
519
523
  Disburse : Disburse;
520
524
  RefreshVotingPower : RefreshVotingPower;
525
+ DisburseMaturity : DisburseMaturity;
521
526
  };
522
527
 
523
528
  type ManageNeuronRequest = record {
@@ -550,16 +555,6 @@ type MergeResponse = record {
550
555
  source_neuron_info : opt NeuronInfo;
551
556
  };
552
557
 
553
- type Migration = record {
554
- status : opt int32;
555
- failure_reason : opt text;
556
- progress : opt Progress;
557
- };
558
-
559
- type Migrations = record {
560
- neuron_indexes_migration : opt Migration;
561
- copy_inactive_neurons_to_stable_memory_migration : opt Migration;
562
- };
563
558
 
564
559
  type MonthlyNodeProviderRewards = record {
565
560
  minimum_xdr_permyriad_per_icp : opt nat64;
@@ -611,6 +606,14 @@ type VotingPowerEconomics = record {
611
606
  //
612
607
  // Initially, set to 1/12 years.
613
608
  clear_following_after_seconds : opt nat64;
609
+ // The minimum dissolve delay a neuron must have in order to be eligible to vote.
610
+ //
611
+ // Neurons with a dissolve delay lower than this threshold will not have
612
+ // voting power, even if they are otherwise active.
613
+ //
614
+ // This value is an essential part of the staking mechanism, promoting
615
+ // long-term alignment with the network's governance.
616
+ neuron_minimum_dissolve_delay_to_vote_seconds : opt nat64;
614
617
  };
615
618
 
616
619
  type Neuron = record {
@@ -838,10 +841,6 @@ type Principals = record {
838
841
  principals : vec principal;
839
842
  };
840
843
 
841
- type Progress = variant {
842
- LastNeuronId : NeuronId;
843
- };
844
-
845
844
  type Proposal = record {
846
845
  url : text;
847
846
  title : opt text;