@dfinity/ckbtc 6.0.1 → 7.0.0-next-2025-12-11
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.
- package/README.md +3 -3
- package/dist/index.d.ts +25 -13
- package/dist/index.js +1 -6
- package/dist/index.js.map +4 -4
- package/dist/index.mjs +1 -6
- package/dist/index.mjs.map +4 -4
- package/package.json +4 -10
- package/dist/bitcoin.canister.d.ts +0 -35
- package/dist/candid/bitcoin.certified.idl.d.ts +0 -2
- package/dist/candid/bitcoin.certified.idl.js +0 -177
- package/dist/candid/bitcoin.d.ts +0 -128
- package/dist/candid/bitcoin.did +0 -149
- package/dist/candid/bitcoin.idl.d.ts +0 -2
- package/dist/candid/bitcoin.idl.js +0 -181
- package/dist/candid/minter.certified.idl.d.ts +0 -2
- package/dist/candid/minter.certified.idl.js +0 -474
- package/dist/candid/minter.d.ts +0 -843
- package/dist/candid/minter.did +0 -602
- package/dist/candid/minter.idl.d.ts +0 -2
- package/dist/candid/minter.idl.js +0 -474
- package/dist/enums/btc.enums.d.ts +0 -12
- package/dist/errors/btc.errors.d.ts +0 -18
- package/dist/errors/minter.errors.d.ts +0 -30
- package/dist/minter.canister.d.ts +0 -120
- package/dist/types/bitcoin.params.d.ts +0 -17
- package/dist/types/btc.d.ts +0 -9
- package/dist/types/canister.options.d.ts +0 -5
- package/dist/types/minter.params.d.ts +0 -36
- package/dist/types/minter.responses.d.ts +0 -25
- package/dist/utils/btc.utils.d.ts +0 -13
package/dist/candid/minter.d.ts
DELETED
|
@@ -1,843 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
|
|
5
|
-
// This file was automatically generated by @icp-sdk/bindgen@0.2.0.
|
|
6
|
-
// You should NOT make any changes in this file as it will be overwritten.
|
|
7
|
-
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
|
|
8
|
-
|
|
9
|
-
import type { ActorMethod } from "@icp-sdk/core/agent";
|
|
10
|
-
import type { IDL } from "@icp-sdk/core/candid";
|
|
11
|
-
import type { Principal } from "@icp-sdk/core/principal";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Represents an account on the ckBTC ledger.
|
|
15
|
-
*/
|
|
16
|
-
export interface Account {
|
|
17
|
-
owner: Principal;
|
|
18
|
-
subaccount: [] | [Uint8Array];
|
|
19
|
-
}
|
|
20
|
-
export type BitcoinAddress =
|
|
21
|
-
| { p2wsh_v0: Uint8Array }
|
|
22
|
-
| { p2tr_v1: Uint8Array }
|
|
23
|
-
| { p2sh: Uint8Array }
|
|
24
|
-
| { p2wpkh_v0: Uint8Array }
|
|
25
|
-
| { p2pkh: Uint8Array };
|
|
26
|
-
export type BtcNetwork =
|
|
27
|
-
| {
|
|
28
|
-
/**
|
|
29
|
-
* The public Bitcoin mainnet.
|
|
30
|
-
*/
|
|
31
|
-
Mainnet: null;
|
|
32
|
-
}
|
|
33
|
-
| {
|
|
34
|
-
/**
|
|
35
|
-
* A local Bitcoin regtest installation.
|
|
36
|
-
*/
|
|
37
|
-
Regtest: null;
|
|
38
|
-
}
|
|
39
|
-
| {
|
|
40
|
-
/**
|
|
41
|
-
* The public Bitcoin testnet.
|
|
42
|
-
*/
|
|
43
|
-
Testnet: null;
|
|
44
|
-
};
|
|
45
|
-
export interface CanisterStatusResponse {
|
|
46
|
-
memory_metrics: MemoryMetrics;
|
|
47
|
-
status: CanisterStatusType;
|
|
48
|
-
memory_size: bigint;
|
|
49
|
-
cycles: bigint;
|
|
50
|
-
settings: DefiniteCanisterSettings;
|
|
51
|
-
query_stats: QueryStats;
|
|
52
|
-
idle_cycles_burned_per_day: bigint;
|
|
53
|
-
module_hash: [] | [Uint8Array];
|
|
54
|
-
reserved_cycles: bigint;
|
|
55
|
-
}
|
|
56
|
-
export type CanisterStatusType =
|
|
57
|
-
| { stopped: null }
|
|
58
|
-
| { stopping: null }
|
|
59
|
-
| { running: null };
|
|
60
|
-
export interface DefiniteCanisterSettings {
|
|
61
|
-
freezing_threshold: bigint;
|
|
62
|
-
wasm_memory_threshold: bigint;
|
|
63
|
-
controllers: Array<Principal>;
|
|
64
|
-
reserved_cycles_limit: bigint;
|
|
65
|
-
log_visibility: LogVisibility;
|
|
66
|
-
wasm_memory_limit: bigint;
|
|
67
|
-
memory_allocation: bigint;
|
|
68
|
-
compute_allocation: bigint;
|
|
69
|
-
}
|
|
70
|
-
export interface Event {
|
|
71
|
-
timestamp: [] | [bigint];
|
|
72
|
-
payload: EventType;
|
|
73
|
-
}
|
|
74
|
-
export type EventType =
|
|
75
|
-
| {
|
|
76
|
-
received_utxos: {
|
|
77
|
-
to_account: Account;
|
|
78
|
-
mint_txid: [] | [bigint];
|
|
79
|
-
utxos: Array<Utxo>;
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
| {
|
|
83
|
-
schedule_deposit_reimbursement: {
|
|
84
|
-
burn_block_index: bigint;
|
|
85
|
-
account: Account;
|
|
86
|
-
amount: bigint;
|
|
87
|
-
reason: ReimbursementReason;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
| {
|
|
91
|
-
sent_transaction: {
|
|
92
|
-
fee: [] | [bigint];
|
|
93
|
-
change_output: [] | [{ value: bigint; vout: number }];
|
|
94
|
-
txid: Uint8Array;
|
|
95
|
-
withdrawal_fee: [] | [WithdrawalFee];
|
|
96
|
-
utxos: Array<Utxo>;
|
|
97
|
-
requests: BigUint64Array;
|
|
98
|
-
submitted_at: bigint;
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
| {
|
|
102
|
-
distributed_kyt_fee: {
|
|
103
|
-
block_index: bigint;
|
|
104
|
-
amount: bigint;
|
|
105
|
-
kyt_provider: Principal;
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
| { init: InitArgs }
|
|
109
|
-
| { upgrade: UpgradeArgs }
|
|
110
|
-
| {
|
|
111
|
-
retrieve_btc_kyt_failed: {
|
|
112
|
-
block_index: bigint;
|
|
113
|
-
owner: Principal;
|
|
114
|
-
uuid: string;
|
|
115
|
-
address: string;
|
|
116
|
-
amount: bigint;
|
|
117
|
-
kyt_provider: Principal;
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
| {
|
|
121
|
-
suspended_utxo: {
|
|
122
|
-
utxo: Utxo;
|
|
123
|
-
account: Account;
|
|
124
|
-
reason: SuspendedReason;
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
| {
|
|
128
|
-
accepted_retrieve_btc_request: {
|
|
129
|
-
received_at: bigint;
|
|
130
|
-
block_index: bigint;
|
|
131
|
-
address: BitcoinAddress;
|
|
132
|
-
reimbursement_account: [] | [Account];
|
|
133
|
-
amount: bigint;
|
|
134
|
-
kyt_provider: [] | [Principal];
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
| {
|
|
138
|
-
checked_utxo: {
|
|
139
|
-
clean: boolean;
|
|
140
|
-
utxo: Utxo;
|
|
141
|
-
uuid: string;
|
|
142
|
-
kyt_provider: [] | [Principal];
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
| {
|
|
146
|
-
schedule_withdrawal_reimbursement: {
|
|
147
|
-
burn_block_index: bigint;
|
|
148
|
-
account: Account;
|
|
149
|
-
amount: bigint;
|
|
150
|
-
reason: WithdrawalReimbursementReason;
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
| { quarantined_withdrawal_reimbursement: { burn_block_index: bigint } }
|
|
154
|
-
| { removed_retrieve_btc_request: { block_index: bigint } }
|
|
155
|
-
| { confirmed_transaction: { txid: Uint8Array } }
|
|
156
|
-
| {
|
|
157
|
-
replaced_transaction: {
|
|
158
|
-
fee: bigint;
|
|
159
|
-
change_output: { value: bigint; vout: number };
|
|
160
|
-
new_utxos: [] | [Array<Utxo>];
|
|
161
|
-
old_txid: Uint8Array;
|
|
162
|
-
withdrawal_fee: [] | [WithdrawalFee];
|
|
163
|
-
new_txid: Uint8Array;
|
|
164
|
-
submitted_at: bigint;
|
|
165
|
-
reason: [] | [ReplacedReason];
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
| { checked_utxo_v2: { utxo: Utxo; account: Account } }
|
|
169
|
-
| { ignored_utxo: { utxo: Utxo } }
|
|
170
|
-
| { checked_utxo_mint_unknown: { utxo: Utxo; account: Account } }
|
|
171
|
-
| {
|
|
172
|
-
reimbursed_failed_deposit: {
|
|
173
|
-
burn_block_index: bigint;
|
|
174
|
-
mint_block_index: bigint;
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
| {
|
|
178
|
-
reimbursed_withdrawal: {
|
|
179
|
-
burn_block_index: bigint;
|
|
180
|
-
mint_block_index: bigint;
|
|
181
|
-
};
|
|
182
|
-
};
|
|
183
|
-
/**
|
|
184
|
-
* The initialization parameters of the minter canister.
|
|
185
|
-
*/
|
|
186
|
-
export interface InitArgs {
|
|
187
|
-
/**
|
|
188
|
-
* / The expiration duration (in seconds) for cached entries in the get_utxos cache.
|
|
189
|
-
*/
|
|
190
|
-
get_utxos_cache_expiration_seconds: [] | [bigint];
|
|
191
|
-
/**
|
|
192
|
-
* / The canister id of the KYT canister (deprecated, use btc_checker_principal instead).
|
|
193
|
-
*/
|
|
194
|
-
kyt_principal: [] | [Principal];
|
|
195
|
-
/**
|
|
196
|
-
* The name of the ECDSA key to use.
|
|
197
|
-
* E.g., "dfx_test_key" on the local replica.
|
|
198
|
-
*/
|
|
199
|
-
ecdsa_key_name: string;
|
|
200
|
-
/**
|
|
201
|
-
* / The minter's operation mode.
|
|
202
|
-
*/
|
|
203
|
-
mode: Mode;
|
|
204
|
-
/**
|
|
205
|
-
* The minimal amount of ckBTC that can be converted to BTC.
|
|
206
|
-
*/
|
|
207
|
-
retrieve_btc_min_amount: bigint;
|
|
208
|
-
/**
|
|
209
|
-
* The principal of the ledger that handles ckBTC transfers.
|
|
210
|
-
* The default account of the ckBTC minter must be configured as
|
|
211
|
-
* the minting account of the ledger.
|
|
212
|
-
*/
|
|
213
|
-
ledger_id: Principal;
|
|
214
|
-
/**
|
|
215
|
-
* / Maximum time in nanoseconds that a transaction should spend in the queue
|
|
216
|
-
* / before being sent.
|
|
217
|
-
*/
|
|
218
|
-
max_time_in_queue_nanos: bigint;
|
|
219
|
-
/**
|
|
220
|
-
* The minter will interact with this Bitcoin network.
|
|
221
|
-
*/
|
|
222
|
-
btc_network: BtcNetwork;
|
|
223
|
-
/**
|
|
224
|
-
* / The fee paid per Bitcoin check.
|
|
225
|
-
*/
|
|
226
|
-
check_fee: [] | [bigint];
|
|
227
|
-
/**
|
|
228
|
-
* / The canister id of the Bitcoin checker canister.
|
|
229
|
-
*/
|
|
230
|
-
btc_checker_principal: [] | [Principal];
|
|
231
|
-
/**
|
|
232
|
-
* / The minimum number of confirmations required for the minter to
|
|
233
|
-
* / accept a Bitcoin transaction.
|
|
234
|
-
*/
|
|
235
|
-
min_confirmations: [] | [number];
|
|
236
|
-
/**
|
|
237
|
-
* / The fee paid per check by the KYT canister (deprecated, use check_fee instead).
|
|
238
|
-
*/
|
|
239
|
-
kyt_fee: [] | [bigint];
|
|
240
|
-
}
|
|
241
|
-
export type InvalidTransactionError = {
|
|
242
|
-
too_many_inputs: { max_num_inputs: bigint; num_inputs: bigint };
|
|
243
|
-
};
|
|
244
|
-
export type LogVisibility =
|
|
245
|
-
| { controllers: null }
|
|
246
|
-
| { public: null }
|
|
247
|
-
| { allowed_viewers: Array<Principal> };
|
|
248
|
-
export interface MemoryMetrics {
|
|
249
|
-
wasm_binary_size: bigint;
|
|
250
|
-
wasm_chunk_store_size: bigint;
|
|
251
|
-
canister_history_size: bigint;
|
|
252
|
-
stable_memory_size: bigint;
|
|
253
|
-
snapshots_size: bigint;
|
|
254
|
-
wasm_memory_size: bigint;
|
|
255
|
-
global_memory_size: bigint;
|
|
256
|
-
custom_sections_size: bigint;
|
|
257
|
-
}
|
|
258
|
-
export type MinterArg = { Upgrade: [] | [UpgradeArgs] } | { Init: InitArgs };
|
|
259
|
-
export interface MinterInfo {
|
|
260
|
-
/**
|
|
261
|
-
* This amount is based on the `retrieve_btc_min_amount` setting during canister
|
|
262
|
-
* initialization or upgrades, but may vary according to current network fees.
|
|
263
|
-
*/
|
|
264
|
-
retrieve_btc_min_amount: bigint;
|
|
265
|
-
min_confirmations: number;
|
|
266
|
-
/**
|
|
267
|
-
* The same as `check_fee`, but the old name is kept here to be backward compatible.
|
|
268
|
-
*/
|
|
269
|
-
kyt_fee: bigint;
|
|
270
|
-
}
|
|
271
|
-
export type Mode =
|
|
272
|
-
| {
|
|
273
|
-
/**
|
|
274
|
-
* Only specified principals can modify minter's state.
|
|
275
|
-
*/
|
|
276
|
-
RestrictedTo: Array<Principal>;
|
|
277
|
-
}
|
|
278
|
-
| {
|
|
279
|
-
/**
|
|
280
|
-
* Only specified principals can convert BTC to ckBTC.
|
|
281
|
-
*/
|
|
282
|
-
DepositsRestrictedTo: Array<Principal>;
|
|
283
|
-
}
|
|
284
|
-
| {
|
|
285
|
-
/**
|
|
286
|
-
* The minter does not allow any state modifications.
|
|
287
|
-
*/
|
|
288
|
-
ReadOnly: null;
|
|
289
|
-
}
|
|
290
|
-
| {
|
|
291
|
-
/**
|
|
292
|
-
* Anyone can interact with the minter.
|
|
293
|
-
*/
|
|
294
|
-
GeneralAvailability: null;
|
|
295
|
-
};
|
|
296
|
-
/**
|
|
297
|
-
* Utxos that don't have enough confirmations to be processed.
|
|
298
|
-
*/
|
|
299
|
-
export interface PendingUtxo {
|
|
300
|
-
confirmations: number;
|
|
301
|
-
value: bigint;
|
|
302
|
-
outpoint: { txid: Uint8Array; vout: number };
|
|
303
|
-
}
|
|
304
|
-
export interface QueryStats {
|
|
305
|
-
response_payload_bytes_total: bigint;
|
|
306
|
-
num_instructions_total: bigint;
|
|
307
|
-
num_calls_total: bigint;
|
|
308
|
-
request_payload_bytes_total: bigint;
|
|
309
|
-
}
|
|
310
|
-
export interface ReimbursedDeposit {
|
|
311
|
-
account: Account;
|
|
312
|
-
mint_block_index: bigint;
|
|
313
|
-
amount: bigint;
|
|
314
|
-
reason: ReimbursementReason;
|
|
315
|
-
}
|
|
316
|
-
export type ReimbursementReason =
|
|
317
|
-
| { CallFailed: null }
|
|
318
|
-
| { TaintedDestination: { kyt_fee: bigint; kyt_provider: Principal } };
|
|
319
|
-
export interface ReimbursementRequest {
|
|
320
|
-
account: Account;
|
|
321
|
-
amount: bigint;
|
|
322
|
-
reason: ReimbursementReason;
|
|
323
|
-
}
|
|
324
|
-
export type ReplacedReason =
|
|
325
|
-
| {
|
|
326
|
-
to_cancel: { reason: WithdrawalReimbursementReason };
|
|
327
|
-
}
|
|
328
|
-
| { to_retry: null };
|
|
329
|
-
export interface RetrieveBtcArgs {
|
|
330
|
-
/**
|
|
331
|
-
* The address to which the ckBTC minter should deposit BTC.
|
|
332
|
-
*/
|
|
333
|
-
address: string;
|
|
334
|
-
/**
|
|
335
|
-
* The amount of ckBTC in Satoshis that the client wants to withdraw.
|
|
336
|
-
*/
|
|
337
|
-
amount: bigint;
|
|
338
|
-
}
|
|
339
|
-
export type RetrieveBtcError =
|
|
340
|
-
| {
|
|
341
|
-
/**
|
|
342
|
-
* The minter failed to parse the destination address.
|
|
343
|
-
*/
|
|
344
|
-
MalformedAddress: string;
|
|
345
|
-
}
|
|
346
|
-
| {
|
|
347
|
-
/**
|
|
348
|
-
* A generic error reserved for future extensions.
|
|
349
|
-
*/
|
|
350
|
-
GenericError: { error_message: string; error_code: bigint };
|
|
351
|
-
}
|
|
352
|
-
| {
|
|
353
|
-
/**
|
|
354
|
-
* The minter is overloaded, retry the request.
|
|
355
|
-
* The payload contains a human-readable message explaining what caused the unavailability.
|
|
356
|
-
*/
|
|
357
|
-
TemporarilyUnavailable: string;
|
|
358
|
-
}
|
|
359
|
-
| {
|
|
360
|
-
/**
|
|
361
|
-
* The minter is already processing another retrieval request for the same
|
|
362
|
-
* principal.
|
|
363
|
-
*/
|
|
364
|
-
AlreadyProcessing: null;
|
|
365
|
-
}
|
|
366
|
-
| {
|
|
367
|
-
/**
|
|
368
|
-
* The withdrawal amount is too low.
|
|
369
|
-
* The payload contains the minimal withdrawal amount.
|
|
370
|
-
*/
|
|
371
|
-
AmountTooLow: bigint;
|
|
372
|
-
}
|
|
373
|
-
| {
|
|
374
|
-
/**
|
|
375
|
-
* The ckBTC balance of the withdrawal account is too low.
|
|
376
|
-
*/
|
|
377
|
-
InsufficientFunds: { balance: bigint };
|
|
378
|
-
};
|
|
379
|
-
export interface RetrieveBtcOk {
|
|
380
|
-
/**
|
|
381
|
-
* Returns the burn transaction index corresponding to the withdrawal.
|
|
382
|
-
* You can use this index to query the withdrawal status.
|
|
383
|
-
*/
|
|
384
|
-
block_index: bigint;
|
|
385
|
-
}
|
|
386
|
-
export type RetrieveBtcStatus =
|
|
387
|
-
| {
|
|
388
|
-
/**
|
|
389
|
-
* The minter is obtaining all required ECDSA signatures on the
|
|
390
|
-
* Bitcoin transaction for this request.
|
|
391
|
-
*/
|
|
392
|
-
Signing: null;
|
|
393
|
-
}
|
|
394
|
-
| {
|
|
395
|
-
/**
|
|
396
|
-
* The minter received enough confirmations for the Bitcoin
|
|
397
|
-
* transaction for this request. The payload contains the
|
|
398
|
-
* identifier of the transaction on the Bitcoin network.
|
|
399
|
-
*/
|
|
400
|
-
Confirmed: { txid: Uint8Array };
|
|
401
|
-
}
|
|
402
|
-
| {
|
|
403
|
-
/**
|
|
404
|
-
* The minter signed the transaction and is waiting for a reply
|
|
405
|
-
* from the Bitcoin canister.
|
|
406
|
-
*/
|
|
407
|
-
Sending: { txid: Uint8Array };
|
|
408
|
-
}
|
|
409
|
-
| {
|
|
410
|
-
/**
|
|
411
|
-
* The amount was too low to cover the transaction fees.
|
|
412
|
-
*/
|
|
413
|
-
AmountTooLow: null;
|
|
414
|
-
}
|
|
415
|
-
| {
|
|
416
|
-
/**
|
|
417
|
-
* The minter does not have any information on the specified
|
|
418
|
-
* retrieval request. It can be that nobody submitted the
|
|
419
|
-
* request or the minter pruned the relevant information from the
|
|
420
|
-
* history to save space.
|
|
421
|
-
*/
|
|
422
|
-
Unknown: null;
|
|
423
|
-
}
|
|
424
|
-
| {
|
|
425
|
-
/**
|
|
426
|
-
* The minter sent a transaction for the retrieve request.
|
|
427
|
-
* The payload contains the identifier of the transaction on the Bitcoin network.
|
|
428
|
-
*/
|
|
429
|
-
Submitted: { txid: Uint8Array };
|
|
430
|
-
}
|
|
431
|
-
| {
|
|
432
|
-
/**
|
|
433
|
-
* The minter did not send a Bitcoin transaction for this request yet.
|
|
434
|
-
*/
|
|
435
|
-
Pending: null;
|
|
436
|
-
};
|
|
437
|
-
export type RetrieveBtcStatusV2 =
|
|
438
|
-
| {
|
|
439
|
-
/**
|
|
440
|
-
* The minter is obtaining all required ECDSA signatures on the
|
|
441
|
-
* Bitcoin transaction for this request.
|
|
442
|
-
*/
|
|
443
|
-
Signing: null;
|
|
444
|
-
}
|
|
445
|
-
| {
|
|
446
|
-
/**
|
|
447
|
-
* The minter received enough confirmations for the Bitcoin
|
|
448
|
-
* transaction for this request. The payload contains the
|
|
449
|
-
* identifier of the transaction on the Bitcoin network.
|
|
450
|
-
*/
|
|
451
|
-
Confirmed: { txid: Uint8Array };
|
|
452
|
-
}
|
|
453
|
-
| {
|
|
454
|
-
/**
|
|
455
|
-
* The minter signed the transaction and is waiting for a reply
|
|
456
|
-
* from the Bitcoin canister.
|
|
457
|
-
*/
|
|
458
|
-
Sending: { txid: Uint8Array };
|
|
459
|
-
}
|
|
460
|
-
| {
|
|
461
|
-
/**
|
|
462
|
-
* The amount was too low to cover the transaction fees.
|
|
463
|
-
*/
|
|
464
|
-
AmountTooLow: null;
|
|
465
|
-
}
|
|
466
|
-
| {
|
|
467
|
-
/**
|
|
468
|
-
* / The minter will try to reimburse this transaction.
|
|
469
|
-
*/
|
|
470
|
-
WillReimburse: ReimbursementRequest;
|
|
471
|
-
}
|
|
472
|
-
| {
|
|
473
|
-
/**
|
|
474
|
-
* The minter does not have any information on the specified
|
|
475
|
-
* retrieval request. It can be that nobody submitted the
|
|
476
|
-
* request or the minter pruned the relevant information from the
|
|
477
|
-
* history to save space.
|
|
478
|
-
*/
|
|
479
|
-
Unknown: null;
|
|
480
|
-
}
|
|
481
|
-
| {
|
|
482
|
-
/**
|
|
483
|
-
* The minter sent a transaction for the retrieve request.
|
|
484
|
-
* The payload contains the identifier of the transaction on the Bitcoin network.
|
|
485
|
-
*/
|
|
486
|
-
Submitted: { txid: Uint8Array };
|
|
487
|
-
}
|
|
488
|
-
| {
|
|
489
|
-
/**
|
|
490
|
-
* / The retrieve Bitcoin request has been reimbursed.
|
|
491
|
-
*/
|
|
492
|
-
Reimbursed: ReimbursedDeposit;
|
|
493
|
-
}
|
|
494
|
-
| {
|
|
495
|
-
/**
|
|
496
|
-
* The minter did not send a Bitcoin transaction for this request yet.
|
|
497
|
-
*/
|
|
498
|
-
Pending: null;
|
|
499
|
-
};
|
|
500
|
-
export interface RetrieveBtcWithApprovalArgs {
|
|
501
|
-
/**
|
|
502
|
-
* The subaccount to burn ckBTC from.
|
|
503
|
-
*/
|
|
504
|
-
from_subaccount: [] | [Uint8Array];
|
|
505
|
-
/**
|
|
506
|
-
* The address to which the ckBTC minter should deposit BTC.
|
|
507
|
-
*/
|
|
508
|
-
address: string;
|
|
509
|
-
/**
|
|
510
|
-
* The amount of ckBTC in Satoshis that the client wants to withdraw.
|
|
511
|
-
*/
|
|
512
|
-
amount: bigint;
|
|
513
|
-
}
|
|
514
|
-
export type RetrieveBtcWithApprovalError =
|
|
515
|
-
| {
|
|
516
|
-
/**
|
|
517
|
-
* The minter failed to parse the destination address.
|
|
518
|
-
*/
|
|
519
|
-
MalformedAddress: string;
|
|
520
|
-
}
|
|
521
|
-
| {
|
|
522
|
-
/**
|
|
523
|
-
* A generic error reserved for future extensions.
|
|
524
|
-
*/
|
|
525
|
-
GenericError: { error_message: string; error_code: bigint };
|
|
526
|
-
}
|
|
527
|
-
| {
|
|
528
|
-
/**
|
|
529
|
-
* The minter is overloaded, retry the request.
|
|
530
|
-
* The payload contains a human-readable message explaining what caused the unavailability.
|
|
531
|
-
*/
|
|
532
|
-
TemporarilyUnavailable: string;
|
|
533
|
-
}
|
|
534
|
-
| {
|
|
535
|
-
/**
|
|
536
|
-
* The allowance given to the minter is too low.
|
|
537
|
-
*/
|
|
538
|
-
InsufficientAllowance: { allowance: bigint };
|
|
539
|
-
}
|
|
540
|
-
| {
|
|
541
|
-
/**
|
|
542
|
-
* The minter is already processing another retrieval request for the same
|
|
543
|
-
* principal.
|
|
544
|
-
*/
|
|
545
|
-
AlreadyProcessing: null;
|
|
546
|
-
}
|
|
547
|
-
| {
|
|
548
|
-
/**
|
|
549
|
-
* The withdrawal amount is too low.
|
|
550
|
-
* The payload contains the minimal withdrawal amount.
|
|
551
|
-
*/
|
|
552
|
-
AmountTooLow: bigint;
|
|
553
|
-
}
|
|
554
|
-
| {
|
|
555
|
-
/**
|
|
556
|
-
* The ckBTC balance of the withdrawal account is too low.
|
|
557
|
-
*/
|
|
558
|
-
InsufficientFunds: { balance: bigint };
|
|
559
|
-
};
|
|
560
|
-
export type SuspendedReason =
|
|
561
|
-
| {
|
|
562
|
-
/**
|
|
563
|
-
* The minter ignored this UTXO because UTXO's value is too small to pay
|
|
564
|
-
* the check fees.
|
|
565
|
-
*/
|
|
566
|
-
ValueTooSmall: null;
|
|
567
|
-
}
|
|
568
|
-
| {
|
|
569
|
-
/**
|
|
570
|
-
* The Bitcoin checker considered this UTXO to be tainted.
|
|
571
|
-
*/
|
|
572
|
-
Quarantined: null;
|
|
573
|
-
};
|
|
574
|
-
export interface SuspendedUtxo {
|
|
575
|
-
utxo: Utxo;
|
|
576
|
-
earliest_retry: Timestamp;
|
|
577
|
-
reason: SuspendedReason;
|
|
578
|
-
}
|
|
579
|
-
/**
|
|
580
|
-
* Number of nanoseconds since the Unix Epoch
|
|
581
|
-
*/
|
|
582
|
-
export type Timestamp = bigint;
|
|
583
|
-
export type UpdateBalanceError =
|
|
584
|
-
| {
|
|
585
|
-
/**
|
|
586
|
-
* A generic error reserved for future extensions.
|
|
587
|
-
*/
|
|
588
|
-
GenericError: { error_message: string; error_code: bigint };
|
|
589
|
-
}
|
|
590
|
-
| {
|
|
591
|
-
/**
|
|
592
|
-
* The minter is overloaded, retry the request.
|
|
593
|
-
* The payload contains a human-readable message explaining what caused the unavailability.
|
|
594
|
-
*/
|
|
595
|
-
TemporarilyUnavailable: string;
|
|
596
|
-
}
|
|
597
|
-
| {
|
|
598
|
-
/**
|
|
599
|
-
* The minter is already processing another update balance request for the caller.
|
|
600
|
-
*/
|
|
601
|
-
AlreadyProcessing: null;
|
|
602
|
-
}
|
|
603
|
-
| {
|
|
604
|
-
/**
|
|
605
|
-
* There are no new UTXOs to process.
|
|
606
|
-
*/
|
|
607
|
-
NoNewUtxos: {
|
|
608
|
-
suspended_utxos: [] | [Array<SuspendedUtxo>];
|
|
609
|
-
required_confirmations: number;
|
|
610
|
-
pending_utxos: [] | [Array<PendingUtxo>];
|
|
611
|
-
current_confirmations: [] | [number];
|
|
612
|
-
};
|
|
613
|
-
};
|
|
614
|
-
/**
|
|
615
|
-
* The upgrade parameters of the minter canister.
|
|
616
|
-
*/
|
|
617
|
-
export interface UpgradeArgs {
|
|
618
|
-
/**
|
|
619
|
-
* / The expiration duration (in seconds) for cached entries in the get_utxos cache.
|
|
620
|
-
*/
|
|
621
|
-
get_utxos_cache_expiration_seconds: [] | [bigint];
|
|
622
|
-
/**
|
|
623
|
-
* / The canister id of the KYT canister (deprecated, use btc_checker_principal instead).
|
|
624
|
-
*/
|
|
625
|
-
kyt_principal: [] | [Principal];
|
|
626
|
-
/**
|
|
627
|
-
* / If set, overrides the current minter's operation mode.
|
|
628
|
-
*/
|
|
629
|
-
mode: [] | [Mode];
|
|
630
|
-
/**
|
|
631
|
-
* The minimal amount of ckBTC that the minter converts to BTC.
|
|
632
|
-
*/
|
|
633
|
-
retrieve_btc_min_amount: [] | [bigint];
|
|
634
|
-
/**
|
|
635
|
-
* / Maximum time in nanoseconds that a transaction should spend in the queue
|
|
636
|
-
* / before being sent.
|
|
637
|
-
*/
|
|
638
|
-
max_time_in_queue_nanos: [] | [bigint];
|
|
639
|
-
/**
|
|
640
|
-
* / The fee per Bitcoin check.
|
|
641
|
-
*/
|
|
642
|
-
check_fee: [] | [bigint];
|
|
643
|
-
/**
|
|
644
|
-
* / The principal of the Bitcoin checker canister.
|
|
645
|
-
*/
|
|
646
|
-
btc_checker_principal: [] | [Principal];
|
|
647
|
-
/**
|
|
648
|
-
* / The minimum number of confirmations required for the minter to
|
|
649
|
-
* / accept a Bitcoin transaction.
|
|
650
|
-
*/
|
|
651
|
-
min_confirmations: [] | [number];
|
|
652
|
-
/**
|
|
653
|
-
* / The fee paid per check by the KYT canister (deprecated, use check_fee instead).
|
|
654
|
-
*/
|
|
655
|
-
kyt_fee: [] | [bigint];
|
|
656
|
-
}
|
|
657
|
-
export interface Utxo {
|
|
658
|
-
height: number;
|
|
659
|
-
value: bigint;
|
|
660
|
-
outpoint: { txid: Uint8Array; vout: number };
|
|
661
|
-
}
|
|
662
|
-
/**
|
|
663
|
-
* The result of an [update_balance] call.
|
|
664
|
-
*/
|
|
665
|
-
export type UtxoStatus =
|
|
666
|
-
| {
|
|
667
|
-
/**
|
|
668
|
-
* The minter ignored this UTXO because UTXO's value is too small to pay
|
|
669
|
-
* the check fees.
|
|
670
|
-
*/
|
|
671
|
-
ValueTooSmall: Utxo;
|
|
672
|
-
}
|
|
673
|
-
| {
|
|
674
|
-
/**
|
|
675
|
-
* The Bitcoin checker considered this UTXO to be tainted.
|
|
676
|
-
*/
|
|
677
|
-
Tainted: Utxo;
|
|
678
|
-
}
|
|
679
|
-
| {
|
|
680
|
-
/**
|
|
681
|
-
* The UTXO passed the Bitcoin check, and ckBTC has been minted.
|
|
682
|
-
*/
|
|
683
|
-
Minted: {
|
|
684
|
-
minted_amount: bigint;
|
|
685
|
-
block_index: bigint;
|
|
686
|
-
utxo: Utxo;
|
|
687
|
-
};
|
|
688
|
-
}
|
|
689
|
-
| {
|
|
690
|
-
/**
|
|
691
|
-
* The UTXO passed the Bitcoin check, but the minter failed to mint ckBTC
|
|
692
|
-
* because the Ledger was unavailable. Retrying the [update_balance] call
|
|
693
|
-
* should eventually advance the UTXO to the [Minted] state.
|
|
694
|
-
*/
|
|
695
|
-
Checked: Utxo;
|
|
696
|
-
};
|
|
697
|
-
export interface WithdrawalFee {
|
|
698
|
-
minter_fee: bigint;
|
|
699
|
-
bitcoin_fee: bigint;
|
|
700
|
-
}
|
|
701
|
-
export type WithdrawalReimbursementReason = {
|
|
702
|
-
invalid_transaction: InvalidTransactionError;
|
|
703
|
-
};
|
|
704
|
-
export interface _SERVICE {
|
|
705
|
-
/**
|
|
706
|
-
* / Returns an estimate of the user's fee (in Satoshi) for a
|
|
707
|
-
* / retrieve_btc request based on the current status of the Bitcoin network.
|
|
708
|
-
*/
|
|
709
|
-
estimate_withdrawal_fee: ActorMethod<
|
|
710
|
-
[{ amount: [] | [bigint] }],
|
|
711
|
-
{ minter_fee: bigint; bitcoin_fee: bigint }
|
|
712
|
-
>;
|
|
713
|
-
/**
|
|
714
|
-
* Returns the Bitcoin address to which the owner should send BTC
|
|
715
|
-
* before converting the amount to ckBTC using the [update_balance]
|
|
716
|
-
* endpoint.
|
|
717
|
-
*
|
|
718
|
-
* If the owner is not set, it defaults to the caller's principal.
|
|
719
|
-
* The resolved owner must be a non-anonymous principal.
|
|
720
|
-
*/
|
|
721
|
-
get_btc_address: ActorMethod<
|
|
722
|
-
[{ owner: [] | [Principal]; subaccount: [] | [Uint8Array] }],
|
|
723
|
-
string
|
|
724
|
-
>;
|
|
725
|
-
get_canister_status: ActorMethod<[], CanisterStatusResponse>;
|
|
726
|
-
/**
|
|
727
|
-
* / Returns the fee that the minter will charge for a bitcoin deposit.
|
|
728
|
-
*/
|
|
729
|
-
get_deposit_fee: ActorMethod<[], bigint>;
|
|
730
|
-
/**
|
|
731
|
-
* The minter keeps track of all state modifications in an internal event log.
|
|
732
|
-
*
|
|
733
|
-
* This method returns a list of events in the specified range.
|
|
734
|
-
* The minter can return fewer events than requested. The result is
|
|
735
|
-
* an empty vector if the start position is greater than the total
|
|
736
|
-
* number of events.
|
|
737
|
-
*
|
|
738
|
-
* NOTE: this method exists for debugging purposes.
|
|
739
|
-
* The ckBTC minter authors do not guarantee backward compatibility for this method.
|
|
740
|
-
*/
|
|
741
|
-
get_events: ActorMethod<[{ start: bigint; length: bigint }], Array<Event>>;
|
|
742
|
-
/**
|
|
743
|
-
* Returns UTXOs of the given account known by the minter (with no
|
|
744
|
-
* guarantee in the ordering of the returned values).
|
|
745
|
-
*
|
|
746
|
-
* If the owner is not set, it defaults to the caller's principal.
|
|
747
|
-
*/
|
|
748
|
-
get_known_utxos: ActorMethod<
|
|
749
|
-
[{ owner: [] | [Principal]; subaccount: [] | [Uint8Array] }],
|
|
750
|
-
Array<Utxo>
|
|
751
|
-
>;
|
|
752
|
-
/**
|
|
753
|
-
* Section "Minter Information" {{{
|
|
754
|
-
* Returns internal minter parameters.
|
|
755
|
-
*/
|
|
756
|
-
get_minter_info: ActorMethod<[], MinterInfo>;
|
|
757
|
-
/**
|
|
758
|
-
* Returns the account to which the caller should deposit ckBTC
|
|
759
|
-
* before withdrawing BTC using the [retrieve_btc] endpoint.
|
|
760
|
-
*/
|
|
761
|
-
get_withdrawal_account: ActorMethod<[], Account>;
|
|
762
|
-
/**
|
|
763
|
-
* Submits a request to convert ckBTC to BTC.
|
|
764
|
-
*
|
|
765
|
-
* # Note
|
|
766
|
-
*
|
|
767
|
-
* The BTC retrieval process is slow. Instead of
|
|
768
|
-
* synchronously waiting for a BTC transaction to settle, this
|
|
769
|
-
* method returns a request ([block_index]) that the caller can use
|
|
770
|
-
* to query the request status.
|
|
771
|
-
*
|
|
772
|
-
* # Preconditions
|
|
773
|
-
*
|
|
774
|
-
* * The caller deposited the requested amount in ckBTC to the account
|
|
775
|
-
* that the [get_withdrawal_account] endpoint returns.
|
|
776
|
-
*/
|
|
777
|
-
retrieve_btc: ActorMethod<
|
|
778
|
-
[RetrieveBtcArgs],
|
|
779
|
-
{ Ok: RetrieveBtcOk } | { Err: RetrieveBtcError }
|
|
780
|
-
>;
|
|
781
|
-
/**
|
|
782
|
-
* / [deprecated] Returns the status of a withdrawal request.
|
|
783
|
-
* / You should use retrieve_btc_status_v2 to retrieve the status of your withdrawal request.
|
|
784
|
-
*/
|
|
785
|
-
retrieve_btc_status: ActorMethod<
|
|
786
|
-
[{ block_index: bigint }],
|
|
787
|
-
RetrieveBtcStatus
|
|
788
|
-
>;
|
|
789
|
-
/**
|
|
790
|
-
* / Returns the status of a withdrawal request request using the RetrieveBtcStatusV2 type.
|
|
791
|
-
*/
|
|
792
|
-
retrieve_btc_status_v2: ActorMethod<
|
|
793
|
-
[{ block_index: bigint }],
|
|
794
|
-
RetrieveBtcStatusV2
|
|
795
|
-
>;
|
|
796
|
-
/**
|
|
797
|
-
* Returns the withdrawal statues by account.
|
|
798
|
-
*
|
|
799
|
-
* # Note
|
|
800
|
-
* The _v2_ part indicates that you get a response in line with the retrieve_btc_status_v2 endpoint,
|
|
801
|
-
* i.e., you get a vector of RetrieveBtcStatusV2 and not RetrieveBtcStatus.
|
|
802
|
-
*
|
|
803
|
-
*/
|
|
804
|
-
retrieve_btc_status_v2_by_account: ActorMethod<
|
|
805
|
-
[[] | [Account]],
|
|
806
|
-
Array<{ block_index: bigint; status_v2: [] | [RetrieveBtcStatusV2] }>
|
|
807
|
-
>;
|
|
808
|
-
/**
|
|
809
|
-
* Submits a request to convert ckBTC to BTC.
|
|
810
|
-
*
|
|
811
|
-
* # Note
|
|
812
|
-
*
|
|
813
|
-
* The BTC retrieval process is slow. Instead of
|
|
814
|
-
* synchronously waiting for a BTC transaction to settle, this
|
|
815
|
-
* method returns a request ([block_index]) that the caller can use
|
|
816
|
-
* to query the request status.
|
|
817
|
-
*
|
|
818
|
-
* # Preconditions
|
|
819
|
-
*
|
|
820
|
-
* * The caller allowed the minter's principal to spend its funds
|
|
821
|
-
* using [icrc2_approve] on the ckBTC ledger.
|
|
822
|
-
*/
|
|
823
|
-
retrieve_btc_with_approval: ActorMethod<
|
|
824
|
-
[RetrieveBtcWithApprovalArgs],
|
|
825
|
-
{ Ok: RetrieveBtcOk } | { Err: RetrieveBtcWithApprovalError }
|
|
826
|
-
>;
|
|
827
|
-
/**
|
|
828
|
-
* Mints ckBTC for newly deposited UTXOs.
|
|
829
|
-
*
|
|
830
|
-
* If the owner is not set, it defaults to the caller's principal.
|
|
831
|
-
*
|
|
832
|
-
* # Preconditions
|
|
833
|
-
*
|
|
834
|
-
* * The owner deposited some BTC to the address that the
|
|
835
|
-
* [get_btc_address] endpoint returns.
|
|
836
|
-
*/
|
|
837
|
-
update_balance: ActorMethod<
|
|
838
|
-
[{ owner: [] | [Principal]; subaccount: [] | [Uint8Array] }],
|
|
839
|
-
{ Ok: Array<UtxoStatus> } | { Err: UpdateBalanceError }
|
|
840
|
-
>;
|
|
841
|
-
}
|
|
842
|
-
export declare const idlFactory: IDL.InterfaceFactory;
|
|
843
|
-
export declare const init: (args: { IDL: typeof IDL }) => IDL.Type[];
|