@dfinity/ckbtc 4.0.0 → 4.0.1-beta-2025-09-25
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 +1 -1
- package/dist/candid/bitcoin.certified.idl.d.ts +1 -1
- package/dist/candid/bitcoin.d.ts +3 -3
- package/dist/candid/bitcoin.idl.d.ts +1 -1
- package/dist/candid/minter.certified.idl.d.ts +1 -1
- package/dist/candid/minter.certified.idl.js +46 -0
- package/dist/candid/minter.d.ts +49 -3
- package/dist/candid/minter.did +55 -2
- package/dist/candid/minter.idl.d.ts +1 -1
- package/dist/candid/minter.idl.js +46 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +3 -3
- package/dist/esm/chunk-7W3XZWUY.js +2 -0
- package/dist/esm/chunk-7W3XZWUY.js.map +7 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/minter.canister.js +1 -1
- package/dist/types/types/canister.options.d.ts +1 -1
- package/dist/types/types/minter.params.d.ts +1 -1
- package/package.json +5 -6
- package/dist/esm/chunk-HAU7JR75.js +0 -2
- package/dist/esm/chunk-HAU7JR75.js.map +0 -7
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ npm i @dfinity/ckbtc
|
|
|
21
21
|
The bundle needs peer dependencies, be sure that following resources are available in your project as well.
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
npm i @
|
|
24
|
+
npm i @icp-sdk/core @dfinity/utils
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## Usage
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { IDL } from "@
|
|
1
|
+
import type { IDL } from "@icp-sdk/core/candid";
|
|
2
2
|
export const idlFactory: IDL.InterfaceFactory;
|
package/dist/candid/bitcoin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ActorMethod } from "@
|
|
2
|
-
import type { IDL } from "@
|
|
3
|
-
import type { Principal } from "@
|
|
1
|
+
import type { ActorMethod } from "@icp-sdk/core/agent";
|
|
2
|
+
import type { IDL } from "@icp-sdk/core/candid";
|
|
3
|
+
import type { Principal } from "@icp-sdk/core/principal";
|
|
4
4
|
|
|
5
5
|
export type address = string;
|
|
6
6
|
export type block_hash = Uint8Array | number[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { IDL } from "@
|
|
1
|
+
import type { IDL } from "@icp-sdk/core/candid";
|
|
2
2
|
export const idlFactory: IDL.InterfaceFactory;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { IDL } from "@
|
|
1
|
+
import type { IDL } from "@icp-sdk/core/candid";
|
|
2
2
|
export const idlFactory: IDL.InterfaceFactory;
|
|
@@ -40,6 +40,16 @@ export const idlFactory = ({ IDL }) => {
|
|
|
40
40
|
'Upgrade' : IDL.Opt(UpgradeArgs),
|
|
41
41
|
'Init' : InitArgs,
|
|
42
42
|
});
|
|
43
|
+
const MemoryMetrics = IDL.Record({
|
|
44
|
+
'wasm_binary_size' : IDL.Nat,
|
|
45
|
+
'wasm_chunk_store_size' : IDL.Nat,
|
|
46
|
+
'canister_history_size' : IDL.Nat,
|
|
47
|
+
'stable_memory_size' : IDL.Nat,
|
|
48
|
+
'snapshots_size' : IDL.Nat,
|
|
49
|
+
'wasm_memory_size' : IDL.Nat,
|
|
50
|
+
'global_memory_size' : IDL.Nat,
|
|
51
|
+
'custom_sections_size' : IDL.Nat,
|
|
52
|
+
});
|
|
43
53
|
const CanisterStatusType = IDL.Variant({
|
|
44
54
|
'stopped' : IDL.Null,
|
|
45
55
|
'stopping' : IDL.Null,
|
|
@@ -52,6 +62,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
52
62
|
});
|
|
53
63
|
const DefiniteCanisterSettings = IDL.Record({
|
|
54
64
|
'freezing_threshold' : IDL.Nat,
|
|
65
|
+
'wasm_memory_threshold' : IDL.Nat,
|
|
55
66
|
'controllers' : IDL.Vec(IDL.Principal),
|
|
56
67
|
'reserved_cycles_limit' : IDL.Nat,
|
|
57
68
|
'log_visibility' : LogVisibility,
|
|
@@ -66,6 +77,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
66
77
|
'request_payload_bytes_total' : IDL.Nat,
|
|
67
78
|
});
|
|
68
79
|
const CanisterStatusResponse = IDL.Record({
|
|
80
|
+
'memory_metrics' : MemoryMetrics,
|
|
69
81
|
'status' : CanisterStatusType,
|
|
70
82
|
'memory_size' : IDL.Nat,
|
|
71
83
|
'cycles' : IDL.Nat,
|
|
@@ -91,6 +103,10 @@ export const idlFactory = ({ IDL }) => {
|
|
|
91
103
|
'kyt_provider' : IDL.Principal,
|
|
92
104
|
}),
|
|
93
105
|
});
|
|
106
|
+
const WithdrawalFee = IDL.Record({
|
|
107
|
+
'minter_fee' : IDL.Nat64,
|
|
108
|
+
'bitcoin_fee' : IDL.Nat64,
|
|
109
|
+
});
|
|
94
110
|
const SuspendedReason = IDL.Variant({
|
|
95
111
|
'ValueTooSmall' : IDL.Null,
|
|
96
112
|
'Quarantined' : IDL.Null,
|
|
@@ -102,6 +118,19 @@ export const idlFactory = ({ IDL }) => {
|
|
|
102
118
|
'p2wpkh_v0' : IDL.Vec(IDL.Nat8),
|
|
103
119
|
'p2pkh' : IDL.Vec(IDL.Nat8),
|
|
104
120
|
});
|
|
121
|
+
const InvalidTransactionError = IDL.Variant({
|
|
122
|
+
'too_many_inputs' : IDL.Record({
|
|
123
|
+
'max_num_inputs' : IDL.Nat64,
|
|
124
|
+
'num_inputs' : IDL.Nat64,
|
|
125
|
+
}),
|
|
126
|
+
});
|
|
127
|
+
const WithdrawalReimbursementReason = IDL.Variant({
|
|
128
|
+
'invalid_transaction' : InvalidTransactionError,
|
|
129
|
+
});
|
|
130
|
+
const ReplacedReason = IDL.Variant({
|
|
131
|
+
'to_cancel' : IDL.Record({ 'reason' : WithdrawalReimbursementReason }),
|
|
132
|
+
'to_retry' : IDL.Null,
|
|
133
|
+
});
|
|
105
134
|
const EventType = IDL.Variant({
|
|
106
135
|
'received_utxos' : IDL.Record({
|
|
107
136
|
'to_account' : Account,
|
|
@@ -120,6 +149,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
120
149
|
IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 })
|
|
121
150
|
),
|
|
122
151
|
'txid' : IDL.Vec(IDL.Nat8),
|
|
152
|
+
'withdrawal_fee' : IDL.Opt(WithdrawalFee),
|
|
123
153
|
'utxos' : IDL.Vec(Utxo),
|
|
124
154
|
'requests' : IDL.Vec(IDL.Nat64),
|
|
125
155
|
'submitted_at' : IDL.Nat64,
|
|
@@ -158,14 +188,26 @@ export const idlFactory = ({ IDL }) => {
|
|
|
158
188
|
'uuid' : IDL.Text,
|
|
159
189
|
'kyt_provider' : IDL.Opt(IDL.Principal),
|
|
160
190
|
}),
|
|
191
|
+
'schedule_withdrawal_reimbursement' : IDL.Record({
|
|
192
|
+
'burn_block_index' : IDL.Nat64,
|
|
193
|
+
'account' : Account,
|
|
194
|
+
'amount' : IDL.Nat64,
|
|
195
|
+
'reason' : WithdrawalReimbursementReason,
|
|
196
|
+
}),
|
|
197
|
+
'quarantined_withdrawal_reimbursement' : IDL.Record({
|
|
198
|
+
'burn_block_index' : IDL.Nat64,
|
|
199
|
+
}),
|
|
161
200
|
'removed_retrieve_btc_request' : IDL.Record({ 'block_index' : IDL.Nat64 }),
|
|
162
201
|
'confirmed_transaction' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),
|
|
163
202
|
'replaced_transaction' : IDL.Record({
|
|
164
203
|
'fee' : IDL.Nat64,
|
|
165
204
|
'change_output' : IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 }),
|
|
205
|
+
'new_utxos' : IDL.Opt(IDL.Vec(Utxo)),
|
|
166
206
|
'old_txid' : IDL.Vec(IDL.Nat8),
|
|
207
|
+
'withdrawal_fee' : IDL.Opt(WithdrawalFee),
|
|
167
208
|
'new_txid' : IDL.Vec(IDL.Nat8),
|
|
168
209
|
'submitted_at' : IDL.Nat64,
|
|
210
|
+
'reason' : IDL.Opt(ReplacedReason),
|
|
169
211
|
}),
|
|
170
212
|
'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),
|
|
171
213
|
'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),
|
|
@@ -177,6 +219,10 @@ export const idlFactory = ({ IDL }) => {
|
|
|
177
219
|
'burn_block_index' : IDL.Nat64,
|
|
178
220
|
'mint_block_index' : IDL.Nat64,
|
|
179
221
|
}),
|
|
222
|
+
'reimbursed_withdrawal' : IDL.Record({
|
|
223
|
+
'burn_block_index' : IDL.Nat64,
|
|
224
|
+
'mint_block_index' : IDL.Nat64,
|
|
225
|
+
}),
|
|
180
226
|
});
|
|
181
227
|
const Event = IDL.Record({
|
|
182
228
|
'timestamp' : IDL.Opt(IDL.Nat64),
|
package/dist/candid/minter.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ActorMethod } from "@
|
|
2
|
-
import type { IDL } from "@
|
|
3
|
-
import type { Principal } from "@
|
|
1
|
+
import type { ActorMethod } from "@icp-sdk/core/agent";
|
|
2
|
+
import type { IDL } from "@icp-sdk/core/candid";
|
|
3
|
+
import type { Principal } from "@icp-sdk/core/principal";
|
|
4
4
|
|
|
5
5
|
export interface Account {
|
|
6
6
|
owner: Principal;
|
|
@@ -17,6 +17,7 @@ export type BtcNetwork =
|
|
|
17
17
|
| { Regtest: null }
|
|
18
18
|
| { Testnet: null };
|
|
19
19
|
export interface CanisterStatusResponse {
|
|
20
|
+
memory_metrics: MemoryMetrics;
|
|
20
21
|
status: CanisterStatusType;
|
|
21
22
|
memory_size: bigint;
|
|
22
23
|
cycles: bigint;
|
|
@@ -32,6 +33,7 @@ export type CanisterStatusType =
|
|
|
32
33
|
| { running: null };
|
|
33
34
|
export interface DefiniteCanisterSettings {
|
|
34
35
|
freezing_threshold: bigint;
|
|
36
|
+
wasm_memory_threshold: bigint;
|
|
35
37
|
controllers: Array<Principal>;
|
|
36
38
|
reserved_cycles_limit: bigint;
|
|
37
39
|
log_visibility: LogVisibility;
|
|
@@ -64,6 +66,7 @@ export type EventType =
|
|
|
64
66
|
fee: [] | [bigint];
|
|
65
67
|
change_output: [] | [{ value: bigint; vout: number }];
|
|
66
68
|
txid: Uint8Array | number[];
|
|
69
|
+
withdrawal_fee: [] | [WithdrawalFee];
|
|
67
70
|
utxos: Array<Utxo>;
|
|
68
71
|
requests: BigUint64Array | bigint[];
|
|
69
72
|
submitted_at: bigint;
|
|
@@ -113,15 +116,27 @@ export type EventType =
|
|
|
113
116
|
kyt_provider: [] | [Principal];
|
|
114
117
|
};
|
|
115
118
|
}
|
|
119
|
+
| {
|
|
120
|
+
schedule_withdrawal_reimbursement: {
|
|
121
|
+
burn_block_index: bigint;
|
|
122
|
+
account: Account;
|
|
123
|
+
amount: bigint;
|
|
124
|
+
reason: WithdrawalReimbursementReason;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
| { quarantined_withdrawal_reimbursement: { burn_block_index: bigint } }
|
|
116
128
|
| { removed_retrieve_btc_request: { block_index: bigint } }
|
|
117
129
|
| { confirmed_transaction: { txid: Uint8Array | number[] } }
|
|
118
130
|
| {
|
|
119
131
|
replaced_transaction: {
|
|
120
132
|
fee: bigint;
|
|
121
133
|
change_output: { value: bigint; vout: number };
|
|
134
|
+
new_utxos: [] | [Array<Utxo>];
|
|
122
135
|
old_txid: Uint8Array | number[];
|
|
136
|
+
withdrawal_fee: [] | [WithdrawalFee];
|
|
123
137
|
new_txid: Uint8Array | number[];
|
|
124
138
|
submitted_at: bigint;
|
|
139
|
+
reason: [] | [ReplacedReason];
|
|
125
140
|
};
|
|
126
141
|
}
|
|
127
142
|
| { checked_utxo_v2: { utxo: Utxo; account: Account } }
|
|
@@ -132,6 +147,12 @@ export type EventType =
|
|
|
132
147
|
burn_block_index: bigint;
|
|
133
148
|
mint_block_index: bigint;
|
|
134
149
|
};
|
|
150
|
+
}
|
|
151
|
+
| {
|
|
152
|
+
reimbursed_withdrawal: {
|
|
153
|
+
burn_block_index: bigint;
|
|
154
|
+
mint_block_index: bigint;
|
|
155
|
+
};
|
|
135
156
|
};
|
|
136
157
|
export interface InitArgs {
|
|
137
158
|
get_utxos_cache_expiration_seconds: [] | [bigint];
|
|
@@ -147,10 +168,23 @@ export interface InitArgs {
|
|
|
147
168
|
min_confirmations: [] | [number];
|
|
148
169
|
kyt_fee: [] | [bigint];
|
|
149
170
|
}
|
|
171
|
+
export type InvalidTransactionError = {
|
|
172
|
+
too_many_inputs: { max_num_inputs: bigint; num_inputs: bigint };
|
|
173
|
+
};
|
|
150
174
|
export type LogVisibility =
|
|
151
175
|
| { controllers: null }
|
|
152
176
|
| { public: null }
|
|
153
177
|
| { allowed_viewers: Array<Principal> };
|
|
178
|
+
export interface MemoryMetrics {
|
|
179
|
+
wasm_binary_size: bigint;
|
|
180
|
+
wasm_chunk_store_size: bigint;
|
|
181
|
+
canister_history_size: bigint;
|
|
182
|
+
stable_memory_size: bigint;
|
|
183
|
+
snapshots_size: bigint;
|
|
184
|
+
wasm_memory_size: bigint;
|
|
185
|
+
global_memory_size: bigint;
|
|
186
|
+
custom_sections_size: bigint;
|
|
187
|
+
}
|
|
154
188
|
export type MinterArg = { Upgrade: [] | [UpgradeArgs] } | { Init: InitArgs };
|
|
155
189
|
export interface MinterInfo {
|
|
156
190
|
retrieve_btc_min_amount: bigint;
|
|
@@ -187,6 +221,11 @@ export interface ReimbursementRequest {
|
|
|
187
221
|
amount: bigint;
|
|
188
222
|
reason: ReimbursementReason;
|
|
189
223
|
}
|
|
224
|
+
export type ReplacedReason =
|
|
225
|
+
| {
|
|
226
|
+
to_cancel: { reason: WithdrawalReimbursementReason };
|
|
227
|
+
}
|
|
228
|
+
| { to_retry: null };
|
|
190
229
|
export interface RetrieveBtcArgs {
|
|
191
230
|
address: string;
|
|
192
231
|
amount: bigint;
|
|
@@ -280,6 +319,13 @@ export type UtxoStatus =
|
|
|
280
319
|
};
|
|
281
320
|
}
|
|
282
321
|
| { Checked: Utxo };
|
|
322
|
+
export interface WithdrawalFee {
|
|
323
|
+
minter_fee: bigint;
|
|
324
|
+
bitcoin_fee: bigint;
|
|
325
|
+
}
|
|
326
|
+
export type WithdrawalReimbursementReason = {
|
|
327
|
+
invalid_transaction: InvalidTransactionError;
|
|
328
|
+
};
|
|
283
329
|
export interface _SERVICE {
|
|
284
330
|
estimate_withdrawal_fee: ActorMethod<
|
|
285
331
|
[{ amount: [] | [bigint] }],
|
package/dist/candid/minter.did
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Generated from IC repo commit
|
|
1
|
+
// Generated from IC repo commit bf0d4d1 (2025-09-19 tags: release-2025-09-19_10-17-base) 'rs/bitcoin/ckbtc/minter/ckbtc_minter.did' by import-candid
|
|
2
2
|
// Represents an account on the ckBTC ledger.
|
|
3
3
|
type Account = record { owner : principal; subaccount : opt blob };
|
|
4
4
|
|
|
@@ -11,6 +11,7 @@ type CanisterStatusResponse = record {
|
|
|
11
11
|
module_hash : opt vec nat8;
|
|
12
12
|
query_stats : QueryStats;
|
|
13
13
|
reserved_cycles : nat;
|
|
14
|
+
memory_metrics : MemoryMetrics;
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
type QueryStats = record {
|
|
@@ -20,6 +21,17 @@ type QueryStats = record {
|
|
|
20
21
|
request_payload_bytes_total : nat;
|
|
21
22
|
};
|
|
22
23
|
|
|
24
|
+
type MemoryMetrics = record {
|
|
25
|
+
wasm_memory_size : nat;
|
|
26
|
+
stable_memory_size : nat;
|
|
27
|
+
global_memory_size : nat;
|
|
28
|
+
wasm_binary_size : nat;
|
|
29
|
+
custom_sections_size : nat;
|
|
30
|
+
canister_history_size : nat;
|
|
31
|
+
wasm_chunk_store_size : nat;
|
|
32
|
+
snapshots_size : nat;
|
|
33
|
+
};
|
|
34
|
+
|
|
23
35
|
type CanisterStatusType = variant { stopped; stopping; running };
|
|
24
36
|
|
|
25
37
|
type DefiniteCanisterSettings = record {
|
|
@@ -30,6 +42,7 @@ type DefiniteCanisterSettings = record {
|
|
|
30
42
|
reserved_cycles_limit : nat;
|
|
31
43
|
log_visibility: LogVisibility;
|
|
32
44
|
wasm_memory_limit : nat;
|
|
45
|
+
wasm_memory_threshold : nat;
|
|
33
46
|
};
|
|
34
47
|
|
|
35
48
|
type LogVisibility = variant {
|
|
@@ -350,6 +363,24 @@ type ReimbursementReason = variant {
|
|
|
350
363
|
};
|
|
351
364
|
};
|
|
352
365
|
|
|
366
|
+
type ReplacedReason = variant {
|
|
367
|
+
to_retry;
|
|
368
|
+
to_cancel : record {
|
|
369
|
+
reason : WithdrawalReimbursementReason;
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
type WithdrawalReimbursementReason = variant {
|
|
374
|
+
invalid_transaction : InvalidTransactionError;
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
type InvalidTransactionError = variant {
|
|
378
|
+
too_many_inputs : record {
|
|
379
|
+
num_inputs : nat64;
|
|
380
|
+
max_num_inputs : nat64;
|
|
381
|
+
};
|
|
382
|
+
};
|
|
383
|
+
|
|
353
384
|
type SuspendedReason = variant {
|
|
354
385
|
// The minter ignored this UTXO because UTXO's value is too small to pay
|
|
355
386
|
// the check fees.
|
|
@@ -358,6 +389,11 @@ type SuspendedReason = variant {
|
|
|
358
389
|
Quarantined;
|
|
359
390
|
};
|
|
360
391
|
|
|
392
|
+
type WithdrawalFee = record {
|
|
393
|
+
minter_fee : nat64;
|
|
394
|
+
bitcoin_fee : nat64;
|
|
395
|
+
};
|
|
396
|
+
|
|
361
397
|
type Event = record {
|
|
362
398
|
timestamp : opt nat64;
|
|
363
399
|
payload : EventType;
|
|
@@ -388,13 +424,17 @@ type EventType = variant {
|
|
|
388
424
|
change_output : opt record { vout : nat32; value : nat64 };
|
|
389
425
|
submitted_at : nat64;
|
|
390
426
|
fee: opt nat64;
|
|
427
|
+
withdrawal_fee : opt WithdrawalFee;
|
|
391
428
|
};
|
|
392
429
|
replaced_transaction : record {
|
|
393
430
|
new_txid : blob;
|
|
394
431
|
old_txid : blob;
|
|
395
432
|
change_output : record { vout : nat32; value : nat64 };
|
|
396
433
|
submitted_at : nat64;
|
|
397
|
-
fee: nat64;
|
|
434
|
+
fee : nat64;
|
|
435
|
+
withdrawal_fee : opt WithdrawalFee;
|
|
436
|
+
reason : opt ReplacedReason;
|
|
437
|
+
new_utxos : opt vec Utxo;
|
|
398
438
|
};
|
|
399
439
|
confirmed_transaction : record { txid : blob };
|
|
400
440
|
checked_utxo : record {
|
|
@@ -428,6 +468,19 @@ type EventType = variant {
|
|
|
428
468
|
reason : ReimbursementReason;
|
|
429
469
|
};
|
|
430
470
|
reimbursed_failed_deposit : record { burn_block_index : nat64; mint_block_index : nat64 };
|
|
471
|
+
schedule_withdrawal_reimbursement : record {
|
|
472
|
+
account : Account;
|
|
473
|
+
burn_block_index : nat64;
|
|
474
|
+
amount : nat64;
|
|
475
|
+
reason : WithdrawalReimbursementReason;
|
|
476
|
+
};
|
|
477
|
+
quarantined_withdrawal_reimbursement : record {
|
|
478
|
+
burn_block_index : nat64;
|
|
479
|
+
};
|
|
480
|
+
reimbursed_withdrawal : record {
|
|
481
|
+
burn_block_index : nat64;
|
|
482
|
+
mint_block_index : nat64;
|
|
483
|
+
};
|
|
431
484
|
};
|
|
432
485
|
|
|
433
486
|
type MinterArg = variant {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { IDL } from "@
|
|
1
|
+
import type { IDL } from "@icp-sdk/core/candid";
|
|
2
2
|
export const idlFactory: IDL.InterfaceFactory;
|
|
@@ -40,6 +40,16 @@ export const idlFactory = ({ IDL }) => {
|
|
|
40
40
|
'Upgrade' : IDL.Opt(UpgradeArgs),
|
|
41
41
|
'Init' : InitArgs,
|
|
42
42
|
});
|
|
43
|
+
const MemoryMetrics = IDL.Record({
|
|
44
|
+
'wasm_binary_size' : IDL.Nat,
|
|
45
|
+
'wasm_chunk_store_size' : IDL.Nat,
|
|
46
|
+
'canister_history_size' : IDL.Nat,
|
|
47
|
+
'stable_memory_size' : IDL.Nat,
|
|
48
|
+
'snapshots_size' : IDL.Nat,
|
|
49
|
+
'wasm_memory_size' : IDL.Nat,
|
|
50
|
+
'global_memory_size' : IDL.Nat,
|
|
51
|
+
'custom_sections_size' : IDL.Nat,
|
|
52
|
+
});
|
|
43
53
|
const CanisterStatusType = IDL.Variant({
|
|
44
54
|
'stopped' : IDL.Null,
|
|
45
55
|
'stopping' : IDL.Null,
|
|
@@ -52,6 +62,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
52
62
|
});
|
|
53
63
|
const DefiniteCanisterSettings = IDL.Record({
|
|
54
64
|
'freezing_threshold' : IDL.Nat,
|
|
65
|
+
'wasm_memory_threshold' : IDL.Nat,
|
|
55
66
|
'controllers' : IDL.Vec(IDL.Principal),
|
|
56
67
|
'reserved_cycles_limit' : IDL.Nat,
|
|
57
68
|
'log_visibility' : LogVisibility,
|
|
@@ -66,6 +77,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
66
77
|
'request_payload_bytes_total' : IDL.Nat,
|
|
67
78
|
});
|
|
68
79
|
const CanisterStatusResponse = IDL.Record({
|
|
80
|
+
'memory_metrics' : MemoryMetrics,
|
|
69
81
|
'status' : CanisterStatusType,
|
|
70
82
|
'memory_size' : IDL.Nat,
|
|
71
83
|
'cycles' : IDL.Nat,
|
|
@@ -91,6 +103,10 @@ export const idlFactory = ({ IDL }) => {
|
|
|
91
103
|
'kyt_provider' : IDL.Principal,
|
|
92
104
|
}),
|
|
93
105
|
});
|
|
106
|
+
const WithdrawalFee = IDL.Record({
|
|
107
|
+
'minter_fee' : IDL.Nat64,
|
|
108
|
+
'bitcoin_fee' : IDL.Nat64,
|
|
109
|
+
});
|
|
94
110
|
const SuspendedReason = IDL.Variant({
|
|
95
111
|
'ValueTooSmall' : IDL.Null,
|
|
96
112
|
'Quarantined' : IDL.Null,
|
|
@@ -102,6 +118,19 @@ export const idlFactory = ({ IDL }) => {
|
|
|
102
118
|
'p2wpkh_v0' : IDL.Vec(IDL.Nat8),
|
|
103
119
|
'p2pkh' : IDL.Vec(IDL.Nat8),
|
|
104
120
|
});
|
|
121
|
+
const InvalidTransactionError = IDL.Variant({
|
|
122
|
+
'too_many_inputs' : IDL.Record({
|
|
123
|
+
'max_num_inputs' : IDL.Nat64,
|
|
124
|
+
'num_inputs' : IDL.Nat64,
|
|
125
|
+
}),
|
|
126
|
+
});
|
|
127
|
+
const WithdrawalReimbursementReason = IDL.Variant({
|
|
128
|
+
'invalid_transaction' : InvalidTransactionError,
|
|
129
|
+
});
|
|
130
|
+
const ReplacedReason = IDL.Variant({
|
|
131
|
+
'to_cancel' : IDL.Record({ 'reason' : WithdrawalReimbursementReason }),
|
|
132
|
+
'to_retry' : IDL.Null,
|
|
133
|
+
});
|
|
105
134
|
const EventType = IDL.Variant({
|
|
106
135
|
'received_utxos' : IDL.Record({
|
|
107
136
|
'to_account' : Account,
|
|
@@ -120,6 +149,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
120
149
|
IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 })
|
|
121
150
|
),
|
|
122
151
|
'txid' : IDL.Vec(IDL.Nat8),
|
|
152
|
+
'withdrawal_fee' : IDL.Opt(WithdrawalFee),
|
|
123
153
|
'utxos' : IDL.Vec(Utxo),
|
|
124
154
|
'requests' : IDL.Vec(IDL.Nat64),
|
|
125
155
|
'submitted_at' : IDL.Nat64,
|
|
@@ -158,14 +188,26 @@ export const idlFactory = ({ IDL }) => {
|
|
|
158
188
|
'uuid' : IDL.Text,
|
|
159
189
|
'kyt_provider' : IDL.Opt(IDL.Principal),
|
|
160
190
|
}),
|
|
191
|
+
'schedule_withdrawal_reimbursement' : IDL.Record({
|
|
192
|
+
'burn_block_index' : IDL.Nat64,
|
|
193
|
+
'account' : Account,
|
|
194
|
+
'amount' : IDL.Nat64,
|
|
195
|
+
'reason' : WithdrawalReimbursementReason,
|
|
196
|
+
}),
|
|
197
|
+
'quarantined_withdrawal_reimbursement' : IDL.Record({
|
|
198
|
+
'burn_block_index' : IDL.Nat64,
|
|
199
|
+
}),
|
|
161
200
|
'removed_retrieve_btc_request' : IDL.Record({ 'block_index' : IDL.Nat64 }),
|
|
162
201
|
'confirmed_transaction' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),
|
|
163
202
|
'replaced_transaction' : IDL.Record({
|
|
164
203
|
'fee' : IDL.Nat64,
|
|
165
204
|
'change_output' : IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 }),
|
|
205
|
+
'new_utxos' : IDL.Opt(IDL.Vec(Utxo)),
|
|
166
206
|
'old_txid' : IDL.Vec(IDL.Nat8),
|
|
207
|
+
'withdrawal_fee' : IDL.Opt(WithdrawalFee),
|
|
167
208
|
'new_txid' : IDL.Vec(IDL.Nat8),
|
|
168
209
|
'submitted_at' : IDL.Nat64,
|
|
210
|
+
'reason' : IDL.Opt(ReplacedReason),
|
|
169
211
|
}),
|
|
170
212
|
'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),
|
|
171
213
|
'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),
|
|
@@ -177,6 +219,10 @@ export const idlFactory = ({ IDL }) => {
|
|
|
177
219
|
'burn_block_index' : IDL.Nat64,
|
|
178
220
|
'mint_block_index' : IDL.Nat64,
|
|
179
221
|
}),
|
|
222
|
+
'reimbursed_withdrawal' : IDL.Record({
|
|
223
|
+
'burn_block_index' : IDL.Nat64,
|
|
224
|
+
'mint_block_index' : IDL.Nat64,
|
|
225
|
+
}),
|
|
180
226
|
});
|
|
181
227
|
const Event = IDL.Record({
|
|
182
228
|
'timestamp' : IDL.Opt(IDL.Nat64),
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Kt=Object.create;var j=Object.defineProperty;var Xt=Object.getOwnPropertyDescriptor;var Jt=Object.getOwnPropertyNames;var Yt=Object.getPrototypeOf,Zt=Object.prototype.hasOwnProperty;var It=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Lt=(t,e)=>{for(var r in e)j(t,r,{get:e[r],enumerable:!0})},Tt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Jt(e))!Zt.call(t,o)&&o!==r&&j(t,o,{get:()=>e[o],enumerable:!(n=Xt(e,o))||n.enumerable});return t};var Dt=(t,e,r)=>(r=t!=null?Kt(Yt(t)):{},Tt(e||!t||!t.__esModule?j(r,"default",{value:t,enumerable:!0}):r,t)),te=t=>Tt(j({},"__esModule",{value:!0}),t);var jt=It(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.bech32m=S.bech32=void 0;var it="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Qt={};for(let t=0;t<it.length;t++){let e=it.charAt(t);Qt[e]=t}function E(t){let e=t>>25;return(t&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function zt(t){let e=1;for(let r=0;r<t.length;++r){let n=t.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+t+")";e=E(e)^n>>5}e=E(e);for(let r=0;r<t.length;++r){let n=t.charCodeAt(r);e=E(e)^n&31}return e}function Pt(t,e,r,n){let o=0,i=0,c=(1<<r)-1,s=[];for(let l=0;l<t.length;++l)for(o=o<<e|t[l],i+=e;i>=r;)i-=r,s.push(o>>i&c);if(n)i>0&&s.push(o<<r-i&c);else{if(i>=e)return"Excess padding";if(o<<r-i&c)return"Non-zero padding"}return s}function se(t){return Pt(t,8,5,!0)}function le(t){let e=Pt(t,5,8,!1);if(Array.isArray(e))return e}function ue(t){let e=Pt(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function $t(t){let e;t==="bech32"?e=1:e=734539939;function r(c,s,l){if(l=l||90,c.length+7+s.length>l)throw new TypeError("Exceeds length limit");c=c.toLowerCase();let _=zt(c);if(typeof _=="string")throw new Error(_);let d=c+"1";for(let a=0;a<s.length;++a){let u=s[a];if(u>>5!==0)throw new Error("Non 5-bit word");_=E(_)^u,d+=it.charAt(u)}for(let a=0;a<6;++a)_=E(_);_^=e;for(let a=0;a<6;++a){let u=_>>(5-a)*5&31;d+=it.charAt(u)}return d}function n(c,s){if(s=s||90,c.length<8)return c+" too short";if(c.length>s)return"Exceeds length limit";let l=c.toLowerCase(),_=c.toUpperCase();if(c!==l&&c!==_)return"Mixed-case string "+c;c=l;let d=c.lastIndexOf("1");if(d===-1)return"No separator character for "+c;if(d===0)return"Missing prefix for "+c;let a=c.slice(0,d),u=c.slice(d+1);if(u.length<6)return"Data too short";let p=zt(a);if(typeof p=="string")return p;let f=[];for(let x=0;x<u.length;++x){let m=u.charAt(x),b=Qt[m];if(b===void 0)return"Unknown character "+m;p=E(p)^b,!(x+6>=u.length)&&f.push(b)}return p!==e?"Invalid checksum for "+c:{prefix:a,words:f}}function o(c,s){let l=n(c,s);if(typeof l=="object")return l}function i(c,s){let l=n(c,s);if(typeof l=="object")return l;throw new Error(l)}return{decodeUnsafe:o,decode:i,encode:r,toWords:se,fromWordsUnsafe:le,fromWords:ue}}S.bech32=$t("bech32");S.bech32m=$t("bech32m")});var Ne={};Lt(Ne,{BitcoinCanister:()=>K,BtcAddressType:()=>yt,BtcNetwork:()=>gt,CkBTCMinterCanister:()=>rt,MinterAlreadyProcessingError:()=>Y,MinterAmountTooLowError:()=>L,MinterGenericError:()=>k,MinterInsufficientAllowanceError:()=>tt,MinterInsufficientFundsError:()=>D,MinterMalformedAddressError:()=>I,MinterNoNewUtxosError:()=>Z,MinterRetrieveBtcError:()=>O,MinterTemporaryUnavailableError:()=>J,MinterUpdateBalanceError:()=>z,ParseBtcAddressBadWitnessLengthError:()=>q,ParseBtcAddressError:()=>N,ParseBtcAddressInvalidError:()=>U,ParseBtcAddressMalformedAddressError:()=>B,ParseBtcAddressNoDataError:()=>H,ParseBtcAddressUnexpectedHumanReadablePartError:()=>W,ParseBtcAddressUnsupportedAddressTypeError:()=>T,ParseBtcAddressUnsupportedWitnessVersionError:()=>G,ParseBtcAddressWrongNetworkError:()=>M,createRetrieveBtcError:()=>et,createRetrieveBtcWithApprovalError:()=>kt,createUpdateBalanceError:()=>Rt,parseBtcAddress:()=>me,toGetBalanceParams:()=>Nt,toGetUtxosParams:()=>mt});module.exports=te(Ne);var X=require("@dfinity/utils");var Ft=({IDL:t})=>{let e=t.Variant({disabled:t.Null,enabled:t.Null}),r=t.Record({get_current_fee_percentiles:t.Nat,get_utxos_maximum:t.Nat,get_block_headers_cycles_per_ten_instructions:t.Nat,get_current_fee_percentiles_maximum:t.Nat,send_transaction_per_byte:t.Nat,get_balance:t.Nat,get_utxos_cycles_per_ten_instructions:t.Nat,get_block_headers_base:t.Nat,get_utxos_base:t.Nat,get_balance_maximum:t.Nat,send_transaction_base:t.Nat,get_block_headers_maximum:t.Nat}),n=t.Variant({mainnet:t.Null,regtest:t.Null,testnet:t.Null}),o=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),blocks_source:t.Opt(t.Principal),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),network:t.Opt(n),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)}),i=t.Text,c=t.Record({network:n,address:i,min_confirmations:t.Opt(t.Nat32)}),s=t.Nat64,l=t.Nat32,_=t.Record({start_height:l,end_height:t.Opt(l),network:n}),d=t.Vec(t.Nat8),a=t.Record({tip_height:l,block_headers:t.Vec(d)}),u=t.Record({network:n}),p=t.Nat64,f=t.Record({network:n,filter:t.Opt(t.Variant({page:t.Vec(t.Nat8),min_confirmations:t.Nat32})),address:i}),x=t.Vec(t.Nat8),m=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),b=t.Record({height:l,value:s,outpoint:m}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:l,tip_block_hash:x,utxos:t.Vec(b)}),V=t.Record({transaction:t.Vec(t.Nat8),network:n}),w=t.Record({api_access:e,lazily_evaluate_fee_percentiles:e,blocks_source:t.Principal,fees:r,watchdog_canister:t.Opt(t.Principal),network:n,stability_threshold:t.Nat,syncing:e,burn_cycles:e,disable_api_if_not_fully_synced:e}),A=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)});return t.Service({bitcoin_get_balance:t.Func([c],[s],[]),bitcoin_get_balance_query:t.Func([c],[s],[]),bitcoin_get_block_headers:t.Func([_],[a],[]),bitcoin_get_current_fee_percentiles:t.Func([u],[t.Vec(p)],[]),bitcoin_get_utxos:t.Func([f],[y],[]),bitcoin_get_utxos_query:t.Func([f],[y],[]),bitcoin_send_transaction:t.Func([V],[],[]),get_config:t.Func([],[w],[]),set_config:t.Func([A],[],[])})};var Et=({IDL:t})=>{let e=t.Variant({disabled:t.Null,enabled:t.Null}),r=t.Record({get_current_fee_percentiles:t.Nat,get_utxos_maximum:t.Nat,get_block_headers_cycles_per_ten_instructions:t.Nat,get_current_fee_percentiles_maximum:t.Nat,send_transaction_per_byte:t.Nat,get_balance:t.Nat,get_utxos_cycles_per_ten_instructions:t.Nat,get_block_headers_base:t.Nat,get_utxos_base:t.Nat,get_balance_maximum:t.Nat,send_transaction_base:t.Nat,get_block_headers_maximum:t.Nat}),n=t.Variant({mainnet:t.Null,regtest:t.Null,testnet:t.Null}),o=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),blocks_source:t.Opt(t.Principal),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),network:t.Opt(n),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)}),i=t.Text,c=t.Record({network:n,address:i,min_confirmations:t.Opt(t.Nat32)}),s=t.Nat64,l=t.Nat32,_=t.Record({start_height:l,end_height:t.Opt(l),network:n}),d=t.Vec(t.Nat8),a=t.Record({tip_height:l,block_headers:t.Vec(d)}),u=t.Record({network:n}),p=t.Nat64,f=t.Record({network:n,filter:t.Opt(t.Variant({page:t.Vec(t.Nat8),min_confirmations:t.Nat32})),address:i}),x=t.Vec(t.Nat8),m=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),b=t.Record({height:l,value:s,outpoint:m}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:l,tip_block_hash:x,utxos:t.Vec(b)}),V=t.Record({transaction:t.Vec(t.Nat8),network:n}),w=t.Record({api_access:e,lazily_evaluate_fee_percentiles:e,blocks_source:t.Principal,fees:r,watchdog_canister:t.Opt(t.Principal),network:n,stability_threshold:t.Nat,syncing:e,burn_cycles:e,disable_api_if_not_fully_synced:e}),A=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)});return t.Service({bitcoin_get_balance:t.Func([c],[s],[]),bitcoin_get_balance_query:t.Func([c],[s],["query"]),bitcoin_get_block_headers:t.Func([_],[a],[]),bitcoin_get_current_fee_percentiles:t.Func([u],[t.Vec(p)],[]),bitcoin_get_utxos:t.Func([f],[y],[]),bitcoin_get_utxos_query:t.Func([f],[y],["query"]),bitcoin_send_transaction:t.Func([V],[],[]),get_config:t.Func([],[w],["query"]),set_config:t.Func([A],[],[])})};var P=require("@dfinity/utils"),ee={mainnet:{mainnet:null},testnet:{testnet:null},regtest:{regtest:null}},mt=({network:t,filter:e,...r})=>({filter:(0,P.nonNullish)(e)?(0,P.toNullable)("minConfirmations"in e?{min_confirmations:e.minConfirmations}:{page:e.page}):(0,P.toNullable)(),network:t==="testnet"?{testnet:null}:{mainnet:null},...r}),Nt=({network:t,minConfirmations:e,...r})=>({min_confirmations:(0,P.toNullable)(e),network:ee[t],...r});var K=class t extends X.Canister{static create(e){let{service:r,certifiedService:n,canisterId:o}=(0,X.createServices)({options:e,idlFactory:Et,certifiedIdlFactory:Ft});return new t(o,r,n)}getUtxosQuery=({...e})=>{let{bitcoin_get_utxos_query:r}=this.caller({certified:!1});return r(mt(e))};getBalanceQuery=({...e})=>{let{bitcoin_get_balance_query:r}=this.caller({certified:!1});return r(Nt(e))}};var gt=(n=>(n[n.Mainnet=0]="Mainnet",n[n.Regtest=1]="Regtest",n[n.Testnet=2]="Testnet",n))(gt||{}),yt=(i=>(i[i.P2wpkhV0=0]="P2wpkhV0",i[i.P2pkh=1]="P2pkh",i[i.P2sh=2]="P2sh",i[i.P2wsh=3]="P2wsh",i[i.P2tr=4]="P2tr",i))(yt||{});var N=class extends Error{},U=class extends N{},H=class extends N{},T=class extends N{},q=class extends N{},G=class extends N{},W=class extends N{},B=class extends N{},M=class extends N{};var F=require("@dfinity/utils"),k=class extends Error{},J=class extends k{},Y=class extends k{},z=class extends k{},Z=class extends z{pendingUtxos;requiredConfirmations;constructor({pending_utxos:e,required_confirmations:r}){super(),this.pendingUtxos=(0,F.fromNullable)(e)??[],this.requiredConfirmations=r}},O=class extends k{},I=class extends O{},L=class extends O{},D=class extends O{},tt=class extends O{},wt=t=>{if("GenericError"in t){let{GenericError:{error_message:e,error_code:r}}=t;return new k(`${e} (${r})`)}if("TemporarilyUnavailable"in t)return new J(t.TemporarilyUnavailable);if("AlreadyProcessing"in t)return new Y},Rt=t=>{let e=wt(t);return(0,F.nonNullish)(e)?e:"NoNewUtxos"in t?new Z(t.NoNewUtxos):new z(`Unsupported response type in minter.updateBalance ${JSON.stringify(t)}`)},et=t=>{let e=wt(t);return(0,F.nonNullish)(e)?e:"MalformedAddress"in t?new I(t.MalformedAddress):"AmountTooLow"in t?new L(`${t.AmountTooLow}`):"InsufficientFunds"in t?new D(`${t.InsufficientFunds.balance}`):new O(`Unsupported response type in minter.retrieveBtc ${JSON.stringify(t)}`)},kt=t=>{let e=wt(t);return(0,F.nonNullish)(e)?e:"InsufficientAllowance"in t?new tt(`${t.InsufficientAllowance.allowance}`):et(t)};var h=require("@dfinity/utils");var St=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),n=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),o=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:n,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),i=t.Variant({Upgrade:t.Opt(r),Init:o}),c=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),s=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),l=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:s,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),_=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),d=t.Record({status:c,memory_size:t.Nat,cycles:t.Nat,settings:l,query_stats:_,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),a=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),u=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),p=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),f=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),x=t.Variant({p2wsh_v0:t.Vec(t.Nat8),p2tr_v1:t.Vec(t.Nat8),p2sh:t.Vec(t.Nat8),p2wpkh_v0:t.Vec(t.Nat8),p2pkh:t.Vec(t.Nat8)}),m=t.Variant({received_utxos:t.Record({to_account:a,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:a,amount:t.Nat64,reason:p}),sent_transaction:t.Record({fee:t.Opt(t.Nat64),change_output:t.Opt(t.Record({value:t.Nat64,vout:t.Nat32})),txid:t.Vec(t.Nat8),utxos:t.Vec(u),requests:t.Vec(t.Nat64),submitted_at:t.Nat64}),distributed_kyt_fee:t.Record({block_index:t.Nat64,amount:t.Nat64,kyt_provider:t.Principal}),init:o,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:u,account:a,reason:f}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:x,reimbursement_account:t.Opt(a),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:u,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),old_txid:t.Vec(t.Nat8),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64}),checked_utxo_v2:t.Record({utxo:u,account:a}),ignored_utxo:t.Record({utxo:u}),checked_utxo_mint_unknown:t.Record({utxo:u,account:a}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),b=t.Record({timestamp:t.Opt(t.Nat64),payload:m}),y=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),V=t.Record({address:t.Text,amount:t.Nat64}),w=t.Record({block_index:t.Nat64}),A=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),st=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Pending:t.Null}),lt=t.Record({account:a,amount:t.Nat64,reason:p}),ut=t.Record({account:a,mint_block_index:t.Nat64,amount:t.Nat64,reason:p}),C=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,WillReimburse:lt,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:ut,Pending:t.Null}),dt=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),_t=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,InsufficientAllowance:t.Record({allowance:t.Nat64}),AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),pt=t.Variant({ValueTooSmall:u,Tainted:u,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:u}),Checked:u}),ft=t.Nat64,xt=t.Record({utxo:u,earliest_retry:ft,reason:f}),ht=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),bt=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(xt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(ht)),current_confirmations:t.Opt(t.Nat32)})});return t.Service({estimate_withdrawal_fee:t.Func([t.Record({amount:t.Opt(t.Nat64)})],[t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64})],[]),get_btc_address:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Text],[]),get_canister_status:t.Func([],[d],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(b)],[]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(u)],[]),get_minter_info:t.Func([],[y],[]),get_withdrawal_account:t.Func([],[a],[]),retrieve_btc:t.Func([V],[t.Variant({Ok:w,Err:A})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[st],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[C],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(a)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(C)}))],[]),retrieve_btc_with_approval:t.Func([dt],[t.Variant({Ok:w,Err:_t})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(pt),Err:bt})],[])})};var Ct=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),n=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),o=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:n,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),i=t.Variant({Upgrade:t.Opt(r),Init:o}),c=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),s=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),l=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:s,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),_=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),d=t.Record({status:c,memory_size:t.Nat,cycles:t.Nat,settings:l,query_stats:_,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),a=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),u=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),p=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),f=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),x=t.Variant({p2wsh_v0:t.Vec(t.Nat8),p2tr_v1:t.Vec(t.Nat8),p2sh:t.Vec(t.Nat8),p2wpkh_v0:t.Vec(t.Nat8),p2pkh:t.Vec(t.Nat8)}),m=t.Variant({received_utxos:t.Record({to_account:a,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:a,amount:t.Nat64,reason:p}),sent_transaction:t.Record({fee:t.Opt(t.Nat64),change_output:t.Opt(t.Record({value:t.Nat64,vout:t.Nat32})),txid:t.Vec(t.Nat8),utxos:t.Vec(u),requests:t.Vec(t.Nat64),submitted_at:t.Nat64}),distributed_kyt_fee:t.Record({block_index:t.Nat64,amount:t.Nat64,kyt_provider:t.Principal}),init:o,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:u,account:a,reason:f}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:x,reimbursement_account:t.Opt(a),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:u,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),old_txid:t.Vec(t.Nat8),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64}),checked_utxo_v2:t.Record({utxo:u,account:a}),ignored_utxo:t.Record({utxo:u}),checked_utxo_mint_unknown:t.Record({utxo:u,account:a}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),b=t.Record({timestamp:t.Opt(t.Nat64),payload:m}),y=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),V=t.Record({address:t.Text,amount:t.Nat64}),w=t.Record({block_index:t.Nat64}),A=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),st=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Pending:t.Null}),lt=t.Record({account:a,amount:t.Nat64,reason:p}),ut=t.Record({account:a,mint_block_index:t.Nat64,amount:t.Nat64,reason:p}),C=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,WillReimburse:lt,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:ut,Pending:t.Null}),dt=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),_t=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,InsufficientAllowance:t.Record({allowance:t.Nat64}),AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),pt=t.Variant({ValueTooSmall:u,Tainted:u,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:u}),Checked:u}),ft=t.Nat64,xt=t.Record({utxo:u,earliest_retry:ft,reason:f}),ht=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),bt=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(xt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(ht)),current_confirmations:t.Opt(t.Nat32)})});return t.Service({estimate_withdrawal_fee:t.Func([t.Record({amount:t.Opt(t.Nat64)})],[t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64})],["query"]),get_btc_address:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Text],[]),get_canister_status:t.Func([],[d],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(b)],["query"]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(u)],["query"]),get_minter_info:t.Func([],[y],["query"]),get_withdrawal_account:t.Func([],[a],[]),retrieve_btc:t.Func([V],[t.Variant({Ok:w,Err:A})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[st],["query"]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[C],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(a)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(C)}))],["query"]),retrieve_btc_with_approval:t.Func([dt],[t.Variant({Ok:w,Err:_t})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(pt),Err:bt})],[])})};var rt=class t extends h.Canister{static create(e){let{service:r,certifiedService:n,canisterId:o}=(0,h.createServices)({options:e,idlFactory:Ct,certifiedIdlFactory:St});return new t(o,r,n)}getBtcAddress=({owner:e,subaccount:r})=>this.caller({certified:!0}).get_btc_address({owner:(0,h.toNullable)(e),subaccount:(0,h.toNullable)(r)});updateBalance=async({owner:e,subaccount:r})=>{let n=await this.caller({certified:!0}).update_balance({owner:(0,h.toNullable)(e),subaccount:(0,h.toNullable)(r)});if("Err"in n)throw Rt(n.Err);return n.Ok};getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();retrieveBtc=async e=>{let r=await this.caller({certified:!0}).retrieve_btc(e);if("Err"in r)throw et(r.Err);return r.Ok};retrieveBtcWithApproval=async({address:e,amount:r,fromSubaccount:n})=>{let o=await this.caller({certified:!0}).retrieve_btc_with_approval({address:e,amount:r,from_subaccount:(0,h.toNullable)(n)});if("Err"in o)throw kt(o.Err);return o.Ok};retrieveBtcStatus=({transactionId:e,certified:r})=>this.caller({certified:r}).retrieve_btc_status({block_index:e});retrieveBtcStatusV2ByAccount=async({account:e,certified:r})=>{let{retrieve_btc_status_v2_by_account:n}=this.caller({certified:r});return(await n((0,h.isNullish)(e)?[]:[{owner:e.owner,subaccount:(0,h.toNullable)(e.subaccount)}])).map(({block_index:i,status_v2:c})=>({id:i,status:(0,h.fromNullable)(c)}))};estimateWithdrawalFee=({certified:e,amount:r})=>this.caller({certified:e}).estimate_withdrawal_fee({amount:(0,h.toNullable)(r)});getMinterInfo=({certified:e})=>this.caller({certified:e}).get_minter_info();getKnownUtxos=({owner:e,subaccount:r,certified:n})=>{let{get_known_utxos:o}=this.caller({certified:n});return o({owner:(0,h.toNullable)(e),subaccount:(0,h.toNullable)(r)})}};var Ut=require("@dfinity/utils");function re(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ot(t,...e){if(!re(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Ot(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Ht(t,e){ot(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Q(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function ct(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function g(t,e){return t<<32-e|t>>>e}function ne(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function vt(t){return typeof t=="string"&&(t=ne(t)),ot(t),t}var nt=class{};function qt(t){let e=n=>t().update(vt(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function oe(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),i=BigInt(4294967295),c=Number(r>>o&i),s=Number(r&i),l=n?4:0,_=n?0:4;t.setUint32(e+l,c,n),t.setUint32(e+_,s,n)}function Gt(t,e,r){return t&e^~t&r}function Wt(t,e,r){return t&e^t&r^e&r}var at=class extends nt{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=ct(this.buffer)}update(e){Ot(this),e=vt(e),ot(e);let{view:r,buffer:n,blockLen:o}=this,i=e.length;for(let c=0;c<i;){let s=Math.min(o-this.pos,i-c);if(s===o){let l=ct(e);for(;o<=i-c;c+=o)this.process(l,c);continue}n.set(e.subarray(c,c+s),this.pos),this.pos+=s,c+=s,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ot(this),Ht(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:c}=this;r[c++]=128,Q(this.buffer.subarray(c)),this.padOffset>o-c&&(this.process(n,0),c=0);for(let a=c;a<o;a++)r[a]=0;oe(n,o-8,BigInt(this.length*8),i),this.process(n,0);let s=ct(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let _=l/4,d=this.get();if(_>d.length)throw new Error("_sha2: outputLen bigger than state");for(let a=0;a<_;a++)s.setUint32(4*a,d[a],i)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:c,pos:s}=this;return e.destroyed=c,e.finished=i,e.length=o,e.pos=s,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}},R=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ce=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),v=new Uint32Array(64),Vt=class extends at{constructor(e=32){super(64,e,8,!1),this.A=R[0]|0,this.B=R[1]|0,this.C=R[2]|0,this.D=R[3]|0,this.E=R[4]|0,this.F=R[5]|0,this.G=R[6]|0,this.H=R[7]|0}get(){let{A:e,B:r,C:n,D:o,E:i,F:c,G:s,H:l}=this;return[e,r,n,o,i,c,s,l]}set(e,r,n,o,i,c,s,l){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=c|0,this.G=s|0,this.H=l|0}process(e,r){for(let a=0;a<16;a++,r+=4)v[a]=e.getUint32(r,!1);for(let a=16;a<64;a++){let u=v[a-15],p=v[a-2],f=g(u,7)^g(u,18)^u>>>3,x=g(p,17)^g(p,19)^p>>>10;v[a]=x+v[a-7]+f+v[a-16]|0}let{A:n,B:o,C:i,D:c,E:s,F:l,G:_,H:d}=this;for(let a=0;a<64;a++){let u=g(s,6)^g(s,11)^g(s,25),p=d+u+Gt(s,l,_)+ce[a]+v[a]|0,x=(g(n,2)^g(n,13)^g(n,22))+Wt(n,o,i)|0;d=_,_=l,l=s,s=c+p|0,c=i,i=o,o=n,n=p+x|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,c=c+this.D|0,s=s+this.E|0,l=l+this.F|0,_=_+this.G|0,d=d+this.H|0,this.set(n,o,i,c,s,l,_,d)}roundClean(){Q(v)}destroy(){this.set(0,0,0,0,0,0,0,0),Q(this.buffer)}};var At=qt(()=>new Vt);var ae="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Mt=ae;function ie(t){if(!t||typeof t!="string")throw new Error(`Expected base58 string but got \u201C${t}\u201D`);if(t.match(/[IOl0]/gmu))throw new Error(`Invalid base58 character \u201C${t.match(/[IOl0]/gmu)}\u201D`);let e=t.match(/^1+/gmu),r=e?e[0].length:0,n=(t.length-r)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(r),...t.match(/.{1}/gmu).map(o=>Mt.indexOf(o)).reduce((o,i)=>(o=o.map(c=>{let s=c*58+i;return i=s>>8,s}),o),new Uint8Array(n)).reverse().filter((o=>i=>o=o||i)(!1))])}var Bt=ie;var $=Dt(jt());var de=0,_e=5,pe=111,fe=196,xe={[de]:{type:1,networks:[0]},[pe]:{type:1,networks:[2,1]},[_e]:{type:2,networks:[0]},[fe]:{type:2,networks:[2,1]}},he=({address:t,network:e})=>{let n=(d=>{try{return Bt(d)}catch{throw new U}})(t),{length:o}=n;if(o!==25)throw new B(`Expected the address to be 25 bytes, got ${o}.`);(d=>{let a=d.slice(o-4,o),u=d.slice(0,o-4),p=At.create();p.update(u);let f=At.create();f.update(p.digest());let x=f.digest().slice(0,4);if(a.some((m,b)=>m!==x[b]))throw new B(`Checksum mismatch expected ${a}, got ${x}.`)})(n);let[c]=n,s=xe[c];if((0,Ut.isNullish)(s))throw new T;let{type:l,networks:_}=s;if(!_.includes(e))throw new M;return{address:t,network:e,type:l,parser:"base58"}},be=({address:t,network:e})=>{let r=d=>{try{return d.startsWith("bc1p")||d.startsWith("tb1p")||d.startsWith("bcrt1p")?$.bech32m.decode(d):$.bech32.decode(d)}catch{throw new B}},{prefix:n,words:o}=r(t),c={bc:0,tb:2,bcrt:1}[n];if((0,Ut.isNullish)(c))throw new U;if(c!==e)throw new W;let[s,...l]=o;if(s>1)throw new G;switch($.bech32.fromWords(l).length){case 20:return{address:t,network:e,type:0,parser:"bip-173"};case 32:return{address:t,network:e,type:s===0?3:4,parser:"bip-173"};default:throw new q}},me=({address:t,network:e=0})=>{switch(t.charAt(0)){case"1":case"2":case"3":case"m":case"n":return he({address:t,network:e});case"b":case"B":case"t":case"T":return be({address:t,network:e});case"":throw new H;default:throw new T}};0&&(module.exports={BitcoinCanister,BtcAddressType,BtcNetwork,CkBTCMinterCanister,MinterAlreadyProcessingError,MinterAmountTooLowError,MinterGenericError,MinterInsufficientAllowanceError,MinterInsufficientFundsError,MinterMalformedAddressError,MinterNoNewUtxosError,MinterRetrieveBtcError,MinterTemporaryUnavailableError,MinterUpdateBalanceError,ParseBtcAddressBadWitnessLengthError,ParseBtcAddressError,ParseBtcAddressInvalidError,ParseBtcAddressMalformedAddressError,ParseBtcAddressNoDataError,ParseBtcAddressUnexpectedHumanReadablePartError,ParseBtcAddressUnsupportedAddressTypeError,ParseBtcAddressUnsupportedWitnessVersionError,ParseBtcAddressWrongNetworkError,createRetrieveBtcError,createRetrieveBtcWithApprovalError,createUpdateBalanceError,parseBtcAddress,toGetBalanceParams,toGetUtxosParams});
|
|
1
|
+
"use strict";var It=Object.create;var K=Object.defineProperty;var Lt=Object.getOwnPropertyDescriptor;var Dt=Object.getOwnPropertyNames;var te=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var re=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ne=(t,e)=>{for(var r in e)K(t,r,{get:e[r],enumerable:!0})},Ht=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Dt(e))!ee.call(t,o)&&o!==r&&K(t,o,{get:()=>e[o],enumerable:!(n=Lt(e,o))||n.enumerable});return t};var oe=(t,e,r)=>(r=t!=null?It(te(t)):{},Ht(e||!t||!t.__esModule?K(r,"default",{value:t,enumerable:!0}):r,t)),ae=t=>Ht(K({},"__esModule",{value:!0}),t);var Zt=re(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.bech32m=S.bech32=void 0;var st="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Jt={};for(let t=0;t<st.length;t++){let e=st.charAt(t);Jt[e]=t}function E(t){let e=t>>25;return(t&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function Xt(t){let e=1;for(let r=0;r<t.length;++r){let n=t.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+t+")";e=E(e)^n>>5}e=E(e);for(let r=0;r<t.length;++r){let n=t.charCodeAt(r);e=E(e)^n&31}return e}function St(t,e,r,n){let o=0,c=0,a=(1<<r)-1,i=[];for(let s=0;s<t.length;++s)for(o=o<<e|t[s],c+=e;c>=r;)c-=r,i.push(o>>c&a);if(n)c>0&&i.push(o<<r-c&a);else{if(c>=e)return"Excess padding";if(o<<r-c&a)return"Non-zero padding"}return i}function pe(t){return St(t,8,5,!0)}function fe(t){let e=St(t,5,8,!1);if(Array.isArray(e))return e}function he(t){let e=St(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function Yt(t){let e;t==="bech32"?e=1:e=734539939;function r(a,i,s){if(s=s||90,a.length+7+i.length>s)throw new TypeError("Exceeds length limit");a=a.toLowerCase();let p=Xt(a);if(typeof p=="string")throw new Error(p);let _=a+"1";for(let l=0;l<i.length;++l){let d=i[l];if(d>>5!==0)throw new Error("Non 5-bit word");p=E(p)^d,_+=st.charAt(d)}for(let l=0;l<6;++l)p=E(p);p^=e;for(let l=0;l<6;++l){let d=p>>(5-l)*5&31;_+=st.charAt(d)}return _}function n(a,i){if(i=i||90,a.length<8)return a+" too short";if(a.length>i)return"Exceeds length limit";let s=a.toLowerCase(),p=a.toUpperCase();if(a!==s&&a!==p)return"Mixed-case string "+a;a=s;let _=a.lastIndexOf("1");if(_===-1)return"No separator character for "+a;if(_===0)return"Missing prefix for "+a;let l=a.slice(0,_),d=a.slice(_+1);if(d.length<6)return"Data too short";let u=Xt(l);if(typeof u=="string")return u;let f=[];for(let h=0;h<d.length;++h){let m=d.charAt(h),b=Jt[m];if(b===void 0)return"Unknown character "+m;u=E(u)^b,!(h+6>=d.length)&&f.push(b)}return u!==e?"Invalid checksum for "+a:{prefix:l,words:f}}function o(a,i){let s=n(a,i);if(typeof s=="object")return s}function c(a,i){let s=n(a,i);if(typeof s=="object")return s;throw new Error(s)}return{decodeUnsafe:o,decode:c,encode:r,toWords:pe,fromWordsUnsafe:fe,fromWords:he}}S.bech32=Yt("bech32");S.bech32m=Yt("bech32m")});var ke={};ne(ke,{BitcoinCanister:()=>X,BtcAddressType:()=>vt,BtcNetwork:()=>Ot,CkBTCMinterCanister:()=>nt,MinterAlreadyProcessingError:()=>Z,MinterAmountTooLowError:()=>D,MinterGenericError:()=>k,MinterInsufficientAllowanceError:()=>et,MinterInsufficientFundsError:()=>tt,MinterMalformedAddressError:()=>L,MinterNoNewUtxosError:()=>I,MinterRetrieveBtcError:()=>O,MinterTemporaryUnavailableError:()=>Y,MinterUpdateBalanceError:()=>Q,ParseBtcAddressBadWitnessLengthError:()=>G,ParseBtcAddressError:()=>N,ParseBtcAddressInvalidError:()=>T,ParseBtcAddressMalformedAddressError:()=>B,ParseBtcAddressNoDataError:()=>q,ParseBtcAddressUnexpectedHumanReadablePartError:()=>M,ParseBtcAddressUnsupportedAddressTypeError:()=>U,ParseBtcAddressUnsupportedWitnessVersionError:()=>W,ParseBtcAddressWrongNetworkError:()=>z,createRetrieveBtcError:()=>rt,createRetrieveBtcWithApprovalError:()=>Bt,createUpdateBalanceError:()=>At,parseBtcAddress:()=>Re,toGetBalanceParams:()=>kt,toGetUtxosParams:()=>Rt});module.exports=ae(ke);var J=require("@dfinity/utils");var qt=({IDL:t})=>{let e=t.Variant({disabled:t.Null,enabled:t.Null}),r=t.Record({get_current_fee_percentiles:t.Nat,get_utxos_maximum:t.Nat,get_block_headers_cycles_per_ten_instructions:t.Nat,get_current_fee_percentiles_maximum:t.Nat,send_transaction_per_byte:t.Nat,get_balance:t.Nat,get_utxos_cycles_per_ten_instructions:t.Nat,get_block_headers_base:t.Nat,get_utxos_base:t.Nat,get_balance_maximum:t.Nat,send_transaction_base:t.Nat,get_block_headers_maximum:t.Nat}),n=t.Variant({mainnet:t.Null,regtest:t.Null,testnet:t.Null}),o=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),blocks_source:t.Opt(t.Principal),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),network:t.Opt(n),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)}),c=t.Text,a=t.Record({network:n,address:c,min_confirmations:t.Opt(t.Nat32)}),i=t.Nat64,s=t.Nat32,p=t.Record({start_height:s,end_height:t.Opt(s),network:n}),_=t.Vec(t.Nat8),l=t.Record({tip_height:s,block_headers:t.Vec(_)}),d=t.Record({network:n}),u=t.Nat64,f=t.Record({network:n,filter:t.Opt(t.Variant({page:t.Vec(t.Nat8),min_confirmations:t.Nat32})),address:c}),h=t.Vec(t.Nat8),m=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),b=t.Record({height:s,value:i,outpoint:m}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:s,tip_block_hash:h,utxos:t.Vec(b)}),w=t.Record({transaction:t.Vec(t.Nat8),network:n}),V=t.Record({api_access:e,lazily_evaluate_fee_percentiles:e,blocks_source:t.Principal,fees:r,watchdog_canister:t.Opt(t.Principal),network:n,stability_threshold:t.Nat,syncing:e,burn_cycles:e,disable_api_if_not_fully_synced:e}),A=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)});return t.Service({bitcoin_get_balance:t.Func([a],[i],[]),bitcoin_get_balance_query:t.Func([a],[i],[]),bitcoin_get_block_headers:t.Func([p],[l],[]),bitcoin_get_current_fee_percentiles:t.Func([d],[t.Vec(u)],[]),bitcoin_get_utxos:t.Func([f],[y],[]),bitcoin_get_utxos_query:t.Func([f],[y],[]),bitcoin_send_transaction:t.Func([w],[],[]),get_config:t.Func([],[V],[]),set_config:t.Func([A],[],[])})};var Gt=({IDL:t})=>{let e=t.Variant({disabled:t.Null,enabled:t.Null}),r=t.Record({get_current_fee_percentiles:t.Nat,get_utxos_maximum:t.Nat,get_block_headers_cycles_per_ten_instructions:t.Nat,get_current_fee_percentiles_maximum:t.Nat,send_transaction_per_byte:t.Nat,get_balance:t.Nat,get_utxos_cycles_per_ten_instructions:t.Nat,get_block_headers_base:t.Nat,get_utxos_base:t.Nat,get_balance_maximum:t.Nat,send_transaction_base:t.Nat,get_block_headers_maximum:t.Nat}),n=t.Variant({mainnet:t.Null,regtest:t.Null,testnet:t.Null}),o=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),blocks_source:t.Opt(t.Principal),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),network:t.Opt(n),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)}),c=t.Text,a=t.Record({network:n,address:c,min_confirmations:t.Opt(t.Nat32)}),i=t.Nat64,s=t.Nat32,p=t.Record({start_height:s,end_height:t.Opt(s),network:n}),_=t.Vec(t.Nat8),l=t.Record({tip_height:s,block_headers:t.Vec(_)}),d=t.Record({network:n}),u=t.Nat64,f=t.Record({network:n,filter:t.Opt(t.Variant({page:t.Vec(t.Nat8),min_confirmations:t.Nat32})),address:c}),h=t.Vec(t.Nat8),m=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),b=t.Record({height:s,value:i,outpoint:m}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:s,tip_block_hash:h,utxos:t.Vec(b)}),w=t.Record({transaction:t.Vec(t.Nat8),network:n}),V=t.Record({api_access:e,lazily_evaluate_fee_percentiles:e,blocks_source:t.Principal,fees:r,watchdog_canister:t.Opt(t.Principal),network:n,stability_threshold:t.Nat,syncing:e,burn_cycles:e,disable_api_if_not_fully_synced:e}),A=t.Record({api_access:t.Opt(e),lazily_evaluate_fee_percentiles:t.Opt(e),fees:t.Opt(r),watchdog_canister:t.Opt(t.Opt(t.Principal)),stability_threshold:t.Opt(t.Nat),syncing:t.Opt(e),burn_cycles:t.Opt(e),disable_api_if_not_fully_synced:t.Opt(e)});return t.Service({bitcoin_get_balance:t.Func([a],[i],[]),bitcoin_get_balance_query:t.Func([a],[i],["query"]),bitcoin_get_block_headers:t.Func([p],[l],[]),bitcoin_get_current_fee_percentiles:t.Func([d],[t.Vec(u)],[]),bitcoin_get_utxos:t.Func([f],[y],[]),bitcoin_get_utxos_query:t.Func([f],[y],["query"]),bitcoin_send_transaction:t.Func([w],[],[]),get_config:t.Func([],[V],["query"]),set_config:t.Func([A],[],[])})};var P=require("@dfinity/utils"),ce={mainnet:{mainnet:null},testnet:{testnet:null},regtest:{regtest:null}},Rt=({network:t,filter:e,...r})=>({filter:(0,P.nonNullish)(e)?(0,P.toNullable)("minConfirmations"in e?{min_confirmations:e.minConfirmations}:{page:e.page}):(0,P.toNullable)(),network:t==="testnet"?{testnet:null}:{mainnet:null},...r}),kt=({network:t,minConfirmations:e,...r})=>({min_confirmations:(0,P.toNullable)(e),network:ce[t],...r});var X=class t extends J.Canister{static create(e){let{service:r,certifiedService:n,canisterId:o}=(0,J.createServices)({options:e,idlFactory:Gt,certifiedIdlFactory:qt});return new t(o,r,n)}getUtxosQuery=({...e})=>{let{bitcoin_get_utxos_query:r}=this.caller({certified:!1});return r(Rt(e))};getBalanceQuery=({...e})=>{let{bitcoin_get_balance_query:r}=this.caller({certified:!1});return r(kt(e))}};var Ot=(n=>(n[n.Mainnet=0]="Mainnet",n[n.Regtest=1]="Regtest",n[n.Testnet=2]="Testnet",n))(Ot||{}),vt=(c=>(c[c.P2wpkhV0=0]="P2wpkhV0",c[c.P2pkh=1]="P2pkh",c[c.P2sh=2]="P2sh",c[c.P2wsh=3]="P2wsh",c[c.P2tr=4]="P2tr",c))(vt||{});var N=class extends Error{},T=class extends N{},q=class extends N{},U=class extends N{},G=class extends N{},W=class extends N{},M=class extends N{},B=class extends N{},z=class extends N{};var F=require("@dfinity/utils"),k=class extends Error{},Y=class extends k{},Z=class extends k{},Q=class extends k{},I=class extends Q{pendingUtxos;requiredConfirmations;constructor({pending_utxos:e,required_confirmations:r}){super(),this.pendingUtxos=(0,F.fromNullable)(e)??[],this.requiredConfirmations=r}},O=class extends k{},L=class extends O{},D=class extends O{},tt=class extends O{},et=class extends O{},Vt=t=>{if("GenericError"in t){let{GenericError:{error_message:e,error_code:r}}=t;return new k(`${e} (${r})`)}if("TemporarilyUnavailable"in t)return new Y(t.TemporarilyUnavailable);if("AlreadyProcessing"in t)return new Z},At=t=>{let e=Vt(t);return(0,F.nonNullish)(e)?e:"NoNewUtxos"in t?new I(t.NoNewUtxos):new Q(`Unsupported response type in minter.updateBalance ${JSON.stringify(t)}`)},rt=t=>{let e=Vt(t);return(0,F.nonNullish)(e)?e:"MalformedAddress"in t?new L(t.MalformedAddress):"AmountTooLow"in t?new D(`${t.AmountTooLow}`):"InsufficientFunds"in t?new tt(`${t.InsufficientFunds.balance}`):new O(`Unsupported response type in minter.retrieveBtc ${JSON.stringify(t)}`)},Bt=t=>{let e=Vt(t);return(0,F.nonNullish)(e)?e:"InsufficientAllowance"in t?new et(`${t.InsufficientAllowance.allowance}`):rt(t)};var x=require("@dfinity/utils");var Wt=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),n=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),o=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:n,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Upgrade:t.Opt(r),Init:o}),a=t.Record({wasm_binary_size:t.Nat,wasm_chunk_store_size:t.Nat,canister_history_size:t.Nat,stable_memory_size:t.Nat,snapshots_size:t.Nat,wasm_memory_size:t.Nat,global_memory_size:t.Nat,custom_sections_size:t.Nat}),i=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),s=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),p=t.Record({freezing_threshold:t.Nat,wasm_memory_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:s,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),_=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),l=t.Record({memory_metrics:a,status:i,memory_size:t.Nat,cycles:t.Nat,settings:p,query_stats:_,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),d=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),u=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),f=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),h=t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64}),m=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),b=t.Variant({p2wsh_v0:t.Vec(t.Nat8),p2tr_v1:t.Vec(t.Nat8),p2sh:t.Vec(t.Nat8),p2wpkh_v0:t.Vec(t.Nat8),p2pkh:t.Vec(t.Nat8)}),y=t.Variant({too_many_inputs:t.Record({max_num_inputs:t.Nat64,num_inputs:t.Nat64})}),w=t.Variant({invalid_transaction:y}),V=t.Variant({to_cancel:t.Record({reason:w}),to_retry:t.Null}),A=t.Variant({received_utxos:t.Record({to_account:d,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:d,amount:t.Nat64,reason:f}),sent_transaction:t.Record({fee:t.Opt(t.Nat64),change_output:t.Opt(t.Record({value:t.Nat64,vout:t.Nat32})),txid:t.Vec(t.Nat8),withdrawal_fee:t.Opt(h),utxos:t.Vec(u),requests:t.Vec(t.Nat64),submitted_at:t.Nat64}),distributed_kyt_fee:t.Record({block_index:t.Nat64,amount:t.Nat64,kyt_provider:t.Principal}),init:o,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:u,account:d,reason:m}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:b,reimbursement_account:t.Opt(d),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:u,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),schedule_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64,account:d,amount:t.Nat64,reason:w}),quarantined_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),new_utxos:t.Opt(t.Vec(u)),old_txid:t.Vec(t.Nat8),withdrawal_fee:t.Opt(h),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64,reason:t.Opt(V)}),checked_utxo_v2:t.Record({utxo:u,account:d}),ignored_utxo:t.Record({utxo:u}),checked_utxo_mint_unknown:t.Record({utxo:u,account:d}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64}),reimbursed_withdrawal:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),lt=t.Record({timestamp:t.Opt(t.Nat64),payload:A}),ut=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),dt=t.Record({address:t.Text,amount:t.Nat64}),C=t.Record({block_index:t.Nat64}),_t=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),pt=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Pending:t.Null}),ft=t.Record({account:d,amount:t.Nat64,reason:f}),ht=t.Record({account:d,mint_block_index:t.Nat64,amount:t.Nat64,reason:f}),H=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,WillReimburse:ft,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:ht,Pending:t.Null}),xt=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),mt=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,InsufficientAllowance:t.Record({allowance:t.Nat64}),AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),bt=t.Variant({ValueTooSmall:u,Tainted:u,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:u}),Checked:u}),Nt=t.Nat64,gt=t.Record({utxo:u,earliest_retry:Nt,reason:m}),yt=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),wt=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(gt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(yt)),current_confirmations:t.Opt(t.Nat32)})});return t.Service({estimate_withdrawal_fee:t.Func([t.Record({amount:t.Opt(t.Nat64)})],[t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64})],[]),get_btc_address:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Text],[]),get_canister_status:t.Func([],[l],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(lt)],[]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(u)],[]),get_minter_info:t.Func([],[ut],[]),get_withdrawal_account:t.Func([],[d],[]),retrieve_btc:t.Func([dt],[t.Variant({Ok:C,Err:_t})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[pt],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[H],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(d)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(H)}))],[]),retrieve_btc_with_approval:t.Func([xt],[t.Variant({Ok:C,Err:mt})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(bt),Err:wt})],[])})};var Mt=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),n=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),o=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:n,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Upgrade:t.Opt(r),Init:o}),a=t.Record({wasm_binary_size:t.Nat,wasm_chunk_store_size:t.Nat,canister_history_size:t.Nat,stable_memory_size:t.Nat,snapshots_size:t.Nat,wasm_memory_size:t.Nat,global_memory_size:t.Nat,custom_sections_size:t.Nat}),i=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),s=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),p=t.Record({freezing_threshold:t.Nat,wasm_memory_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:s,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),_=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),l=t.Record({memory_metrics:a,status:i,memory_size:t.Nat,cycles:t.Nat,settings:p,query_stats:_,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),d=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),u=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),f=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),h=t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64}),m=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),b=t.Variant({p2wsh_v0:t.Vec(t.Nat8),p2tr_v1:t.Vec(t.Nat8),p2sh:t.Vec(t.Nat8),p2wpkh_v0:t.Vec(t.Nat8),p2pkh:t.Vec(t.Nat8)}),y=t.Variant({too_many_inputs:t.Record({max_num_inputs:t.Nat64,num_inputs:t.Nat64})}),w=t.Variant({invalid_transaction:y}),V=t.Variant({to_cancel:t.Record({reason:w}),to_retry:t.Null}),A=t.Variant({received_utxos:t.Record({to_account:d,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:d,amount:t.Nat64,reason:f}),sent_transaction:t.Record({fee:t.Opt(t.Nat64),change_output:t.Opt(t.Record({value:t.Nat64,vout:t.Nat32})),txid:t.Vec(t.Nat8),withdrawal_fee:t.Opt(h),utxos:t.Vec(u),requests:t.Vec(t.Nat64),submitted_at:t.Nat64}),distributed_kyt_fee:t.Record({block_index:t.Nat64,amount:t.Nat64,kyt_provider:t.Principal}),init:o,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:u,account:d,reason:m}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:b,reimbursement_account:t.Opt(d),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:u,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),schedule_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64,account:d,amount:t.Nat64,reason:w}),quarantined_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),new_utxos:t.Opt(t.Vec(u)),old_txid:t.Vec(t.Nat8),withdrawal_fee:t.Opt(h),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64,reason:t.Opt(V)}),checked_utxo_v2:t.Record({utxo:u,account:d}),ignored_utxo:t.Record({utxo:u}),checked_utxo_mint_unknown:t.Record({utxo:u,account:d}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64}),reimbursed_withdrawal:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),lt=t.Record({timestamp:t.Opt(t.Nat64),payload:A}),ut=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),dt=t.Record({address:t.Text,amount:t.Nat64}),C=t.Record({block_index:t.Nat64}),_t=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),pt=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Pending:t.Null}),ft=t.Record({account:d,amount:t.Nat64,reason:f}),ht=t.Record({account:d,mint_block_index:t.Nat64,amount:t.Nat64,reason:f}),H=t.Variant({Signing:t.Null,Confirmed:t.Record({txid:t.Vec(t.Nat8)}),Sending:t.Record({txid:t.Vec(t.Nat8)}),AmountTooLow:t.Null,WillReimburse:ft,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:ht,Pending:t.Null}),xt=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),mt=t.Variant({MalformedAddress:t.Text,GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,InsufficientAllowance:t.Record({allowance:t.Nat64}),AlreadyProcessing:t.Null,AmountTooLow:t.Nat64,InsufficientFunds:t.Record({balance:t.Nat64})}),bt=t.Variant({ValueTooSmall:u,Tainted:u,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:u}),Checked:u}),Nt=t.Nat64,gt=t.Record({utxo:u,earliest_retry:Nt,reason:m}),yt=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),wt=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(gt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(yt)),current_confirmations:t.Opt(t.Nat32)})});return t.Service({estimate_withdrawal_fee:t.Func([t.Record({amount:t.Opt(t.Nat64)})],[t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64})],["query"]),get_btc_address:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Text],[]),get_canister_status:t.Func([],[l],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(lt)],["query"]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(u)],["query"]),get_minter_info:t.Func([],[ut],["query"]),get_withdrawal_account:t.Func([],[d],[]),retrieve_btc:t.Func([dt],[t.Variant({Ok:C,Err:_t})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[pt],["query"]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[H],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(d)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(H)}))],["query"]),retrieve_btc_with_approval:t.Func([xt],[t.Variant({Ok:C,Err:mt})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(bt),Err:wt})],[])})};var nt=class t extends x.Canister{static create(e){let{service:r,certifiedService:n,canisterId:o}=(0,x.createServices)({options:e,idlFactory:Mt,certifiedIdlFactory:Wt});return new t(o,r,n)}getBtcAddress=({owner:e,subaccount:r})=>this.caller({certified:!0}).get_btc_address({owner:(0,x.toNullable)(e),subaccount:(0,x.toNullable)(r)});updateBalance=async({owner:e,subaccount:r})=>{let n=await this.caller({certified:!0}).update_balance({owner:(0,x.toNullable)(e),subaccount:(0,x.toNullable)(r)});if("Err"in n)throw At(n.Err);return n.Ok};getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();retrieveBtc=async e=>{let r=await this.caller({certified:!0}).retrieve_btc(e);if("Err"in r)throw rt(r.Err);return r.Ok};retrieveBtcWithApproval=async({address:e,amount:r,fromSubaccount:n})=>{let o=await this.caller({certified:!0}).retrieve_btc_with_approval({address:e,amount:r,from_subaccount:(0,x.toNullable)(n)});if("Err"in o)throw Bt(o.Err);return o.Ok};retrieveBtcStatus=({transactionId:e,certified:r})=>this.caller({certified:r}).retrieve_btc_status({block_index:e});retrieveBtcStatusV2ByAccount=async({account:e,certified:r})=>{let{retrieve_btc_status_v2_by_account:n}=this.caller({certified:r});return(await n((0,x.isNullish)(e)?[]:[{owner:e.owner,subaccount:(0,x.toNullable)(e.subaccount)}])).map(({block_index:c,status_v2:a})=>({id:c,status:(0,x.fromNullable)(a)}))};estimateWithdrawalFee=({certified:e,amount:r})=>this.caller({certified:e}).estimate_withdrawal_fee({amount:(0,x.toNullable)(r)});getMinterInfo=({certified:e})=>this.caller({certified:e}).get_minter_info();getKnownUtxos=({owner:e,subaccount:r,certified:n})=>{let{get_known_utxos:o}=this.caller({certified:n});return o({owner:(0,x.toNullable)(e),subaccount:(0,x.toNullable)(r)})}};var Ct=require("@dfinity/utils");function ie(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function at(t,...e){if(!ie(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Pt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function zt(t,e){at(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function $(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function ct(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function g(t,e){return t<<32-e|t>>>e}function se(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Tt(t){return typeof t=="string"&&(t=se(t)),at(t),t}var ot=class{};function Qt(t){let e=n=>t().update(Tt(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function le(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),c=BigInt(4294967295),a=Number(r>>o&c),i=Number(r&c),s=n?4:0,p=n?0:4;t.setUint32(e+s,a,n),t.setUint32(e+p,i,n)}function $t(t,e,r){return t&e^~t&r}function jt(t,e,r){return t&e^t&r^e&r}var it=class extends ot{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=ct(this.buffer)}update(e){Pt(this),e=Tt(e),at(e);let{view:r,buffer:n,blockLen:o}=this,c=e.length;for(let a=0;a<c;){let i=Math.min(o-this.pos,c-a);if(i===o){let s=ct(e);for(;o<=c-a;a+=o)this.process(s,a);continue}n.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Pt(this),zt(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:c}=this,{pos:a}=this;r[a++]=128,$(this.buffer.subarray(a)),this.padOffset>o-a&&(this.process(n,0),a=0);for(let l=a;l<o;l++)r[l]=0;le(n,o-8,BigInt(this.length*8),c),this.process(n,0);let i=ct(e),s=this.outputLen;if(s%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let p=s/4,_=this.get();if(p>_.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<p;l++)i.setUint32(4*l,_[l],c)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:c,destroyed:a,pos:i}=this;return e.destroyed=a,e.finished=c,e.length=o,e.pos=i,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}},R=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ue=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),v=new Uint32Array(64),Ut=class extends it{constructor(e=32){super(64,e,8,!1),this.A=R[0]|0,this.B=R[1]|0,this.C=R[2]|0,this.D=R[3]|0,this.E=R[4]|0,this.F=R[5]|0,this.G=R[6]|0,this.H=R[7]|0}get(){let{A:e,B:r,C:n,D:o,E:c,F:a,G:i,H:s}=this;return[e,r,n,o,c,a,i,s]}set(e,r,n,o,c,a,i,s){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=c|0,this.F=a|0,this.G=i|0,this.H=s|0}process(e,r){for(let l=0;l<16;l++,r+=4)v[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let d=v[l-15],u=v[l-2],f=g(d,7)^g(d,18)^d>>>3,h=g(u,17)^g(u,19)^u>>>10;v[l]=h+v[l-7]+f+v[l-16]|0}let{A:n,B:o,C:c,D:a,E:i,F:s,G:p,H:_}=this;for(let l=0;l<64;l++){let d=g(i,6)^g(i,11)^g(i,25),u=_+d+$t(i,s,p)+ue[l]+v[l]|0,h=(g(n,2)^g(n,13)^g(n,22))+jt(n,o,c)|0;_=p,p=s,s=i,i=a+u|0,a=c,c=o,o=n,n=u+h|0}n=n+this.A|0,o=o+this.B|0,c=c+this.C|0,a=a+this.D|0,i=i+this.E|0,s=s+this.F|0,p=p+this.G|0,_=_+this.H|0,this.set(n,o,c,a,i,s,p,_)}roundClean(){$(v)}destroy(){this.set(0,0,0,0,0,0,0,0),$(this.buffer)}};var Ft=Qt(()=>new Ut);var de="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Kt=de;function _e(t){if(!t||typeof t!="string")throw new Error(`Expected base58 string but got \u201C${t}\u201D`);if(t.match(/[IOl0]/gmu))throw new Error(`Invalid base58 character \u201C${t.match(/[IOl0]/gmu)}\u201D`);let e=t.match(/^1+/gmu),r=e?e[0].length:0,n=(t.length-r)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(r),...t.match(/.{1}/gmu).map(o=>Kt.indexOf(o)).reduce((o,c)=>(o=o.map(a=>{let i=a*58+c;return c=i>>8,i}),o),new Uint8Array(n)).reverse().filter((o=>c=>o=o||c)(!1))])}var Et=_e;var j=oe(Zt());var xe=0,me=5,be=111,Ne=196,ge={[xe]:{type:1,networks:[0]},[be]:{type:1,networks:[2,1]},[me]:{type:2,networks:[0]},[Ne]:{type:2,networks:[2,1]}},ye=({address:t,network:e})=>{let n=(_=>{try{return Et(_)}catch{throw new T}})(t),{length:o}=n;if(o!==25)throw new B(`Expected the address to be 25 bytes, got ${o}.`);(_=>{let l=_.slice(o-4,o),d=_.slice(0,o-4),u=Ft.create();u.update(d);let f=Ft.create();f.update(u.digest());let h=f.digest().slice(0,4);if(l.some((m,b)=>m!==h[b]))throw new B(`Checksum mismatch expected ${l}, got ${h}.`)})(n);let[a]=n,i=ge[a];if((0,Ct.isNullish)(i))throw new U;let{type:s,networks:p}=i;if(!p.includes(e))throw new z;return{address:t,network:e,type:s,parser:"base58"}},we=({address:t,network:e})=>{let r=_=>{try{return _.startsWith("bc1p")||_.startsWith("tb1p")||_.startsWith("bcrt1p")?j.bech32m.decode(_):j.bech32.decode(_)}catch{throw new B}},{prefix:n,words:o}=r(t),a={bc:0,tb:2,bcrt:1}[n];if((0,Ct.isNullish)(a))throw new T;if(a!==e)throw new M;let[i,...s]=o;if(i>1)throw new W;switch(j.bech32.fromWords(s).length){case 20:return{address:t,network:e,type:0,parser:"bip-173"};case 32:return{address:t,network:e,type:i===0?3:4,parser:"bip-173"};default:throw new G}},Re=({address:t,network:e=0})=>{switch(t.charAt(0)){case"1":case"2":case"3":case"m":case"n":return ye({address:t,network:e});case"b":case"B":case"t":case"T":return we({address:t,network:e});case"":throw new q;default:throw new U}};0&&(module.exports={BitcoinCanister,BtcAddressType,BtcNetwork,CkBTCMinterCanister,MinterAlreadyProcessingError,MinterAmountTooLowError,MinterGenericError,MinterInsufficientAllowanceError,MinterInsufficientFundsError,MinterMalformedAddressError,MinterNoNewUtxosError,MinterRetrieveBtcError,MinterTemporaryUnavailableError,MinterUpdateBalanceError,ParseBtcAddressBadWitnessLengthError,ParseBtcAddressError,ParseBtcAddressInvalidError,ParseBtcAddressMalformedAddressError,ParseBtcAddressNoDataError,ParseBtcAddressUnexpectedHumanReadablePartError,ParseBtcAddressUnsupportedAddressTypeError,ParseBtcAddressUnsupportedWitnessVersionError,ParseBtcAddressWrongNetworkError,createRetrieveBtcError,createRetrieveBtcWithApprovalError,createUpdateBalanceError,parseBtcAddress,toGetBalanceParams,toGetUtxosParams});
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
@noble/hashes/esm/utils.js:
|