@dfinity/cmc 6.0.1 → 6.0.3-next-2025-10-04

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.
@@ -14,16 +14,49 @@ export interface CanisterSettings {
14
14
  memory_allocation: [] | [bigint];
15
15
  compute_allocation: [] | [bigint];
16
16
  }
17
+ /**
18
+ * The argument of the [create_canister] method.
19
+ */
17
20
  export interface CreateCanisterArg {
21
+ /**
22
+ * Optional instructions to select on which subnet the new canister will be created on.
23
+ */
18
24
  subnet_selection: [] | [SubnetSelection];
25
+ /**
26
+ * Optional canister settings that, if set, are applied to the newly created canister.
27
+ * If not specified, the caller is the controller of the canister and the other settings are set to default values.
28
+ */
19
29
  settings: [] | [CanisterSettings];
30
+ /**
31
+ * An optional subnet type that, if set, determines what type of subnet
32
+ * the new canister will be created on.
33
+ * Deprecated. Use subnet_selection instead.
34
+ */
20
35
  subnet_type: [] | [string];
21
36
  }
37
+ /**
38
+ * Canister creation failed and the cycles attached to the call were returned to the calling canister.
39
+ * A small fee may be charged.
40
+ */
22
41
  export type CreateCanisterError = {
23
- Refunded: { create_error: string; refund_amount: bigint };
42
+ Refunded: {
43
+ /**
44
+ * The reason why creating a canister failed.
45
+ */
46
+ create_error: string;
47
+ /**
48
+ * The amount of cycles returned to the calling canister
49
+ */
50
+ refund_amount: bigint;
51
+ };
24
52
  };
25
53
  export type CreateCanisterResult =
26
- | { Ok: Principal }
54
+ | {
55
+ /**
56
+ * The principal of the newly created canister.
57
+ */
58
+ Ok: Principal;
59
+ }
27
60
  | { Err: CreateCanisterError };
28
61
  export type Cycles = bigint;
29
62
  export interface CyclesCanisterInitPayload {
@@ -34,35 +67,139 @@ export interface CyclesCanisterInitPayload {
34
67
  minting_account_id: [] | [AccountIdentifier];
35
68
  ledger_canister_id: [] | [Principal];
36
69
  }
37
- export type ExchangeRateCanister = { Set: Principal } | { Unset: null };
70
+ export type ExchangeRateCanister =
71
+ | {
72
+ /**
73
+ * / Enables the exchange rate canister with the given canister ID.
74
+ */
75
+ Set: Principal;
76
+ }
77
+ | {
78
+ /**
79
+ * / Disable the exchange rate canister.
80
+ */
81
+ Unset: null;
82
+ };
38
83
  export interface IcpXdrConversionRate {
84
+ /**
85
+ * The number of 10,000ths of IMF SDR (currency code XDR) that corresponds
86
+ * to 1 ICP. This value reflects the current market price of one ICP token.
87
+ */
39
88
  xdr_permyriad_per_icp: bigint;
89
+ /**
90
+ * The time for which the market data was queried, expressed in UNIX epoch
91
+ * time in seconds.
92
+ */
40
93
  timestamp_seconds: bigint;
41
94
  }
42
95
  export interface IcpXdrConversionRateResponse {
96
+ /**
97
+ * System certificate as specified in
98
+ * https://internetcomputer.org/docs/interface-spec/index.html#certification-encoding
99
+ */
43
100
  certificate: Uint8Array | number[];
101
+ /**
102
+ * The latest ICP/XDR conversion rate.
103
+ */
44
104
  data: IcpXdrConversionRate;
105
+ /**
106
+ * CBOR-serialized hash tree as specified in
107
+ * https://internetcomputer.org/docs/interface-spec/index.html#certification-encoding
108
+ * The hash tree is used for certification and hash the following structure:
109
+ * ```
110
+ * *
111
+ * |
112
+ * +-- ICP_XDR_CONVERSION_RATE -- [ Candid encoded IcpXdrConversionRate ]
113
+ * |
114
+ * `-- AVERAGE_ICP_XDR_CONVERSION_RATE -- [ Candid encoded IcpXdrConversionRate ]
115
+ * ```
116
+ */
45
117
  hash_tree: Uint8Array | number[];
46
118
  }
47
119
  export type Memo = [] | [Uint8Array | number[]];
120
+ /**
121
+ * The argument of the [notify_create_canister] method.
122
+ */
48
123
  export interface NotifyCreateCanisterArg {
124
+ /**
125
+ * The controller of canister to create.
126
+ */
49
127
  controller: Principal;
128
+ /**
129
+ * Index of the block on the ICP ledger that contains the payment.
130
+ */
50
131
  block_index: BlockIndex;
132
+ /**
133
+ * Optional instructions to select on which subnet the new canister will be created on.
134
+ * vec may contain no more than one element.
135
+ */
51
136
  subnet_selection: [] | [SubnetSelection];
137
+ /**
138
+ * Optional canister settings that, if set, are applied to the newly created canister.
139
+ * If not specified, the caller is the controller of the canister and the other settings are set to default values.
140
+ */
52
141
  settings: [] | [CanisterSettings];
142
+ /**
143
+ * An optional subnet type that, if set, determines what type of subnet
144
+ * the new canister will be created on.
145
+ * Deprecated. Use subnet_selection instead.
146
+ */
53
147
  subnet_type: [] | [string];
54
148
  }
55
149
  export type NotifyCreateCanisterResult =
56
- | { Ok: Principal }
150
+ | {
151
+ /**
152
+ * The principal of the newly created canister.
153
+ */
154
+ Ok: Principal;
155
+ }
57
156
  | { Err: NotifyError };
58
157
  export type NotifyError =
59
158
  | {
60
- Refunded: { block_index: [] | [BlockIndex]; reason: string };
159
+ /**
160
+ * The payment processing failed and the payment was returned the caller.
161
+ * This is a non-retriable error.
162
+ */
163
+ Refunded: {
164
+ /**
165
+ * The index of the block containing the refund.
166
+ */
167
+ block_index: [] | [BlockIndex];
168
+ /**
169
+ * The reason for the refund.
170
+ */
171
+ reason: string;
172
+ };
173
+ }
174
+ | {
175
+ /**
176
+ * The transaction does not satisfy the cycle minting canister payment protocol.
177
+ * The text contains the description of the problem.
178
+ * This is a non-retriable error.
179
+ */
180
+ InvalidTransaction: string;
181
+ }
182
+ | {
183
+ /**
184
+ * Other error.
185
+ */
186
+ Other: { error_message: string; error_code: bigint };
187
+ }
188
+ | {
189
+ /**
190
+ * The same payment is already being processed by a concurrent request.
191
+ * This is a retriable error.
192
+ */
193
+ Processing: null;
61
194
  }
62
- | { InvalidTransaction: string }
63
- | { Other: { error_message: string; error_code: bigint } }
64
- | { Processing: null }
65
- | { TransactionTooOld: BlockIndex };
195
+ | {
196
+ /**
197
+ * The payment was too old to be processed.
198
+ * The value of the variant is the oldest block index that can still be processed.
199
+ * This a non-retriable error.
200
+ */
201
+ TransactionTooOld: BlockIndex;
202
+ };
66
203
  export interface NotifyMintCyclesArg {
67
204
  block_index: BlockIndex;
68
205
  deposit_memo: Memo;
@@ -72,15 +209,40 @@ export type NotifyMintCyclesResult =
72
209
  | { Ok: NotifyMintCyclesSuccess }
73
210
  | { Err: NotifyError };
74
211
  export interface NotifyMintCyclesSuccess {
212
+ /**
213
+ * New balance of the cycles ledger account
214
+ */
75
215
  balance: bigint;
216
+ /**
217
+ * Cycles ledger block index of deposit
218
+ */
76
219
  block_index: bigint;
220
+ /**
221
+ * Amount of cycles that were minted and deposited to the cycles ledger
222
+ */
77
223
  minted: bigint;
78
224
  }
225
+ /**
226
+ * The argument of the [notify_top_up] method.
227
+ */
79
228
  export interface NotifyTopUpArg {
229
+ /**
230
+ * Index of the block on the ICP ledger that contains the payment.
231
+ */
80
232
  block_index: BlockIndex;
233
+ /**
234
+ * The canister to top up.
235
+ */
81
236
  canister_id: Principal;
82
237
  }
83
- export type NotifyTopUpResult = { Ok: Cycles } | { Err: NotifyError };
238
+ export type NotifyTopUpResult =
239
+ | {
240
+ /**
241
+ * The amount of cycles sent to the specified canister.
242
+ */
243
+ Ok: Cycles;
244
+ }
245
+ | { Err: NotifyError };
84
246
  export interface PrincipalsAuthorizedToCreateCanistersToSubnetsResponse {
85
247
  data: Array<[Principal, Array<Principal>]>;
86
248
  }
@@ -89,30 +251,63 @@ export interface SubnetFilter {
89
251
  subnet_type: [] | [string];
90
252
  }
91
253
  export type SubnetSelection =
92
- | { Filter: SubnetFilter }
93
- | { Subnet: { subnet: Principal } };
254
+ | {
255
+ /**
256
+ * / Choose a random subnet that fulfills the specified properties
257
+ */
258
+ Filter: SubnetFilter;
259
+ }
260
+ | {
261
+ /**
262
+ * / Choose a specific subnet
263
+ */
264
+ Subnet: { subnet: Principal };
265
+ };
94
266
  export interface SubnetTypesToSubnetsResponse {
95
267
  data: Array<[string, Array<Principal>]>;
96
268
  }
97
269
  export type log_visibility = { controllers: null } | { public: null };
98
270
  export interface _SERVICE {
271
+ /**
272
+ * Creates a canister using the cycles attached to the function call.
273
+ */
99
274
  create_canister: ActorMethod<[CreateCanisterArg], CreateCanisterResult>;
100
275
  get_build_metadata: ActorMethod<[], string>;
101
276
  get_default_subnets: ActorMethod<[], Array<Principal>>;
277
+ /**
278
+ * Returns the ICP/XDR conversion rate.
279
+ */
102
280
  get_icp_xdr_conversion_rate: ActorMethod<[], IcpXdrConversionRateResponse>;
281
+ /**
282
+ * Returns the mapping from principals to subnets in which they are authorized
283
+ * to create canisters.
284
+ */
103
285
  get_principals_authorized_to_create_canisters_to_subnets: ActorMethod<
104
286
  [],
105
287
  PrincipalsAuthorizedToCreateCanistersToSubnetsResponse
106
288
  >;
289
+ /**
290
+ * Returns the current mapping of subnet types to subnets.
291
+ */
107
292
  get_subnet_types_to_subnets: ActorMethod<[], SubnetTypesToSubnetsResponse>;
293
+ /**
294
+ * Prompts the cycles minting canister to process a payment for canister creation.
295
+ */
108
296
  notify_create_canister: ActorMethod<
109
297
  [NotifyCreateCanisterArg],
110
298
  NotifyCreateCanisterResult
111
299
  >;
300
+ /**
301
+ * Mints cycles and deposits them to the cycles ledger
302
+ */
112
303
  notify_mint_cycles: ActorMethod<
113
304
  [NotifyMintCyclesArg],
114
305
  NotifyMintCyclesResult
115
306
  >;
307
+ /**
308
+ * Prompts the cycles minting canister to process a payment by converting ICP
309
+ * into cycles and sending the cycles the specified canister.
310
+ */
116
311
  notify_top_up: ActorMethod<[NotifyTopUpArg], NotifyTopUpResult>;
117
312
  }
118
313
  export declare const idlFactory: IDL.InterfaceFactory;
@@ -1,4 +1,5 @@
1
- // Generated from IC repo commit 9173238 (2025-08-18 tags: release-2025-08-28_03-17-snapshot-feature) 'rs/nns/cmc/cmc.did' by import-candid
1
+ // Generated from IC repo commit 206b61a (2025-09-25 tags: release-2025-09-25_09-52-base) 'rs/nns/cmc/cmc.did' by import-candid
2
+
2
3
  type Cycles = nat;
3
4
  type BlockIndex = nat64;
4
5
  type log_visibility = variant {
@@ -1,2 +1,2 @@
1
- "use strict";var U=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var Q=Object.prototype.hasOwnProperty;var X=(t,n)=>{for(var e in n)U(t,e,{get:n[e],enumerable:!0})},J=(t,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of $(n))!Q.call(t,r)&&r!==e&&U(t,r,{get:()=>n[r],enumerable:!(o=q(n,r))||o.enumerable});return t};var B=t=>J(U({},"__esModule",{value:!0}),t);var j={};X(j,{CMCCanister:()=>f,CMCError:()=>_,InvalidaTransactionError:()=>l,ProcessingError:()=>d,RefundedError:()=>p,TransactionTooOldError:()=>u,throwNotifyError:()=>y});module.exports=B(j);var O=require("@dfinity/utils");var M=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,o=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),r=t.Record({subnet_type:t.Opt(t.Text)}),s=t.Variant({Filter:r,Subnet:t.Record({subnet:t.Principal})}),C=t.Variant({controllers:t.Null,public:t.Null}),a=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(C),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),m=t.Record({subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),N=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),g=t.Variant({Ok:t.Principal,Err:N}),b=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),x=t.Record({certificate:t.Vec(t.Nat8),data:b,hash_tree:t.Vec(t.Nat8)}),R=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),T=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),i=t.Nat64,P=t.Record({controller:t.Principal,block_index:i,subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),c=t.Variant({Refunded:t.Record({block_index:t.Opt(i),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:i}),h=t.Variant({Ok:t.Principal,Err:c}),S=t.Opt(t.Vec(t.Nat8)),V=t.Opt(t.Vec(t.Nat8)),v=t.Record({block_index:i,deposit_memo:S,to_subaccount:V}),E=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),w=t.Variant({Ok:E,Err:c}),F=t.Record({block_index:i,canister_id:t.Principal}),k=t.Nat,A=t.Variant({Ok:k,Err:c});return t.Service({create_canister:t.Func([m],[g],[]),get_build_metadata:t.Func([],[t.Text],[]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],[]),get_icp_xdr_conversion_rate:t.Func([],[x],[]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[R],[]),get_subnet_types_to_subnets:t.Func([],[T],[]),notify_create_canister:t.Func([P],[h],[]),notify_mint_cycles:t.Func([v],[w],[]),notify_top_up:t.Func([F],[A],[])})};var z=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,o=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),r=t.Record({subnet_type:t.Opt(t.Text)}),s=t.Variant({Filter:r,Subnet:t.Record({subnet:t.Principal})}),C=t.Variant({controllers:t.Null,public:t.Null}),a=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(C),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),m=t.Record({subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),N=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),g=t.Variant({Ok:t.Principal,Err:N}),b=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),x=t.Record({certificate:t.Vec(t.Nat8),data:b,hash_tree:t.Vec(t.Nat8)}),R=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),T=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),i=t.Nat64,P=t.Record({controller:t.Principal,block_index:i,subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),c=t.Variant({Refunded:t.Record({block_index:t.Opt(i),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:i}),h=t.Variant({Ok:t.Principal,Err:c}),S=t.Opt(t.Vec(t.Nat8)),V=t.Opt(t.Vec(t.Nat8)),v=t.Record({block_index:i,deposit_memo:S,to_subaccount:V}),E=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),w=t.Variant({Ok:E,Err:c}),F=t.Record({block_index:i,canister_id:t.Principal}),k=t.Nat,A=t.Variant({Ok:k,Err:c});return t.Service({create_canister:t.Func([m],[g],[]),get_build_metadata:t.Func([],[t.Text],["query"]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],["query"]),get_icp_xdr_conversion_rate:t.Func([],[x],["query"]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[R],["query"]),get_subnet_types_to_subnets:t.Func([],[T],["query"]),notify_create_canister:t.Func([P],[h],[]),notify_mint_cycles:t.Func([v],[w],[]),notify_top_up:t.Func([F],[A],[])})};var p=class extends Error{},l=class extends Error{},_=class extends Error{},d=class extends Error{},u=class extends Error{},y=({Err:t})=>{throw"Refunded"in t?new p(t.Refunded.reason):"InvalidTransaction"in t?new l(t.InvalidTransaction):"Processing"in t?new d:"TransactionTooOld"in t?new u:"Other"in t?new _(`Error in CMC with code ${t.Other.error_code}: ${t.Other.error_message}`):new Error(`Unsupported error type ${JSON.stringify(t)}`)};var f=class t extends O.Canister{static create(n){let{service:e,certifiedService:o,canisterId:r}=(0,O.createServices)({options:n,idlFactory:z,certifiedIdlFactory:M});return new t(r,e,o)}getIcpToCyclesConversionRate=async({certified:n}={})=>{let{data:e}=await this.caller({certified:n}).get_icp_xdr_conversion_rate();return e.xdr_permyriad_per_icp};notifyCreateCanister=async n=>{let e=await this.service.notify_create_canister(n);if("Err"in e&&y(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyCreateCanister ${JSON.stringify(e)}`)};notifyTopUp=async n=>{let e=await this.service.notify_top_up(n);if("Err"in e&&y(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyTopUp ${JSON.stringify(e)}`)};getDefaultSubnets=({certified:n}={})=>{let{get_default_subnets:e}=this.caller({certified:n});return e()};getSubnetTypesToSubnets=({certified:n}={})=>{let{get_subnet_types_to_subnets:e}=this.caller({certified:n});return e()}};0&&(module.exports={CMCCanister,CMCError,InvalidaTransactionError,ProcessingError,RefundedError,TransactionTooOldError,throwNotifyError});
1
+ "use strict";var M=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var J=(t,n)=>{for(var e in n)M(t,e,{get:n[e],enumerable:!0})},B=(t,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Q(n))!X.call(t,r)&&r!==e&&M(t,r,{get:()=>n[r],enumerable:!(o=$(n,r))||o.enumerable});return t};var j=t=>B(M({},"__esModule",{value:!0}),t);var G={};J(G,{CMCCanister:()=>O,CMCError:()=>_,InvalidaTransactionError:()=>l,ProcessingError:()=>d,RefundedError:()=>p,TransactionTooOldError:()=>u,throwNotifyError:()=>f});module.exports=j(G);var C=require("@dfinity/utils");var z=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,o=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),r=t.Record({subnet_type:t.Opt(t.Text)}),s=t.Variant({Filter:r,Subnet:t.Record({subnet:t.Principal})}),m=t.Variant({controllers:t.Null,public:t.Null}),a=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(m),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),N=t.Record({subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),g=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),b=t.Variant({Ok:t.Principal,Err:g}),x=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),R=t.Record({certificate:t.Vec(t.Nat8),data:x,hash_tree:t.Vec(t.Nat8)}),T=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),P=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),i=t.Nat64,h=t.Record({controller:t.Principal,block_index:i,subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),c=t.Variant({Refunded:t.Record({block_index:t.Opt(i),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:i}),S=t.Variant({Ok:t.Principal,Err:c}),V=t.Opt(t.Vec(t.Nat8)),v=t.Opt(t.Vec(t.Nat8)),E=t.Record({block_index:i,deposit_memo:V,to_subaccount:v}),F=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),w=t.Variant({Ok:F,Err:c}),k=t.Record({block_index:i,canister_id:t.Principal}),A=t.Nat,U=t.Variant({Ok:A,Err:c});return t.Service({create_canister:t.Func([N],[b],[]),get_build_metadata:t.Func([],[t.Text],[]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],[]),get_icp_xdr_conversion_rate:t.Func([],[R],[]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[T],[]),get_subnet_types_to_subnets:t.Func([],[P],[]),notify_create_canister:t.Func([h],[S],[]),notify_mint_cycles:t.Func([E],[w],[]),notify_top_up:t.Func([k],[U],[])})};var q=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,o=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),r=t.Record({subnet_type:t.Opt(t.Text)}),s=t.Variant({Filter:r,Subnet:t.Record({subnet:t.Principal})}),m=t.Variant({controllers:t.Null,public:t.Null}),a=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(m),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),N=t.Record({subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),g=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),b=t.Variant({Ok:t.Principal,Err:g}),x=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),R=t.Record({certificate:t.Vec(t.Nat8),data:x,hash_tree:t.Vec(t.Nat8)}),T=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),P=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),i=t.Nat64,h=t.Record({controller:t.Principal,block_index:i,subnet_selection:t.Opt(s),settings:t.Opt(a),subnet_type:t.Opt(t.Text)}),c=t.Variant({Refunded:t.Record({block_index:t.Opt(i),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:i}),S=t.Variant({Ok:t.Principal,Err:c}),V=t.Opt(t.Vec(t.Nat8)),v=t.Opt(t.Vec(t.Nat8)),E=t.Record({block_index:i,deposit_memo:V,to_subaccount:v}),F=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),w=t.Variant({Ok:F,Err:c}),k=t.Record({block_index:i,canister_id:t.Principal}),A=t.Nat,U=t.Variant({Ok:A,Err:c});return t.Service({create_canister:t.Func([N],[b],[]),get_build_metadata:t.Func([],[t.Text],["query"]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],["query"]),get_icp_xdr_conversion_rate:t.Func([],[R],["query"]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[T],["query"]),get_subnet_types_to_subnets:t.Func([],[P],["query"]),notify_create_canister:t.Func([h],[S],[]),notify_mint_cycles:t.Func([E],[w],[]),notify_top_up:t.Func([k],[U],[])})};var y=require("@dfinity/utils"),p=class extends Error{},l=class extends Error{},_=class extends Error{},d=class extends Error{},u=class extends Error{},f=({Err:t})=>{if("Refunded"in t)throw new p(t.Refunded.reason);if("InvalidTransaction"in t)throw new l(t.InvalidTransaction);if("Processing"in t)throw new d;if("TransactionTooOld"in t)throw new u;if("Other"in t)throw new _(`Error in CMC with code ${t.Other.error_code}: ${t.Other.error_message}`);(0,y.assertNever)(t,`Unsupported error type ${JSON.stringify(t,y.jsonReplacer)}`)};var O=class t extends C.Canister{static create(n){let{service:e,certifiedService:o,canisterId:r}=(0,C.createServices)({options:n,idlFactory:q,certifiedIdlFactory:z});return new t(r,e,o)}getIcpToCyclesConversionRate=async({certified:n}={})=>{let{data:e}=await this.caller({certified:n}).get_icp_xdr_conversion_rate();return e.xdr_permyriad_per_icp};notifyCreateCanister=async n=>{let e=await this.service.notify_create_canister(n);if("Err"in e&&f(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyCreateCanister ${JSON.stringify(e)}`)};notifyTopUp=async n=>{let e=await this.service.notify_top_up(n);if("Err"in e&&f(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyTopUp ${JSON.stringify(e)}`)};getDefaultSubnets=({certified:n}={})=>{let{get_default_subnets:e}=this.caller({certified:n});return e()};getSubnetTypesToSubnets=({certified:n}={})=>{let{get_subnet_types_to_subnets:e}=this.caller({certified:n});return e()}};0&&(module.exports={CMCCanister,CMCError,InvalidaTransactionError,ProcessingError,RefundedError,TransactionTooOldError,throwNotifyError});
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts", "../../src/cmc.canister.ts", "../../candid/cmc.certified.idl.js", "../../candid/cmc.idl.js", "../../src/cmc.errors.ts"],
4
- "sourcesContent": ["export type {\n Cycles,\n NotifyCreateCanisterArg,\n NotifyTopUpArg,\n SubnetTypesToSubnetsResponse,\n} from \"../candid/cmc\";\nexport { CMCCanister } from \"./cmc.canister\";\nexport * from \"./cmc.errors\";\n", "import type { Principal } from \"@dfinity/principal\";\nimport { Canister, createServices, type QueryParams } from \"@dfinity/utils\";\nimport type {\n _SERVICE as CMCCanisterService,\n Cycles,\n NotifyCreateCanisterArg,\n NotifyTopUpArg,\n SubnetTypesToSubnetsResponse,\n} from \"../candid/cmc\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/cmc.certified.idl\";\nimport { idlFactory } from \"../candid/cmc.idl\";\nimport { throwNotifyError } from \"./cmc.errors\";\nimport type { CMCCanisterOptions } from \"./cmc.options\";\n\nexport class CMCCanister extends Canister<CMCCanisterService> {\n static create(options: CMCCanisterOptions): CMCCanister {\n const { service, certifiedService, canisterId } =\n createServices<CMCCanisterService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new CMCCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Returns conversion rate of ICP to Cycles. It can be called as query or update.\n *\n * @param {Object} [params] - The parameters for the call.\n * @param {boolean} [params.certified] - Determines whether the response should be certified (default: non-certified)\n *\n * @returns Promise<BigInt>\n */\n public getIcpToCyclesConversionRate = async ({\n certified,\n }: QueryParams = {}): Promise<bigint> => {\n const { data } = await this.caller({\n certified,\n }).get_icp_xdr_conversion_rate();\n\n // TODO: validate the certificate in the response - https://dfinity.atlassian.net/browse/GIX-150\n // Example: https://github.com/dfinity/response-verification/tree/main/examples/certification/certified-counter\n return data.xdr_permyriad_per_icp;\n };\n\n /**\n * Notifies Cycles Minting Canister of the creation of a new canister.\n * It returns the new canister principal.\n *\n * @param {Object} request\n * @param {Principal} request.controller\n * @param {BlockIndex} request.block_index\n * @returns Promise<Principal>\n * @throws RefundedError, InvalidaTransactionError, ProcessingError, TransactionTooOldError, CMCError\n */\n public notifyCreateCanister = async (\n request: NotifyCreateCanisterArg,\n ): Promise<Principal> => {\n const response = await this.service.notify_create_canister(request);\n if (\"Err\" in response) {\n throwNotifyError(response);\n }\n if (\"Ok\" in response) {\n return response.Ok;\n }\n // Edge case\n throw new Error(\n `Unsupported response type in notifyCreateCanister ${JSON.stringify(\n response,\n )}`,\n );\n };\n\n /**\n * Notifies Cycles Minting Canister of new cycles being added to canister.\n * It returns the new Cycles of the canister.\n *\n * @param {Object} request\n * @param {Principal} request.canister_id\n * @param {BlockIndex} request.block_index\n * @returns Promise<Cycles>\n * @throws RefundedError, InvalidaTransactionError, ProcessingError, TransactionTooOldError, CMCError\n */\n public notifyTopUp = async (request: NotifyTopUpArg): Promise<Cycles> => {\n const response = await this.service.notify_top_up(request);\n if (\"Err\" in response) {\n throwNotifyError(response);\n }\n if (\"Ok\" in response) {\n return response.Ok;\n }\n // Edge case\n throw new Error(\n `Unsupported response type in notifyTopUp ${JSON.stringify(response)}`,\n );\n };\n\n /**\n * This function calls the `get_default_subnets` method of the CMC canister, which returns a list of\n * default subnets as `Principal` objects. It can be called as query or update.\n *\n * @param {Object} [params] - The query parameters for the call.\n * @param {boolean} [params.certified] - Determines whether the response should be certified\n * (default: non-certified if not specified).\n *\n * @returns {Promise<Principal[]>} - A promise that resolves to an array of `Principal` objects\n * representing the default subnets.\n */\n public getDefaultSubnets = ({ certified }: QueryParams = {}): Promise<\n Principal[]\n > => {\n const { get_default_subnets } = this.caller({ certified });\n return get_default_subnets();\n };\n\n /**\n * This function calls the `get_subnet_types_to_subnets` method of the CMC canister, which returns a list of subnets where canisters can be created.\n * These subnets are excluded from the random subnet selection process used by the CMC when no explicit subnet ID is provided\n * during canister creation and therefore, not provided in the results of the similar function `get_default_subnets`.\n *\n * @param {Object} [params] - The optional query parameters for the call.\n * @param {boolean} [params.certified=false] - Specifies whether the response should be certified.\n * If not provided, the response defaults to non-certified.\n *\n * @returns {Promise<SubnetTypesToSubnetsResponse>} - A promise that resolves to an object representing\n * the mapping of subnet types to subnets.\n */\n public getSubnetTypesToSubnets = ({\n certified,\n }: QueryParams = {}): Promise<SubnetTypesToSubnetsResponse> => {\n const { get_subnet_types_to_subnets } = this.caller({ certified });\n return get_subnet_types_to_subnets();\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/cmc/candid/cmc.did */\nexport const idlFactory = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SubnetFilter = IDL.Record({ 'subnet_type' : IDL.Opt(IDL.Text) });\n const SubnetSelection = IDL.Variant({\n 'Filter' : SubnetFilter,\n 'Subnet' : IDL.Record({ 'subnet' : IDL.Principal }),\n });\n const log_visibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n });\n const CanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Opt(IDL.Vec(IDL.Principal)),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(log_visibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(IDL.Nat),\n });\n const CreateCanisterArg = IDL.Record({\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const CreateCanisterError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'create_error' : IDL.Text,\n 'refund_amount' : IDL.Nat,\n }),\n });\n const CreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : CreateCanisterError,\n });\n const IcpXdrConversionRate = IDL.Record({\n 'xdr_permyriad_per_icp' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const IcpXdrConversionRateResponse = IDL.Record({\n 'certificate' : IDL.Vec(IDL.Nat8),\n 'data' : IcpXdrConversionRate,\n 'hash_tree' : IDL.Vec(IDL.Nat8),\n });\n const PrincipalsAuthorizedToCreateCanistersToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Vec(IDL.Principal))),\n });\n const SubnetTypesToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Principal))),\n });\n const BlockIndex = IDL.Nat64;\n const NotifyCreateCanisterArg = IDL.Record({\n 'controller' : IDL.Principal,\n 'block_index' : BlockIndex,\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const NotifyError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'block_index' : IDL.Opt(BlockIndex),\n 'reason' : IDL.Text,\n }),\n 'InvalidTransaction' : IDL.Text,\n 'Other' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'Processing' : IDL.Null,\n 'TransactionTooOld' : BlockIndex,\n });\n const NotifyCreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : NotifyError,\n });\n const Memo = IDL.Opt(IDL.Vec(IDL.Nat8));\n const Subaccount = IDL.Opt(IDL.Vec(IDL.Nat8));\n const NotifyMintCyclesArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'deposit_memo' : Memo,\n 'to_subaccount' : Subaccount,\n });\n const NotifyMintCyclesSuccess = IDL.Record({\n 'balance' : IDL.Nat,\n 'block_index' : IDL.Nat,\n 'minted' : IDL.Nat,\n });\n const NotifyMintCyclesResult = IDL.Variant({\n 'Ok' : NotifyMintCyclesSuccess,\n 'Err' : NotifyError,\n });\n const NotifyTopUpArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'canister_id' : IDL.Principal,\n });\n const Cycles = IDL.Nat;\n const NotifyTopUpResult = IDL.Variant({ 'Ok' : Cycles, 'Err' : NotifyError });\n return IDL.Service({\n 'create_canister' : IDL.Func(\n [CreateCanisterArg],\n [CreateCanisterResult],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_default_subnets' : IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n 'get_icp_xdr_conversion_rate' : IDL.Func(\n [],\n [IcpXdrConversionRateResponse],\n [],\n ),\n 'get_principals_authorized_to_create_canisters_to_subnets' : IDL.Func(\n [],\n [PrincipalsAuthorizedToCreateCanistersToSubnetsResponse],\n [],\n ),\n 'get_subnet_types_to_subnets' : IDL.Func(\n [],\n [SubnetTypesToSubnetsResponse],\n [],\n ),\n 'notify_create_canister' : IDL.Func(\n [NotifyCreateCanisterArg],\n [NotifyCreateCanisterResult],\n [],\n ),\n 'notify_mint_cycles' : IDL.Func(\n [NotifyMintCyclesArg],\n [NotifyMintCyclesResult],\n [],\n ),\n 'notify_top_up' : IDL.Func([NotifyTopUpArg], [NotifyTopUpResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [IDL.Opt(CyclesCanisterInitPayload)];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/cmc/candid/cmc.did */\nexport const idlFactory = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SubnetFilter = IDL.Record({ 'subnet_type' : IDL.Opt(IDL.Text) });\n const SubnetSelection = IDL.Variant({\n 'Filter' : SubnetFilter,\n 'Subnet' : IDL.Record({ 'subnet' : IDL.Principal }),\n });\n const log_visibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n });\n const CanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Opt(IDL.Vec(IDL.Principal)),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(log_visibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(IDL.Nat),\n });\n const CreateCanisterArg = IDL.Record({\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const CreateCanisterError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'create_error' : IDL.Text,\n 'refund_amount' : IDL.Nat,\n }),\n });\n const CreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : CreateCanisterError,\n });\n const IcpXdrConversionRate = IDL.Record({\n 'xdr_permyriad_per_icp' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const IcpXdrConversionRateResponse = IDL.Record({\n 'certificate' : IDL.Vec(IDL.Nat8),\n 'data' : IcpXdrConversionRate,\n 'hash_tree' : IDL.Vec(IDL.Nat8),\n });\n const PrincipalsAuthorizedToCreateCanistersToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Vec(IDL.Principal))),\n });\n const SubnetTypesToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Principal))),\n });\n const BlockIndex = IDL.Nat64;\n const NotifyCreateCanisterArg = IDL.Record({\n 'controller' : IDL.Principal,\n 'block_index' : BlockIndex,\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const NotifyError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'block_index' : IDL.Opt(BlockIndex),\n 'reason' : IDL.Text,\n }),\n 'InvalidTransaction' : IDL.Text,\n 'Other' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'Processing' : IDL.Null,\n 'TransactionTooOld' : BlockIndex,\n });\n const NotifyCreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : NotifyError,\n });\n const Memo = IDL.Opt(IDL.Vec(IDL.Nat8));\n const Subaccount = IDL.Opt(IDL.Vec(IDL.Nat8));\n const NotifyMintCyclesArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'deposit_memo' : Memo,\n 'to_subaccount' : Subaccount,\n });\n const NotifyMintCyclesSuccess = IDL.Record({\n 'balance' : IDL.Nat,\n 'block_index' : IDL.Nat,\n 'minted' : IDL.Nat,\n });\n const NotifyMintCyclesResult = IDL.Variant({\n 'Ok' : NotifyMintCyclesSuccess,\n 'Err' : NotifyError,\n });\n const NotifyTopUpArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'canister_id' : IDL.Principal,\n });\n const Cycles = IDL.Nat;\n const NotifyTopUpResult = IDL.Variant({ 'Ok' : Cycles, 'Err' : NotifyError });\n return IDL.Service({\n 'create_canister' : IDL.Func(\n [CreateCanisterArg],\n [CreateCanisterResult],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_default_subnets' : IDL.Func([], [IDL.Vec(IDL.Principal)], ['query']),\n 'get_icp_xdr_conversion_rate' : IDL.Func(\n [],\n [IcpXdrConversionRateResponse],\n ['query'],\n ),\n 'get_principals_authorized_to_create_canisters_to_subnets' : IDL.Func(\n [],\n [PrincipalsAuthorizedToCreateCanistersToSubnetsResponse],\n ['query'],\n ),\n 'get_subnet_types_to_subnets' : IDL.Func(\n [],\n [SubnetTypesToSubnetsResponse],\n ['query'],\n ),\n 'notify_create_canister' : IDL.Func(\n [NotifyCreateCanisterArg],\n [NotifyCreateCanisterResult],\n [],\n ),\n 'notify_mint_cycles' : IDL.Func(\n [NotifyMintCyclesArg],\n [NotifyMintCyclesResult],\n [],\n ),\n 'notify_top_up' : IDL.Func([NotifyTopUpArg], [NotifyTopUpResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [IDL.Opt(CyclesCanisterInitPayload)];\n};\n", "import type { NotifyError } from \"../candid/cmc\";\n\nexport class RefundedError extends Error {}\nexport class InvalidaTransactionError extends Error {}\nexport class CMCError extends Error {}\nexport class ProcessingError extends Error {}\nexport class TransactionTooOldError extends Error {}\n\n// Throws one of the errors above\nexport const throwNotifyError = ({\n Err: error,\n}: {\n Err: NotifyError;\n}): void => {\n if (\"Refunded\" in error) {\n throw new RefundedError(error.Refunded.reason);\n }\n if (\"InvalidTransaction\" in error) {\n throw new InvalidaTransactionError(error.InvalidTransaction);\n }\n if (\"Processing\" in error) {\n throw new ProcessingError();\n }\n if (\"TransactionTooOld\" in error) {\n throw new TransactionTooOldError();\n }\n if (\"Other\" in error) {\n throw new CMCError(\n `Error in CMC with code ${error.Other.error_code}: ${error.Other.error_message}`,\n );\n }\n // Edge case\n throw new Error(`Unsupported error type ${JSON.stringify(error)}`);\n};\n"],
5
- "mappings": "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",
6
- "names": ["index_exports", "__export", "CMCCanister", "CMCError", "InvalidaTransactionError", "ProcessingError", "RefundedError", "TransactionTooOldError", "throwNotifyError", "__toCommonJS", "import_utils", "idlFactory", "IDL", "ExchangeRateCanister", "AccountIdentifier", "CyclesCanisterInitPayload", "SubnetFilter", "SubnetSelection", "log_visibility", "CanisterSettings", "CreateCanisterArg", "CreateCanisterError", "CreateCanisterResult", "IcpXdrConversionRate", "IcpXdrConversionRateResponse", "PrincipalsAuthorizedToCreateCanistersToSubnetsResponse", "SubnetTypesToSubnetsResponse", "BlockIndex", "NotifyCreateCanisterArg", "NotifyError", "NotifyCreateCanisterResult", "Memo", "Subaccount", "NotifyMintCyclesArg", "NotifyMintCyclesSuccess", "NotifyMintCyclesResult", "NotifyTopUpArg", "Cycles", "NotifyTopUpResult", "idlFactory", "IDL", "ExchangeRateCanister", "AccountIdentifier", "CyclesCanisterInitPayload", "SubnetFilter", "SubnetSelection", "log_visibility", "CanisterSettings", "CreateCanisterArg", "CreateCanisterError", "CreateCanisterResult", "IcpXdrConversionRate", "IcpXdrConversionRateResponse", "PrincipalsAuthorizedToCreateCanistersToSubnetsResponse", "SubnetTypesToSubnetsResponse", "BlockIndex", "NotifyCreateCanisterArg", "NotifyError", "NotifyCreateCanisterResult", "Memo", "Subaccount", "NotifyMintCyclesArg", "NotifyMintCyclesSuccess", "NotifyMintCyclesResult", "NotifyTopUpArg", "Cycles", "NotifyTopUpResult", "RefundedError", "InvalidaTransactionError", "CMCError", "ProcessingError", "TransactionTooOldError", "throwNotifyError", "error", "CMCCanister", "_CMCCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "certified", "data", "request", "response", "throwNotifyError", "get_default_subnets", "get_subnet_types_to_subnets"]
4
+ "sourcesContent": ["export type {\n Cycles,\n NotifyCreateCanisterArg,\n NotifyTopUpArg,\n SubnetTypesToSubnetsResponse,\n} from \"../candid/cmc\";\nexport { CMCCanister } from \"./cmc.canister\";\nexport * from \"./cmc.errors\";\n", "import type { Principal } from \"@dfinity/principal\";\nimport { Canister, createServices, type QueryParams } from \"@dfinity/utils\";\nimport type {\n _SERVICE as CMCCanisterService,\n Cycles,\n NotifyCreateCanisterArg,\n NotifyTopUpArg,\n SubnetTypesToSubnetsResponse,\n} from \"../candid/cmc\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/cmc.certified.idl\";\nimport { idlFactory } from \"../candid/cmc.idl\";\nimport { throwNotifyError } from \"./cmc.errors\";\nimport type { CMCCanisterOptions } from \"./cmc.options\";\n\nexport class CMCCanister extends Canister<CMCCanisterService> {\n static create(options: CMCCanisterOptions): CMCCanister {\n const { service, certifiedService, canisterId } =\n createServices<CMCCanisterService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new CMCCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Returns conversion rate of ICP to Cycles. It can be called as query or update.\n *\n * @param {Object} [params] - The parameters for the call.\n * @param {boolean} [params.certified] - Determines whether the response should be certified (default: non-certified)\n *\n * @returns Promise<BigInt>\n */\n public getIcpToCyclesConversionRate = async ({\n certified,\n }: QueryParams = {}): Promise<bigint> => {\n const { data } = await this.caller({\n certified,\n }).get_icp_xdr_conversion_rate();\n\n // TODO: validate the certificate in the response - https://dfinity.atlassian.net/browse/GIX-150\n // Example: https://github.com/dfinity/response-verification/tree/main/examples/certification/certified-counter\n return data.xdr_permyriad_per_icp;\n };\n\n /**\n * Notifies Cycles Minting Canister of the creation of a new canister.\n * It returns the new canister principal.\n *\n * @param {Object} request\n * @param {Principal} request.controller\n * @param {BlockIndex} request.block_index\n * @returns Promise<Principal>\n * @throws RefundedError, InvalidaTransactionError, ProcessingError, TransactionTooOldError, CMCError\n */\n public notifyCreateCanister = async (\n request: NotifyCreateCanisterArg,\n ): Promise<Principal> => {\n const response = await this.service.notify_create_canister(request);\n if (\"Err\" in response) {\n throwNotifyError(response);\n }\n if (\"Ok\" in response) {\n return response.Ok;\n }\n // Edge case\n throw new Error(\n `Unsupported response type in notifyCreateCanister ${JSON.stringify(\n response,\n )}`,\n );\n };\n\n /**\n * Notifies Cycles Minting Canister of new cycles being added to canister.\n * It returns the new Cycles of the canister.\n *\n * @param {Object} request\n * @param {Principal} request.canister_id\n * @param {BlockIndex} request.block_index\n * @returns Promise<Cycles>\n * @throws RefundedError, InvalidaTransactionError, ProcessingError, TransactionTooOldError, CMCError\n */\n public notifyTopUp = async (request: NotifyTopUpArg): Promise<Cycles> => {\n const response = await this.service.notify_top_up(request);\n if (\"Err\" in response) {\n throwNotifyError(response);\n }\n if (\"Ok\" in response) {\n return response.Ok;\n }\n // Edge case\n throw new Error(\n `Unsupported response type in notifyTopUp ${JSON.stringify(response)}`,\n );\n };\n\n /**\n * This function calls the `get_default_subnets` method of the CMC canister, which returns a list of\n * default subnets as `Principal` objects. It can be called as query or update.\n *\n * @param {Object} [params] - The query parameters for the call.\n * @param {boolean} [params.certified] - Determines whether the response should be certified\n * (default: non-certified if not specified).\n *\n * @returns {Promise<Principal[]>} - A promise that resolves to an array of `Principal` objects\n * representing the default subnets.\n */\n public getDefaultSubnets = ({ certified }: QueryParams = {}): Promise<\n Principal[]\n > => {\n const { get_default_subnets } = this.caller({ certified });\n return get_default_subnets();\n };\n\n /**\n * This function calls the `get_subnet_types_to_subnets` method of the CMC canister, which returns a list of subnets where canisters can be created.\n * These subnets are excluded from the random subnet selection process used by the CMC when no explicit subnet ID is provided\n * during canister creation and therefore, not provided in the results of the similar function `get_default_subnets`.\n *\n * @param {Object} [params] - The optional query parameters for the call.\n * @param {boolean} [params.certified=false] - Specifies whether the response should be certified.\n * If not provided, the response defaults to non-certified.\n *\n * @returns {Promise<SubnetTypesToSubnetsResponse>} - A promise that resolves to an object representing\n * the mapping of subnet types to subnets.\n */\n public getSubnetTypesToSubnets = ({\n certified,\n }: QueryParams = {}): Promise<SubnetTypesToSubnetsResponse> => {\n const { get_subnet_types_to_subnets } = this.caller({ certified });\n return get_subnet_types_to_subnets();\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/cmc/candid/cmc.did */\nexport const idlFactory = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SubnetFilter = IDL.Record({ 'subnet_type' : IDL.Opt(IDL.Text) });\n const SubnetSelection = IDL.Variant({\n 'Filter' : SubnetFilter,\n 'Subnet' : IDL.Record({ 'subnet' : IDL.Principal }),\n });\n const log_visibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n });\n const CanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Opt(IDL.Vec(IDL.Principal)),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(log_visibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(IDL.Nat),\n });\n const CreateCanisterArg = IDL.Record({\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const CreateCanisterError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'create_error' : IDL.Text,\n 'refund_amount' : IDL.Nat,\n }),\n });\n const CreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : CreateCanisterError,\n });\n const IcpXdrConversionRate = IDL.Record({\n 'xdr_permyriad_per_icp' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const IcpXdrConversionRateResponse = IDL.Record({\n 'certificate' : IDL.Vec(IDL.Nat8),\n 'data' : IcpXdrConversionRate,\n 'hash_tree' : IDL.Vec(IDL.Nat8),\n });\n const PrincipalsAuthorizedToCreateCanistersToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Vec(IDL.Principal))),\n });\n const SubnetTypesToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Principal))),\n });\n const BlockIndex = IDL.Nat64;\n const NotifyCreateCanisterArg = IDL.Record({\n 'controller' : IDL.Principal,\n 'block_index' : BlockIndex,\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const NotifyError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'block_index' : IDL.Opt(BlockIndex),\n 'reason' : IDL.Text,\n }),\n 'InvalidTransaction' : IDL.Text,\n 'Other' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'Processing' : IDL.Null,\n 'TransactionTooOld' : BlockIndex,\n });\n const NotifyCreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : NotifyError,\n });\n const Memo = IDL.Opt(IDL.Vec(IDL.Nat8));\n const Subaccount = IDL.Opt(IDL.Vec(IDL.Nat8));\n const NotifyMintCyclesArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'deposit_memo' : Memo,\n 'to_subaccount' : Subaccount,\n });\n const NotifyMintCyclesSuccess = IDL.Record({\n 'balance' : IDL.Nat,\n 'block_index' : IDL.Nat,\n 'minted' : IDL.Nat,\n });\n const NotifyMintCyclesResult = IDL.Variant({\n 'Ok' : NotifyMintCyclesSuccess,\n 'Err' : NotifyError,\n });\n const NotifyTopUpArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'canister_id' : IDL.Principal,\n });\n const Cycles = IDL.Nat;\n const NotifyTopUpResult = IDL.Variant({ 'Ok' : Cycles, 'Err' : NotifyError });\n return IDL.Service({\n 'create_canister' : IDL.Func(\n [CreateCanisterArg],\n [CreateCanisterResult],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], []),\n 'get_default_subnets' : IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n 'get_icp_xdr_conversion_rate' : IDL.Func(\n [],\n [IcpXdrConversionRateResponse],\n [],\n ),\n 'get_principals_authorized_to_create_canisters_to_subnets' : IDL.Func(\n [],\n [PrincipalsAuthorizedToCreateCanistersToSubnetsResponse],\n [],\n ),\n 'get_subnet_types_to_subnets' : IDL.Func(\n [],\n [SubnetTypesToSubnetsResponse],\n [],\n ),\n 'notify_create_canister' : IDL.Func(\n [NotifyCreateCanisterArg],\n [NotifyCreateCanisterResult],\n [],\n ),\n 'notify_mint_cycles' : IDL.Func(\n [NotifyMintCyclesArg],\n [NotifyMintCyclesResult],\n [],\n ),\n 'notify_top_up' : IDL.Func([NotifyTopUpArg], [NotifyTopUpResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [IDL.Opt(CyclesCanisterInitPayload)];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/cmc/candid/cmc.did */\nexport const idlFactory = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n const SubnetFilter = IDL.Record({ 'subnet_type' : IDL.Opt(IDL.Text) });\n const SubnetSelection = IDL.Variant({\n 'Filter' : SubnetFilter,\n 'Subnet' : IDL.Record({ 'subnet' : IDL.Principal }),\n });\n const log_visibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n });\n const CanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Opt(IDL.Nat),\n 'wasm_memory_threshold' : IDL.Opt(IDL.Nat),\n 'controllers' : IDL.Opt(IDL.Vec(IDL.Principal)),\n 'reserved_cycles_limit' : IDL.Opt(IDL.Nat),\n 'log_visibility' : IDL.Opt(log_visibility),\n 'wasm_memory_limit' : IDL.Opt(IDL.Nat),\n 'memory_allocation' : IDL.Opt(IDL.Nat),\n 'compute_allocation' : IDL.Opt(IDL.Nat),\n });\n const CreateCanisterArg = IDL.Record({\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const CreateCanisterError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'create_error' : IDL.Text,\n 'refund_amount' : IDL.Nat,\n }),\n });\n const CreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : CreateCanisterError,\n });\n const IcpXdrConversionRate = IDL.Record({\n 'xdr_permyriad_per_icp' : IDL.Nat64,\n 'timestamp_seconds' : IDL.Nat64,\n });\n const IcpXdrConversionRateResponse = IDL.Record({\n 'certificate' : IDL.Vec(IDL.Nat8),\n 'data' : IcpXdrConversionRate,\n 'hash_tree' : IDL.Vec(IDL.Nat8),\n });\n const PrincipalsAuthorizedToCreateCanistersToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Vec(IDL.Principal))),\n });\n const SubnetTypesToSubnetsResponse = IDL.Record({\n 'data' : IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Principal))),\n });\n const BlockIndex = IDL.Nat64;\n const NotifyCreateCanisterArg = IDL.Record({\n 'controller' : IDL.Principal,\n 'block_index' : BlockIndex,\n 'subnet_selection' : IDL.Opt(SubnetSelection),\n 'settings' : IDL.Opt(CanisterSettings),\n 'subnet_type' : IDL.Opt(IDL.Text),\n });\n const NotifyError = IDL.Variant({\n 'Refunded' : IDL.Record({\n 'block_index' : IDL.Opt(BlockIndex),\n 'reason' : IDL.Text,\n }),\n 'InvalidTransaction' : IDL.Text,\n 'Other' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'Processing' : IDL.Null,\n 'TransactionTooOld' : BlockIndex,\n });\n const NotifyCreateCanisterResult = IDL.Variant({\n 'Ok' : IDL.Principal,\n 'Err' : NotifyError,\n });\n const Memo = IDL.Opt(IDL.Vec(IDL.Nat8));\n const Subaccount = IDL.Opt(IDL.Vec(IDL.Nat8));\n const NotifyMintCyclesArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'deposit_memo' : Memo,\n 'to_subaccount' : Subaccount,\n });\n const NotifyMintCyclesSuccess = IDL.Record({\n 'balance' : IDL.Nat,\n 'block_index' : IDL.Nat,\n 'minted' : IDL.Nat,\n });\n const NotifyMintCyclesResult = IDL.Variant({\n 'Ok' : NotifyMintCyclesSuccess,\n 'Err' : NotifyError,\n });\n const NotifyTopUpArg = IDL.Record({\n 'block_index' : BlockIndex,\n 'canister_id' : IDL.Principal,\n });\n const Cycles = IDL.Nat;\n const NotifyTopUpResult = IDL.Variant({ 'Ok' : Cycles, 'Err' : NotifyError });\n return IDL.Service({\n 'create_canister' : IDL.Func(\n [CreateCanisterArg],\n [CreateCanisterResult],\n [],\n ),\n 'get_build_metadata' : IDL.Func([], [IDL.Text], ['query']),\n 'get_default_subnets' : IDL.Func([], [IDL.Vec(IDL.Principal)], ['query']),\n 'get_icp_xdr_conversion_rate' : IDL.Func(\n [],\n [IcpXdrConversionRateResponse],\n ['query'],\n ),\n 'get_principals_authorized_to_create_canisters_to_subnets' : IDL.Func(\n [],\n [PrincipalsAuthorizedToCreateCanistersToSubnetsResponse],\n ['query'],\n ),\n 'get_subnet_types_to_subnets' : IDL.Func(\n [],\n [SubnetTypesToSubnetsResponse],\n ['query'],\n ),\n 'notify_create_canister' : IDL.Func(\n [NotifyCreateCanisterArg],\n [NotifyCreateCanisterResult],\n [],\n ),\n 'notify_mint_cycles' : IDL.Func(\n [NotifyMintCyclesArg],\n [NotifyMintCyclesResult],\n [],\n ),\n 'notify_top_up' : IDL.Func([NotifyTopUpArg], [NotifyTopUpResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n const ExchangeRateCanister = IDL.Variant({\n 'Set' : IDL.Principal,\n 'Unset' : IDL.Null,\n });\n const AccountIdentifier = IDL.Text;\n const CyclesCanisterInitPayload = IDL.Record({\n 'exchange_rate_canister' : IDL.Opt(ExchangeRateCanister),\n 'cycles_ledger_canister_id' : IDL.Opt(IDL.Principal),\n 'last_purged_notification' : IDL.Opt(IDL.Nat64),\n 'governance_canister_id' : IDL.Opt(IDL.Principal),\n 'minting_account_id' : IDL.Opt(AccountIdentifier),\n 'ledger_canister_id' : IDL.Opt(IDL.Principal),\n });\n return [IDL.Opt(CyclesCanisterInitPayload)];\n};\n", "import { assertNever, jsonReplacer } from \"@dfinity/utils\";\nimport type { NotifyError } from \"../candid/cmc\";\n\nexport class RefundedError extends Error {}\nexport class InvalidaTransactionError extends Error {}\nexport class CMCError extends Error {}\nexport class ProcessingError extends Error {}\nexport class TransactionTooOldError extends Error {}\n\n// Throws one of the errors above\nexport const throwNotifyError = ({\n Err: error,\n}: {\n Err: NotifyError;\n}): void => {\n if (\"Refunded\" in error) {\n throw new RefundedError(error.Refunded.reason);\n }\n if (\"InvalidTransaction\" in error) {\n throw new InvalidaTransactionError(error.InvalidTransaction);\n }\n if (\"Processing\" in error) {\n throw new ProcessingError();\n }\n if (\"TransactionTooOld\" in error) {\n throw new TransactionTooOldError();\n }\n if (\"Other\" in error) {\n throw new CMCError(\n `Error in CMC with code ${error.Other.error_code}: ${error.Other.error_message}`,\n );\n }\n\n assertNever(\n error,\n `Unsupported error type ${JSON.stringify(error, jsonReplacer)}`,\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["index_exports", "__export", "CMCCanister", "CMCError", "InvalidaTransactionError", "ProcessingError", "RefundedError", "TransactionTooOldError", "throwNotifyError", "__toCommonJS", "import_utils", "idlFactory", "IDL", "ExchangeRateCanister", "AccountIdentifier", "CyclesCanisterInitPayload", "SubnetFilter", "SubnetSelection", "log_visibility", "CanisterSettings", "CreateCanisterArg", "CreateCanisterError", "CreateCanisterResult", "IcpXdrConversionRate", "IcpXdrConversionRateResponse", "PrincipalsAuthorizedToCreateCanistersToSubnetsResponse", "SubnetTypesToSubnetsResponse", "BlockIndex", "NotifyCreateCanisterArg", "NotifyError", "NotifyCreateCanisterResult", "Memo", "Subaccount", "NotifyMintCyclesArg", "NotifyMintCyclesSuccess", "NotifyMintCyclesResult", "NotifyTopUpArg", "Cycles", "NotifyTopUpResult", "idlFactory", "IDL", "ExchangeRateCanister", "AccountIdentifier", "CyclesCanisterInitPayload", "SubnetFilter", "SubnetSelection", "log_visibility", "CanisterSettings", "CreateCanisterArg", "CreateCanisterError", "CreateCanisterResult", "IcpXdrConversionRate", "IcpXdrConversionRateResponse", "PrincipalsAuthorizedToCreateCanistersToSubnetsResponse", "SubnetTypesToSubnetsResponse", "BlockIndex", "NotifyCreateCanisterArg", "NotifyError", "NotifyCreateCanisterResult", "Memo", "Subaccount", "NotifyMintCyclesArg", "NotifyMintCyclesSuccess", "NotifyMintCyclesResult", "NotifyTopUpArg", "Cycles", "NotifyTopUpResult", "import_utils", "RefundedError", "InvalidaTransactionError", "CMCError", "ProcessingError", "TransactionTooOldError", "throwNotifyError", "error", "CMCCanister", "_CMCCanister", "options", "service", "certifiedService", "canisterId", "idlFactory", "certified", "data", "request", "response", "throwNotifyError", "get_default_subnets", "get_subnet_types_to_subnets"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{f as V}from"./chunk-XRC5EOJ2.js";import{Canister as k,createServices as E}from"@dfinity/utils";var h=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,s=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),c=t.Record({subnet_type:t.Opt(t.Text)}),a=t.Variant({Filter:c,Subnet:t.Record({subnet:t.Principal})}),p=t.Variant({controllers:t.Null,public:t.Null}),o=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(p),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),l=t.Record({subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),_=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),d=t.Variant({Ok:t.Principal,Err:_}),u=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),y=t.Record({certificate:t.Vec(t.Nat8),data:u,hash_tree:t.Vec(t.Nat8)}),O=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),C=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),r=t.Nat64,g=t.Record({controller:t.Principal,block_index:r,subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),i=t.Variant({Refunded:t.Record({block_index:t.Opt(r),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:r}),N=t.Variant({Ok:t.Principal,Err:i}),m=t.Opt(t.Vec(t.Nat8)),b=t.Opt(t.Vec(t.Nat8)),f=t.Record({block_index:r,deposit_memo:m,to_subaccount:b}),R=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),P=t.Variant({Ok:R,Err:i}),T=t.Record({block_index:r,canister_id:t.Principal}),x=t.Nat,S=t.Variant({Ok:x,Err:i});return t.Service({create_canister:t.Func([l],[d],[]),get_build_metadata:t.Func([],[t.Text],[]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],[]),get_icp_xdr_conversion_rate:t.Func([],[y],[]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[O],[]),get_subnet_types_to_subnets:t.Func([],[C],[]),notify_create_canister:t.Func([g],[N],[]),notify_mint_cycles:t.Func([f],[P],[]),notify_top_up:t.Func([T],[S],[])})};var v=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,s=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),c=t.Record({subnet_type:t.Opt(t.Text)}),a=t.Variant({Filter:c,Subnet:t.Record({subnet:t.Principal})}),p=t.Variant({controllers:t.Null,public:t.Null}),o=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(p),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),l=t.Record({subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),_=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),d=t.Variant({Ok:t.Principal,Err:_}),u=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),y=t.Record({certificate:t.Vec(t.Nat8),data:u,hash_tree:t.Vec(t.Nat8)}),O=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),C=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),r=t.Nat64,g=t.Record({controller:t.Principal,block_index:r,subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),i=t.Variant({Refunded:t.Record({block_index:t.Opt(r),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:r}),N=t.Variant({Ok:t.Principal,Err:i}),m=t.Opt(t.Vec(t.Nat8)),b=t.Opt(t.Vec(t.Nat8)),f=t.Record({block_index:r,deposit_memo:m,to_subaccount:b}),R=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),P=t.Variant({Ok:R,Err:i}),T=t.Record({block_index:r,canister_id:t.Principal}),x=t.Nat,S=t.Variant({Ok:x,Err:i});return t.Service({create_canister:t.Func([l],[d],[]),get_build_metadata:t.Func([],[t.Text],["query"]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],["query"]),get_icp_xdr_conversion_rate:t.Func([],[y],["query"]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[O],["query"]),get_subnet_types_to_subnets:t.Func([],[C],["query"]),notify_create_canister:t.Func([g],[N],[]),notify_mint_cycles:t.Func([f],[P],[]),notify_top_up:t.Func([T],[S],[])})};var F=class t extends k{static create(n){let{service:e,certifiedService:s,canisterId:c}=E({options:n,idlFactory:v,certifiedIdlFactory:h});return new t(c,e,s)}getIcpToCyclesConversionRate=async({certified:n}={})=>{let{data:e}=await this.caller({certified:n}).get_icp_xdr_conversion_rate();return e.xdr_permyriad_per_icp};notifyCreateCanister=async n=>{let e=await this.service.notify_create_canister(n);if("Err"in e&&V(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyCreateCanister ${JSON.stringify(e)}`)};notifyTopUp=async n=>{let e=await this.service.notify_top_up(n);if("Err"in e&&V(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyTopUp ${JSON.stringify(e)}`)};getDefaultSubnets=({certified:n}={})=>{let{get_default_subnets:e}=this.caller({certified:n});return e()};getSubnetTypesToSubnets=({certified:n}={})=>{let{get_subnet_types_to_subnets:e}=this.caller({certified:n});return e()}};export{F as a};
2
- //# sourceMappingURL=chunk-M3I4Q7DT.js.map
1
+ import{f as V}from"./chunk-G7V22BZT.js";import{Canister as k,createServices as E}from"@dfinity/utils";var h=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,s=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),c=t.Record({subnet_type:t.Opt(t.Text)}),a=t.Variant({Filter:c,Subnet:t.Record({subnet:t.Principal})}),p=t.Variant({controllers:t.Null,public:t.Null}),o=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(p),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),l=t.Record({subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),_=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),d=t.Variant({Ok:t.Principal,Err:_}),u=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),y=t.Record({certificate:t.Vec(t.Nat8),data:u,hash_tree:t.Vec(t.Nat8)}),O=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),C=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),r=t.Nat64,g=t.Record({controller:t.Principal,block_index:r,subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),i=t.Variant({Refunded:t.Record({block_index:t.Opt(r),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:r}),N=t.Variant({Ok:t.Principal,Err:i}),m=t.Opt(t.Vec(t.Nat8)),b=t.Opt(t.Vec(t.Nat8)),f=t.Record({block_index:r,deposit_memo:m,to_subaccount:b}),R=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),P=t.Variant({Ok:R,Err:i}),T=t.Record({block_index:r,canister_id:t.Principal}),x=t.Nat,S=t.Variant({Ok:x,Err:i});return t.Service({create_canister:t.Func([l],[d],[]),get_build_metadata:t.Func([],[t.Text],[]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],[]),get_icp_xdr_conversion_rate:t.Func([],[y],[]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[O],[]),get_subnet_types_to_subnets:t.Func([],[C],[]),notify_create_canister:t.Func([g],[N],[]),notify_mint_cycles:t.Func([f],[P],[]),notify_top_up:t.Func([T],[S],[])})};var v=({IDL:t})=>{let n=t.Variant({Set:t.Principal,Unset:t.Null}),e=t.Text,s=t.Record({exchange_rate_canister:t.Opt(n),cycles_ledger_canister_id:t.Opt(t.Principal),last_purged_notification:t.Opt(t.Nat64),governance_canister_id:t.Opt(t.Principal),minting_account_id:t.Opt(e),ledger_canister_id:t.Opt(t.Principal)}),c=t.Record({subnet_type:t.Opt(t.Text)}),a=t.Variant({Filter:c,Subnet:t.Record({subnet:t.Principal})}),p=t.Variant({controllers:t.Null,public:t.Null}),o=t.Record({freezing_threshold:t.Opt(t.Nat),wasm_memory_threshold:t.Opt(t.Nat),controllers:t.Opt(t.Vec(t.Principal)),reserved_cycles_limit:t.Opt(t.Nat),log_visibility:t.Opt(p),wasm_memory_limit:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),l=t.Record({subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),_=t.Variant({Refunded:t.Record({create_error:t.Text,refund_amount:t.Nat})}),d=t.Variant({Ok:t.Principal,Err:_}),u=t.Record({xdr_permyriad_per_icp:t.Nat64,timestamp_seconds:t.Nat64}),y=t.Record({certificate:t.Vec(t.Nat8),data:u,hash_tree:t.Vec(t.Nat8)}),O=t.Record({data:t.Vec(t.Tuple(t.Principal,t.Vec(t.Principal)))}),C=t.Record({data:t.Vec(t.Tuple(t.Text,t.Vec(t.Principal)))}),r=t.Nat64,g=t.Record({controller:t.Principal,block_index:r,subnet_selection:t.Opt(a),settings:t.Opt(o),subnet_type:t.Opt(t.Text)}),i=t.Variant({Refunded:t.Record({block_index:t.Opt(r),reason:t.Text}),InvalidTransaction:t.Text,Other:t.Record({error_message:t.Text,error_code:t.Nat64}),Processing:t.Null,TransactionTooOld:r}),N=t.Variant({Ok:t.Principal,Err:i}),m=t.Opt(t.Vec(t.Nat8)),b=t.Opt(t.Vec(t.Nat8)),f=t.Record({block_index:r,deposit_memo:m,to_subaccount:b}),R=t.Record({balance:t.Nat,block_index:t.Nat,minted:t.Nat}),P=t.Variant({Ok:R,Err:i}),T=t.Record({block_index:r,canister_id:t.Principal}),x=t.Nat,S=t.Variant({Ok:x,Err:i});return t.Service({create_canister:t.Func([l],[d],[]),get_build_metadata:t.Func([],[t.Text],["query"]),get_default_subnets:t.Func([],[t.Vec(t.Principal)],["query"]),get_icp_xdr_conversion_rate:t.Func([],[y],["query"]),get_principals_authorized_to_create_canisters_to_subnets:t.Func([],[O],["query"]),get_subnet_types_to_subnets:t.Func([],[C],["query"]),notify_create_canister:t.Func([g],[N],[]),notify_mint_cycles:t.Func([f],[P],[]),notify_top_up:t.Func([T],[S],[])})};var F=class t extends k{static create(n){let{service:e,certifiedService:s,canisterId:c}=E({options:n,idlFactory:v,certifiedIdlFactory:h});return new t(c,e,s)}getIcpToCyclesConversionRate=async({certified:n}={})=>{let{data:e}=await this.caller({certified:n}).get_icp_xdr_conversion_rate();return e.xdr_permyriad_per_icp};notifyCreateCanister=async n=>{let e=await this.service.notify_create_canister(n);if("Err"in e&&V(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyCreateCanister ${JSON.stringify(e)}`)};notifyTopUp=async n=>{let e=await this.service.notify_top_up(n);if("Err"in e&&V(e),"Ok"in e)return e.Ok;throw new Error(`Unsupported response type in notifyTopUp ${JSON.stringify(e)}`)};getDefaultSubnets=({certified:n}={})=>{let{get_default_subnets:e}=this.caller({certified:n});return e()};getSubnetTypesToSubnets=({certified:n}={})=>{let{get_subnet_types_to_subnets:e}=this.caller({certified:n});return e()}};export{F as a};
2
+ //# sourceMappingURL=chunk-DKQBKL44.js.map
@@ -0,0 +1,2 @@
1
+ import{assertNever as r,jsonReplacer as d}from"@dfinity/utils";var e=class extends Error{},n=class extends Error{},s=class extends Error{},o=class extends Error{},i=class extends Error{},p=({Err:t})=>{if("Refunded"in t)throw new e(t.Refunded.reason);if("InvalidTransaction"in t)throw new n(t.InvalidTransaction);if("Processing"in t)throw new o;if("TransactionTooOld"in t)throw new i;if("Other"in t)throw new s(`Error in CMC with code ${t.Other.error_code}: ${t.Other.error_message}`);r(t,`Unsupported error type ${JSON.stringify(t,d)}`)};export{e as a,n as b,s as c,o as d,i as e,p as f};
2
+ //# sourceMappingURL=chunk-G7V22BZT.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cmc.errors.ts"],
4
+ "sourcesContent": ["import { assertNever, jsonReplacer } from \"@dfinity/utils\";\nimport type { NotifyError } from \"../candid/cmc\";\n\nexport class RefundedError extends Error {}\nexport class InvalidaTransactionError extends Error {}\nexport class CMCError extends Error {}\nexport class ProcessingError extends Error {}\nexport class TransactionTooOldError extends Error {}\n\n// Throws one of the errors above\nexport const throwNotifyError = ({\n Err: error,\n}: {\n Err: NotifyError;\n}): void => {\n if (\"Refunded\" in error) {\n throw new RefundedError(error.Refunded.reason);\n }\n if (\"InvalidTransaction\" in error) {\n throw new InvalidaTransactionError(error.InvalidTransaction);\n }\n if (\"Processing\" in error) {\n throw new ProcessingError();\n }\n if (\"TransactionTooOld\" in error) {\n throw new TransactionTooOldError();\n }\n if (\"Other\" in error) {\n throw new CMCError(\n `Error in CMC with code ${error.Other.error_code}: ${error.Other.error_message}`,\n );\n }\n\n assertNever(\n error,\n `Unsupported error type ${JSON.stringify(error, jsonReplacer)}`,\n );\n};\n"],
5
+ "mappings": "AAAA,OAAS,eAAAA,EAAa,gBAAAC,MAAoB,iBAGnC,IAAMC,EAAN,cAA4B,KAAM,CAAC,EAC7BC,EAAN,cAAuC,KAAM,CAAC,EACxCC,EAAN,cAAuB,KAAM,CAAC,EACxBC,EAAN,cAA8B,KAAM,CAAC,EAC/BC,EAAN,cAAqC,KAAM,CAAC,EAGtCC,EAAmB,CAAC,CAC/B,IAAKC,CACP,IAEY,CACV,GAAI,aAAcA,EAChB,MAAM,IAAIN,EAAcM,EAAM,SAAS,MAAM,EAE/C,GAAI,uBAAwBA,EAC1B,MAAM,IAAIL,EAAyBK,EAAM,kBAAkB,EAE7D,GAAI,eAAgBA,EAClB,MAAM,IAAIH,EAEZ,GAAI,sBAAuBG,EACzB,MAAM,IAAIF,EAEZ,GAAI,UAAWE,EACb,MAAM,IAAIJ,EACR,0BAA0BI,EAAM,MAAM,UAAU,KAAKA,EAAM,MAAM,aAAa,EAChF,EAGFR,EACEQ,EACA,0BAA0B,KAAK,UAAUA,EAAOP,CAAY,CAAC,EAC/D,CACF",
6
+ "names": ["assertNever", "jsonReplacer", "RefundedError", "InvalidaTransactionError", "CMCError", "ProcessingError", "TransactionTooOldError", "throwNotifyError", "error"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-M3I4Q7DT.js";import"./chunk-XRC5EOJ2.js";export{a as CMCCanister};
1
+ import{a}from"./chunk-DKQBKL44.js";import"./chunk-G7V22BZT.js";export{a as CMCCanister};
2
2
  //# sourceMappingURL=cmc.canister.js.map
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f}from"./chunk-XRC5EOJ2.js";export{c as CMCError,b as InvalidaTransactionError,d as ProcessingError,a as RefundedError,e as TransactionTooOldError,f as throwNotifyError};
1
+ import{a,b,c,d,e,f}from"./chunk-G7V22BZT.js";export{c as CMCError,b as InvalidaTransactionError,d as ProcessingError,a as RefundedError,e as TransactionTooOldError,f as throwNotifyError};
2
2
  //# sourceMappingURL=cmc.errors.js.map
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-M3I4Q7DT.js";import{a as o,b as r,c as t,d as p,e as s,f as n}from"./chunk-XRC5EOJ2.js";export{e as CMCCanister,t as CMCError,r as InvalidaTransactionError,p as ProcessingError,o as RefundedError,s as TransactionTooOldError,n as throwNotifyError};
1
+ import{a as e}from"./chunk-DKQBKL44.js";import{a as o,b as r,c as t,d as p,e as s,f as n}from"./chunk-G7V22BZT.js";export{e as CMCCanister,t as CMCError,r as InvalidaTransactionError,p as ProcessingError,o as RefundedError,s as TransactionTooOldError,n as throwNotifyError};
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dfinity/cmc",
3
- "version": "6.0.1",
3
+ "version": "6.0.3-next-2025-10-04",
4
4
  "description": "A library for interfacing with the cycle minting canister.",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/cjs/index.cjs.js",
@@ -36,9 +36,9 @@
36
36
  ],
37
37
  "homepage": "https://github.com/dfinity/ic-js#readme",
38
38
  "peerDependencies": {
39
- "@dfinity/agent": "^3",
40
- "@dfinity/candid": "^3",
41
- "@dfinity/principal": "^3",
42
- "@dfinity/utils": "^3"
39
+ "@dfinity/agent": "*",
40
+ "@dfinity/candid": "*",
41
+ "@dfinity/principal": "*",
42
+ "@dfinity/utils": "*"
43
43
  }
44
- }
44
+ }
@@ -1,2 +0,0 @@
1
- var e=class extends Error{},n=class extends Error{},o=class extends Error{},r=class extends Error{},i=class extends Error{},s=({Err:t})=>{throw"Refunded"in t?new e(t.Refunded.reason):"InvalidTransaction"in t?new n(t.InvalidTransaction):"Processing"in t?new r:"TransactionTooOld"in t?new i:"Other"in t?new o(`Error in CMC with code ${t.Other.error_code}: ${t.Other.error_message}`):new Error(`Unsupported error type ${JSON.stringify(t)}`)};export{e as a,n as b,o as c,r as d,i as e,s as f};
2
- //# sourceMappingURL=chunk-XRC5EOJ2.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cmc.errors.ts"],
4
- "sourcesContent": ["import type { NotifyError } from \"../candid/cmc\";\n\nexport class RefundedError extends Error {}\nexport class InvalidaTransactionError extends Error {}\nexport class CMCError extends Error {}\nexport class ProcessingError extends Error {}\nexport class TransactionTooOldError extends Error {}\n\n// Throws one of the errors above\nexport const throwNotifyError = ({\n Err: error,\n}: {\n Err: NotifyError;\n}): void => {\n if (\"Refunded\" in error) {\n throw new RefundedError(error.Refunded.reason);\n }\n if (\"InvalidTransaction\" in error) {\n throw new InvalidaTransactionError(error.InvalidTransaction);\n }\n if (\"Processing\" in error) {\n throw new ProcessingError();\n }\n if (\"TransactionTooOld\" in error) {\n throw new TransactionTooOldError();\n }\n if (\"Other\" in error) {\n throw new CMCError(\n `Error in CMC with code ${error.Other.error_code}: ${error.Other.error_message}`,\n );\n }\n // Edge case\n throw new Error(`Unsupported error type ${JSON.stringify(error)}`);\n};\n"],
5
- "mappings": "AAEO,IAAMA,EAAN,cAA4B,KAAM,CAAC,EAC7BC,EAAN,cAAuC,KAAM,CAAC,EACxCC,EAAN,cAAuB,KAAM,CAAC,EACxBC,EAAN,cAA8B,KAAM,CAAC,EAC/BC,EAAN,cAAqC,KAAM,CAAC,EAGtCC,EAAmB,CAAC,CAC/B,IAAKC,CACP,IAEY,CACV,KAAI,aAAcA,EACV,IAAIN,EAAcM,EAAM,SAAS,MAAM,EAE3C,uBAAwBA,EACpB,IAAIL,EAAyBK,EAAM,kBAAkB,EAEzD,eAAgBA,EACZ,IAAIH,EAER,sBAAuBG,EACnB,IAAIF,EAER,UAAWE,EACP,IAAIJ,EACR,0BAA0BI,EAAM,MAAM,UAAU,KAAKA,EAAM,MAAM,aAAa,EAChF,EAGI,IAAI,MAAM,0BAA0B,KAAK,UAAUA,CAAK,CAAC,EAAE,CACnE",
6
- "names": ["RefundedError", "InvalidaTransactionError", "CMCError", "ProcessingError", "TransactionTooOldError", "throwNotifyError", "error"]
7
- }