@dfinity/ckbtc 2.2.1 → 2.3.0

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.
@@ -0,0 +1,2 @@
1
+ var X=Object.create;var z=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var it=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports);var L=(t,r,e,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Z(r))!D.call(t,n)&&n!==e&&z(t,n,{get:()=>r[n],enumerable:!(a=Y(r,n))||a.enumerable});return t};var ot=(t,r,e)=>(e=t!=null?X(I(t)):{},L(r||!t||!t.__esModule?z(e,"default",{value:t,enumerable:!0}):e,t));import{Canister as et,createServices as rt,fromNullable as at,isNullish as nt,toNullable as s}from"@dfinity/utils";var Q=({IDL:t})=>{let r=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),e=t.Record({kyt_principal:t.Opt(t.Principal),mode:t.Opt(r),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),a=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),n=t.Record({kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:r,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:a,min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Upgrade:t.Opt(e),Init:n}),_=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),p=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),x=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),v=t.Record({status:_,memory_size:t.Nat,cycles:t.Nat,settings:p,query_stats:x,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),o=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),i=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),d=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),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({received_utxos:t.Record({to_account:o,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(i)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:o,amount:t.Nat64,reason:d}),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(i),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:n,upgrade:e,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}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:b,reimbursement_account:t.Opt(o),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:i,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}),ignored_utxo:t.Record({utxo:i}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),f=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),g=t.Record({address:t.Text,amount:t.Nat64}),N=t.Record({block_index:t.Nat64}),V=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})}),k=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}),O=t.Record({account:o,amount:t.Nat64,reason:d}),w=t.Record({account:o,mint_block_index:t.Nat64,amount:t.Nat64,reason:d}),m=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:O,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:w,Pending:t.Null}),P=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),h=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})}),B=t.Variant({ValueTooSmall:i,Tainted:i,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:i}),Checked:i}),T=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),A=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(T)),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([],[v],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(y)],[]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(i)],[]),get_minter_info:t.Func([],[f],[]),get_withdrawal_account:t.Func([],[o],[]),retrieve_btc:t.Func([g],[t.Variant({Ok:N,Err:V})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[k],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[m],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(o)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(m)}))],[]),retrieve_btc_with_approval:t.Func([P],[t.Variant({Ok:N,Err:h})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(B),Err:A})],[])})};var K=({IDL:t})=>{let r=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),e=t.Record({kyt_principal:t.Opt(t.Principal),mode:t.Opt(r),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),a=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),n=t.Record({kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:r,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:a,min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Upgrade:t.Opt(e),Init:n}),_=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),p=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),x=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),v=t.Record({status:_,memory_size:t.Nat,cycles:t.Nat,settings:p,query_stats:x,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),o=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),i=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),d=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),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({received_utxos:t.Record({to_account:o,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(i)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:o,amount:t.Nat64,reason:d}),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(i),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:n,upgrade:e,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}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:b,reimbursement_account:t.Opt(o),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:i,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}),ignored_utxo:t.Record({utxo:i}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),f=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),g=t.Record({address:t.Text,amount:t.Nat64}),N=t.Record({block_index:t.Nat64}),V=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})}),k=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}),O=t.Record({account:o,amount:t.Nat64,reason:d}),w=t.Record({account:o,mint_block_index:t.Nat64,amount:t.Nat64,reason:d}),m=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:O,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:w,Pending:t.Null}),P=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),h=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})}),B=t.Variant({ValueTooSmall:i,Tainted:i,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:i}),Checked:i}),T=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),A=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(T)),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([],[v],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(y)],["query"]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(i)],["query"]),get_minter_info:t.Func([],[f],["query"]),get_withdrawal_account:t.Func([],[o],[]),retrieve_btc:t.Func([g],[t.Variant({Ok:N,Err:V})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[k],["query"]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[m],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(o)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(m)}))],["query"]),retrieve_btc_with_approval:t.Func([P],[t.Variant({Ok:N,Err:h})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(B),Err:A})],[])})};import{fromNullable as tt,nonNullish as W}from"@dfinity/utils";var l=class extends Error{},U=class extends l{},S=class extends l{},R=class extends l{},F=class extends R{constructor({pending_utxos:r,required_confirmations:e}){super(),this.pendingUtxos=tt(r)||[],this.requiredConfirmations=e}},u=class extends l{},q=class extends u{},C=class extends u{},E=class extends u{},M=class extends u{},G=t=>{if("GenericError"in t){let{GenericError:{error_message:r,error_code:e}}=t;return new l(`${r} (${e})`)}if("TemporarilyUnavailable"in t)return new U(t.TemporarilyUnavailable);if("AlreadyProcessing"in t)return new S},J=t=>{let r=G(t);return W(r)?r:"NoNewUtxos"in t?new F(t.NoNewUtxos):new R(`Unsupported response type in minter.updateBalance ${JSON.stringify(t)}`)},$=t=>{let r=G(t);return W(r)?r:"MalformedAddress"in t?new q(t.MalformedAddress):"AmountTooLow"in t?new C(`${t.AmountTooLow}`):"InsufficientFunds"in t?new E(`${t.InsufficientFunds.balance}`):new u(`Unsupported response type in minter.retrieveBtc ${JSON.stringify(t)}`)},j=t=>{let r=G(t);return W(r)?r:"InsufficientAllowance"in t?new M(`${t.InsufficientAllowance.allowance}`):$(t)};var H=class t extends et{constructor(){super(...arguments);this.getBtcAddress=({owner:e,subaccount:a})=>this.caller({certified:!0}).get_btc_address({owner:s(e),subaccount:s(a)});this.updateBalance=async({owner:e,subaccount:a})=>{let n=await this.caller({certified:!0}).update_balance({owner:s(e),subaccount:s(a)});if("Err"in n)throw J(n.Err);return n.Ok};this.getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();this.retrieveBtc=async e=>{let a=await this.caller({certified:!0}).retrieve_btc(e);if("Err"in a)throw $(a.Err);return a.Ok};this.retrieveBtcWithApproval=async({address:e,amount:a,fromSubaccount:n})=>{let c=await this.caller({certified:!0}).retrieve_btc_with_approval({address:e,amount:a,from_subaccount:s(n)});if("Err"in c)throw j(c.Err);return c.Ok};this.retrieveBtcStatus=async({transactionId:e,certified:a})=>this.caller({certified:a}).retrieve_btc_status({block_index:e});this.retrieveBtcStatusV2ByAccount=async({account:e,certified:a})=>{let{retrieve_btc_status_v2_by_account:n}=this.caller({certified:a});return(await n(nt(e)?[]:[{owner:e.owner,subaccount:s(e.subaccount)}])).map(({block_index:_,status_v2:p})=>({id:_,status:at(p)}))};this.estimateWithdrawalFee=async({certified:e,amount:a})=>this.caller({certified:e}).estimate_withdrawal_fee({amount:s(a)});this.getMinterInfo=async({certified:e})=>this.caller({certified:e}).get_minter_info();this.getKnownUtxos=({owner:e,subaccount:a,certified:n})=>{let{get_known_utxos:c}=this.caller({certified:n});return c({owner:s(e),subaccount:s(a)})}}static create(e){let{service:a,certifiedService:n,canisterId:c}=rt({options:e,idlFactory:K,certifiedIdlFactory:Q});return new t(c,a,n)}};export{it as a,ot as b,l as c,U as d,S as e,R as f,F as g,u as h,q as i,C as j,E as k,M as l,J as m,$ as n,j as o,H as p};
2
+ //# sourceMappingURL=chunk-D3EDBNHW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/minter.canister.ts", "../../candid/minter.certified.idl.js", "../../candid/minter.idl.js", "../../src/errors/minter.errors.ts"],
4
+ "sourcesContent": ["import {\n Canister,\n createServices,\n fromNullable,\n isNullish,\n toNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport {\n type _SERVICE as CkBTCMinterService,\n type MinterInfo,\n type RetrieveBtcOk,\n type RetrieveBtcStatus,\n type Utxo,\n type Account as WithdrawalAccount,\n} from \"../candid/minter\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/minter.certified.idl\";\nimport { idlFactory } from \"../candid/minter.idl\";\nimport {\n createRetrieveBtcError,\n createRetrieveBtcWithApprovalError,\n createUpdateBalanceError,\n} from \"./errors/minter.errors\";\nimport type { CkBTCMinterCanisterOptions } from \"./types/canister.options\";\nimport type {\n EstimateWithdrawalFeeParams,\n GetBTCAddressParams,\n GetKnownUtxosParams,\n RetrieveBtcParams,\n RetrieveBtcStatusV2ByAccountParams,\n UpdateBalanceParams,\n} from \"./types/minter.params\";\nimport type {\n EstimateWithdrawalFee,\n RetrieveBtcResponse,\n RetrieveBtcStatusV2WithId,\n RetrieveBtcWithApprovalResponse,\n UpdateBalanceOk,\n UpdateBalanceResponse,\n} from \"./types/minter.responses\";\n\nexport class CkBTCMinterCanister extends Canister<CkBTCMinterService> {\n static create(options: CkBTCMinterCanisterOptions<CkBTCMinterService>) {\n const { service, certifiedService, canisterId } =\n createServices<CkBTCMinterService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new CkBTCMinterCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Returns a BTC address for a given account.\n *\n * Note: an update call is required by the Minter canister.\n *\n * @param {GetBTCAddressParams} params The parameters for which a BTC address should be resolved.\n * @param {Principal} params.owner The owner for which the BTC address should be generated. If not provided, the `caller` will be use instead.\n * @param {Uint8Array} params.subaccount An optional subaccount to compute the address.\n * @returns {Promise<string>} The BTC address of the given account.\n */\n getBtcAddress = ({\n owner,\n subaccount,\n }: GetBTCAddressParams): Promise<string> =>\n this.caller({ certified: true }).get_btc_address({\n owner: toNullable(owner),\n subaccount: toNullable(subaccount),\n });\n\n /**\n * Notify the minter about the bitcoin transfer.\n *\n * Upon successful notification, new ckBTC should be available on the targeted address.\n *\n * @param {UpdateBalanceParams} params The parameters are the address to which bitcoin where transferred.\n * @param {Principal} params.owner The owner of the address. If not provided, the `caller` will be use instead.\n * @param {Principal} params.subaccount An optional subaccount of the address.\n * @returns {Promise<UpdateBalanceOk>} The result of the balance update.\n */\n updateBalance = async ({\n owner,\n subaccount,\n }: UpdateBalanceParams): Promise<UpdateBalanceOk> => {\n const response: UpdateBalanceResponse = await this.caller({\n certified: true,\n }).update_balance({\n owner: toNullable(owner),\n subaccount: toNullable(subaccount),\n });\n\n if (\"Err\" in response) {\n throw createUpdateBalanceError(response.Err);\n }\n\n return response.Ok;\n };\n\n /**\n * Returns the account to which the caller should deposit ckBTC before withdrawing BTC using the [retrieveBtc] endpoint.\n *\n * @returns {Promise<Account>} The account to which ckBTC needs to be transferred. Provide corresponding information to map an Icrc1 account.\n */\n getWithdrawalAccount = (): Promise<WithdrawalAccount> =>\n this.caller({ certified: true }).get_withdrawal_account();\n\n /**\n * Submits a request to convert ckBTC to BTC.\n *\n * Note:\n *\n * The BTC retrieval process is slow. Instead of synchronously waiting for a BTC transaction to settle, this method returns a request ([block_index]) that the caller can use to query the request status.\n *\n * Preconditions:\n *\n * The caller deposited the requested amount in ckBTC to the account that the [getWithdrawalAccount] endpoint returns.\n *\n * @param {RetrieveBtcParams} params The parameters are the bitcoin address and amount to convert.\n * @param {string} params.address The bitcoin address.\n * @param {bigint} params.amount The ckBTC amount.\n * @returns {Promise<RetrieveBtcOk>} The result or the operation.\n */\n retrieveBtc = async (params: RetrieveBtcParams): Promise<RetrieveBtcOk> => {\n const response: RetrieveBtcResponse = await this.caller({\n certified: true,\n }).retrieve_btc(params);\n\n if (\"Err\" in response) {\n throw createRetrieveBtcError(response.Err);\n }\n\n return response.Ok;\n };\n\n /**\n * Submits a request to convert ckBTC to BTC after making an ICRC-2 approval.\n *\n * # Note\n *\n * The BTC retrieval process is slow. Instead of synchronously waiting for a BTC transaction to settle, this method returns a request ([block_index]) that the caller can use to query the request status.\n *\n * # Preconditions\n *\n * The caller allowed the minter's principal to spend its funds using\n * [icrc2_approve] on the ckBTC ledger.\n *\n * @param {string} params.address The bitcoin address.\n * @param {bigint} params.amount The ckBTC amount.\n * @param {Uint8Array} params.fromSubaccount An optional subaccount from which\n * the ckBTC should be transferred.\n * @returns {Promise<RetrieveBtcOk>} The result or the operation.\n */\n retrieveBtcWithApproval = async ({\n address,\n amount,\n fromSubaccount,\n }: {\n address: string;\n amount: bigint;\n fromSubaccount?: Uint8Array;\n }): Promise<RetrieveBtcOk> => {\n const response: RetrieveBtcWithApprovalResponse = await this.caller({\n certified: true,\n }).retrieve_btc_with_approval({\n address,\n amount,\n from_subaccount: toNullable(fromSubaccount),\n });\n\n if (\"Err\" in response) {\n throw createRetrieveBtcWithApprovalError(response.Err);\n }\n\n return response.Ok;\n };\n\n /**\n * Returns the status of a specific BTC withdrawal based on the transaction ID\n * of the corresponding burn transaction.\n *\n * @param {bigint} transactionId The ID of the corresponding burn transaction.\n * @param {boolean} certified query or update call\n * @returns {Promise<RetrieveBtcStatus>} The status of the BTC retrieval request.\n */\n retrieveBtcStatus = async ({\n transactionId,\n certified,\n }: {\n transactionId: bigint;\n certified: boolean;\n }): Promise<RetrieveBtcStatus> =>\n this.caller({\n certified,\n }).retrieve_btc_status({ block_index: transactionId });\n\n /**\n * Returns the status of all BTC withdrawals for an account.\n *\n * @param {boolean} certified query or update call\n * @param {MinterAccount} account an optional account to retrieve the statuses. If not provided, statuses for the caller are retrieved.\n * @returns {Promise<RetrieveBtcStatusV2WithId[]>} The statuses of the BTC retrieval requests.\n */\n retrieveBtcStatusV2ByAccount = async ({\n account,\n certified,\n }: RetrieveBtcStatusV2ByAccountParams): Promise<\n RetrieveBtcStatusV2WithId[]\n > => {\n const { retrieve_btc_status_v2_by_account } = this.caller({\n certified,\n });\n\n const statuses = await retrieve_btc_status_v2_by_account(\n isNullish(account)\n ? []\n : [\n {\n owner: account.owner,\n subaccount: toNullable(account.subaccount),\n },\n ],\n );\n\n return statuses.map(({ block_index, status_v2 }) => ({\n id: block_index,\n status: fromNullable(status_v2),\n }));\n };\n\n /**\n * Returns an estimation of the user's fee (in Satoshi) for a retrieve_btc request based on the current status of the Bitcoin network and the fee related to the minter.\n *\n * @param {RetrieveBtcParams} params The parameters to estimate the fee.\n * @param {boolean} params.certified query or update call\n * @param {bigint | undefined} params.amount The optional amount for which the fee should be estimated.\n */\n estimateWithdrawalFee = async ({\n certified,\n amount,\n }: EstimateWithdrawalFeeParams): Promise<EstimateWithdrawalFee> =>\n this.caller({\n certified,\n }).estimate_withdrawal_fee({ amount: toNullable(amount) });\n\n /**\n * Returns internal minter parameters such as the minimal amount to retrieve BTC, minimal number of confirmations or KYT fee.\n *\n * @param {QueryParams} params The parameters to get the minter info.\n * @param {boolean} params.certified query or update call\n */\n getMinterInfo = async ({ certified }: QueryParams): Promise<MinterInfo> =>\n this.caller({\n certified,\n }).get_minter_info();\n\n /**\n * Returns UTXOs of the given account known by the minter.\n *\n * @param {GetKnownUtxosParams} params The parameters for which the known utxos should be resolved.\n * @param {Principal} params.owner The owner of the account. Note that if not provided, the `caller` would be used by the minter instead.\n * @param {Uint8Array} params.subaccount An optional subaccount.\n * @returns {Promise<Utxo[]>} The known utxos (with no guarantee in the ordering).\n */\n getKnownUtxos = ({\n owner,\n subaccount,\n certified,\n }: GetKnownUtxosParams): Promise<Utxo[]> => {\n const { get_known_utxos } = this.caller({ certified });\n\n return get_known_utxos({\n owner: toNullable(owner),\n subaccount: toNullable(subaccount),\n });\n };\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/ckbtc/candid/minter.did */\nexport const idlFactory = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Nat,\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Nat,\n 'num_instructions_total' : IDL.Nat,\n 'num_calls_total' : IDL.Nat,\n 'request_payload_bytes_total' : IDL.Nat,\n });\n const CanisterStatusResponse = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : QueryStats,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'reserved_cycles' : IDL.Nat,\n });\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Utxo = IDL.Record({\n 'height' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const ReimbursementReason = IDL.Variant({\n 'CallFailed' : IDL.Null,\n 'TaintedDestination' : IDL.Record({\n 'kyt_fee' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n });\n const BitcoinAddress = IDL.Variant({\n 'p2wsh_v0' : IDL.Vec(IDL.Nat8),\n 'p2tr_v1' : IDL.Vec(IDL.Nat8),\n 'p2sh' : IDL.Vec(IDL.Nat8),\n 'p2wpkh_v0' : IDL.Vec(IDL.Nat8),\n 'p2pkh' : IDL.Vec(IDL.Nat8),\n });\n const Event = IDL.Variant({\n 'received_utxos' : IDL.Record({\n 'to_account' : Account,\n 'mint_txid' : IDL.Opt(IDL.Nat64),\n 'utxos' : IDL.Vec(Utxo),\n }),\n 'schedule_deposit_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n }),\n 'sent_transaction' : IDL.Record({\n 'fee' : IDL.Opt(IDL.Nat64),\n 'change_output' : IDL.Opt(\n IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 })\n ),\n 'txid' : IDL.Vec(IDL.Nat8),\n 'utxos' : IDL.Vec(Utxo),\n 'requests' : IDL.Vec(IDL.Nat64),\n 'submitted_at' : IDL.Nat64,\n }),\n 'distributed_kyt_fee' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'init' : InitArgs,\n 'upgrade' : UpgradeArgs,\n 'retrieve_btc_kyt_failed' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'owner' : IDL.Principal,\n 'uuid' : IDL.Text,\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'accepted_retrieve_btc_request' : IDL.Record({\n 'received_at' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'address' : BitcoinAddress,\n 'reimbursement_account' : IDL.Opt(Account),\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'checked_utxo' : IDL.Record({\n 'clean' : IDL.Bool,\n 'utxo' : Utxo,\n 'uuid' : IDL.Text,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'removed_retrieve_btc_request' : IDL.Record({ 'block_index' : IDL.Nat64 }),\n 'confirmed_transaction' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'replaced_transaction' : IDL.Record({\n 'fee' : IDL.Nat64,\n 'change_output' : IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 }),\n 'old_txid' : IDL.Vec(IDL.Nat8),\n 'new_txid' : IDL.Vec(IDL.Nat8),\n 'submitted_at' : IDL.Nat64,\n }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const MinterInfo = IDL.Record({\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'min_confirmations' : IDL.Nat32,\n 'kyt_fee' : IDL.Nat64,\n });\n const RetrieveBtcArgs = IDL.Record({\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcOk = IDL.Record({ 'block_index' : IDL.Nat64 });\n const RetrieveBtcError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const RetrieveBtcStatus = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Pending' : IDL.Null,\n });\n const ReimbursementRequest = IDL.Record({\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const ReimbursedDeposit = IDL.Record({\n 'account' : Account,\n 'mint_block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const RetrieveBtcStatusV2 = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'WillReimburse' : ReimbursementRequest,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Reimbursed' : ReimbursedDeposit,\n 'Pending' : IDL.Null,\n });\n const RetrieveBtcWithApprovalArgs = IDL.Record({\n 'from_subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcWithApprovalError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'InsufficientAllowance' : IDL.Record({ 'allowance' : IDL.Nat64 }),\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const UtxoStatus = IDL.Variant({\n 'ValueTooSmall' : Utxo,\n 'Tainted' : Utxo,\n 'Minted' : IDL.Record({\n 'minted_amount' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'utxo' : Utxo,\n }),\n 'Checked' : Utxo,\n });\n const PendingUtxo = IDL.Record({\n 'confirmations' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const UpdateBalanceError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'NoNewUtxos' : IDL.Record({\n 'required_confirmations' : IDL.Nat32,\n 'pending_utxos' : IDL.Opt(IDL.Vec(PendingUtxo)),\n 'current_confirmations' : IDL.Opt(IDL.Nat32),\n }),\n });\n return IDL.Service({\n 'estimate_withdrawal_fee' : IDL.Func(\n [IDL.Record({ 'amount' : IDL.Opt(IDL.Nat64) })],\n [IDL.Record({ 'minter_fee' : IDL.Nat64, 'bitcoin_fee' : IDL.Nat64 })],\n [],\n ),\n 'get_btc_address' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [IDL.Text],\n [],\n ),\n 'get_canister_status' : IDL.Func([], [CanisterStatusResponse], []),\n 'get_deposit_fee' : IDL.Func([], [IDL.Nat64], []),\n 'get_events' : IDL.Func(\n [IDL.Record({ 'start' : IDL.Nat64, 'length' : IDL.Nat64 })],\n [IDL.Vec(Event)],\n [],\n ),\n 'get_known_utxos' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [IDL.Vec(Utxo)],\n [],\n ),\n 'get_minter_info' : IDL.Func([], [MinterInfo], []),\n 'get_withdrawal_account' : IDL.Func([], [Account], []),\n 'retrieve_btc' : IDL.Func(\n [RetrieveBtcArgs],\n [IDL.Variant({ 'Ok' : RetrieveBtcOk, 'Err' : RetrieveBtcError })],\n [],\n ),\n 'retrieve_btc_status' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatus],\n [],\n ),\n 'retrieve_btc_status_v2' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatusV2],\n [],\n ),\n 'retrieve_btc_status_v2_by_account' : IDL.Func(\n [IDL.Opt(Account)],\n [\n IDL.Vec(\n IDL.Record({\n 'block_index' : IDL.Nat64,\n 'status_v2' : IDL.Opt(RetrieveBtcStatusV2),\n })\n ),\n ],\n [],\n ),\n 'retrieve_btc_with_approval' : IDL.Func(\n [RetrieveBtcWithApprovalArgs],\n [\n IDL.Variant({\n 'Ok' : RetrieveBtcOk,\n 'Err' : RetrieveBtcWithApprovalError,\n }),\n ],\n [],\n ),\n 'update_balance' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [\n IDL.Variant({\n 'Ok' : IDL.Vec(UtxoStatus),\n 'Err' : UpdateBalanceError,\n }),\n ],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n return [MinterArg];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/ckbtc/candid/minter.did */\nexport const idlFactory = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Nat,\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Nat,\n 'num_instructions_total' : IDL.Nat,\n 'num_calls_total' : IDL.Nat,\n 'request_payload_bytes_total' : IDL.Nat,\n });\n const CanisterStatusResponse = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : QueryStats,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'reserved_cycles' : IDL.Nat,\n });\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Utxo = IDL.Record({\n 'height' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const ReimbursementReason = IDL.Variant({\n 'CallFailed' : IDL.Null,\n 'TaintedDestination' : IDL.Record({\n 'kyt_fee' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n });\n const BitcoinAddress = IDL.Variant({\n 'p2wsh_v0' : IDL.Vec(IDL.Nat8),\n 'p2tr_v1' : IDL.Vec(IDL.Nat8),\n 'p2sh' : IDL.Vec(IDL.Nat8),\n 'p2wpkh_v0' : IDL.Vec(IDL.Nat8),\n 'p2pkh' : IDL.Vec(IDL.Nat8),\n });\n const Event = IDL.Variant({\n 'received_utxos' : IDL.Record({\n 'to_account' : Account,\n 'mint_txid' : IDL.Opt(IDL.Nat64),\n 'utxos' : IDL.Vec(Utxo),\n }),\n 'schedule_deposit_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n }),\n 'sent_transaction' : IDL.Record({\n 'fee' : IDL.Opt(IDL.Nat64),\n 'change_output' : IDL.Opt(\n IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 })\n ),\n 'txid' : IDL.Vec(IDL.Nat8),\n 'utxos' : IDL.Vec(Utxo),\n 'requests' : IDL.Vec(IDL.Nat64),\n 'submitted_at' : IDL.Nat64,\n }),\n 'distributed_kyt_fee' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'init' : InitArgs,\n 'upgrade' : UpgradeArgs,\n 'retrieve_btc_kyt_failed' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'owner' : IDL.Principal,\n 'uuid' : IDL.Text,\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'accepted_retrieve_btc_request' : IDL.Record({\n 'received_at' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'address' : BitcoinAddress,\n 'reimbursement_account' : IDL.Opt(Account),\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'checked_utxo' : IDL.Record({\n 'clean' : IDL.Bool,\n 'utxo' : Utxo,\n 'uuid' : IDL.Text,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'removed_retrieve_btc_request' : IDL.Record({ 'block_index' : IDL.Nat64 }),\n 'confirmed_transaction' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'replaced_transaction' : IDL.Record({\n 'fee' : IDL.Nat64,\n 'change_output' : IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 }),\n 'old_txid' : IDL.Vec(IDL.Nat8),\n 'new_txid' : IDL.Vec(IDL.Nat8),\n 'submitted_at' : IDL.Nat64,\n }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const MinterInfo = IDL.Record({\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'min_confirmations' : IDL.Nat32,\n 'kyt_fee' : IDL.Nat64,\n });\n const RetrieveBtcArgs = IDL.Record({\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcOk = IDL.Record({ 'block_index' : IDL.Nat64 });\n const RetrieveBtcError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const RetrieveBtcStatus = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Pending' : IDL.Null,\n });\n const ReimbursementRequest = IDL.Record({\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const ReimbursedDeposit = IDL.Record({\n 'account' : Account,\n 'mint_block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const RetrieveBtcStatusV2 = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'WillReimburse' : ReimbursementRequest,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Reimbursed' : ReimbursedDeposit,\n 'Pending' : IDL.Null,\n });\n const RetrieveBtcWithApprovalArgs = IDL.Record({\n 'from_subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcWithApprovalError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'InsufficientAllowance' : IDL.Record({ 'allowance' : IDL.Nat64 }),\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const UtxoStatus = IDL.Variant({\n 'ValueTooSmall' : Utxo,\n 'Tainted' : Utxo,\n 'Minted' : IDL.Record({\n 'minted_amount' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'utxo' : Utxo,\n }),\n 'Checked' : Utxo,\n });\n const PendingUtxo = IDL.Record({\n 'confirmations' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const UpdateBalanceError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'NoNewUtxos' : IDL.Record({\n 'required_confirmations' : IDL.Nat32,\n 'pending_utxos' : IDL.Opt(IDL.Vec(PendingUtxo)),\n 'current_confirmations' : IDL.Opt(IDL.Nat32),\n }),\n });\n return IDL.Service({\n 'estimate_withdrawal_fee' : IDL.Func(\n [IDL.Record({ 'amount' : IDL.Opt(IDL.Nat64) })],\n [IDL.Record({ 'minter_fee' : IDL.Nat64, 'bitcoin_fee' : IDL.Nat64 })],\n ['query'],\n ),\n 'get_btc_address' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [IDL.Text],\n [],\n ),\n 'get_canister_status' : IDL.Func([], [CanisterStatusResponse], []),\n 'get_deposit_fee' : IDL.Func([], [IDL.Nat64], ['query']),\n 'get_events' : IDL.Func(\n [IDL.Record({ 'start' : IDL.Nat64, 'length' : IDL.Nat64 })],\n [IDL.Vec(Event)],\n ['query'],\n ),\n 'get_known_utxos' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [IDL.Vec(Utxo)],\n ['query'],\n ),\n 'get_minter_info' : IDL.Func([], [MinterInfo], ['query']),\n 'get_withdrawal_account' : IDL.Func([], [Account], []),\n 'retrieve_btc' : IDL.Func(\n [RetrieveBtcArgs],\n [IDL.Variant({ 'Ok' : RetrieveBtcOk, 'Err' : RetrieveBtcError })],\n [],\n ),\n 'retrieve_btc_status' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatus],\n ['query'],\n ),\n 'retrieve_btc_status_v2' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatusV2],\n ['query'],\n ),\n 'retrieve_btc_status_v2_by_account' : IDL.Func(\n [IDL.Opt(Account)],\n [\n IDL.Vec(\n IDL.Record({\n 'block_index' : IDL.Nat64,\n 'status_v2' : IDL.Opt(RetrieveBtcStatusV2),\n })\n ),\n ],\n ['query'],\n ),\n 'retrieve_btc_with_approval' : IDL.Func(\n [RetrieveBtcWithApprovalArgs],\n [\n IDL.Variant({\n 'Ok' : RetrieveBtcOk,\n 'Err' : RetrieveBtcWithApprovalError,\n }),\n ],\n [],\n ),\n 'update_balance' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [\n IDL.Variant({\n 'Ok' : IDL.Vec(UtxoStatus),\n 'Err' : UpdateBalanceError,\n }),\n ],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n return [MinterArg];\n};\n", "import { fromNullable, nonNullish } from \"@dfinity/utils\";\nimport type {\n PendingUtxo,\n RetrieveBtcError,\n RetrieveBtcWithApprovalError,\n UpdateBalanceError,\n} from \"../../candid/minter\";\n\nexport class MinterGenericError extends Error {}\nexport class MinterTemporaryUnavailableError extends MinterGenericError {}\nexport class MinterAlreadyProcessingError extends MinterGenericError {}\n\nexport class MinterUpdateBalanceError extends MinterGenericError {}\nexport class MinterNoNewUtxosError extends MinterUpdateBalanceError {\n readonly pendingUtxos: PendingUtxo[];\n readonly requiredConfirmations: number;\n constructor({\n pending_utxos,\n required_confirmations,\n }: {\n pending_utxos: [] | [PendingUtxo[]];\n required_confirmations: number;\n }) {\n super();\n this.pendingUtxos = fromNullable(pending_utxos) || [];\n this.requiredConfirmations = required_confirmations;\n }\n}\n\nexport class MinterRetrieveBtcError extends MinterGenericError {}\nexport class MinterMalformedAddressError extends MinterRetrieveBtcError {}\nexport class MinterAmountTooLowError extends MinterRetrieveBtcError {}\nexport class MinterInsufficientFundsError extends MinterRetrieveBtcError {}\nexport class MinterInsufficientAllowanceError extends MinterRetrieveBtcError {}\n\nconst mapGenericError = (\n Err: UpdateBalanceError | RetrieveBtcError | RetrieveBtcWithApprovalError,\n): MinterGenericError | undefined => {\n if (\"GenericError\" in Err) {\n const {\n GenericError: { error_message, error_code },\n } = Err;\n return new MinterGenericError(`${error_message} (${error_code})`);\n }\n\n if (\"TemporarilyUnavailable\" in Err) {\n return new MinterTemporaryUnavailableError(Err.TemporarilyUnavailable);\n }\n\n if (\"AlreadyProcessing\" in Err) {\n return new MinterAlreadyProcessingError();\n }\n\n return undefined;\n};\n\nexport const createUpdateBalanceError = (\n Err: UpdateBalanceError,\n): MinterGenericError => {\n const error = mapGenericError(Err);\n\n if (nonNullish(error)) {\n return error;\n }\n\n if (\"NoNewUtxos\" in Err) {\n return new MinterNoNewUtxosError(Err.NoNewUtxos);\n }\n\n // Handle types added in the backend but not yet added in the frontend\n return new MinterUpdateBalanceError(\n `Unsupported response type in minter.updateBalance ${JSON.stringify(Err)}`,\n );\n};\n\nexport const createRetrieveBtcError = (\n Err: RetrieveBtcError,\n): MinterGenericError => {\n const error = mapGenericError(Err);\n\n if (nonNullish(error)) {\n return error;\n }\n\n if (\"MalformedAddress\" in Err) {\n return new MinterMalformedAddressError(Err.MalformedAddress);\n }\n\n if (\"AmountTooLow\" in Err) {\n return new MinterAmountTooLowError(`${Err.AmountTooLow}`);\n }\n\n if (\"InsufficientFunds\" in Err) {\n return new MinterInsufficientFundsError(`${Err.InsufficientFunds.balance}`);\n }\n\n // Handle types added in the backend but not yet added in the frontend\n return new MinterRetrieveBtcError(\n `Unsupported response type in minter.retrieveBtc ${JSON.stringify(Err)}`,\n );\n};\n\nexport const createRetrieveBtcWithApprovalError = (\n Err: RetrieveBtcWithApprovalError,\n): MinterGenericError => {\n const error = mapGenericError(Err);\n\n if (nonNullish(error)) {\n return error;\n }\n\n if (\"InsufficientAllowance\" in Err) {\n return new MinterInsufficientAllowanceError(\n `${Err.InsufficientAllowance.allowance}`,\n );\n }\n\n return createRetrieveBtcError(Err);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Canister", "createServices", "fromNullable", "isNullish", "toNullable", "idlFactory", "IDL", "Mode", "UpgradeArgs", "BtcNetwork", "InitArgs", "MinterArg", "CanisterStatusType", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "BitcoinAddress", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "PendingUtxo", "UpdateBalanceError", "idlFactory", "IDL", "Mode", "UpgradeArgs", "BtcNetwork", "InitArgs", "MinterArg", "CanisterStatusType", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "BitcoinAddress", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "PendingUtxo", "UpdateBalanceError", "fromNullable", "nonNullish", "MinterGenericError", "MinterTemporaryUnavailableError", "MinterAlreadyProcessingError", "MinterUpdateBalanceError", "MinterNoNewUtxosError", "pending_utxos", "required_confirmations", "MinterRetrieveBtcError", "MinterMalformedAddressError", "MinterAmountTooLowError", "MinterInsufficientFundsError", "MinterInsufficientAllowanceError", "mapGenericError", "Err", "error_message", "error_code", "createUpdateBalanceError", "error", "createRetrieveBtcError", "createRetrieveBtcWithApprovalError", "CkBTCMinterCanister", "_CkBTCMinterCanister", "Canister", "owner", "subaccount", "toNullable", "response", "createUpdateBalanceError", "params", "createRetrieveBtcError", "address", "amount", "fromSubaccount", "createRetrieveBtcWithApprovalError", "transactionId", "certified", "account", "retrieve_btc_status_v2_by_account", "isNullish", "block_index", "status_v2", "fromNullable", "get_known_utxos", "options", "service", "certifiedService", "canisterId", "createServices", "idlFactory"]
7
+ }
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a as y,b as G,c as Wt,d as Dt,e as jt,f as Vt,g as $t,h as qt,i as Gt,j as St,k as zt,l as Xt,m as Kt,n as Jt,o as Qt,p as pt}from"./chunk-UKFVU33P.js";var M=y((ae,J)=>{"use strict";var _t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";J.exports=_t});var Y=y((he,Q)=>{"use strict";var Et=M(),Ct=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),o=e?e[0].length:0,r=(t.length-o)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(o),...t.match(/.{1}/gmu).map(s=>Et.indexOf(s)).reduce((s,c)=>(s=s.map(n=>{let i=n*58+c;return c=i>>8,i}),s),new Uint8Array(r)).reverse().filter((s=>c=>s=s||c)(!1))])};Q.exports=Ct});var et=y((ue,tt)=>{"use strict";var Z=M(),Ut=()=>{let t=Array(256).fill(-1);for(let e=0;e<Z.length;++e)t[Z.charCodeAt(e)]=e;return t};tt.exports=Ut});var ot=y((pe,nt)=>{"use strict";var rt=M(),kt=et(),Bt=kt(),Lt=t=>{let e=[];for(let o of t){let r=o;for(let s=0;s<e.length;++s){let c=(Bt[e[s]]<<8)+r;e[s]=rt.charCodeAt(c%58),r=c/58|0}for(;r;)e.push(rt.charCodeAt(r%58)),r=r/58|0}for(let o of t){if(o)break;e.push(49)}return e.reverse(),String.fromCharCode(...e)};nt.exports=Lt});var st=y($=>{"use strict";$.base58_to_binary=Y();$.binary_to_base58=ot()});var at=y(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.bech32m=E.bech32=void 0;var F="qpzry9x8gf2tvdw0s3jn54khce6mua7l",it={};for(let t=0;t<F.length;t++){let e=F.charAt(t);it[e]=t}function _(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 ct(t){let e=1;for(let o=0;o<t.length;++o){let r=t.charCodeAt(o);if(r<33||r>126)return"Invalid prefix ("+t+")";e=_(e)^r>>5}e=_(e);for(let o=0;o<t.length;++o){let r=t.charCodeAt(o);e=_(e)^r&31}return e}function q(t,e,o,r){let s=0,c=0,n=(1<<o)-1,i=[];for(let a=0;a<t.length;++a)for(s=s<<e|t[a],c+=e;c>=o;)c-=o,i.push(s>>c&n);if(r)c>0&&i.push(s<<o-c&n);else{if(c>=e)return"Excess padding";if(s<<o-c&n)return"Non-zero padding"}return i}function Pt(t){return q(t,8,5,!0)}function Tt(t){let e=q(t,5,8,!1);if(Array.isArray(e))return e}function vt(t){let e=q(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function ft(t){let e;t==="bech32"?e=1:e=734539939;function o(n,i,a){if(a=a||90,n.length+7+i.length>a)throw new TypeError("Exceeds length limit");n=n.toLowerCase();let u=ct(n);if(typeof u=="string")throw new Error(u);let h=n+"1";for(let f=0;f<i.length;++f){let p=i[f];if(p>>5)throw new Error("Non 5-bit word");u=_(u)^p,h+=F.charAt(p)}for(let f=0;f<6;++f)u=_(u);u^=e;for(let f=0;f<6;++f){let p=u>>(5-f)*5&31;h+=F.charAt(p)}return h}function r(n,i){if(i=i||90,n.length<8)return n+" too short";if(n.length>i)return"Exceeds length limit";let a=n.toLowerCase(),u=n.toUpperCase();if(n!==a&&n!==u)return"Mixed-case string "+n;n=a;let h=n.lastIndexOf("1");if(h===-1)return"No separator character for "+n;if(h===0)return"Missing prefix for "+n;let f=n.slice(0,h),p=n.slice(h+1);if(p.length<6)return"Data too short";let d=ct(f);if(typeof d=="string")return d;let w=[];for(let x=0;x<p.length;++x){let L=p.charAt(x),C=it[L];if(C===void 0)return"Unknown character "+L;d=_(d)^C,!(x+6>=p.length)&&w.push(C)}return d!==e?"Invalid checksum for "+n:{prefix:f,words:w}}function s(n,i){let a=r(n,i);if(typeof a=="object")return a}function c(n,i){let a=r(n,i);if(typeof a=="object")return a;throw new Error(a)}return{decodeUnsafe:s,decode:c,encode:o,toWords:Pt,fromWordsUnsafe:Tt,fromWords:vt}}E.bech32=ft("bech32");E.bech32m=ft("bech32m")});var S=(r=>(r[r.Mainnet=0]="Mainnet",r[r.Regtest=1]="Regtest",r[r.Testnet=2]="Testnet",r))(S||{}),z=(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))(z||{});var b=class extends Error{},U=class extends b{},P=class extends b{},k=class extends b{},T=class extends b{},v=class extends b{},I=class extends b{},A=class extends b{},N=class extends b{};import{isNullish as ht}from"@dfinity/utils";function dt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function xt(t,...e){if(!dt(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function W(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 X(t,e){xt(t);let o=e.outputLen;if(t.length<o)throw new Error(`digestInto() expects output buffer of length at least ${o}`)}function lt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var O=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),l=(t,e)=>t<<32-e|t>>>e,bt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!bt)throw new Error("Non little-endian hardware is not supported");function wt(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function D(t){if(typeof t=="string"&&(t=wt(t)),!lt(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}var R=class{clone(){return this._cloneInto()}},ee={}.toString;function K(t){let e=r=>t().update(D(r)).digest(),o=t();return e.outputLen=o.outputLen,e.blockLen=o.blockLen,e.create=()=>t(),e}function gt(t,e,o,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,o,r);let s=BigInt(32),c=BigInt(4294967295),n=Number(o>>s&c),i=Number(o&c),a=r?4:0,u=r?0:4;t.setUint32(e+a,n,r),t.setUint32(e+u,i,r)}var H=class extends R{constructor(e,o,r,s){super(),this.blockLen=e,this.outputLen=o,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=O(this.buffer)}update(e){W(this);let{view:o,buffer:r,blockLen:s}=this;e=D(e);let c=e.length;for(let n=0;n<c;){let i=Math.min(s-this.pos,c-n);if(i===s){let a=O(e);for(;s<=c-n;n+=s)this.process(a,n);continue}r.set(e.subarray(n,n+i),this.pos),this.pos+=i,n+=i,this.pos===s&&(this.process(o,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){W(this),X(e,this),this.finished=!0;let{buffer:o,view:r,blockLen:s,isLE:c}=this,{pos:n}=this;o[n++]=128,this.buffer.subarray(n).fill(0),this.padOffset>s-n&&(this.process(r,0),n=0);for(let f=n;f<s;f++)o[f]=0;gt(r,s-8,BigInt(this.length*8),c),this.process(r,0);let i=O(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=a/4,h=this.get();if(u>h.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,h[f],c)}digest(){let{buffer:e,outputLen:o}=this;this.digestInto(e);let r=e.slice(0,o);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:o,buffer:r,length:s,finished:c,destroyed:n,pos:i}=this;return e.length=s,e.pos=i,e.finished=c,e.destroyed=n,s%o&&e.buffer.set(r),e}};var mt=(t,e,o)=>t&e^~t&o,yt=(t,e,o)=>t&e^t&o^e&o,At=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]),g=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),m=new Uint32Array(64),j=class extends H{constructor(){super(64,32,8,!1),this.A=g[0]|0,this.B=g[1]|0,this.C=g[2]|0,this.D=g[3]|0,this.E=g[4]|0,this.F=g[5]|0,this.G=g[6]|0,this.H=g[7]|0}get(){let{A:e,B:o,C:r,D:s,E:c,F:n,G:i,H:a}=this;return[e,o,r,s,c,n,i,a]}set(e,o,r,s,c,n,i,a){this.A=e|0,this.B=o|0,this.C=r|0,this.D=s|0,this.E=c|0,this.F=n|0,this.G=i|0,this.H=a|0}process(e,o){for(let f=0;f<16;f++,o+=4)m[f]=e.getUint32(o,!1);for(let f=16;f<64;f++){let p=m[f-15],d=m[f-2],w=l(p,7)^l(p,18)^p>>>3,x=l(d,17)^l(d,19)^d>>>10;m[f]=x+m[f-7]+w+m[f-16]|0}let{A:r,B:s,C:c,D:n,E:i,F:a,G:u,H:h}=this;for(let f=0;f<64;f++){let p=l(i,6)^l(i,11)^l(i,25),d=h+p+mt(i,a,u)+At[f]+m[f]|0,x=(l(r,2)^l(r,13)^l(r,22))+yt(r,s,c)|0;h=u,u=a,a=i,i=n+d|0,n=c,c=s,s=r,r=d+x|0}r=r+this.A|0,s=s+this.B|0,c=c+this.C|0,n=n+this.D|0,i=i+this.E|0,a=a+this.F|0,u=u+this.G|0,h=h+this.H|0,this.set(r,s,c,n,i,a,u,h)}roundClean(){m.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var V=K(()=>new j);var ut=G(st()),B=G(at());var It=0,Nt=5,Rt=111,Ot=196,Ht={[It]:{type:1,networks:[0]},[Rt]:{type:1,networks:[2,1]},[Nt]:{type:2,networks:[0]},[Ot]:{type:2,networks:[2,1]}},Mt=({address:t,network:e})=>{let r=(h=>{try{return(0,ut.base58_to_binary)(h)}catch{throw new U}})(t),{length:s}=r;if(s!==25)throw new A(`Expected the address to be 25 bytes, got ${s}.`);(h=>{let f=h.slice(s-4,s),p=h.slice(0,s-4),d=V.create();d.update(p);let w=V.create();w.update(d.digest());let x=w.digest().slice(0,4);if(f.some((L,C)=>L!==x[C]))throw new A(`Checksum mismatch expected ${f}, got ${x}.`)})(r);let n=r[0],i=Ht[n];if(ht(i))throw new k;let{type:a,networks:u}=i;if(!u.includes(e))throw new N;return{address:t,network:e,type:a,parser:"base58"}},Ft=({address:t,network:e})=>{let o=h=>{try{return h.startsWith("bc1p")||h.startsWith("tb1p")||h.startsWith("bcrt1p")?B.bech32m.decode(h):B.bech32.decode(h)}catch{throw new A}},{prefix:r,words:s}=o(t),n={bc:0,tb:2,bcrt:1}[r];if(ht(n))throw new U;if(n!==e)throw new I;let[i,...a]=s;if(i>1)throw new v;switch(B.bech32.fromWords(a).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 T}},me=({address:t,network:e=0})=>{switch(t.charAt(0)){case"1":case"2":case"3":case"m":case"n":return Mt({address:t,network:e});case"b":case"B":case"t":case"T":return Ft({address:t,network:e});case"":throw new P;default:throw new k}};export{z as BtcAddressType,S as BtcNetwork,pt as CkBTCMinterCanister,jt as MinterAlreadyProcessingError,St as MinterAmountTooLowError,Wt as MinterGenericError,Xt as MinterInsufficientAllowanceError,zt as MinterInsufficientFundsError,Gt as MinterMalformedAddressError,$t as MinterNoNewUtxosError,qt as MinterRetrieveBtcError,Dt as MinterTemporaryUnavailableError,Vt as MinterUpdateBalanceError,T as ParseBtcAddressBadWitnessLengthError,b as ParseBtcAddressError,U as ParseBtcAddressInvalidError,A as ParseBtcAddressMalformedAddressError,P as ParseBtcAddressNoDataError,I as ParseBtcAddressUnexpectedHumanReadablePartError,k as ParseBtcAddressUnsupportedAddressTypeError,v as ParseBtcAddressUnsupportedWitnessVersionError,N as ParseBtcAddressWrongNetworkError,Jt as createRetrieveBtcError,Qt as createRetrieveBtcWithApprovalError,Kt as createUpdateBalanceError,me as parseBtcAddress};
1
+ import{a as y,b as G,c as Wt,d as Dt,e as jt,f as Vt,g as $t,h as qt,i as Gt,j as St,k as zt,l as Xt,m as Kt,n as Jt,o as Qt,p as pt}from"./chunk-D3EDBNHW.js";var M=y((ae,J)=>{"use strict";var _t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";J.exports=_t});var Y=y((he,Q)=>{"use strict";var Et=M(),Ct=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),o=e?e[0].length:0,r=(t.length-o)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(o),...t.match(/.{1}/gmu).map(s=>Et.indexOf(s)).reduce((s,c)=>(s=s.map(n=>{let i=n*58+c;return c=i>>8,i}),s),new Uint8Array(r)).reverse().filter((s=>c=>s=s||c)(!1))])};Q.exports=Ct});var et=y((ue,tt)=>{"use strict";var Z=M(),Ut=()=>{let t=Array(256).fill(-1);for(let e=0;e<Z.length;++e)t[Z.charCodeAt(e)]=e;return t};tt.exports=Ut});var ot=y((pe,nt)=>{"use strict";var rt=M(),kt=et(),Bt=kt(),Lt=t=>{let e=[];for(let o of t){let r=o;for(let s=0;s<e.length;++s){let c=(Bt[e[s]]<<8)+r;e[s]=rt.charCodeAt(c%58),r=c/58|0}for(;r;)e.push(rt.charCodeAt(r%58)),r=r/58|0}for(let o of t){if(o)break;e.push(49)}return e.reverse(),String.fromCharCode(...e)};nt.exports=Lt});var st=y($=>{"use strict";$.base58_to_binary=Y();$.binary_to_base58=ot()});var at=y(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.bech32m=E.bech32=void 0;var F="qpzry9x8gf2tvdw0s3jn54khce6mua7l",it={};for(let t=0;t<F.length;t++){let e=F.charAt(t);it[e]=t}function _(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 ct(t){let e=1;for(let o=0;o<t.length;++o){let r=t.charCodeAt(o);if(r<33||r>126)return"Invalid prefix ("+t+")";e=_(e)^r>>5}e=_(e);for(let o=0;o<t.length;++o){let r=t.charCodeAt(o);e=_(e)^r&31}return e}function q(t,e,o,r){let s=0,c=0,n=(1<<o)-1,i=[];for(let a=0;a<t.length;++a)for(s=s<<e|t[a],c+=e;c>=o;)c-=o,i.push(s>>c&n);if(r)c>0&&i.push(s<<o-c&n);else{if(c>=e)return"Excess padding";if(s<<o-c&n)return"Non-zero padding"}return i}function Pt(t){return q(t,8,5,!0)}function Tt(t){let e=q(t,5,8,!1);if(Array.isArray(e))return e}function vt(t){let e=q(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}function ft(t){let e;t==="bech32"?e=1:e=734539939;function o(n,i,a){if(a=a||90,n.length+7+i.length>a)throw new TypeError("Exceeds length limit");n=n.toLowerCase();let u=ct(n);if(typeof u=="string")throw new Error(u);let h=n+"1";for(let f=0;f<i.length;++f){let p=i[f];if(p>>5)throw new Error("Non 5-bit word");u=_(u)^p,h+=F.charAt(p)}for(let f=0;f<6;++f)u=_(u);u^=e;for(let f=0;f<6;++f){let p=u>>(5-f)*5&31;h+=F.charAt(p)}return h}function r(n,i){if(i=i||90,n.length<8)return n+" too short";if(n.length>i)return"Exceeds length limit";let a=n.toLowerCase(),u=n.toUpperCase();if(n!==a&&n!==u)return"Mixed-case string "+n;n=a;let h=n.lastIndexOf("1");if(h===-1)return"No separator character for "+n;if(h===0)return"Missing prefix for "+n;let f=n.slice(0,h),p=n.slice(h+1);if(p.length<6)return"Data too short";let d=ct(f);if(typeof d=="string")return d;let w=[];for(let x=0;x<p.length;++x){let L=p.charAt(x),C=it[L];if(C===void 0)return"Unknown character "+L;d=_(d)^C,!(x+6>=p.length)&&w.push(C)}return d!==e?"Invalid checksum for "+n:{prefix:f,words:w}}function s(n,i){let a=r(n,i);if(typeof a=="object")return a}function c(n,i){let a=r(n,i);if(typeof a=="object")return a;throw new Error(a)}return{decodeUnsafe:s,decode:c,encode:o,toWords:Pt,fromWordsUnsafe:Tt,fromWords:vt}}E.bech32=ft("bech32");E.bech32m=ft("bech32m")});var S=(r=>(r[r.Mainnet=0]="Mainnet",r[r.Regtest=1]="Regtest",r[r.Testnet=2]="Testnet",r))(S||{}),z=(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))(z||{});var b=class extends Error{},U=class extends b{},P=class extends b{},k=class extends b{},T=class extends b{},v=class extends b{},I=class extends b{},A=class extends b{},N=class extends b{};import{isNullish as ht}from"@dfinity/utils";function dt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function xt(t,...e){if(!dt(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function W(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 X(t,e){xt(t);let o=e.outputLen;if(t.length<o)throw new Error(`digestInto() expects output buffer of length at least ${o}`)}function lt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var O=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),l=(t,e)=>t<<32-e|t>>>e,bt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!bt)throw new Error("Non little-endian hardware is not supported");function wt(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function D(t){if(typeof t=="string"&&(t=wt(t)),!lt(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}var R=class{clone(){return this._cloneInto()}},ee={}.toString;function K(t){let e=r=>t().update(D(r)).digest(),o=t();return e.outputLen=o.outputLen,e.blockLen=o.blockLen,e.create=()=>t(),e}function gt(t,e,o,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,o,r);let s=BigInt(32),c=BigInt(4294967295),n=Number(o>>s&c),i=Number(o&c),a=r?4:0,u=r?0:4;t.setUint32(e+a,n,r),t.setUint32(e+u,i,r)}var H=class extends R{constructor(e,o,r,s){super(),this.blockLen=e,this.outputLen=o,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=O(this.buffer)}update(e){W(this);let{view:o,buffer:r,blockLen:s}=this;e=D(e);let c=e.length;for(let n=0;n<c;){let i=Math.min(s-this.pos,c-n);if(i===s){let a=O(e);for(;s<=c-n;n+=s)this.process(a,n);continue}r.set(e.subarray(n,n+i),this.pos),this.pos+=i,n+=i,this.pos===s&&(this.process(o,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){W(this),X(e,this),this.finished=!0;let{buffer:o,view:r,blockLen:s,isLE:c}=this,{pos:n}=this;o[n++]=128,this.buffer.subarray(n).fill(0),this.padOffset>s-n&&(this.process(r,0),n=0);for(let f=n;f<s;f++)o[f]=0;gt(r,s-8,BigInt(this.length*8),c),this.process(r,0);let i=O(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=a/4,h=this.get();if(u>h.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,h[f],c)}digest(){let{buffer:e,outputLen:o}=this;this.digestInto(e);let r=e.slice(0,o);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:o,buffer:r,length:s,finished:c,destroyed:n,pos:i}=this;return e.length=s,e.pos=i,e.finished=c,e.destroyed=n,s%o&&e.buffer.set(r),e}};var mt=(t,e,o)=>t&e^~t&o,yt=(t,e,o)=>t&e^t&o^e&o,At=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]),g=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),m=new Uint32Array(64),j=class extends H{constructor(){super(64,32,8,!1),this.A=g[0]|0,this.B=g[1]|0,this.C=g[2]|0,this.D=g[3]|0,this.E=g[4]|0,this.F=g[5]|0,this.G=g[6]|0,this.H=g[7]|0}get(){let{A:e,B:o,C:r,D:s,E:c,F:n,G:i,H:a}=this;return[e,o,r,s,c,n,i,a]}set(e,o,r,s,c,n,i,a){this.A=e|0,this.B=o|0,this.C=r|0,this.D=s|0,this.E=c|0,this.F=n|0,this.G=i|0,this.H=a|0}process(e,o){for(let f=0;f<16;f++,o+=4)m[f]=e.getUint32(o,!1);for(let f=16;f<64;f++){let p=m[f-15],d=m[f-2],w=l(p,7)^l(p,18)^p>>>3,x=l(d,17)^l(d,19)^d>>>10;m[f]=x+m[f-7]+w+m[f-16]|0}let{A:r,B:s,C:c,D:n,E:i,F:a,G:u,H:h}=this;for(let f=0;f<64;f++){let p=l(i,6)^l(i,11)^l(i,25),d=h+p+mt(i,a,u)+At[f]+m[f]|0,x=(l(r,2)^l(r,13)^l(r,22))+yt(r,s,c)|0;h=u,u=a,a=i,i=n+d|0,n=c,c=s,s=r,r=d+x|0}r=r+this.A|0,s=s+this.B|0,c=c+this.C|0,n=n+this.D|0,i=i+this.E|0,a=a+this.F|0,u=u+this.G|0,h=h+this.H|0,this.set(r,s,c,n,i,a,u,h)}roundClean(){m.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var V=K(()=>new j);var ut=G(st()),B=G(at());var It=0,Nt=5,Rt=111,Ot=196,Ht={[It]:{type:1,networks:[0]},[Rt]:{type:1,networks:[2,1]},[Nt]:{type:2,networks:[0]},[Ot]:{type:2,networks:[2,1]}},Mt=({address:t,network:e})=>{let r=(h=>{try{return(0,ut.base58_to_binary)(h)}catch{throw new U}})(t),{length:s}=r;if(s!==25)throw new A(`Expected the address to be 25 bytes, got ${s}.`);(h=>{let f=h.slice(s-4,s),p=h.slice(0,s-4),d=V.create();d.update(p);let w=V.create();w.update(d.digest());let x=w.digest().slice(0,4);if(f.some((L,C)=>L!==x[C]))throw new A(`Checksum mismatch expected ${f}, got ${x}.`)})(r);let n=r[0],i=Ht[n];if(ht(i))throw new k;let{type:a,networks:u}=i;if(!u.includes(e))throw new N;return{address:t,network:e,type:a,parser:"base58"}},Ft=({address:t,network:e})=>{let o=h=>{try{return h.startsWith("bc1p")||h.startsWith("tb1p")||h.startsWith("bcrt1p")?B.bech32m.decode(h):B.bech32.decode(h)}catch{throw new A}},{prefix:r,words:s}=o(t),n={bc:0,tb:2,bcrt:1}[r];if(ht(n))throw new U;if(n!==e)throw new I;let[i,...a]=s;if(i>1)throw new v;switch(B.bech32.fromWords(a).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 T}},me=({address:t,network:e=0})=>{switch(t.charAt(0)){case"1":case"2":case"3":case"m":case"n":return Mt({address:t,network:e});case"b":case"B":case"t":case"T":return Ft({address:t,network:e});case"":throw new P;default:throw new k}};export{z as BtcAddressType,S as BtcNetwork,pt as CkBTCMinterCanister,jt as MinterAlreadyProcessingError,St as MinterAmountTooLowError,Wt as MinterGenericError,Xt as MinterInsufficientAllowanceError,zt as MinterInsufficientFundsError,Gt as MinterMalformedAddressError,$t as MinterNoNewUtxosError,qt as MinterRetrieveBtcError,Dt as MinterTemporaryUnavailableError,Vt as MinterUpdateBalanceError,T as ParseBtcAddressBadWitnessLengthError,b as ParseBtcAddressError,U as ParseBtcAddressInvalidError,A as ParseBtcAddressMalformedAddressError,P as ParseBtcAddressNoDataError,I as ParseBtcAddressUnexpectedHumanReadablePartError,k as ParseBtcAddressUnsupportedAddressTypeError,v as ParseBtcAddressUnsupportedWitnessVersionError,N as ParseBtcAddressWrongNetworkError,Jt as createRetrieveBtcError,Qt as createRetrieveBtcWithApprovalError,Kt as createUpdateBalanceError,me as parseBtcAddress};
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/esm/utils.js:
@@ -1,2 +1,2 @@
1
- import{p as a}from"./chunk-UKFVU33P.js";export{a as CkBTCMinterCanister};
1
+ import{p as a}from"./chunk-D3EDBNHW.js";export{a as CkBTCMinterCanister};
2
2
  //# sourceMappingURL=minter.canister.js.map
@@ -1,7 +1,7 @@
1
1
  import { Canister, type QueryParams } from "@dfinity/utils";
2
- import type { _SERVICE as CkBTCMinterService, MinterInfo, RetrieveBtcOk, RetrieveBtcStatus, Account as WithdrawalAccount } from "../candid/minter";
2
+ import { type _SERVICE as CkBTCMinterService, type MinterInfo, type RetrieveBtcOk, type RetrieveBtcStatus, type Utxo, type Account as WithdrawalAccount } from "../candid/minter";
3
3
  import type { CkBTCMinterCanisterOptions } from "./types/canister.options";
4
- import type { EstimateWithdrawalFeeParams, GetBTCAddressParams, RetrieveBtcParams, RetrieveBtcStatusV2ByAccountParams, UpdateBalanceParams } from "./types/minter.params";
4
+ import type { EstimateWithdrawalFeeParams, GetBTCAddressParams, GetKnownUtxosParams, RetrieveBtcParams, RetrieveBtcStatusV2ByAccountParams, UpdateBalanceParams } from "./types/minter.params";
5
5
  import type { EstimateWithdrawalFee, RetrieveBtcStatusV2WithId, UpdateBalanceOk } from "./types/minter.responses";
6
6
  export declare class CkBTCMinterCanister extends Canister<CkBTCMinterService> {
7
7
  static create(options: CkBTCMinterCanisterOptions<CkBTCMinterService>): CkBTCMinterCanister;
@@ -104,8 +104,17 @@ export declare class CkBTCMinterCanister extends Canister<CkBTCMinterService> {
104
104
  /**
105
105
  * Returns internal minter parameters such as the minimal amount to retrieve BTC, minimal number of confirmations or KYT fee.
106
106
  *
107
- * @param {QueryParams} params The parameters to get the deposit fee.
107
+ * @param {QueryParams} params The parameters to get the minter info.
108
108
  * @param {boolean} params.certified query or update call
109
109
  */
110
110
  getMinterInfo: ({ certified }: QueryParams) => Promise<MinterInfo>;
111
+ /**
112
+ * Returns UTXOs of the given account known by the minter.
113
+ *
114
+ * @param {GetKnownUtxosParams} params The parameters for which the known utxos should be resolved.
115
+ * @param {Principal} params.owner The owner of the account. Note that if not provided, the `caller` would be used by the minter instead.
116
+ * @param {Uint8Array} params.subaccount An optional subaccount.
117
+ * @returns {Promise<Utxo[]>} The known utxos (with no guarantee in the ordering).
118
+ */
119
+ getKnownUtxos: ({ owner, subaccount, certified, }: GetKnownUtxosParams) => Promise<Utxo[]>;
111
120
  }
@@ -30,3 +30,7 @@ export type EstimateWithdrawalFeeParams = QueryParams & {
30
30
  export type RetrieveBtcStatusV2ByAccountParams = QueryParams & {
31
31
  account?: MinterAccount;
32
32
  };
33
+ /**
34
+ * Params to get the known utxos.
35
+ */
36
+ export type GetKnownUtxosParams = QueryParams & MinterParams;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dfinity/ckbtc",
3
- "version": "2.2.1",
3
+ "version": "2.3.0",
4
4
  "description": "A library for interfacing with ckBTC.",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/cjs/index.cjs.js",
@@ -1,2 +0,0 @@
1
- var X=Object.create;var z=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var it=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports);var L=(t,r,e,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Z(r))!D.call(t,n)&&n!==e&&z(t,n,{get:()=>r[n],enumerable:!(a=Y(r,n))||a.enumerable});return t};var ot=(t,r,e)=>(e=t!=null?X(I(t)):{},L(r||!t||!t.__esModule?z(e,"default",{value:t,enumerable:!0}):e,t));import{Canister as et,createServices as rt,fromNullable as at,isNullish as nt,toNullable as u}from"@dfinity/utils";var Q=({IDL:t})=>{let r=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),e=t.Record({kyt_principal:t.Opt(t.Principal),mode:t.Opt(r),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),a=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),n=t.Record({kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:r,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:a,min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Upgrade:t.Opt(e),Init:n}),_=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),p=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),memory_allocation:t.Nat,compute_allocation:t.Nat}),v=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),x=t.Record({status:_,memory_size:t.Nat,cycles:t.Nat,settings:p,query_stats:v,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8))}),o=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),i=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),s=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),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)}),f=t.Variant({received_utxos:t.Record({to_account:o,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(i)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:o,amount:t.Nat64,reason:s}),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(i),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:n,upgrade:e,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}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:b,reimbursement_account:t.Opt(o),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:i,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}),ignored_utxo:t.Record({utxo:i}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),y=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),g=t.Record({address:t.Text,amount:t.Nat64}),N=t.Record({block_index:t.Nat64}),V=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})}),k=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}),O=t.Record({account:o,amount:t.Nat64,reason:s}),w=t.Record({account:o,mint_block_index:t.Nat64,amount:t.Nat64,reason:s}),m=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:O,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:w,Pending:t.Null}),h=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),B=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})}),P=t.Variant({ValueTooSmall:i,Tainted:i,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:i}),Checked:i}),T=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),A=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(T)),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([],[x],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(f)],[]),get_minter_info:t.Func([],[y],[]),get_withdrawal_account:t.Func([],[o],[]),retrieve_btc:t.Func([g],[t.Variant({Ok:N,Err:V})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[k],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[m],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(o)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(m)}))],[]),retrieve_btc_with_approval:t.Func([h],[t.Variant({Ok:N,Err:B})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(P),Err:A})],[])})};var J=({IDL:t})=>{let r=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),e=t.Record({kyt_principal:t.Opt(t.Principal),mode:t.Opt(r),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),a=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),n=t.Record({kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:r,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:a,min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Upgrade:t.Opt(e),Init:n}),_=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),p=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),memory_allocation:t.Nat,compute_allocation:t.Nat}),v=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),x=t.Record({status:_,memory_size:t.Nat,cycles:t.Nat,settings:p,query_stats:v,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8))}),o=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),i=t.Record({height:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),s=t.Variant({CallFailed:t.Null,TaintedDestination:t.Record({kyt_fee:t.Nat64,kyt_provider:t.Principal})}),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)}),f=t.Variant({received_utxos:t.Record({to_account:o,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(i)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:o,amount:t.Nat64,reason:s}),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(i),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:n,upgrade:e,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}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:b,reimbursement_account:t.Opt(o),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:i,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}),ignored_utxo:t.Record({utxo:i}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),y=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),g=t.Record({address:t.Text,amount:t.Nat64}),N=t.Record({block_index:t.Nat64}),V=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})}),k=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}),O=t.Record({account:o,amount:t.Nat64,reason:s}),w=t.Record({account:o,mint_block_index:t.Nat64,amount:t.Nat64,reason:s}),m=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:O,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:w,Pending:t.Null}),h=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),B=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})}),P=t.Variant({ValueTooSmall:i,Tainted:i,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:i}),Checked:i}),T=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),A=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(T)),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([],[x],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(f)],["query"]),get_minter_info:t.Func([],[y],["query"]),get_withdrawal_account:t.Func([],[o],[]),retrieve_btc:t.Func([g],[t.Variant({Ok:N,Err:V})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[k],["query"]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[m],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(o)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(m)}))],["query"]),retrieve_btc_with_approval:t.Func([h],[t.Variant({Ok:N,Err:B})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(P),Err:A})],[])})};import{fromNullable as tt,nonNullish as W}from"@dfinity/utils";var d=class extends Error{},S=class extends d{},U=class extends d{},R=class extends d{},F=class extends R{constructor({pending_utxos:r,required_confirmations:e}){super(),this.pendingUtxos=tt(r)||[],this.requiredConfirmations=e}},l=class extends d{},q=class extends l{},C=class extends l{},E=class extends l{},M=class extends l{},G=t=>{if("GenericError"in t){let{GenericError:{error_message:r,error_code:e}}=t;return new d(`${r} (${e})`)}if("TemporarilyUnavailable"in t)return new S(t.TemporarilyUnavailable);if("AlreadyProcessing"in t)return new U},j=t=>{let r=G(t);return W(r)?r:"NoNewUtxos"in t?new F(t.NoNewUtxos):new R(`Unsupported response type in minter.updateBalance ${JSON.stringify(t)}`)},$=t=>{let r=G(t);return W(r)?r:"MalformedAddress"in t?new q(t.MalformedAddress):"AmountTooLow"in t?new C(`${t.AmountTooLow}`):"InsufficientFunds"in t?new E(`${t.InsufficientFunds.balance}`):new l(`Unsupported response type in minter.retrieveBtc ${JSON.stringify(t)}`)},H=t=>{let r=G(t);return W(r)?r:"InsufficientAllowance"in t?new M(`${t.InsufficientAllowance.allowance}`):$(t)};var K=class t extends et{constructor(){super(...arguments);this.getBtcAddress=({owner:e,subaccount:a})=>this.caller({certified:!0}).get_btc_address({owner:u(e),subaccount:u(a)});this.updateBalance=async({owner:e,subaccount:a})=>{let n=await this.caller({certified:!0}).update_balance({owner:u(e),subaccount:u(a)});if("Err"in n)throw j(n.Err);return n.Ok};this.getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();this.retrieveBtc=async e=>{let a=await this.caller({certified:!0}).retrieve_btc(e);if("Err"in a)throw $(a.Err);return a.Ok};this.retrieveBtcWithApproval=async({address:e,amount:a,fromSubaccount:n})=>{let c=await this.caller({certified:!0}).retrieve_btc_with_approval({address:e,amount:a,from_subaccount:u(n)});if("Err"in c)throw H(c.Err);return c.Ok};this.retrieveBtcStatus=async({transactionId:e,certified:a})=>this.caller({certified:a}).retrieve_btc_status({block_index:e});this.retrieveBtcStatusV2ByAccount=async({account:e,certified:a})=>{let{retrieve_btc_status_v2_by_account:n}=this.caller({certified:a});return(await n(nt(e)?[]:[{owner:e.owner,subaccount:u(e.subaccount)}])).map(({block_index:_,status_v2:p})=>({id:_,status:at(p)}))};this.estimateWithdrawalFee=async({certified:e,amount:a})=>this.caller({certified:e}).estimate_withdrawal_fee({amount:u(a)});this.getMinterInfo=async({certified:e})=>this.caller({certified:e}).get_minter_info()}static create(e){let{service:a,certifiedService:n,canisterId:c}=rt({options:e,idlFactory:J,certifiedIdlFactory:Q});return new t(c,a,n)}};export{it as a,ot as b,d as c,S as d,U as e,R as f,F as g,l as h,q as i,C as j,E as k,M as l,j as m,$ as n,H as o,K as p};
2
- //# sourceMappingURL=chunk-UKFVU33P.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/minter.canister.ts", "../../candid/minter.certified.idl.js", "../../candid/minter.idl.js", "../../src/errors/minter.errors.ts"],
4
- "sourcesContent": ["import {\n Canister,\n createServices,\n fromNullable,\n isNullish,\n toNullable,\n type QueryParams,\n} from \"@dfinity/utils\";\nimport type {\n _SERVICE as CkBTCMinterService,\n MinterInfo,\n RetrieveBtcOk,\n RetrieveBtcStatus,\n Account as WithdrawalAccount,\n} from \"../candid/minter\";\nimport { idlFactory as certifiedIdlFactory } from \"../candid/minter.certified.idl\";\nimport { idlFactory } from \"../candid/minter.idl\";\nimport {\n createRetrieveBtcError,\n createRetrieveBtcWithApprovalError,\n createUpdateBalanceError,\n} from \"./errors/minter.errors\";\nimport type { CkBTCMinterCanisterOptions } from \"./types/canister.options\";\nimport type {\n EstimateWithdrawalFeeParams,\n GetBTCAddressParams,\n RetrieveBtcParams,\n RetrieveBtcStatusV2ByAccountParams,\n UpdateBalanceParams,\n} from \"./types/minter.params\";\nimport type {\n EstimateWithdrawalFee,\n RetrieveBtcResponse,\n RetrieveBtcStatusV2WithId,\n RetrieveBtcWithApprovalResponse,\n UpdateBalanceOk,\n UpdateBalanceResponse,\n} from \"./types/minter.responses\";\n\nexport class CkBTCMinterCanister extends Canister<CkBTCMinterService> {\n static create(options: CkBTCMinterCanisterOptions<CkBTCMinterService>) {\n const { service, certifiedService, canisterId } =\n createServices<CkBTCMinterService>({\n options,\n idlFactory,\n certifiedIdlFactory,\n });\n\n return new CkBTCMinterCanister(canisterId, service, certifiedService);\n }\n\n /**\n * Returns a BTC address for a given account.\n *\n * Note: an update call is required by the Minter canister.\n *\n * @param {GetBTCAddressParams} params The parameters for which a BTC address should be resolved.\n * @param {Principal} params.owner The owner for which the BTC address should be generated. If not provided, the `caller` will be use instead.\n * @param {Uint8Array} params.subaccount An optional subaccount to compute the address.\n * @returns {Promise<string>} The BTC address of the given account.\n */\n getBtcAddress = ({\n owner,\n subaccount,\n }: GetBTCAddressParams): Promise<string> =>\n this.caller({ certified: true }).get_btc_address({\n owner: toNullable(owner),\n subaccount: toNullable(subaccount),\n });\n\n /**\n * Notify the minter about the bitcoin transfer.\n *\n * Upon successful notification, new ckBTC should be available on the targeted address.\n *\n * @param {UpdateBalanceParams} params The parameters are the address to which bitcoin where transferred.\n * @param {Principal} params.owner The owner of the address. If not provided, the `caller` will be use instead.\n * @param {Principal} params.subaccount An optional subaccount of the address.\n * @returns {Promise<UpdateBalanceOk>} The result of the balance update.\n */\n updateBalance = async ({\n owner,\n subaccount,\n }: UpdateBalanceParams): Promise<UpdateBalanceOk> => {\n const response: UpdateBalanceResponse = await this.caller({\n certified: true,\n }).update_balance({\n owner: toNullable(owner),\n subaccount: toNullable(subaccount),\n });\n\n if (\"Err\" in response) {\n throw createUpdateBalanceError(response.Err);\n }\n\n return response.Ok;\n };\n\n /**\n * Returns the account to which the caller should deposit ckBTC before withdrawing BTC using the [retrieveBtc] endpoint.\n *\n * @returns {Promise<Account>} The account to which ckBTC needs to be transferred. Provide corresponding information to map an Icrc1 account.\n */\n getWithdrawalAccount = (): Promise<WithdrawalAccount> =>\n this.caller({ certified: true }).get_withdrawal_account();\n\n /**\n * Submits a request to convert ckBTC to BTC.\n *\n * Note:\n *\n * The BTC retrieval process is slow. Instead of synchronously waiting for a BTC transaction to settle, this method returns a request ([block_index]) that the caller can use to query the request status.\n *\n * Preconditions:\n *\n * The caller deposited the requested amount in ckBTC to the account that the [getWithdrawalAccount] endpoint returns.\n *\n * @param {RetrieveBtcParams} params The parameters are the bitcoin address and amount to convert.\n * @param {string} params.address The bitcoin address.\n * @param {bigint} params.amount The ckBTC amount.\n * @returns {Promise<RetrieveBtcOk>} The result or the operation.\n */\n retrieveBtc = async (params: RetrieveBtcParams): Promise<RetrieveBtcOk> => {\n const response: RetrieveBtcResponse = await this.caller({\n certified: true,\n }).retrieve_btc(params);\n\n if (\"Err\" in response) {\n throw createRetrieveBtcError(response.Err);\n }\n\n return response.Ok;\n };\n\n /**\n * Submits a request to convert ckBTC to BTC after making an ICRC-2 approval.\n *\n * # Note\n *\n * The BTC retrieval process is slow. Instead of synchronously waiting for a BTC transaction to settle, this method returns a request ([block_index]) that the caller can use to query the request status.\n *\n * # Preconditions\n *\n * The caller allowed the minter's principal to spend its funds using\n * [icrc2_approve] on the ckBTC ledger.\n *\n * @param {string} params.address The bitcoin address.\n * @param {bigint} params.amount The ckBTC amount.\n * @param {Uint8Array} params.fromSubaccount An optional subaccount from which\n * the ckBTC should be transferred.\n * @returns {Promise<RetrieveBtcOk>} The result or the operation.\n */\n retrieveBtcWithApproval = async ({\n address,\n amount,\n fromSubaccount,\n }: {\n address: string;\n amount: bigint;\n fromSubaccount?: Uint8Array;\n }): Promise<RetrieveBtcOk> => {\n const response: RetrieveBtcWithApprovalResponse = await this.caller({\n certified: true,\n }).retrieve_btc_with_approval({\n address,\n amount,\n from_subaccount: toNullable(fromSubaccount),\n });\n\n if (\"Err\" in response) {\n throw createRetrieveBtcWithApprovalError(response.Err);\n }\n\n return response.Ok;\n };\n\n /**\n * Returns the status of a specific BTC withdrawal based on the transaction ID\n * of the corresponding burn transaction.\n *\n * @param {bigint} transactionId The ID of the corresponding burn transaction.\n * @param {boolean} certified query or update call\n * @returns {Promise<RetrieveBtcStatus>} The status of the BTC retrieval request.\n */\n retrieveBtcStatus = async ({\n transactionId,\n certified,\n }: {\n transactionId: bigint;\n certified: boolean;\n }): Promise<RetrieveBtcStatus> =>\n this.caller({\n certified,\n }).retrieve_btc_status({ block_index: transactionId });\n\n /**\n * Returns the status of all BTC withdrawals for an account.\n *\n * @param {boolean} certified query or update call\n * @param {MinterAccount} account an optional account to retrieve the statuses. If not provided, statuses for the caller are retrieved.\n * @returns {Promise<RetrieveBtcStatusV2WithId[]>} The statuses of the BTC retrieval requests.\n */\n retrieveBtcStatusV2ByAccount = async ({\n account,\n certified,\n }: RetrieveBtcStatusV2ByAccountParams): Promise<\n RetrieveBtcStatusV2WithId[]\n > => {\n const { retrieve_btc_status_v2_by_account } = this.caller({\n certified,\n });\n\n const statuses = await retrieve_btc_status_v2_by_account(\n isNullish(account)\n ? []\n : [\n {\n owner: account.owner,\n subaccount: toNullable(account.subaccount),\n },\n ],\n );\n\n return statuses.map(({ block_index, status_v2 }) => ({\n id: block_index,\n status: fromNullable(status_v2),\n }));\n };\n\n /**\n * Returns an estimation of the user's fee (in Satoshi) for a retrieve_btc request based on the current status of the Bitcoin network and the fee related to the minter.\n *\n * @param {RetrieveBtcParams} params The parameters to estimate the fee.\n * @param {boolean} params.certified query or update call\n * @param {bigint | undefined} params.amount The optional amount for which the fee should be estimated.\n */\n estimateWithdrawalFee = async ({\n certified,\n amount,\n }: EstimateWithdrawalFeeParams): Promise<EstimateWithdrawalFee> =>\n this.caller({\n certified,\n }).estimate_withdrawal_fee({ amount: toNullable(amount) });\n\n /**\n * Returns internal minter parameters such as the minimal amount to retrieve BTC, minimal number of confirmations or KYT fee.\n *\n * @param {QueryParams} params The parameters to get the deposit fee.\n * @param {boolean} params.certified query or update call\n */\n getMinterInfo = async ({ certified }: QueryParams): Promise<MinterInfo> =>\n this.caller({\n certified,\n }).get_minter_info();\n}\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/ckbtc/candid/minter.did */\nexport const idlFactory = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Nat,\n 'num_instructions_total' : IDL.Nat,\n 'num_calls_total' : IDL.Nat,\n 'request_payload_bytes_total' : IDL.Nat,\n });\n const CanisterStatusResponse = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : QueryStats,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Utxo = IDL.Record({\n 'height' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const ReimbursementReason = IDL.Variant({\n 'CallFailed' : IDL.Null,\n 'TaintedDestination' : IDL.Record({\n 'kyt_fee' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n });\n const BitcoinAddress = IDL.Variant({\n 'p2wsh_v0' : IDL.Vec(IDL.Nat8),\n 'p2tr_v1' : IDL.Vec(IDL.Nat8),\n 'p2sh' : IDL.Vec(IDL.Nat8),\n 'p2wpkh_v0' : IDL.Vec(IDL.Nat8),\n 'p2pkh' : IDL.Vec(IDL.Nat8),\n });\n const Event = IDL.Variant({\n 'received_utxos' : IDL.Record({\n 'to_account' : Account,\n 'mint_txid' : IDL.Opt(IDL.Nat64),\n 'utxos' : IDL.Vec(Utxo),\n }),\n 'schedule_deposit_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n }),\n 'sent_transaction' : IDL.Record({\n 'fee' : IDL.Opt(IDL.Nat64),\n 'change_output' : IDL.Opt(\n IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 })\n ),\n 'txid' : IDL.Vec(IDL.Nat8),\n 'utxos' : IDL.Vec(Utxo),\n 'requests' : IDL.Vec(IDL.Nat64),\n 'submitted_at' : IDL.Nat64,\n }),\n 'distributed_kyt_fee' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'init' : InitArgs,\n 'upgrade' : UpgradeArgs,\n 'retrieve_btc_kyt_failed' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'owner' : IDL.Principal,\n 'uuid' : IDL.Text,\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'accepted_retrieve_btc_request' : IDL.Record({\n 'received_at' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'address' : BitcoinAddress,\n 'reimbursement_account' : IDL.Opt(Account),\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'checked_utxo' : IDL.Record({\n 'clean' : IDL.Bool,\n 'utxo' : Utxo,\n 'uuid' : IDL.Text,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'removed_retrieve_btc_request' : IDL.Record({ 'block_index' : IDL.Nat64 }),\n 'confirmed_transaction' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'replaced_transaction' : IDL.Record({\n 'fee' : IDL.Nat64,\n 'change_output' : IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 }),\n 'old_txid' : IDL.Vec(IDL.Nat8),\n 'new_txid' : IDL.Vec(IDL.Nat8),\n 'submitted_at' : IDL.Nat64,\n }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const MinterInfo = IDL.Record({\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'min_confirmations' : IDL.Nat32,\n 'kyt_fee' : IDL.Nat64,\n });\n const RetrieveBtcArgs = IDL.Record({\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcOk = IDL.Record({ 'block_index' : IDL.Nat64 });\n const RetrieveBtcError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const RetrieveBtcStatus = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Pending' : IDL.Null,\n });\n const ReimbursementRequest = IDL.Record({\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const ReimbursedDeposit = IDL.Record({\n 'account' : Account,\n 'mint_block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const RetrieveBtcStatusV2 = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'WillReimburse' : ReimbursementRequest,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Reimbursed' : ReimbursedDeposit,\n 'Pending' : IDL.Null,\n });\n const RetrieveBtcWithApprovalArgs = IDL.Record({\n 'from_subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcWithApprovalError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'InsufficientAllowance' : IDL.Record({ 'allowance' : IDL.Nat64 }),\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const UtxoStatus = IDL.Variant({\n 'ValueTooSmall' : Utxo,\n 'Tainted' : Utxo,\n 'Minted' : IDL.Record({\n 'minted_amount' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'utxo' : Utxo,\n }),\n 'Checked' : Utxo,\n });\n const PendingUtxo = IDL.Record({\n 'confirmations' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const UpdateBalanceError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'NoNewUtxos' : IDL.Record({\n 'required_confirmations' : IDL.Nat32,\n 'pending_utxos' : IDL.Opt(IDL.Vec(PendingUtxo)),\n 'current_confirmations' : IDL.Opt(IDL.Nat32),\n }),\n });\n return IDL.Service({\n 'estimate_withdrawal_fee' : IDL.Func(\n [IDL.Record({ 'amount' : IDL.Opt(IDL.Nat64) })],\n [IDL.Record({ 'minter_fee' : IDL.Nat64, 'bitcoin_fee' : IDL.Nat64 })],\n [],\n ),\n 'get_btc_address' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [IDL.Text],\n [],\n ),\n 'get_canister_status' : IDL.Func([], [CanisterStatusResponse], []),\n 'get_deposit_fee' : IDL.Func([], [IDL.Nat64], []),\n 'get_events' : IDL.Func(\n [IDL.Record({ 'start' : IDL.Nat64, 'length' : IDL.Nat64 })],\n [IDL.Vec(Event)],\n [],\n ),\n 'get_minter_info' : IDL.Func([], [MinterInfo], []),\n 'get_withdrawal_account' : IDL.Func([], [Account], []),\n 'retrieve_btc' : IDL.Func(\n [RetrieveBtcArgs],\n [IDL.Variant({ 'Ok' : RetrieveBtcOk, 'Err' : RetrieveBtcError })],\n [],\n ),\n 'retrieve_btc_status' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatus],\n [],\n ),\n 'retrieve_btc_status_v2' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatusV2],\n [],\n ),\n 'retrieve_btc_status_v2_by_account' : IDL.Func(\n [IDL.Opt(Account)],\n [\n IDL.Vec(\n IDL.Record({\n 'block_index' : IDL.Nat64,\n 'status_v2' : IDL.Opt(RetrieveBtcStatusV2),\n })\n ),\n ],\n [],\n ),\n 'retrieve_btc_with_approval' : IDL.Func(\n [RetrieveBtcWithApprovalArgs],\n [\n IDL.Variant({\n 'Ok' : RetrieveBtcOk,\n 'Err' : RetrieveBtcWithApprovalError,\n }),\n ],\n [],\n ),\n 'update_balance' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [\n IDL.Variant({\n 'Ok' : IDL.Vec(UtxoStatus),\n 'Err' : UpdateBalanceError,\n }),\n ],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n return [MinterArg];\n};\n", "/* Do not edit. Compiled with ./scripts/compile-idl-js from packages/ckbtc/candid/minter.did */\nexport const idlFactory = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n const CanisterStatusType = IDL.Variant({\n 'stopped' : IDL.Null,\n 'stopping' : IDL.Null,\n 'running' : IDL.Null,\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'memory_allocation' : IDL.Nat,\n 'compute_allocation' : IDL.Nat,\n });\n const QueryStats = IDL.Record({\n 'response_payload_bytes_total' : IDL.Nat,\n 'num_instructions_total' : IDL.Nat,\n 'num_calls_total' : IDL.Nat,\n 'request_payload_bytes_total' : IDL.Nat,\n });\n const CanisterStatusResponse = IDL.Record({\n 'status' : CanisterStatusType,\n 'memory_size' : IDL.Nat,\n 'cycles' : IDL.Nat,\n 'settings' : DefiniteCanisterSettings,\n 'query_stats' : QueryStats,\n 'idle_cycles_burned_per_day' : IDL.Nat,\n 'module_hash' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Account = IDL.Record({\n 'owner' : IDL.Principal,\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const Utxo = IDL.Record({\n 'height' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const ReimbursementReason = IDL.Variant({\n 'CallFailed' : IDL.Null,\n 'TaintedDestination' : IDL.Record({\n 'kyt_fee' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n });\n const BitcoinAddress = IDL.Variant({\n 'p2wsh_v0' : IDL.Vec(IDL.Nat8),\n 'p2tr_v1' : IDL.Vec(IDL.Nat8),\n 'p2sh' : IDL.Vec(IDL.Nat8),\n 'p2wpkh_v0' : IDL.Vec(IDL.Nat8),\n 'p2pkh' : IDL.Vec(IDL.Nat8),\n });\n const Event = IDL.Variant({\n 'received_utxos' : IDL.Record({\n 'to_account' : Account,\n 'mint_txid' : IDL.Opt(IDL.Nat64),\n 'utxos' : IDL.Vec(Utxo),\n }),\n 'schedule_deposit_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n }),\n 'sent_transaction' : IDL.Record({\n 'fee' : IDL.Opt(IDL.Nat64),\n 'change_output' : IDL.Opt(\n IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 })\n ),\n 'txid' : IDL.Vec(IDL.Nat8),\n 'utxos' : IDL.Vec(Utxo),\n 'requests' : IDL.Vec(IDL.Nat64),\n 'submitted_at' : IDL.Nat64,\n }),\n 'distributed_kyt_fee' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'init' : InitArgs,\n 'upgrade' : UpgradeArgs,\n 'retrieve_btc_kyt_failed' : IDL.Record({\n 'block_index' : IDL.Nat64,\n 'owner' : IDL.Principal,\n 'uuid' : IDL.Text,\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Principal,\n }),\n 'accepted_retrieve_btc_request' : IDL.Record({\n 'received_at' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'address' : BitcoinAddress,\n 'reimbursement_account' : IDL.Opt(Account),\n 'amount' : IDL.Nat64,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'checked_utxo' : IDL.Record({\n 'clean' : IDL.Bool,\n 'utxo' : Utxo,\n 'uuid' : IDL.Text,\n 'kyt_provider' : IDL.Opt(IDL.Principal),\n }),\n 'removed_retrieve_btc_request' : IDL.Record({ 'block_index' : IDL.Nat64 }),\n 'confirmed_transaction' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'replaced_transaction' : IDL.Record({\n 'fee' : IDL.Nat64,\n 'change_output' : IDL.Record({ 'value' : IDL.Nat64, 'vout' : IDL.Nat32 }),\n 'old_txid' : IDL.Vec(IDL.Nat8),\n 'new_txid' : IDL.Vec(IDL.Nat8),\n 'submitted_at' : IDL.Nat64,\n }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const MinterInfo = IDL.Record({\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'min_confirmations' : IDL.Nat32,\n 'kyt_fee' : IDL.Nat64,\n });\n const RetrieveBtcArgs = IDL.Record({\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcOk = IDL.Record({ 'block_index' : IDL.Nat64 });\n const RetrieveBtcError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const RetrieveBtcStatus = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Pending' : IDL.Null,\n });\n const ReimbursementRequest = IDL.Record({\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const ReimbursedDeposit = IDL.Record({\n 'account' : Account,\n 'mint_block_index' : IDL.Nat64,\n 'amount' : IDL.Nat64,\n 'reason' : ReimbursementReason,\n });\n const RetrieveBtcStatusV2 = IDL.Variant({\n 'Signing' : IDL.Null,\n 'Confirmed' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Sending' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'AmountTooLow' : IDL.Null,\n 'WillReimburse' : ReimbursementRequest,\n 'Unknown' : IDL.Null,\n 'Submitted' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8) }),\n 'Reimbursed' : ReimbursedDeposit,\n 'Pending' : IDL.Null,\n });\n const RetrieveBtcWithApprovalArgs = IDL.Record({\n 'from_subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'address' : IDL.Text,\n 'amount' : IDL.Nat64,\n });\n const RetrieveBtcWithApprovalError = IDL.Variant({\n 'MalformedAddress' : IDL.Text,\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'InsufficientAllowance' : IDL.Record({ 'allowance' : IDL.Nat64 }),\n 'AlreadyProcessing' : IDL.Null,\n 'AmountTooLow' : IDL.Nat64,\n 'InsufficientFunds' : IDL.Record({ 'balance' : IDL.Nat64 }),\n });\n const UtxoStatus = IDL.Variant({\n 'ValueTooSmall' : Utxo,\n 'Tainted' : Utxo,\n 'Minted' : IDL.Record({\n 'minted_amount' : IDL.Nat64,\n 'block_index' : IDL.Nat64,\n 'utxo' : Utxo,\n }),\n 'Checked' : Utxo,\n });\n const PendingUtxo = IDL.Record({\n 'confirmations' : IDL.Nat32,\n 'value' : IDL.Nat64,\n 'outpoint' : IDL.Record({ 'txid' : IDL.Vec(IDL.Nat8), 'vout' : IDL.Nat32 }),\n });\n const UpdateBalanceError = IDL.Variant({\n 'GenericError' : IDL.Record({\n 'error_message' : IDL.Text,\n 'error_code' : IDL.Nat64,\n }),\n 'TemporarilyUnavailable' : IDL.Text,\n 'AlreadyProcessing' : IDL.Null,\n 'NoNewUtxos' : IDL.Record({\n 'required_confirmations' : IDL.Nat32,\n 'pending_utxos' : IDL.Opt(IDL.Vec(PendingUtxo)),\n 'current_confirmations' : IDL.Opt(IDL.Nat32),\n }),\n });\n return IDL.Service({\n 'estimate_withdrawal_fee' : IDL.Func(\n [IDL.Record({ 'amount' : IDL.Opt(IDL.Nat64) })],\n [IDL.Record({ 'minter_fee' : IDL.Nat64, 'bitcoin_fee' : IDL.Nat64 })],\n ['query'],\n ),\n 'get_btc_address' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [IDL.Text],\n [],\n ),\n 'get_canister_status' : IDL.Func([], [CanisterStatusResponse], []),\n 'get_deposit_fee' : IDL.Func([], [IDL.Nat64], ['query']),\n 'get_events' : IDL.Func(\n [IDL.Record({ 'start' : IDL.Nat64, 'length' : IDL.Nat64 })],\n [IDL.Vec(Event)],\n ['query'],\n ),\n 'get_minter_info' : IDL.Func([], [MinterInfo], ['query']),\n 'get_withdrawal_account' : IDL.Func([], [Account], []),\n 'retrieve_btc' : IDL.Func(\n [RetrieveBtcArgs],\n [IDL.Variant({ 'Ok' : RetrieveBtcOk, 'Err' : RetrieveBtcError })],\n [],\n ),\n 'retrieve_btc_status' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatus],\n ['query'],\n ),\n 'retrieve_btc_status_v2' : IDL.Func(\n [IDL.Record({ 'block_index' : IDL.Nat64 })],\n [RetrieveBtcStatusV2],\n ['query'],\n ),\n 'retrieve_btc_status_v2_by_account' : IDL.Func(\n [IDL.Opt(Account)],\n [\n IDL.Vec(\n IDL.Record({\n 'block_index' : IDL.Nat64,\n 'status_v2' : IDL.Opt(RetrieveBtcStatusV2),\n })\n ),\n ],\n ['query'],\n ),\n 'retrieve_btc_with_approval' : IDL.Func(\n [RetrieveBtcWithApprovalArgs],\n [\n IDL.Variant({\n 'Ok' : RetrieveBtcOk,\n 'Err' : RetrieveBtcWithApprovalError,\n }),\n ],\n [],\n ),\n 'update_balance' : IDL.Func(\n [\n IDL.Record({\n 'owner' : IDL.Opt(IDL.Principal),\n 'subaccount' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n }),\n ],\n [\n IDL.Variant({\n 'Ok' : IDL.Vec(UtxoStatus),\n 'Err' : UpdateBalanceError,\n }),\n ],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => {\n const Mode = IDL.Variant({\n 'RestrictedTo' : IDL.Vec(IDL.Principal),\n 'DepositsRestrictedTo' : IDL.Vec(IDL.Principal),\n 'ReadOnly' : IDL.Null,\n 'GeneralAvailability' : IDL.Null,\n });\n const UpgradeArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'mode' : IDL.Opt(Mode),\n 'retrieve_btc_min_amount' : IDL.Opt(IDL.Nat64),\n 'max_time_in_queue_nanos' : IDL.Opt(IDL.Nat64),\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const BtcNetwork = IDL.Variant({\n 'Mainnet' : IDL.Null,\n 'Regtest' : IDL.Null,\n 'Testnet' : IDL.Null,\n });\n const InitArgs = IDL.Record({\n 'kyt_principal' : IDL.Opt(IDL.Principal),\n 'ecdsa_key_name' : IDL.Text,\n 'mode' : Mode,\n 'retrieve_btc_min_amount' : IDL.Nat64,\n 'ledger_id' : IDL.Principal,\n 'max_time_in_queue_nanos' : IDL.Nat64,\n 'btc_network' : BtcNetwork,\n 'min_confirmations' : IDL.Opt(IDL.Nat32),\n 'kyt_fee' : IDL.Opt(IDL.Nat64),\n });\n const MinterArg = IDL.Variant({\n 'Upgrade' : IDL.Opt(UpgradeArgs),\n 'Init' : InitArgs,\n });\n return [MinterArg];\n};\n", "import { fromNullable, nonNullish } from \"@dfinity/utils\";\nimport type {\n PendingUtxo,\n RetrieveBtcError,\n RetrieveBtcWithApprovalError,\n UpdateBalanceError,\n} from \"../../candid/minter\";\n\nexport class MinterGenericError extends Error {}\nexport class MinterTemporaryUnavailableError extends MinterGenericError {}\nexport class MinterAlreadyProcessingError extends MinterGenericError {}\n\nexport class MinterUpdateBalanceError extends MinterGenericError {}\nexport class MinterNoNewUtxosError extends MinterUpdateBalanceError {\n readonly pendingUtxos: PendingUtxo[];\n readonly requiredConfirmations: number;\n constructor({\n pending_utxos,\n required_confirmations,\n }: {\n pending_utxos: [] | [PendingUtxo[]];\n required_confirmations: number;\n }) {\n super();\n this.pendingUtxos = fromNullable(pending_utxos) || [];\n this.requiredConfirmations = required_confirmations;\n }\n}\n\nexport class MinterRetrieveBtcError extends MinterGenericError {}\nexport class MinterMalformedAddressError extends MinterRetrieveBtcError {}\nexport class MinterAmountTooLowError extends MinterRetrieveBtcError {}\nexport class MinterInsufficientFundsError extends MinterRetrieveBtcError {}\nexport class MinterInsufficientAllowanceError extends MinterRetrieveBtcError {}\n\nconst mapGenericError = (\n Err: UpdateBalanceError | RetrieveBtcError | RetrieveBtcWithApprovalError,\n): MinterGenericError | undefined => {\n if (\"GenericError\" in Err) {\n const {\n GenericError: { error_message, error_code },\n } = Err;\n return new MinterGenericError(`${error_message} (${error_code})`);\n }\n\n if (\"TemporarilyUnavailable\" in Err) {\n return new MinterTemporaryUnavailableError(Err.TemporarilyUnavailable);\n }\n\n if (\"AlreadyProcessing\" in Err) {\n return new MinterAlreadyProcessingError();\n }\n\n return undefined;\n};\n\nexport const createUpdateBalanceError = (\n Err: UpdateBalanceError,\n): MinterGenericError => {\n const error = mapGenericError(Err);\n\n if (nonNullish(error)) {\n return error;\n }\n\n if (\"NoNewUtxos\" in Err) {\n return new MinterNoNewUtxosError(Err.NoNewUtxos);\n }\n\n // Handle types added in the backend but not yet added in the frontend\n return new MinterUpdateBalanceError(\n `Unsupported response type in minter.updateBalance ${JSON.stringify(Err)}`,\n );\n};\n\nexport const createRetrieveBtcError = (\n Err: RetrieveBtcError,\n): MinterGenericError => {\n const error = mapGenericError(Err);\n\n if (nonNullish(error)) {\n return error;\n }\n\n if (\"MalformedAddress\" in Err) {\n return new MinterMalformedAddressError(Err.MalformedAddress);\n }\n\n if (\"AmountTooLow\" in Err) {\n return new MinterAmountTooLowError(`${Err.AmountTooLow}`);\n }\n\n if (\"InsufficientFunds\" in Err) {\n return new MinterInsufficientFundsError(`${Err.InsufficientFunds.balance}`);\n }\n\n // Handle types added in the backend but not yet added in the frontend\n return new MinterRetrieveBtcError(\n `Unsupported response type in minter.retrieveBtc ${JSON.stringify(Err)}`,\n );\n};\n\nexport const createRetrieveBtcWithApprovalError = (\n Err: RetrieveBtcWithApprovalError,\n): MinterGenericError => {\n const error = mapGenericError(Err);\n\n if (nonNullish(error)) {\n return error;\n }\n\n if (\"InsufficientAllowance\" in Err) {\n return new MinterInsufficientAllowanceError(\n `${Err.InsufficientAllowance.allowance}`,\n );\n }\n\n return createRetrieveBtcError(Err);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Canister", "createServices", "fromNullable", "isNullish", "toNullable", "idlFactory", "IDL", "Mode", "UpgradeArgs", "BtcNetwork", "InitArgs", "MinterArg", "CanisterStatusType", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "BitcoinAddress", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "PendingUtxo", "UpdateBalanceError", "idlFactory", "IDL", "Mode", "UpgradeArgs", "BtcNetwork", "InitArgs", "MinterArg", "CanisterStatusType", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "BitcoinAddress", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "PendingUtxo", "UpdateBalanceError", "fromNullable", "nonNullish", "MinterGenericError", "MinterTemporaryUnavailableError", "MinterAlreadyProcessingError", "MinterUpdateBalanceError", "MinterNoNewUtxosError", "pending_utxos", "required_confirmations", "MinterRetrieveBtcError", "MinterMalformedAddressError", "MinterAmountTooLowError", "MinterInsufficientFundsError", "MinterInsufficientAllowanceError", "mapGenericError", "Err", "error_message", "error_code", "createUpdateBalanceError", "error", "createRetrieveBtcError", "createRetrieveBtcWithApprovalError", "CkBTCMinterCanister", "_CkBTCMinterCanister", "Canister", "owner", "subaccount", "toNullable", "response", "createUpdateBalanceError", "params", "createRetrieveBtcError", "address", "amount", "fromSubaccount", "createRetrieveBtcWithApprovalError", "transactionId", "certified", "account", "retrieve_btc_status_v2_by_account", "isNullish", "block_index", "status_v2", "fromNullable", "options", "service", "certifiedService", "canisterId", "createServices", "idlFactory"]
7
- }