@dfinity/ckbtc 3.1.8 → 3.1.9
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/dist/candid/minter.certified.idl.js +5 -0
- package/dist/candid/minter.d.ts +5 -1
- package/dist/candid/minter.did +6 -1
- package/dist/candid/minter.idl.js +5 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +2 -2
- package/dist/esm/chunk-NTLM4OSY.js +2 -0
- package/dist/esm/chunk-NTLM4OSY.js.map +7 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/minter.canister.js +1 -1
- package/package.json +1 -1
- package/dist/esm/chunk-3XXDJBHS.js +0 -2
- package/dist/esm/chunk-3XXDJBHS.js.map +0 -7
|
@@ -46,6 +46,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
46
46
|
const LogVisibility = IDL.Variant({
|
|
47
47
|
'controllers' : IDL.Null,
|
|
48
48
|
'public' : IDL.Null,
|
|
49
|
+
'allowed_viewers' : IDL.Vec(IDL.Principal),
|
|
49
50
|
});
|
|
50
51
|
const DefiniteCanisterSettings = IDL.Record({
|
|
51
52
|
'freezing_threshold' : IDL.Nat,
|
|
@@ -166,6 +167,10 @@ export const idlFactory = ({ IDL }) => {
|
|
|
166
167
|
}),
|
|
167
168
|
'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),
|
|
168
169
|
'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),
|
|
170
|
+
'checked_utxo_mint_unknown' : IDL.Record({
|
|
171
|
+
'utxo' : Utxo,
|
|
172
|
+
'account' : Account,
|
|
173
|
+
}),
|
|
169
174
|
'reimbursed_failed_deposit' : IDL.Record({
|
|
170
175
|
'burn_block_index' : IDL.Nat64,
|
|
171
176
|
'mint_block_index' : IDL.Nat64,
|
package/dist/candid/minter.d.ts
CHANGED
|
@@ -126,6 +126,7 @@ export type EventType =
|
|
|
126
126
|
}
|
|
127
127
|
| { checked_utxo_v2: { utxo: Utxo; account: Account } }
|
|
128
128
|
| { ignored_utxo: { utxo: Utxo } }
|
|
129
|
+
| { checked_utxo_mint_unknown: { utxo: Utxo; account: Account } }
|
|
129
130
|
| {
|
|
130
131
|
reimbursed_failed_deposit: {
|
|
131
132
|
burn_block_index: bigint;
|
|
@@ -145,7 +146,10 @@ export interface InitArgs {
|
|
|
145
146
|
min_confirmations: [] | [number];
|
|
146
147
|
kyt_fee: [] | [bigint];
|
|
147
148
|
}
|
|
148
|
-
export type LogVisibility =
|
|
149
|
+
export type LogVisibility =
|
|
150
|
+
| { controllers: null }
|
|
151
|
+
| { public: null }
|
|
152
|
+
| { allowed_viewers: Array<Principal> };
|
|
149
153
|
export type MinterArg = { Upgrade: [] | [UpgradeArgs] } | { Init: InitArgs };
|
|
150
154
|
export interface MinterInfo {
|
|
151
155
|
retrieve_btc_min_amount: bigint;
|
package/dist/candid/minter.did
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Generated from IC repo commit
|
|
1
|
+
// Generated from IC repo commit 2f02a66 (2025-02-13 tags: release-2025-02-20_10-16-disable-best-effort-messaging) '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
|
|
|
@@ -35,6 +35,7 @@ type DefiniteCanisterSettings = record {
|
|
|
35
35
|
type LogVisibility = variant {
|
|
36
36
|
controllers;
|
|
37
37
|
public;
|
|
38
|
+
allowed_viewers : vec principal;
|
|
38
39
|
};
|
|
39
40
|
|
|
40
41
|
type RetrieveBtcArgs = record {
|
|
@@ -400,6 +401,10 @@ type EventType = variant {
|
|
|
400
401
|
utxo : Utxo;
|
|
401
402
|
account : Account;
|
|
402
403
|
};
|
|
404
|
+
checked_utxo_mint_unknown : record {
|
|
405
|
+
utxo : Utxo;
|
|
406
|
+
account : Account;
|
|
407
|
+
};
|
|
403
408
|
ignored_utxo : record { utxo: Utxo; };
|
|
404
409
|
suspended_utxo : record { utxo: Utxo; account: Account; reason: SuspendedReason };
|
|
405
410
|
retrieve_btc_kyt_failed : record {
|
|
@@ -46,6 +46,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
46
46
|
const LogVisibility = IDL.Variant({
|
|
47
47
|
'controllers' : IDL.Null,
|
|
48
48
|
'public' : IDL.Null,
|
|
49
|
+
'allowed_viewers' : IDL.Vec(IDL.Principal),
|
|
49
50
|
});
|
|
50
51
|
const DefiniteCanisterSettings = IDL.Record({
|
|
51
52
|
'freezing_threshold' : IDL.Nat,
|
|
@@ -166,6 +167,10 @@ export const idlFactory = ({ IDL }) => {
|
|
|
166
167
|
}),
|
|
167
168
|
'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),
|
|
168
169
|
'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),
|
|
170
|
+
'checked_utxo_mint_unknown' : IDL.Record({
|
|
171
|
+
'utxo' : Utxo,
|
|
172
|
+
'account' : Account,
|
|
173
|
+
}),
|
|
169
174
|
'reimbursed_failed_deposit' : IDL.Record({
|
|
170
175
|
'burn_block_index' : IDL.Nat64,
|
|
171
176
|
'mint_block_index' : IDL.Nat64,
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var oe=Object.create;var Q=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var B=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),le=(t,e)=>{for(var r in e)Q(t,r,{get:e[r],enumerable:!0})},Ct=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ae(e))!se.call(t,o)&&o!==r&&Q(t,o,{get:()=>e[o],enumerable:!(n=ce(e,o))||n.enumerable});return t};var Ft=(t,e,r)=>(r=t!=null?oe(ie(t)):{},Ct(e||!t||!t.__esModule?Q(r,"default",{value:t,enumerable:!0}):r,t)),ue=t=>Ct(Q({},"__esModule",{value:!0}),t);var at=B((lr,$t)=>{"use strict";var xe="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";$t.exports=xe});var Qt=B((ur,jt)=>{"use strict";var he=at(),be=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=>he.indexOf(o)).reduce((o,a)=>(o=o.map(c=>{let s=c*58+a;return a=s>>8,s}),o),new Uint8Array(n)).reverse().filter((o=>a=>o=o||a)(!1))])};jt.exports=be});var Jt=B((_r,Kt)=>{"use strict";var Xt=at(),Ne=()=>{let t=Array(256).fill(-1);for(let e=0;e<Xt.length;++e)t[Xt.charCodeAt(e)]=e;return t};Kt.exports=Ne});var It=B((dr,Zt)=>{"use strict";var Yt=at(),ge=Jt(),ye=ge(),we=t=>{let e=[];for(let r of t){let n=r;for(let o=0;o<e.length;++o){let a=(ye[e[o]]<<8)+n;e[o]=Yt.charCodeAt(a%58),n=a/58|0}for(;n;)e.push(Yt.charCodeAt(n%58)),n=n/58|0}for(let r of t){if(r)break;e.push(49)}return e.reverse(),String.fromCharCode(...e)};Zt.exports=we});var Lt=B(Bt=>{"use strict";Bt.base58_to_binary=Qt();Bt.binary_to_base58=It()});var re=B(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.bech32m=S.bech32=void 0;var it="qpzry9x8gf2tvdw0s3jn54khce6mua7l",te={};for(let t=0;t<it.length;t++){let e=it.charAt(t);te[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 Dt(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 Tt(t,e,r,n){let o=0,a=0,c=(1<<r)-1,s=[];for(let l=0;l<t.length;++l)for(o=o<<e|t[l],a+=e;a>=r;)a-=r,s.push(o>>a&c);if(n)a>0&&s.push(o<<r-a&c);else{if(a>=e)return"Excess padding";if(o<<r-a&c)return"Non-zero padding"}return s}function Re(t){return Tt(t,8,5,!0)}function ke(t){let e=Tt(t,5,8,!1);if(Array.isArray(e))return e}function Oe(t){let e=Tt(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function ee(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 d=Dt(c);if(typeof d=="string")throw new Error(d);let _=c+"1";for(let i=0;i<s.length;++i){let u=s[i];if(u>>5!==0)throw new Error("Non 5-bit word");d=E(d)^u,_+=it.charAt(u)}for(let i=0;i<6;++i)d=E(d);d^=e;for(let i=0;i<6;++i){let u=d>>(5-i)*5&31;_+=it.charAt(u)}return _}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(),d=c.toUpperCase();if(c!==l&&c!==d)return"Mixed-case string "+c;c=l;let _=c.lastIndexOf("1");if(_===-1)return"No separator character for "+c;if(_===0)return"Missing prefix for "+c;let i=c.slice(0,_),u=c.slice(_+1);if(u.length<6)return"Data too short";let p=Dt(i);if(typeof p=="string")return p;let f=[];for(let m=0;m<u.length;++m){let b=u.charAt(m),h=te[b];if(h===void 0)return"Unknown character "+b;p=E(p)^h,!(m+6>=u.length)&&f.push(h)}return p!==e?"Invalid checksum for "+c:{prefix:i,words:f}}function o(c,s){let l=n(c,s);if(typeof l=="object")return l}function a(c,s){let l=n(c,s);if(typeof l=="object")return l;throw new Error(l)}return{decodeUnsafe:o,decode:a,encode:r,toWords:Re,fromWordsUnsafe:ke,fromWords:Oe}}S.bech32=ee("bech32");S.bech32m=ee("bech32m")});var Fe={};le(Fe,{BitcoinCanister:()=>X,BtcAddressType:()=>yt,BtcNetwork:()=>gt,CkBTCMinterCanister:()=>rt,MinterAlreadyProcessingError:()=>Y,MinterAmountTooLowError:()=>L,MinterGenericError:()=>R,MinterInsufficientAllowanceError:()=>tt,MinterInsufficientFundsError:()=>D,MinterMalformedAddressError:()=>I,MinterNoNewUtxosError:()=>Z,MinterRetrieveBtcError:()=>k,MinterTemporaryUnavailableError:()=>J,MinterUpdateBalanceError:()=>$,ParseBtcAddressBadWitnessLengthError:()=>G,ParseBtcAddressError:()=>N,ParseBtcAddressInvalidError:()=>U,ParseBtcAddressMalformedAddressError:()=>A,ParseBtcAddressNoDataError:()=>M,ParseBtcAddressUnexpectedHumanReadablePartError:()=>z,ParseBtcAddressUnsupportedAddressTypeError:()=>C,ParseBtcAddressUnsupportedWitnessVersionError:()=>W,ParseBtcAddressWrongNetworkError:()=>H,createRetrieveBtcError:()=>et,createRetrieveBtcWithApprovalError:()=>kt,createUpdateBalanceError:()=>Rt,parseBtcAddress:()=>Ce,toGetBalanceParams:()=>Nt,toGetUtxosParams:()=>bt});module.exports=ue(Fe);var K=require("@dfinity/utils");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)}),a=t.Text,c=t.Record({network:n,address:a,min_confirmations:t.Opt(t.Nat32)}),s=t.Nat64,l=t.Nat32,d=t.Record({start_height:l,end_height:t.Opt(l),network:n}),_=t.Vec(t.Nat8),i=t.Record({tip_height:l,block_headers:t.Vec(_)}),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:a}),m=t.Vec(t.Nat8),b=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),h=t.Record({height:l,value:s,outpoint:b}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:l,tip_block_hash:m,utxos:t.Vec(h)}),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}),P=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([d],[i],[]),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([P],[],[])})};var St=({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)}),a=t.Text,c=t.Record({network:n,address:a,min_confirmations:t.Opt(t.Nat32)}),s=t.Nat64,l=t.Nat32,d=t.Record({start_height:l,end_height:t.Opt(l),network:n}),_=t.Vec(t.Nat8),i=t.Record({tip_height:l,block_headers:t.Vec(_)}),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:a}),m=t.Vec(t.Nat8),b=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),h=t.Record({height:l,value:s,outpoint:b}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:l,tip_block_hash:m,utxos:t.Vec(h)}),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}),P=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([d],[i],[]),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([P],[],[])})};var T=require("@dfinity/utils"),_e={mainnet:{mainnet:null},testnet:{testnet:null},regtest:{regtest:null}},bt=({network:t,filter:e,...r})=>({filter:(0,T.nonNullish)(e)?(0,T.toNullable)("minConfirmations"in e?{min_confirmations:e.minConfirmations}:{page:e.page}):(0,T.toNullable)(),network:t==="testnet"?{testnet:null}:{mainnet:null},...r}),Nt=({network:t,minConfirmations:e,...r})=>({min_confirmations:(0,T.toNullable)(e),network:_e[t],...r});var X=class t extends K.Canister{constructor(){super(...arguments);this.getUtxosQuery=({...r})=>{let{bitcoin_get_utxos_query:n}=this.caller({certified:!1});return n(bt(r))};this.getBalanceQuery=({...r})=>{let{bitcoin_get_balance_query:n}=this.caller({certified:!1});return n(Nt(r))}}static create(r){let{service:n,certifiedService:o,canisterId:a}=(0,K.createServices)({options:r,idlFactory:St,certifiedIdlFactory:Et});return new t(a,n,o)}};var gt=(n=>(n[n.Mainnet=0]="Mainnet",n[n.Regtest=1]="Regtest",n[n.Testnet=2]="Testnet",n))(gt||{}),yt=(a=>(a[a.P2wpkhV0=0]="P2wpkhV0",a[a.P2pkh=1]="P2pkh",a[a.P2sh=2]="P2sh",a[a.P2wsh=3]="P2wsh",a[a.P2tr=4]="P2tr",a))(yt||{});var N=class extends Error{},U=class extends N{},M=class extends N{},C=class extends N{},G=class extends N{},W=class extends N{},z=class extends N{},A=class extends N{},H=class extends N{};var F=require("@dfinity/utils"),R=class extends Error{},J=class extends R{},Y=class extends R{},$=class extends R{},Z=class extends ${constructor({pending_utxos:e,required_confirmations:r}){super(),this.pendingUtxos=(0,F.fromNullable)(e)||[],this.requiredConfirmations=r}},k=class extends R{},I=class extends k{},L=class extends k{},D=class extends k{},tt=class extends k{},wt=t=>{if("GenericError"in t){let{GenericError:{error_message:e,error_code:r}}=t;return new R(`${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 $(`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 k(`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 x=require("@dfinity/utils");var qt=({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({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({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)}),a=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}),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}),d=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),_=t.Record({status:c,memory_size:t.Nat,cycles:t.Nat,settings:l,query_stats:d,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),i=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}),m=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)}),b=t.Variant({received_utxos:t.Record({to_account:i,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:i,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:i,reason:f}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:m,reimbursement_account:t.Opt(i),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:i}),ignored_utxo:t.Record({utxo:u}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),h=t.Record({timestamp:t.Opt(t.Nat64),payload:b}),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}),P=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:i,amount:t.Nat64,reason:p}),ut=t.Record({account:i,mint_block_index:t.Nat64,amount:t.Nat64,reason:p}),q=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}),_t=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),dt=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,mt=t.Record({utxo:u,earliest_retry:ft,reason:f}),xt=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),ht=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(mt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(xt)),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([],[_],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(h)],[]),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([],[i],[]),retrieve_btc:t.Func([V],[t.Variant({Ok:w,Err:P})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[st],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[q],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(i)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(q)}))],[]),retrieve_btc_with_approval:t.Func([_t],[t.Variant({Ok:w,Err:dt})],[]),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:ht})],[])})};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({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({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)}),a=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}),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}),d=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),_=t.Record({status:c,memory_size:t.Nat,cycles:t.Nat,settings:l,query_stats:d,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),i=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}),m=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)}),b=t.Variant({received_utxos:t.Record({to_account:i,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:i,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:i,reason:f}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:m,reimbursement_account:t.Opt(i),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:i}),ignored_utxo:t.Record({utxo:u}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),h=t.Record({timestamp:t.Opt(t.Nat64),payload:b}),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}),P=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:i,amount:t.Nat64,reason:p}),ut=t.Record({account:i,mint_block_index:t.Nat64,amount:t.Nat64,reason:p}),q=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}),_t=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),dt=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,mt=t.Record({utxo:u,earliest_retry:ft,reason:f}),xt=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),ht=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(mt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(xt)),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([],[_],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(h)],["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([],[i],[]),retrieve_btc:t.Func([V],[t.Variant({Ok:w,Err:P})],[]),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})],[q],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(i)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(q)}))],["query"]),retrieve_btc_with_approval:t.Func([_t],[t.Variant({Ok:w,Err:dt})],[]),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:ht})],[])})};var rt=class t extends x.Canister{constructor(){super(...arguments);this.getBtcAddress=({owner:r,subaccount:n})=>this.caller({certified:!0}).get_btc_address({owner:(0,x.toNullable)(r),subaccount:(0,x.toNullable)(n)});this.updateBalance=async({owner:r,subaccount:n})=>{let o=await this.caller({certified:!0}).update_balance({owner:(0,x.toNullable)(r),subaccount:(0,x.toNullable)(n)});if("Err"in o)throw Rt(o.Err);return o.Ok};this.getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();this.retrieveBtc=async r=>{let n=await this.caller({certified:!0}).retrieve_btc(r);if("Err"in n)throw et(n.Err);return n.Ok};this.retrieveBtcWithApproval=async({address:r,amount:n,fromSubaccount:o})=>{let a=await this.caller({certified:!0}).retrieve_btc_with_approval({address:r,amount:n,from_subaccount:(0,x.toNullable)(o)});if("Err"in a)throw kt(a.Err);return a.Ok};this.retrieveBtcStatus=async({transactionId:r,certified:n})=>this.caller({certified:n}).retrieve_btc_status({block_index:r});this.retrieveBtcStatusV2ByAccount=async({account:r,certified:n})=>{let{retrieve_btc_status_v2_by_account:o}=this.caller({certified:n});return(await o((0,x.isNullish)(r)?[]:[{owner:r.owner,subaccount:(0,x.toNullable)(r.subaccount)}])).map(({block_index:c,status_v2:s})=>({id:c,status:(0,x.fromNullable)(s)}))};this.estimateWithdrawalFee=async({certified:r,amount:n})=>this.caller({certified:r}).estimate_withdrawal_fee({amount:(0,x.toNullable)(n)});this.getMinterInfo=async({certified:r})=>this.caller({certified:r}).get_minter_info();this.getKnownUtxos=({owner:r,subaccount:n,certified:o})=>{let{get_known_utxos:a}=this.caller({certified:o});return a({owner:(0,x.toNullable)(r),subaccount:(0,x.toNullable)(n)})}}static create(r){let{service:n,certifiedService:o,canisterId:a}=(0,x.createServices)({options:r,idlFactory:Mt,certifiedIdlFactory:qt});return new t(a,n,o)}};var Ut=require("@dfinity/utils");function de(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Ot(t,...e){if(!de(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function vt(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 Gt(t,e){Ot(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var ot=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),g=(t,e)=>t<<32-e|t>>>e;var tr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function pe(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Vt(t){return typeof t=="string"&&(t=pe(t)),Ot(t),t}var nt=class{clone(){return this._cloneInto()}},er={}.toString;function Wt(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 fe(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),a=BigInt(4294967295),c=Number(r>>o&a),s=Number(r&a),l=n?4:0,d=n?0:4;t.setUint32(e+l,c,n),t.setUint32(e+d,s,n)}var zt=(t,e,r)=>t&e^~t&r,Ht=(t,e,r)=>t&e^t&r^e&r,ct=class extends nt{constructor(e,r,n,o){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ot(this.buffer)}update(e){vt(this);let{view:r,buffer:n,blockLen:o}=this;e=Vt(e);let a=e.length;for(let c=0;c<a;){let s=Math.min(o-this.pos,a-c);if(s===o){let l=ot(e);for(;o<=a-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){vt(this),Gt(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:a}=this,{pos:c}=this;r[c++]=128,this.buffer.subarray(c).fill(0),this.padOffset>o-c&&(this.process(n,0),c=0);for(let i=c;i<o;i++)r[i]=0;fe(n,o-8,BigInt(this.length*8),a),this.process(n,0);let s=ot(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=l/4,_=this.get();if(d>_.length)throw new Error("_sha2: outputLen bigger than state");for(let i=0;i<d;i++)s.setUint32(4*i,_[i],a)}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:a,destroyed:c,pos:s}=this;return e.length=o,e.pos=s,e.finished=a,e.destroyed=c,o%r&&e.buffer.set(n),e}};var me=new Uint32Array([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]),O=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),v=new Uint32Array(64),Pt=class extends ct{constructor(){super(64,32,8,!1),this.A=O[0]|0,this.B=O[1]|0,this.C=O[2]|0,this.D=O[3]|0,this.E=O[4]|0,this.F=O[5]|0,this.G=O[6]|0,this.H=O[7]|0}get(){let{A:e,B:r,C:n,D:o,E:a,F:c,G:s,H:l}=this;return[e,r,n,o,a,c,s,l]}set(e,r,n,o,a,c,s,l){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=a|0,this.F=c|0,this.G=s|0,this.H=l|0}process(e,r){for(let i=0;i<16;i++,r+=4)v[i]=e.getUint32(r,!1);for(let i=16;i<64;i++){let u=v[i-15],p=v[i-2],f=g(u,7)^g(u,18)^u>>>3,m=g(p,17)^g(p,19)^p>>>10;v[i]=m+v[i-7]+f+v[i-16]|0}let{A:n,B:o,C:a,D:c,E:s,F:l,G:d,H:_}=this;for(let i=0;i<64;i++){let u=g(s,6)^g(s,11)^g(s,25),p=_+u+zt(s,l,d)+me[i]+v[i]|0,m=(g(n,2)^g(n,13)^g(n,22))+Ht(n,o,a)|0;_=d,d=l,l=s,s=c+p|0,c=a,a=o,o=n,n=p+m|0}n=n+this.A|0,o=o+this.B|0,a=a+this.C|0,c=c+this.D|0,s=s+this.E|0,l=l+this.F|0,d=d+this.G|0,_=_+this.H|0,this.set(n,o,a,c,s,l,d,_)}roundClean(){v.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var At=Wt(()=>new Pt);var ne=Ft(Lt()),j=Ft(re());var ve=0,Ve=5,Pe=111,Ae=196,Be={[ve]:{type:1,networks:[0]},[Pe]:{type:1,networks:[2,1]},[Ve]:{type:2,networks:[0]},[Ae]:{type:2,networks:[2,1]}},Te=({address:t,network:e})=>{let n=(_=>{try{return(0,ne.base58_to_binary)(_)}catch{throw new U}})(t),{length:o}=n;if(o!==25)throw new A(`Expected the address to be 25 bytes, got ${o}.`);(_=>{let i=_.slice(o-4,o),u=_.slice(0,o-4),p=At.create();p.update(u);let f=At.create();f.update(p.digest());let m=f.digest().slice(0,4);if(i.some((b,h)=>b!==m[h]))throw new A(`Checksum mismatch expected ${i}, got ${m}.`)})(n);let c=n[0],s=Be[c];if((0,Ut.isNullish)(s))throw new C;let{type:l,networks:d}=s;if(!d.includes(e))throw new H;return{address:t,network:e,type:l,parser:"base58"}},Ue=({address:t,network:e})=>{let r=_=>{try{return _.startsWith("bc1p")||_.startsWith("tb1p")||_.startsWith("bcrt1p")?j.bech32m.decode(_):j.bech32.decode(_)}catch{throw new A}},{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 z;let[s,...l]=o;if(s>1)throw new W;switch(j.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 G}},Ce=({address:t,network:e=0})=>{switch(t.charAt(0)){case"1":case"2":case"3":case"m":case"n":return Te({address:t,network:e});case"b":case"B":case"t":case"T":return Ue({address:t,network:e});case"":throw new M;default:throw new C}};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 oe=Object.create;var Q=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var B=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),le=(t,e)=>{for(var r in e)Q(t,r,{get:e[r],enumerable:!0})},Ct=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ae(e))!se.call(t,o)&&o!==r&&Q(t,o,{get:()=>e[o],enumerable:!(n=ce(e,o))||n.enumerable});return t};var Ft=(t,e,r)=>(r=t!=null?oe(ie(t)):{},Ct(e||!t||!t.__esModule?Q(r,"default",{value:t,enumerable:!0}):r,t)),ue=t=>Ct(Q({},"__esModule",{value:!0}),t);var at=B((lr,$t)=>{"use strict";var xe="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";$t.exports=xe});var Qt=B((ur,jt)=>{"use strict";var he=at(),be=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=>he.indexOf(o)).reduce((o,a)=>(o=o.map(c=>{let s=c*58+a;return a=s>>8,s}),o),new Uint8Array(n)).reverse().filter((o=>a=>o=o||a)(!1))])};jt.exports=be});var Jt=B((_r,Kt)=>{"use strict";var Xt=at(),Ne=()=>{let t=Array(256).fill(-1);for(let e=0;e<Xt.length;++e)t[Xt.charCodeAt(e)]=e;return t};Kt.exports=Ne});var It=B((dr,Zt)=>{"use strict";var Yt=at(),ge=Jt(),ye=ge(),we=t=>{let e=[];for(let r of t){let n=r;for(let o=0;o<e.length;++o){let a=(ye[e[o]]<<8)+n;e[o]=Yt.charCodeAt(a%58),n=a/58|0}for(;n;)e.push(Yt.charCodeAt(n%58)),n=n/58|0}for(let r of t){if(r)break;e.push(49)}return e.reverse(),String.fromCharCode(...e)};Zt.exports=we});var Lt=B(Bt=>{"use strict";Bt.base58_to_binary=Qt();Bt.binary_to_base58=It()});var re=B(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.bech32m=S.bech32=void 0;var it="qpzry9x8gf2tvdw0s3jn54khce6mua7l",te={};for(let t=0;t<it.length;t++){let e=it.charAt(t);te[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 Dt(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 Tt(t,e,r,n){let o=0,a=0,c=(1<<r)-1,s=[];for(let l=0;l<t.length;++l)for(o=o<<e|t[l],a+=e;a>=r;)a-=r,s.push(o>>a&c);if(n)a>0&&s.push(o<<r-a&c);else{if(a>=e)return"Excess padding";if(o<<r-a&c)return"Non-zero padding"}return s}function Re(t){return Tt(t,8,5,!0)}function ke(t){let e=Tt(t,5,8,!1);if(Array.isArray(e))return e}function Oe(t){let e=Tt(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function ee(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 d=Dt(c);if(typeof d=="string")throw new Error(d);let _=c+"1";for(let i=0;i<s.length;++i){let u=s[i];if(u>>5!==0)throw new Error("Non 5-bit word");d=E(d)^u,_+=it.charAt(u)}for(let i=0;i<6;++i)d=E(d);d^=e;for(let i=0;i<6;++i){let u=d>>(5-i)*5&31;_+=it.charAt(u)}return _}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(),d=c.toUpperCase();if(c!==l&&c!==d)return"Mixed-case string "+c;c=l;let _=c.lastIndexOf("1");if(_===-1)return"No separator character for "+c;if(_===0)return"Missing prefix for "+c;let i=c.slice(0,_),u=c.slice(_+1);if(u.length<6)return"Data too short";let p=Dt(i);if(typeof p=="string")return p;let f=[];for(let m=0;m<u.length;++m){let b=u.charAt(m),h=te[b];if(h===void 0)return"Unknown character "+b;p=E(p)^h,!(m+6>=u.length)&&f.push(h)}return p!==e?"Invalid checksum for "+c:{prefix:i,words:f}}function o(c,s){let l=n(c,s);if(typeof l=="object")return l}function a(c,s){let l=n(c,s);if(typeof l=="object")return l;throw new Error(l)}return{decodeUnsafe:o,decode:a,encode:r,toWords:Re,fromWordsUnsafe:ke,fromWords:Oe}}S.bech32=ee("bech32");S.bech32m=ee("bech32m")});var Fe={};le(Fe,{BitcoinCanister:()=>X,BtcAddressType:()=>yt,BtcNetwork:()=>gt,CkBTCMinterCanister:()=>rt,MinterAlreadyProcessingError:()=>Y,MinterAmountTooLowError:()=>L,MinterGenericError:()=>R,MinterInsufficientAllowanceError:()=>tt,MinterInsufficientFundsError:()=>D,MinterMalformedAddressError:()=>I,MinterNoNewUtxosError:()=>Z,MinterRetrieveBtcError:()=>k,MinterTemporaryUnavailableError:()=>J,MinterUpdateBalanceError:()=>$,ParseBtcAddressBadWitnessLengthError:()=>G,ParseBtcAddressError:()=>N,ParseBtcAddressInvalidError:()=>U,ParseBtcAddressMalformedAddressError:()=>A,ParseBtcAddressNoDataError:()=>M,ParseBtcAddressUnexpectedHumanReadablePartError:()=>z,ParseBtcAddressUnsupportedAddressTypeError:()=>C,ParseBtcAddressUnsupportedWitnessVersionError:()=>W,ParseBtcAddressWrongNetworkError:()=>H,createRetrieveBtcError:()=>et,createRetrieveBtcWithApprovalError:()=>kt,createUpdateBalanceError:()=>Rt,parseBtcAddress:()=>Ce,toGetBalanceParams:()=>Nt,toGetUtxosParams:()=>bt});module.exports=ue(Fe);var K=require("@dfinity/utils");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)}),a=t.Text,c=t.Record({network:n,address:a,min_confirmations:t.Opt(t.Nat32)}),s=t.Nat64,l=t.Nat32,d=t.Record({start_height:l,end_height:t.Opt(l),network:n}),_=t.Vec(t.Nat8),i=t.Record({tip_height:l,block_headers:t.Vec(_)}),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:a}),m=t.Vec(t.Nat8),b=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),h=t.Record({height:l,value:s,outpoint:b}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:l,tip_block_hash:m,utxos:t.Vec(h)}),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}),P=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([d],[i],[]),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([P],[],[])})};var St=({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)}),a=t.Text,c=t.Record({network:n,address:a,min_confirmations:t.Opt(t.Nat32)}),s=t.Nat64,l=t.Nat32,d=t.Record({start_height:l,end_height:t.Opt(l),network:n}),_=t.Vec(t.Nat8),i=t.Record({tip_height:l,block_headers:t.Vec(_)}),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:a}),m=t.Vec(t.Nat8),b=t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32}),h=t.Record({height:l,value:s,outpoint:b}),y=t.Record({next_page:t.Opt(t.Vec(t.Nat8)),tip_height:l,tip_block_hash:m,utxos:t.Vec(h)}),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}),P=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([d],[i],[]),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([P],[],[])})};var T=require("@dfinity/utils"),_e={mainnet:{mainnet:null},testnet:{testnet:null},regtest:{regtest:null}},bt=({network:t,filter:e,...r})=>({filter:(0,T.nonNullish)(e)?(0,T.toNullable)("minConfirmations"in e?{min_confirmations:e.minConfirmations}:{page:e.page}):(0,T.toNullable)(),network:t==="testnet"?{testnet:null}:{mainnet:null},...r}),Nt=({network:t,minConfirmations:e,...r})=>({min_confirmations:(0,T.toNullable)(e),network:_e[t],...r});var X=class t extends K.Canister{constructor(){super(...arguments);this.getUtxosQuery=({...r})=>{let{bitcoin_get_utxos_query:n}=this.caller({certified:!1});return n(bt(r))};this.getBalanceQuery=({...r})=>{let{bitcoin_get_balance_query:n}=this.caller({certified:!1});return n(Nt(r))}}static create(r){let{service:n,certifiedService:o,canisterId:a}=(0,K.createServices)({options:r,idlFactory:St,certifiedIdlFactory:Et});return new t(a,n,o)}};var gt=(n=>(n[n.Mainnet=0]="Mainnet",n[n.Regtest=1]="Regtest",n[n.Testnet=2]="Testnet",n))(gt||{}),yt=(a=>(a[a.P2wpkhV0=0]="P2wpkhV0",a[a.P2pkh=1]="P2pkh",a[a.P2sh=2]="P2sh",a[a.P2wsh=3]="P2wsh",a[a.P2tr=4]="P2tr",a))(yt||{});var N=class extends Error{},U=class extends N{},M=class extends N{},C=class extends N{},G=class extends N{},W=class extends N{},z=class extends N{},A=class extends N{},H=class extends N{};var F=require("@dfinity/utils"),R=class extends Error{},J=class extends R{},Y=class extends R{},$=class extends R{},Z=class extends ${constructor({pending_utxos:e,required_confirmations:r}){super(),this.pendingUtxos=(0,F.fromNullable)(e)||[],this.requiredConfirmations=r}},k=class extends R{},I=class extends k{},L=class extends k{},D=class extends k{},tt=class extends k{},wt=t=>{if("GenericError"in t){let{GenericError:{error_message:e,error_code:r}}=t;return new R(`${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 $(`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 k(`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 x=require("@dfinity/utils");var qt=({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({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({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)}),a=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}),d=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),_=t.Record({status:c,memory_size:t.Nat,cycles:t.Nat,settings:l,query_stats:d,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),i=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}),m=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)}),b=t.Variant({received_utxos:t.Record({to_account:i,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:i,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:i,reason:f}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:m,reimbursement_account:t.Opt(i),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:i}),ignored_utxo:t.Record({utxo:u}),checked_utxo_mint_unknown:t.Record({utxo:u,account:i}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),h=t.Record({timestamp:t.Opt(t.Nat64),payload:b}),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}),P=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:i,amount:t.Nat64,reason:p}),ut=t.Record({account:i,mint_block_index:t.Nat64,amount:t.Nat64,reason:p}),q=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}),_t=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),dt=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,mt=t.Record({utxo:u,earliest_retry:ft,reason:f}),xt=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),ht=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(mt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(xt)),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([],[_],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(h)],[]),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([],[i],[]),retrieve_btc:t.Func([V],[t.Variant({Ok:w,Err:P})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[st],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[q],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(i)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(q)}))],[]),retrieve_btc_with_approval:t.Func([_t],[t.Variant({Ok:w,Err:dt})],[]),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:ht})],[])})};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({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({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)}),a=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}),d=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),_=t.Record({status:c,memory_size:t.Nat,cycles:t.Nat,settings:l,query_stats:d,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),i=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}),m=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)}),b=t.Variant({received_utxos:t.Record({to_account:i,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(u)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:i,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:i,reason:f}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:m,reimbursement_account:t.Opt(i),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:i}),ignored_utxo:t.Record({utxo:u}),checked_utxo_mint_unknown:t.Record({utxo:u,account:i}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),h=t.Record({timestamp:t.Opt(t.Nat64),payload:b}),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}),P=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:i,amount:t.Nat64,reason:p}),ut=t.Record({account:i,mint_block_index:t.Nat64,amount:t.Nat64,reason:p}),q=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}),_t=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),dt=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,mt=t.Record({utxo:u,earliest_retry:ft,reason:f}),xt=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),ht=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(mt)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(xt)),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([],[_],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(h)],["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([],[i],[]),retrieve_btc:t.Func([V],[t.Variant({Ok:w,Err:P})],[]),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})],[q],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(i)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(q)}))],["query"]),retrieve_btc_with_approval:t.Func([_t],[t.Variant({Ok:w,Err:dt})],[]),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:ht})],[])})};var rt=class t extends x.Canister{constructor(){super(...arguments);this.getBtcAddress=({owner:r,subaccount:n})=>this.caller({certified:!0}).get_btc_address({owner:(0,x.toNullable)(r),subaccount:(0,x.toNullable)(n)});this.updateBalance=async({owner:r,subaccount:n})=>{let o=await this.caller({certified:!0}).update_balance({owner:(0,x.toNullable)(r),subaccount:(0,x.toNullable)(n)});if("Err"in o)throw Rt(o.Err);return o.Ok};this.getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();this.retrieveBtc=async r=>{let n=await this.caller({certified:!0}).retrieve_btc(r);if("Err"in n)throw et(n.Err);return n.Ok};this.retrieveBtcWithApproval=async({address:r,amount:n,fromSubaccount:o})=>{let a=await this.caller({certified:!0}).retrieve_btc_with_approval({address:r,amount:n,from_subaccount:(0,x.toNullable)(o)});if("Err"in a)throw kt(a.Err);return a.Ok};this.retrieveBtcStatus=async({transactionId:r,certified:n})=>this.caller({certified:n}).retrieve_btc_status({block_index:r});this.retrieveBtcStatusV2ByAccount=async({account:r,certified:n})=>{let{retrieve_btc_status_v2_by_account:o}=this.caller({certified:n});return(await o((0,x.isNullish)(r)?[]:[{owner:r.owner,subaccount:(0,x.toNullable)(r.subaccount)}])).map(({block_index:c,status_v2:s})=>({id:c,status:(0,x.fromNullable)(s)}))};this.estimateWithdrawalFee=async({certified:r,amount:n})=>this.caller({certified:r}).estimate_withdrawal_fee({amount:(0,x.toNullable)(n)});this.getMinterInfo=async({certified:r})=>this.caller({certified:r}).get_minter_info();this.getKnownUtxos=({owner:r,subaccount:n,certified:o})=>{let{get_known_utxos:a}=this.caller({certified:o});return a({owner:(0,x.toNullable)(r),subaccount:(0,x.toNullable)(n)})}}static create(r){let{service:n,certifiedService:o,canisterId:a}=(0,x.createServices)({options:r,idlFactory:Mt,certifiedIdlFactory:qt});return new t(a,n,o)}};var Ut=require("@dfinity/utils");function de(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Ot(t,...e){if(!de(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function vt(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 Gt(t,e){Ot(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var ot=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),g=(t,e)=>t<<32-e|t>>>e;var tr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function pe(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Vt(t){return typeof t=="string"&&(t=pe(t)),Ot(t),t}var nt=class{clone(){return this._cloneInto()}},er={}.toString;function Wt(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 fe(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),a=BigInt(4294967295),c=Number(r>>o&a),s=Number(r&a),l=n?4:0,d=n?0:4;t.setUint32(e+l,c,n),t.setUint32(e+d,s,n)}var zt=(t,e,r)=>t&e^~t&r,Ht=(t,e,r)=>t&e^t&r^e&r,ct=class extends nt{constructor(e,r,n,o){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ot(this.buffer)}update(e){vt(this);let{view:r,buffer:n,blockLen:o}=this;e=Vt(e);let a=e.length;for(let c=0;c<a;){let s=Math.min(o-this.pos,a-c);if(s===o){let l=ot(e);for(;o<=a-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){vt(this),Gt(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:a}=this,{pos:c}=this;r[c++]=128,this.buffer.subarray(c).fill(0),this.padOffset>o-c&&(this.process(n,0),c=0);for(let i=c;i<o;i++)r[i]=0;fe(n,o-8,BigInt(this.length*8),a),this.process(n,0);let s=ot(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=l/4,_=this.get();if(d>_.length)throw new Error("_sha2: outputLen bigger than state");for(let i=0;i<d;i++)s.setUint32(4*i,_[i],a)}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:a,destroyed:c,pos:s}=this;return e.length=o,e.pos=s,e.finished=a,e.destroyed=c,o%r&&e.buffer.set(n),e}};var me=new Uint32Array([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]),O=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),v=new Uint32Array(64),Pt=class extends ct{constructor(){super(64,32,8,!1),this.A=O[0]|0,this.B=O[1]|0,this.C=O[2]|0,this.D=O[3]|0,this.E=O[4]|0,this.F=O[5]|0,this.G=O[6]|0,this.H=O[7]|0}get(){let{A:e,B:r,C:n,D:o,E:a,F:c,G:s,H:l}=this;return[e,r,n,o,a,c,s,l]}set(e,r,n,o,a,c,s,l){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=a|0,this.F=c|0,this.G=s|0,this.H=l|0}process(e,r){for(let i=0;i<16;i++,r+=4)v[i]=e.getUint32(r,!1);for(let i=16;i<64;i++){let u=v[i-15],p=v[i-2],f=g(u,7)^g(u,18)^u>>>3,m=g(p,17)^g(p,19)^p>>>10;v[i]=m+v[i-7]+f+v[i-16]|0}let{A:n,B:o,C:a,D:c,E:s,F:l,G:d,H:_}=this;for(let i=0;i<64;i++){let u=g(s,6)^g(s,11)^g(s,25),p=_+u+zt(s,l,d)+me[i]+v[i]|0,m=(g(n,2)^g(n,13)^g(n,22))+Ht(n,o,a)|0;_=d,d=l,l=s,s=c+p|0,c=a,a=o,o=n,n=p+m|0}n=n+this.A|0,o=o+this.B|0,a=a+this.C|0,c=c+this.D|0,s=s+this.E|0,l=l+this.F|0,d=d+this.G|0,_=_+this.H|0,this.set(n,o,a,c,s,l,d,_)}roundClean(){v.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var At=Wt(()=>new Pt);var ne=Ft(Lt()),j=Ft(re());var ve=0,Ve=5,Pe=111,Ae=196,Be={[ve]:{type:1,networks:[0]},[Pe]:{type:1,networks:[2,1]},[Ve]:{type:2,networks:[0]},[Ae]:{type:2,networks:[2,1]}},Te=({address:t,network:e})=>{let n=(_=>{try{return(0,ne.base58_to_binary)(_)}catch{throw new U}})(t),{length:o}=n;if(o!==25)throw new A(`Expected the address to be 25 bytes, got ${o}.`);(_=>{let i=_.slice(o-4,o),u=_.slice(0,o-4),p=At.create();p.update(u);let f=At.create();f.update(p.digest());let m=f.digest().slice(0,4);if(i.some((b,h)=>b!==m[h]))throw new A(`Checksum mismatch expected ${i}, got ${m}.`)})(n);let c=n[0],s=Be[c];if((0,Ut.isNullish)(s))throw new C;let{type:l,networks:d}=s;if(!d.includes(e))throw new H;return{address:t,network:e,type:l,parser:"base58"}},Ue=({address:t,network:e})=>{let r=_=>{try{return _.startsWith("bc1p")||_.startsWith("tb1p")||_.startsWith("bcrt1p")?j.bech32m.decode(_):j.bech32.decode(_)}catch{throw new A}},{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 z;let[s,...l]=o;if(s>1)throw new W;switch(j.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 G}},Ce=({address:t,network:e=0})=>{switch(t.charAt(0)){case"1":case"2":case"3":case"m":case"n":return Te({address:t,network:e});case"b":case"B":case"t":case"T":return Ue({address:t,network:e});case"":throw new M;default:throw new C}};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:
|