@dfinity/nns 0.4.0 → 0.4.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.
Files changed (66) hide show
  1. package/dist/candid/genesis_token.certified.idl.js +37 -0
  2. package/dist/candid/genesis_token.did +30 -0
  3. package/dist/candid/genesis_token.idl.d.ts +10 -0
  4. package/dist/candid/genesis_token.idl.js +37 -0
  5. package/dist/candid/governance.certified.idl.js +14 -0
  6. package/dist/candid/governance.did +18 -4
  7. package/dist/candid/governance.idl.js +23 -5
  8. package/dist/candid/governanceTypes.d.ts +19 -13
  9. package/dist/candid/payloads.did +127 -21
  10. package/dist/candid/payloads.idl.d.ts +28 -1
  11. package/dist/candid/payloads.idl.js +97 -3
  12. package/dist/cjs/index.cjs.js +36 -33
  13. package/dist/cjs/index.cjs.js.map +3 -3
  14. package/dist/esm/account_identifier.js +1 -1
  15. package/dist/esm/{chunk-L4BUBLWY.js → chunk-E6UFXMWU.js} +20 -20
  16. package/dist/esm/{chunk-L4BUBLWY.js.map → chunk-E6UFXMWU.js.map} +2 -2
  17. package/dist/esm/{chunk-PKY54KPG.js → chunk-FL7E4DL3.js} +3 -3
  18. package/dist/esm/{chunk-PKY54KPG.js.map → chunk-FL7E4DL3.js.map} +1 -1
  19. package/dist/esm/chunk-HPCMNLTU.js +2 -0
  20. package/dist/esm/{chunk-7RUPLQYT.js.map → chunk-HPCMNLTU.js.map} +3 -3
  21. package/dist/esm/chunk-KUIJF2IJ.js +4 -0
  22. package/dist/esm/chunk-KUIJF2IJ.js.map +7 -0
  23. package/dist/esm/chunk-KXYKDST6.js +17 -0
  24. package/dist/esm/{chunk-BRAPLAM7.js.map → chunk-KXYKDST6.js.map} +3 -3
  25. package/dist/esm/chunk-MTPVFXPH.js +2 -0
  26. package/dist/esm/{chunk-EWMNJTAM.js.map → chunk-MTPVFXPH.js.map} +1 -1
  27. package/dist/esm/chunk-NOBP3Q32.js +7 -0
  28. package/dist/esm/chunk-NOBP3Q32.js.map +7 -0
  29. package/dist/esm/chunk-ONAVPXOT.js +2 -0
  30. package/dist/esm/chunk-ONAVPXOT.js.map +7 -0
  31. package/dist/esm/chunk-QNJXXPDD.js +2 -0
  32. package/dist/esm/chunk-QNJXXPDD.js.map +7 -0
  33. package/dist/esm/{chunk-CY2PTZ5N.js → chunk-XMQ7XZ3Q.js} +2 -2
  34. package/dist/esm/{chunk-CY2PTZ5N.js.map → chunk-XMQ7XZ3Q.js.map} +1 -1
  35. package/dist/esm/genesis_token.js +2 -0
  36. package/dist/esm/genesis_token.js.map +7 -0
  37. package/dist/esm/governance.js +1 -1
  38. package/dist/esm/icp.js +1 -1
  39. package/dist/esm/index.js +1 -1
  40. package/dist/esm/index.js.map +3 -3
  41. package/dist/esm/ledger.js +1 -1
  42. package/dist/proto/governance.proto +287 -0
  43. package/dist/proto/governance_pb.d.ts +1055 -0
  44. package/dist/proto/governance_pb.js +7806 -0
  45. package/dist/types/canisters/governance/request.converters.d.ts +15 -0
  46. package/dist/types/canisters/governance/request.proto.converters.d.ts +15 -0
  47. package/dist/types/canisters/governance/response.converters.d.ts +2 -0
  48. package/dist/types/canisters/governance/response.proto.converters.d.ts +1 -0
  49. package/dist/types/canisters/governance/services.d.ts +7 -1
  50. package/dist/types/constants/canister_ids.d.ts +1 -0
  51. package/dist/types/errors/governance.errors.d.ts +7 -1
  52. package/dist/types/genesis_token.d.ts +17 -0
  53. package/dist/types/governance.d.ts +49 -1
  54. package/dist/types/index.d.ts +2 -0
  55. package/dist/types/types/governance.d.ts +1 -0
  56. package/dist/types/types/governance_converters.d.ts +10 -5
  57. package/dist/types/utils/account_identifier.utils.d.ts +5 -0
  58. package/dist/types/utils/accounts.utils.d.ts +6 -0
  59. package/dist/types/utils/converter.utils.d.ts +0 -5
  60. package/dist/types/utils/number.utils.d.ts +1 -0
  61. package/package.json +17 -17
  62. package/dist/esm/chunk-7RUPLQYT.js +0 -4
  63. package/dist/esm/chunk-BRAPLAM7.js +0 -18
  64. package/dist/esm/chunk-DEPEAMHA.js +0 -3
  65. package/dist/esm/chunk-DEPEAMHA.js.map +0 -7
  66. package/dist/esm/chunk-EWMNJTAM.js +0 -2
@@ -1,9 +1,46 @@
1
1
  // Generated by running `cargo run --bin nns_functions_candid_gen`
2
2
 
3
+ // Exceptions (in rs files but not in did)
4
+ type CanisterAction = variant { Start; Stop };
5
+ type SetAuthorizedSubnetworkListArgs = record {
6
+ who : opt principal;
7
+ subnets : vec principal;
8
+ };
9
+ type StopOrStartNnsCanisterProposalPayload = record {
10
+ action : CanisterAction;
11
+ canister_id : principal;
12
+ };
13
+ type UpdateIcpXdrConversionRatePayload = record {
14
+ data_source : text;
15
+ xdr_permyriad_per_icp : nat64;
16
+ timestamp_seconds : nat64;
17
+ };
18
+
19
+
20
+ // updated https://github.com/dfinity/ic/commit/620692ef649876447646ffeed16aa3579d3ec3a8
21
+ type AddFirewallRulesPayload = record {
22
+ expected_hash : text;
23
+ scope : text;
24
+ positions : vec int32;
25
+ rules : vec FirewallRule;
26
+ };
3
27
  type AddNodeOperatorPayload = record {
4
28
  node_operator_principal_id : opt principal;
5
29
  node_allowance : nat64;
30
+ rewardable_nodes : vec record { text; nat32 };
6
31
  node_provider_principal_id : opt principal;
32
+ dc_id : text;
33
+ };
34
+ type AddNodePayload = record {
35
+ prometheus_metrics_endpoint : text;
36
+ http_endpoint : text;
37
+ idkg_dealing_encryption_pk : opt vec nat8;
38
+ xnet_endpoint : text;
39
+ committee_signing_pk : vec nat8;
40
+ node_signing_pk : vec nat8;
41
+ transport_tls_cert : vec nat8;
42
+ ni_dkg_dealing_encryption_pk : vec nat8;
43
+ p2p_flow_endpoints : vec text;
7
44
  };
8
45
  type AddNodesToSubnetPayload = record {
9
46
  subnet_id : principal;
@@ -13,6 +50,7 @@ type AddOrRemoveDataCentersProposalPayload = record {
13
50
  data_centers_to_add : vec DataCenterRecord;
14
51
  data_centers_to_remove : vec text;
15
52
  };
53
+ type BitcoinFeature = variant { Paused; Enabled; Disabled };
16
54
  type BlessReplicaVersionPayload = record {
17
55
  node_manager_sha256_hex : text;
18
56
  release_package_url : text;
@@ -22,7 +60,6 @@ type BlessReplicaVersionPayload = record {
22
60
  node_manager_binary_url : text;
23
61
  binary_url : text;
24
62
  };
25
- type CanisterAction = variant { Start; Stop };
26
63
  type CreateSubnetPayload = record {
27
64
  unit_delay_millis : nat64;
28
65
  max_instructions_per_round : nat64;
@@ -37,16 +74,21 @@ type CreateSubnetPayload = record {
37
74
  is_halted : bool;
38
75
  gossip_pfn_evaluation_period_ms : nat32;
39
76
  max_ingress_messages_per_block : nat64;
77
+ max_number_of_canisters : nat64;
78
+ ecdsa_config : opt EcdsaInitialConfig;
40
79
  gossip_max_artifact_streams_per_peer : nat32;
80
+ advert_best_effort_percentage : opt nat32;
41
81
  replica_version_id : text;
42
82
  gossip_max_duplicity : nat32;
43
83
  gossip_max_chunk_wait_ms : nat32;
44
84
  dkg_interval_length : nat64;
45
85
  subnet_id_override : opt principal;
86
+ ssh_backup_access : vec text;
46
87
  ingress_bytes_per_block_soft_cap : nat64;
47
88
  initial_notary_delay_millis : nat64;
48
89
  gossip_max_chunk_size : nat32;
49
90
  subnet_type : SubnetType;
91
+ ssh_readonly_access : vec text;
50
92
  gossip_retransmission_request_ms : nat32;
51
93
  gossip_receive_check_cache_size : nat32;
52
94
  node_ids : vec principal;
@@ -57,7 +99,39 @@ type DataCenterRecord = record {
57
99
  region : text;
58
100
  owner : text;
59
101
  };
102
+ type DeleteSubnetPayload = record { subnet_id : opt principal };
103
+ type EcdsaConfig = record {
104
+ quadruples_to_create_in_advance : nat32;
105
+ key_ids : vec EcdsaKeyId;
106
+ };
107
+ type EcdsaCurve = variant { secp256k1 };
108
+ type EcdsaInitialConfig = record {
109
+ quadruples_to_create_in_advance : nat32;
110
+ keys : vec EcdsaKeyRequest;
111
+ };
112
+ type EcdsaKeyId = record { name : text; curve : EcdsaCurve };
113
+ type EcdsaKeyRequest = record {
114
+ key_id : EcdsaKeyId;
115
+ subnet_id : opt principal;
116
+ };
117
+ type FirewallRule = record {
118
+ ipv4_prefixes : vec text;
119
+ action : int32;
120
+ comment : text;
121
+ ipv6_prefixes : vec text;
122
+ ports : vec nat32;
123
+ };
60
124
  type Gps = record { latitude : float32; longitude : float32 };
125
+ type NodeOperatorRecord = record {
126
+ node_operator_principal_id : vec nat8;
127
+ node_allowance : nat64;
128
+ rewardable_nodes : vec record { text; nat32 };
129
+ node_provider_principal_id : vec nat8;
130
+ dc_id : text;
131
+ };
132
+ type NodeProvidersMonthlyXdrRewards = record {
133
+ rewards : vec record { text; nat64 };
134
+ };
61
135
  type NodeRewardRate = record { xdr_permyriad_per_node_per_month : nat64 };
62
136
  type NodeRewardRates = record { rates : vec record { text; NodeRewardRate } };
63
137
  type RecoverSubnetPayload = record {
@@ -68,37 +142,50 @@ type RecoverSubnetPayload = record {
68
142
  state_hash : vec nat8;
69
143
  time_ns : nat64;
70
144
  };
145
+ type RemoveFirewallRulesPayload = record {
146
+ expected_hash : text;
147
+ scope : text;
148
+ positions : vec int32;
149
+ };
150
+ type RemoveNodeDirectlyPayload = record { node_id : principal };
71
151
  type RemoveNodeOperatorsPayload = record {
72
152
  node_operators_to_remove : vec vec nat8;
73
153
  };
74
- type RemoveNodesFromSubnetPayload = record { node_ids : vec principal };
154
+ type RemoveNodesPayload = record { node_ids : vec principal };
75
155
  type RerouteCanisterRangePayload = record {
76
156
  range_end_inclusive : principal;
77
157
  range_start_inclusive : principal;
78
158
  destination_subnet : principal;
79
159
  };
80
- type SetAuthorizedSubnetworkListArgs = record {
81
- who : opt principal;
82
- subnets : vec principal;
160
+ type Result = variant { Ok : principal; Err : text };
161
+ type Result_1 = variant {
162
+ Ok : vec record { DataCenterRecord; NodeOperatorRecord };
163
+ Err : text;
83
164
  };
165
+ type Result_2 = variant { Ok : NodeProvidersMonthlyXdrRewards; Err : text };
166
+ type Result_3 = variant { Ok; Err : text };
84
167
  type SetFirewallConfigPayload = record {
85
168
  ipv4_prefixes : vec text;
86
169
  firewall_config : text;
87
170
  ipv6_prefixes : vec text;
88
171
  };
89
- type StopOrStartNnsCanisterProposalPayload = record {
90
- action : CanisterAction;
91
- canister_id : principal;
172
+ type SubnetFeatures = record {
173
+ canister_sandboxing : bool;
174
+ http_requests : bool;
175
+ bitcoin_testnet_feature : opt BitcoinFeature;
176
+ ecdsa_signatures : bool;
92
177
  };
93
- type SubnetFeatures = record { ecdsa_signatures : bool };
94
178
  type SubnetType = variant { application; verified_application; system };
95
- type UpdateIcpXdrConversionRatePayload = record {
96
- data_source : text;
97
- xdr_permyriad_per_icp : nat64;
98
- timestamp_seconds : nat64;
179
+ type UpdateNodeDirectlyPayload = record {
180
+ idkg_dealing_encryption_pk : opt vec nat8;
181
+ };
182
+ type UpdateNodeOperatorConfigDirectlyPayload = record {
183
+ node_operator_id : opt principal;
184
+ node_provider_id : opt principal;
99
185
  };
100
186
  type UpdateNodeOperatorConfigPayload = record {
101
187
  node_operator_id : opt principal;
188
+ node_provider_id : opt principal;
102
189
  node_allowance : opt nat64;
103
190
  rewardable_nodes : vec record { text; nat32 };
104
191
  dc_id : opt text;
@@ -121,15 +208,17 @@ type UpdateSubnetPayload = record {
121
208
  max_instructions_per_install_code : opt nat64;
122
209
  start_as_nns : opt bool;
123
210
  is_halted : opt bool;
211
+ max_ingress_messages_per_block : opt nat64;
124
212
  max_number_of_canisters : opt nat64;
213
+ ecdsa_config : opt EcdsaConfig;
125
214
  advert_best_effort_percentage : opt nat32;
126
215
  retransmission_request_ms : opt nat32;
127
216
  dkg_interval_length : opt nat64;
128
217
  registry_poll_period_ms : opt nat32;
129
218
  max_chunk_wait_ms : opt nat32;
130
219
  receive_check_cache_size : opt nat32;
220
+ ecdsa_key_signing_enable : opt vec EcdsaKeyId;
131
221
  ssh_backup_access : opt vec text;
132
- ingress_bytes_per_block_soft_cap : opt nat64;
133
222
  max_chunk_size : opt nat32;
134
223
  initial_notary_delay_millis : opt nat64;
135
224
  max_artifact_streams_per_peer : opt nat32;
@@ -145,24 +234,41 @@ type UpdateUnassignedNodesConfigPayload = record {
145
234
  ssh_readonly_access : opt vec text;
146
235
  };
147
236
  service : {
237
+ // Exceptions (in rs files but not in did)
238
+ set_authorized_subnetwork_list : (SetAuthorizedSubnetworkListArgs) -> ();
239
+ stop_or_start_nns_canister : (StopOrStartNnsCanisterProposalPayload) -> ();
240
+ update_icp_xdr_conversion_rate : (UpdateIcpXdrConversionRatePayload) -> ();
241
+
242
+
243
+ // updated https://github.com/dfinity/ic/commit/620692ef649876447646ffeed16aa3579d3ec3a8
244
+ add_firewall_rules : (AddFirewallRulesPayload) -> ();
245
+ add_node : (AddNodePayload) -> (Result);
148
246
  add_node_operator : (AddNodeOperatorPayload) -> ();
149
247
  add_nodes_to_subnet : (AddNodesToSubnetPayload) -> ();
150
248
  add_or_remove_data_centers : (AddOrRemoveDataCentersProposalPayload) -> ();
151
249
  bless_replica_version : (BlessReplicaVersionPayload) -> ();
152
250
  clear_provisional_whitelist : () -> ();
153
251
  create_subnet : (CreateSubnetPayload) -> ();
252
+ delete_subnet : (DeleteSubnetPayload) -> ();
253
+ get_build_metadata : () -> (text) query;
254
+ get_node_operators_and_dcs_of_node_provider : (principal) -> (Result_1) query;
255
+ get_node_providers_monthly_xdr_rewards : () -> (Result_2) query;
154
256
  recover_subnet : (RecoverSubnetPayload) -> ();
257
+ remove_firewall_rules : (RemoveFirewallRulesPayload) -> ();
258
+ remove_node_directly : (RemoveNodeDirectlyPayload) -> ();
155
259
  remove_node_operators : (RemoveNodeOperatorsPayload) -> ();
156
- remove_nodes : (RemoveNodesFromSubnetPayload) -> ();
157
- remove_nodes_from_subnet : (RemoveNodesFromSubnetPayload) -> ();
158
- reroute_canister_range : (RerouteCanisterRangePayload) -> ();
159
- set_authorized_subnetwork_list : (SetAuthorizedSubnetworkListArgs) -> ();
260
+ remove_nodes : (RemoveNodesPayload) -> ();
261
+ remove_nodes_from_subnet : (RemoveNodesPayload) -> ();
262
+ reroute_canister_range : (RerouteCanisterRangePayload) -> (Result_3);
160
263
  set_firewall_config : (SetFirewallConfigPayload) -> ();
161
- stop_or_start_nns_canister : (StopOrStartNnsCanisterProposalPayload) -> ();
162
- update_icp_xdr_conversion_rate : (UpdateIcpXdrConversionRatePayload) -> ();
264
+ update_firewall_rules : (AddFirewallRulesPayload) -> ();
265
+ update_node_directly : (UpdateNodeDirectlyPayload) -> (Result_3);
163
266
  update_node_operator_config : (UpdateNodeOperatorConfigPayload) -> ();
267
+ update_node_operator_config_directly : (
268
+ UpdateNodeOperatorConfigDirectlyPayload,
269
+ ) -> ();
164
270
  update_node_rewards_table : (UpdateNodeRewardsTableProposalPayload) -> ();
165
271
  update_subnet : (UpdateSubnetPayload) -> ();
166
272
  update_subnet_replica_version : (UpdateSubnetReplicaVersionPayload) -> ();
167
273
  update_unassigned_nodes_config : (UpdateUnassignedNodesConfigPayload) -> ();
168
- }
274
+ }
@@ -1,20 +1,47 @@
1
1
  import type { IDL } from "@dfinity/candid";
2
2
 
3
+ export const FirewallRule: IDL.RecordClass;
4
+ export const AddFirewallRulesPayload: IDL.RecordClass;
5
+ export const AddNodePayload: IDL.RecordClass;
6
+ export const Result: IDL.RecordClass;
3
7
  export const AddNodeOperatorPayload: IDL.RecordClass;
4
8
  export const AddNodesToSubnetPayload: IDL.RecordClass;
9
+ export const Gps: IDL.RecordClass;
10
+ export const DataCenterRecord: IDL.RecordClass;
5
11
  export const AddOrRemoveDataCentersProposalPayload: IDL.RecordClass;
6
12
  export const BlessReplicaVersionPayload: IDL.RecordClass;
13
+ export const BitcoinFeature: IDL.RecordClass;
14
+ export const SubnetFeatures: IDL.RecordClass;
15
+ export const EcdsaCurve: IDL.RecordClass;
16
+ export const EcdsaKeyId: IDL.RecordClass;
17
+ export const EcdsaKeyRequest: IDL.RecordClass;
18
+ export const EcdsaInitialConfig: IDL.RecordClass;
19
+ export const SubnetType: IDL.RecordClass;
7
20
  export const CreateSubnetPayload: IDL.RecordClass;
21
+ export const DeleteSubnetPayload: IDL.RecordClass;
22
+ export const NodeOperatorRecord: IDL.RecordClass;
23
+ export const Result_1: IDL.RecordClass;
24
+ export const NodeProvidersMonthlyXdrRewards: IDL.RecordClass;
25
+ export const Result_2: IDL.RecordClass;
8
26
  export const RecoverSubnetPayload: IDL.RecordClass;
27
+ export const RemoveFirewallRulesPayload: IDL.RecordClass;
28
+ export const RemoveNodeDirectlyPayload: IDL.RecordClass;
9
29
  export const RemoveNodeOperatorsPayload: IDL.RecordClass;
10
- export const RemoveNodesFromSubnetPayload: IDL.RecordClass;
30
+ export const RemoveNodesPayload: IDL.RecordClass;
11
31
  export const RerouteCanisterRangePayload: IDL.RecordClass;
32
+ export const Result_3: IDL.RecordClass;
12
33
  export const SetAuthorizedSubnetworkListArgs: IDL.RecordClass;
13
34
  export const SetFirewallConfigPayload: IDL.RecordClass;
35
+ export const CanisterAction: IDL.RecordClass;
14
36
  export const StopOrStartNnsCanisterProposalPayload: IDL.RecordClass;
15
37
  export const UpdateIcpXdrConversionRatePayload: IDL.RecordClass;
38
+ export const UpdateNodeDirectlyPayload: IDL.RecordClass;
16
39
  export const UpdateNodeOperatorConfigPayload: IDL.RecordClass;
40
+ export const UpdateNodeOperatorConfigDirectlyPayload: IDL.RecordClass;
41
+ export const NodeRewardRate: IDL.RecordClass;
42
+ export const NodeRewardRates: IDL.RecordClass;
17
43
  export const UpdateNodeRewardsTableProposalPayload: IDL.RecordClass;
44
+ export const EcdsaConfig: IDL.RecordClass;
18
45
  export const UpdateSubnetPayload: IDL.RecordClass;
19
46
  export const UpdateSubnetReplicaVersionPayload: IDL.RecordClass;
20
47
  export const UpdateUnassignedNodesConfigPayload: IDL.RecordClass;
@@ -4,10 +4,37 @@
4
4
 
5
5
  import { IDL } from "@dfinity/candid";
6
6
 
7
+ export const FirewallRule = IDL.Record({
8
+ ipv4_prefixes: IDL.Vec(IDL.Text),
9
+ action: IDL.Int32,
10
+ comment: IDL.Text,
11
+ ipv6_prefixes: IDL.Vec(IDL.Text),
12
+ ports: IDL.Vec(IDL.Nat32),
13
+ });
14
+ export const AddFirewallRulesPayload = IDL.Record({
15
+ expected_hash: IDL.Text,
16
+ scope: IDL.Text,
17
+ positions: IDL.Vec(IDL.Int32),
18
+ rules: IDL.Vec(FirewallRule),
19
+ });
20
+ export const AddNodePayload = IDL.Record({
21
+ prometheus_metrics_endpoint: IDL.Text,
22
+ http_endpoint: IDL.Text,
23
+ idkg_dealing_encryption_pk: IDL.Opt(IDL.Vec(IDL.Nat8)),
24
+ xnet_endpoint: IDL.Text,
25
+ committee_signing_pk: IDL.Vec(IDL.Nat8),
26
+ node_signing_pk: IDL.Vec(IDL.Nat8),
27
+ transport_tls_cert: IDL.Vec(IDL.Nat8),
28
+ ni_dkg_dealing_encryption_pk: IDL.Vec(IDL.Nat8),
29
+ p2p_flow_endpoints: IDL.Vec(IDL.Text),
30
+ });
31
+ export const Result = IDL.Variant({ Ok: IDL.Principal, Err: IDL.Text });
7
32
  export const AddNodeOperatorPayload = IDL.Record({
8
33
  node_operator_principal_id: IDL.Opt(IDL.Principal),
9
34
  node_allowance: IDL.Nat64,
35
+ rewardable_nodes: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32)),
10
36
  node_provider_principal_id: IDL.Opt(IDL.Principal),
37
+ dc_id: IDL.Text,
11
38
  });
12
39
  export const AddNodesToSubnetPayload = IDL.Record({
13
40
  subnet_id: IDL.Principal,
@@ -36,7 +63,27 @@ export const BlessReplicaVersionPayload = IDL.Record({
36
63
  node_manager_binary_url: IDL.Text,
37
64
  binary_url: IDL.Text,
38
65
  });
39
- export const SubnetFeatures = IDL.Record({ ecdsa_signatures: IDL.Bool });
66
+ export const BitcoinFeature = IDL.Variant({
67
+ Paused: IDL.Null,
68
+ Enabled: IDL.Null,
69
+ Disabled: IDL.Null,
70
+ });
71
+ export const SubnetFeatures = IDL.Record({
72
+ canister_sandboxing: IDL.Bool,
73
+ http_requests: IDL.Bool,
74
+ bitcoin_testnet_feature: IDL.Opt(BitcoinFeature),
75
+ ecdsa_signatures: IDL.Bool,
76
+ });
77
+ export const EcdsaCurve = IDL.Variant({ secp256k1: IDL.Null });
78
+ export const EcdsaKeyId = IDL.Record({ name: IDL.Text, curve: EcdsaCurve });
79
+ export const EcdsaKeyRequest = IDL.Record({
80
+ key_id: EcdsaKeyId,
81
+ subnet_id: IDL.Opt(IDL.Principal),
82
+ });
83
+ export const EcdsaInitialConfig = IDL.Record({
84
+ quadruples_to_create_in_advance: IDL.Nat32,
85
+ keys: IDL.Vec(EcdsaKeyRequest),
86
+ });
40
87
  export const SubnetType = IDL.Variant({
41
88
  application: IDL.Null,
42
89
  verified_application: IDL.Null,
@@ -56,20 +103,46 @@ export const CreateSubnetPayload = IDL.Record({
56
103
  is_halted: IDL.Bool,
57
104
  gossip_pfn_evaluation_period_ms: IDL.Nat32,
58
105
  max_ingress_messages_per_block: IDL.Nat64,
106
+ max_number_of_canisters: IDL.Nat64,
107
+ ecdsa_config: IDL.Opt(EcdsaInitialConfig),
59
108
  gossip_max_artifact_streams_per_peer: IDL.Nat32,
109
+ advert_best_effort_percentage: IDL.Opt(IDL.Nat32),
60
110
  replica_version_id: IDL.Text,
61
111
  gossip_max_duplicity: IDL.Nat32,
62
112
  gossip_max_chunk_wait_ms: IDL.Nat32,
63
113
  dkg_interval_length: IDL.Nat64,
64
114
  subnet_id_override: IDL.Opt(IDL.Principal),
115
+ ssh_backup_access: IDL.Vec(IDL.Text),
65
116
  ingress_bytes_per_block_soft_cap: IDL.Nat64,
66
117
  initial_notary_delay_millis: IDL.Nat64,
67
118
  gossip_max_chunk_size: IDL.Nat32,
68
119
  subnet_type: SubnetType,
120
+ ssh_readonly_access: IDL.Vec(IDL.Text),
69
121
  gossip_retransmission_request_ms: IDL.Nat32,
70
122
  gossip_receive_check_cache_size: IDL.Nat32,
71
123
  node_ids: IDL.Vec(IDL.Principal),
72
124
  });
125
+ export const DeleteSubnetPayload = IDL.Record({
126
+ subnet_id: IDL.Opt(IDL.Principal),
127
+ });
128
+ export const NodeOperatorRecord = IDL.Record({
129
+ node_operator_principal_id: IDL.Vec(IDL.Nat8),
130
+ node_allowance: IDL.Nat64,
131
+ rewardable_nodes: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32)),
132
+ node_provider_principal_id: IDL.Vec(IDL.Nat8),
133
+ dc_id: IDL.Text,
134
+ });
135
+ export const Result_1 = IDL.Variant({
136
+ Ok: IDL.Vec(IDL.Tuple(DataCenterRecord, NodeOperatorRecord)),
137
+ Err: IDL.Text,
138
+ });
139
+ export const NodeProvidersMonthlyXdrRewards = IDL.Record({
140
+ rewards: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat64)),
141
+ });
142
+ export const Result_2 = IDL.Variant({
143
+ Ok: NodeProvidersMonthlyXdrRewards,
144
+ Err: IDL.Text,
145
+ });
73
146
  export const RecoverSubnetPayload = IDL.Record({
74
147
  height: IDL.Nat64,
75
148
  replacement_nodes: IDL.Opt(IDL.Vec(IDL.Principal)),
@@ -78,10 +151,16 @@ export const RecoverSubnetPayload = IDL.Record({
78
151
  state_hash: IDL.Vec(IDL.Nat8),
79
152
  time_ns: IDL.Nat64,
80
153
  });
154
+ export const RemoveFirewallRulesPayload = IDL.Record({
155
+ expected_hash: IDL.Text,
156
+ scope: IDL.Text,
157
+ positions: IDL.Vec(IDL.Int32),
158
+ });
159
+ export const RemoveNodeDirectlyPayload = IDL.Record({ node_id: IDL.Principal });
81
160
  export const RemoveNodeOperatorsPayload = IDL.Record({
82
161
  node_operators_to_remove: IDL.Vec(IDL.Vec(IDL.Nat8)),
83
162
  });
84
- export const RemoveNodesFromSubnetPayload = IDL.Record({
163
+ export const RemoveNodesPayload = IDL.Record({
85
164
  node_ids: IDL.Vec(IDL.Principal),
86
165
  });
87
166
  export const RerouteCanisterRangePayload = IDL.Record({
@@ -89,6 +168,7 @@ export const RerouteCanisterRangePayload = IDL.Record({
89
168
  range_start_inclusive: IDL.Principal,
90
169
  destination_subnet: IDL.Principal,
91
170
  });
171
+ export const Result_3 = IDL.Variant({ Ok: IDL.Null, Err: IDL.Text });
92
172
  export const SetAuthorizedSubnetworkListArgs = IDL.Record({
93
173
  who: IDL.Opt(IDL.Principal),
94
174
  subnets: IDL.Vec(IDL.Principal),
@@ -108,12 +188,20 @@ export const UpdateIcpXdrConversionRatePayload = IDL.Record({
108
188
  xdr_permyriad_per_icp: IDL.Nat64,
109
189
  timestamp_seconds: IDL.Nat64,
110
190
  });
191
+ export const UpdateNodeDirectlyPayload = IDL.Record({
192
+ idkg_dealing_encryption_pk: IDL.Opt(IDL.Vec(IDL.Nat8)),
193
+ });
111
194
  export const UpdateNodeOperatorConfigPayload = IDL.Record({
112
195
  node_operator_id: IDL.Opt(IDL.Principal),
196
+ node_provider_id: IDL.Opt(IDL.Principal),
113
197
  node_allowance: IDL.Opt(IDL.Nat64),
114
198
  rewardable_nodes: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32)),
115
199
  dc_id: IDL.Opt(IDL.Text),
116
200
  });
201
+ export const UpdateNodeOperatorConfigDirectlyPayload = IDL.Record({
202
+ node_operator_id: IDL.Opt(IDL.Principal),
203
+ node_provider_id: IDL.Opt(IDL.Principal),
204
+ });
117
205
  export const NodeRewardRate = IDL.Record({
118
206
  xdr_permyriad_per_node_per_month: IDL.Nat64,
119
207
  });
@@ -123,6 +211,10 @@ export const NodeRewardRates = IDL.Record({
123
211
  export const UpdateNodeRewardsTableProposalPayload = IDL.Record({
124
212
  new_entries: IDL.Vec(IDL.Tuple(IDL.Text, NodeRewardRates)),
125
213
  });
214
+ export const EcdsaConfig = IDL.Record({
215
+ quadruples_to_create_in_advance: IDL.Nat32,
216
+ key_ids: IDL.Vec(EcdsaKeyId),
217
+ });
126
218
  export const UpdateSubnetPayload = IDL.Record({
127
219
  unit_delay_millis: IDL.Opt(IDL.Nat64),
128
220
  max_duplicity: IDL.Opt(IDL.Nat32),
@@ -138,15 +230,17 @@ export const UpdateSubnetPayload = IDL.Record({
138
230
  max_instructions_per_install_code: IDL.Opt(IDL.Nat64),
139
231
  start_as_nns: IDL.Opt(IDL.Bool),
140
232
  is_halted: IDL.Opt(IDL.Bool),
233
+ max_ingress_messages_per_block: IDL.Opt(IDL.Nat64),
141
234
  max_number_of_canisters: IDL.Opt(IDL.Nat64),
235
+ ecdsa_config: IDL.Opt(EcdsaConfig),
142
236
  advert_best_effort_percentage: IDL.Opt(IDL.Nat32),
143
237
  retransmission_request_ms: IDL.Opt(IDL.Nat32),
144
238
  dkg_interval_length: IDL.Opt(IDL.Nat64),
145
239
  registry_poll_period_ms: IDL.Opt(IDL.Nat32),
146
240
  max_chunk_wait_ms: IDL.Opt(IDL.Nat32),
147
241
  receive_check_cache_size: IDL.Opt(IDL.Nat32),
242
+ ecdsa_key_signing_enable: IDL.Opt(IDL.Vec(EcdsaKeyId)),
148
243
  ssh_backup_access: IDL.Opt(IDL.Vec(IDL.Text)),
149
- ingress_bytes_per_block_soft_cap: IDL.Opt(IDL.Nat64),
150
244
  max_chunk_size: IDL.Opt(IDL.Nat32),
151
245
  initial_notary_delay_millis: IDL.Opt(IDL.Nat64),
152
246
  max_artifact_streams_per_peer: IDL.Opt(IDL.Nat32),