@dfinity/ckbtc 4.0.0 → 4.0.1

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
+ import{Canister as at,createServices as nt,fromNullable as it,isNullish as ot,toNullable as c}from"@dfinity/utils";var I=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),i=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),o=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:i,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),b=t.Variant({Upgrade:t.Opt(r),Init:o}),u=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),v=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),f=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:v,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),y=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),O=t.Record({status:u,memory_size:t.Nat,cycles:t.Nat,settings:f,query_stats:y,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),n=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),a=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})}),_=t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64}),p=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),V=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)}),k=t.Variant({too_many_inputs:t.Record({max_num_inputs:t.Nat64,num_inputs:t.Nat64})}),N=t.Variant({invalid_transaction:k}),g=t.Variant({to_cancel:t.Record({reason:N}),to_retry:t.Null}),w=t.Variant({received_utxos:t.Record({to_account:n,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(a)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:n,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),withdrawal_fee:t.Opt(_),utxos:t.Vec(a),requests:t.Vec(t.Nat64),submitted_at:t.Nat64}),distributed_kyt_fee:t.Record({block_index:t.Nat64,amount:t.Nat64,kyt_provider:t.Principal}),init:o,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:a,account:n,reason:p}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:V,reimbursement_account:t.Opt(n),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:a,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),schedule_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64,account:n,amount:t.Nat64,reason:N}),quarantined_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),new_utxos:t.Opt(t.Vec(a)),old_txid:t.Vec(t.Nat8),withdrawal_fee:t.Opt(_),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64,reason:t.Opt(g)}),checked_utxo_v2:t.Record({utxo:a,account:n}),ignored_utxo:t.Record({utxo:a}),checked_utxo_mint_unknown:t.Record({utxo:a,account:n}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64}),reimbursed_withdrawal:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),h=t.Record({timestamp:t.Opt(t.Nat64),payload:w}),P=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),T=t.Record({address:t.Text,amount:t.Nat64}),m=t.Record({block_index:t.Nat64}),B=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})}),A=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}),U=t.Record({account:n,amount:t.Nat64,reason:s}),S=t.Record({account:n,mint_block_index:t.Nat64,amount:t.Nat64,reason:s}),R=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:U,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:S,Pending:t.Null}),F=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),q=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})}),E=t.Variant({ValueTooSmall:a,Tainted:a,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:a}),Checked:a}),C=t.Nat64,W=t.Record({utxo:a,earliest_retry:C,reason:p}),M=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),G=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(W)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(M)),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([],[O],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(h)],[]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(a)],[]),get_minter_info:t.Func([],[P],[]),get_withdrawal_account:t.Func([],[n],[]),retrieve_btc:t.Func([T],[t.Variant({Ok:m,Err:B})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[A],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[R],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(n)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(R)}))],[]),retrieve_btc_with_approval:t.Func([F],[t.Variant({Ok:m,Err:q})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(E),Err:G})],[])})};var L=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),i=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),o=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:i,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),b=t.Variant({Upgrade:t.Opt(r),Init:o}),u=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),v=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),f=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:v,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),y=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),O=t.Record({status:u,memory_size:t.Nat,cycles:t.Nat,settings:f,query_stats:y,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),n=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),a=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})}),_=t.Record({minter_fee:t.Nat64,bitcoin_fee:t.Nat64}),p=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),V=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)}),k=t.Variant({too_many_inputs:t.Record({max_num_inputs:t.Nat64,num_inputs:t.Nat64})}),N=t.Variant({invalid_transaction:k}),g=t.Variant({to_cancel:t.Record({reason:N}),to_retry:t.Null}),w=t.Variant({received_utxos:t.Record({to_account:n,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(a)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:n,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),withdrawal_fee:t.Opt(_),utxos:t.Vec(a),requests:t.Vec(t.Nat64),submitted_at:t.Nat64}),distributed_kyt_fee:t.Record({block_index:t.Nat64,amount:t.Nat64,kyt_provider:t.Principal}),init:o,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:a,account:n,reason:p}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:V,reimbursement_account:t.Opt(n),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:a,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),schedule_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64,account:n,amount:t.Nat64,reason:N}),quarantined_withdrawal_reimbursement:t.Record({burn_block_index:t.Nat64}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),new_utxos:t.Opt(t.Vec(a)),old_txid:t.Vec(t.Nat8),withdrawal_fee:t.Opt(_),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64,reason:t.Opt(g)}),checked_utxo_v2:t.Record({utxo:a,account:n}),ignored_utxo:t.Record({utxo:a}),checked_utxo_mint_unknown:t.Record({utxo:a,account:n}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64}),reimbursed_withdrawal:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),h=t.Record({timestamp:t.Opt(t.Nat64),payload:w}),P=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),T=t.Record({address:t.Text,amount:t.Nat64}),m=t.Record({block_index:t.Nat64}),B=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})}),A=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}),U=t.Record({account:n,amount:t.Nat64,reason:s}),S=t.Record({account:n,mint_block_index:t.Nat64,amount:t.Nat64,reason:s}),R=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:U,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:S,Pending:t.Null}),F=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),q=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})}),E=t.Variant({ValueTooSmall:a,Tainted:a,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:a}),Checked:a}),C=t.Nat64,W=t.Record({utxo:a,earliest_retry:C,reason:p}),M=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),G=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(W)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(M)),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([],[O],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(h)],["query"]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(a)],["query"]),get_minter_info:t.Func([],[P],["query"]),get_withdrawal_account:t.Func([],[n],[]),retrieve_btc:t.Func([T],[t.Variant({Ok:m,Err:B})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[A],["query"]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[R],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(n)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(R)}))],["query"]),retrieve_btc_with_approval:t.Func([F],[t.Variant({Ok:m,Err:q})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(E),Err:G})],[])})};import{fromNullable as rt,nonNullish as X}from"@dfinity/utils";var d=class extends Error{},$=class extends d{},Q=class extends d{},x=class extends d{},z=class extends x{pendingUtxos;requiredConfirmations;constructor({pending_utxos:e,required_confirmations:r}){super(),this.pendingUtxos=rt(e)??[],this.requiredConfirmations=r}},l=class extends d{},K=class extends l{},J=class extends l{},j=class extends l{},H=class extends l{},Y=t=>{if("GenericError"in t){let{GenericError:{error_message:e,error_code:r}}=t;return new d(`${e} (${r})`)}if("TemporarilyUnavailable"in t)return new $(t.TemporarilyUnavailable);if("AlreadyProcessing"in t)return new Q},D=t=>{let e=Y(t);return X(e)?e:"NoNewUtxos"in t?new z(t.NoNewUtxos):new x(`Unsupported response type in minter.updateBalance ${JSON.stringify(t)}`)},Z=t=>{let e=Y(t);return X(e)?e:"MalformedAddress"in t?new K(t.MalformedAddress):"AmountTooLow"in t?new J(`${t.AmountTooLow}`):"InsufficientFunds"in t?new j(`${t.InsufficientFunds.balance}`):new l(`Unsupported response type in minter.retrieveBtc ${JSON.stringify(t)}`)},tt=t=>{let e=Y(t);return X(e)?e:"InsufficientAllowance"in t?new H(`${t.InsufficientAllowance.allowance}`):Z(t)};var et=class t extends at{static create(e){let{service:r,certifiedService:i,canisterId:o}=nt({options:e,idlFactory:L,certifiedIdlFactory:I});return new t(o,r,i)}getBtcAddress=({owner:e,subaccount:r})=>this.caller({certified:!0}).get_btc_address({owner:c(e),subaccount:c(r)});updateBalance=async({owner:e,subaccount:r})=>{let i=await this.caller({certified:!0}).update_balance({owner:c(e),subaccount:c(r)});if("Err"in i)throw D(i.Err);return i.Ok};getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();retrieveBtc=async e=>{let r=await this.caller({certified:!0}).retrieve_btc(e);if("Err"in r)throw Z(r.Err);return r.Ok};retrieveBtcWithApproval=async({address:e,amount:r,fromSubaccount:i})=>{let o=await this.caller({certified:!0}).retrieve_btc_with_approval({address:e,amount:r,from_subaccount:c(i)});if("Err"in o)throw tt(o.Err);return o.Ok};retrieveBtcStatus=({transactionId:e,certified:r})=>this.caller({certified:r}).retrieve_btc_status({block_index:e});retrieveBtcStatusV2ByAccount=async({account:e,certified:r})=>{let{retrieve_btc_status_v2_by_account:i}=this.caller({certified:r});return(await i(ot(e)?[]:[{owner:e.owner,subaccount:c(e.subaccount)}])).map(({block_index:b,status_v2:u})=>({id:b,status:it(u)}))};estimateWithdrawalFee=({certified:e,amount:r})=>this.caller({certified:e}).estimate_withdrawal_fee({amount:c(r)});getMinterInfo=({certified:e})=>this.caller({certified:e}).get_minter_info();getKnownUtxos=({owner:e,subaccount:r,certified:i})=>{let{get_known_utxos:o}=this.caller({certified:i});return o({owner:c(e),subaccount:c(r)})}};export{d as a,$ as b,Q as c,x as d,z as e,l as f,K as g,J as h,j as i,H as j,D as k,Z as l,tt as m,et as n};
2
+ //# sourceMappingURL=chunk-E4ZZJDK5.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 type {\n _SERVICE as CkBTCMinterService,\n MinterInfo,\n RetrieveBtcOk,\n RetrieveBtcStatus,\n Utxo,\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 { CkBTCCanisterOptions } 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: CkBTCCanisterOptions<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 = ({\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 = ({\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 = ({ 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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Nat,\n 'log_visibility' : LogVisibility,\n 'wasm_memory_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 WithdrawalFee = IDL.Record({\n 'minter_fee' : IDL.Nat64,\n 'bitcoin_fee' : IDL.Nat64,\n });\n const SuspendedReason = IDL.Variant({\n 'ValueTooSmall' : IDL.Null,\n 'Quarantined' : IDL.Null,\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 InvalidTransactionError = IDL.Variant({\n 'too_many_inputs' : IDL.Record({\n 'max_num_inputs' : IDL.Nat64,\n 'num_inputs' : IDL.Nat64,\n }),\n });\n const WithdrawalReimbursementReason = IDL.Variant({\n 'invalid_transaction' : InvalidTransactionError,\n });\n const ReplacedReason = IDL.Variant({\n 'to_cancel' : IDL.Record({ 'reason' : WithdrawalReimbursementReason }),\n 'to_retry' : IDL.Null,\n });\n const EventType = 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 'withdrawal_fee' : IDL.Opt(WithdrawalFee),\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 'suspended_utxo' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n 'reason' : SuspendedReason,\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 'schedule_withdrawal_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : WithdrawalReimbursementReason,\n }),\n 'quarantined_withdrawal_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\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 'new_utxos' : IDL.Opt(IDL.Vec(Utxo)),\n 'old_txid' : IDL.Vec(IDL.Nat8),\n 'withdrawal_fee' : IDL.Opt(WithdrawalFee),\n 'new_txid' : IDL.Vec(IDL.Nat8),\n 'submitted_at' : IDL.Nat64,\n 'reason' : IDL.Opt(ReplacedReason),\n }),\n 'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'checked_utxo_mint_unknown' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n 'reimbursed_withdrawal' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const Event = IDL.Record({\n 'timestamp' : IDL.Opt(IDL.Nat64),\n 'payload' : EventType,\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 Timestamp = IDL.Nat64;\n const SuspendedUtxo = IDL.Record({\n 'utxo' : Utxo,\n 'earliest_retry' : Timestamp,\n 'reason' : SuspendedReason,\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 'suspended_utxos' : IDL.Opt(IDL.Vec(SuspendedUtxo)),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Nat,\n 'log_visibility' : LogVisibility,\n 'wasm_memory_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 WithdrawalFee = IDL.Record({\n 'minter_fee' : IDL.Nat64,\n 'bitcoin_fee' : IDL.Nat64,\n });\n const SuspendedReason = IDL.Variant({\n 'ValueTooSmall' : IDL.Null,\n 'Quarantined' : IDL.Null,\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 InvalidTransactionError = IDL.Variant({\n 'too_many_inputs' : IDL.Record({\n 'max_num_inputs' : IDL.Nat64,\n 'num_inputs' : IDL.Nat64,\n }),\n });\n const WithdrawalReimbursementReason = IDL.Variant({\n 'invalid_transaction' : InvalidTransactionError,\n });\n const ReplacedReason = IDL.Variant({\n 'to_cancel' : IDL.Record({ 'reason' : WithdrawalReimbursementReason }),\n 'to_retry' : IDL.Null,\n });\n const EventType = 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 'withdrawal_fee' : IDL.Opt(WithdrawalFee),\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 'suspended_utxo' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n 'reason' : SuspendedReason,\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 'schedule_withdrawal_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'account' : Account,\n 'amount' : IDL.Nat64,\n 'reason' : WithdrawalReimbursementReason,\n }),\n 'quarantined_withdrawal_reimbursement' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\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 'new_utxos' : IDL.Opt(IDL.Vec(Utxo)),\n 'old_txid' : IDL.Vec(IDL.Nat8),\n 'withdrawal_fee' : IDL.Opt(WithdrawalFee),\n 'new_txid' : IDL.Vec(IDL.Nat8),\n 'submitted_at' : IDL.Nat64,\n 'reason' : IDL.Opt(ReplacedReason),\n }),\n 'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'checked_utxo_mint_unknown' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n 'reimbursed_withdrawal' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const Event = IDL.Record({\n 'timestamp' : IDL.Opt(IDL.Nat64),\n 'payload' : EventType,\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 Timestamp = IDL.Nat64;\n const SuspendedUtxo = IDL.Record({\n 'utxo' : Utxo,\n 'earliest_retry' : Timestamp,\n 'reason' : SuspendedReason,\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 'suspended_utxos' : IDL.Opt(IDL.Vec(SuspendedUtxo)),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "WithdrawalFee", "SuspendedReason", "BitcoinAddress", "InvalidTransactionError", "WithdrawalReimbursementReason", "ReplacedReason", "EventType", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "Timestamp", "SuspendedUtxo", "PendingUtxo", "UpdateBalanceError", "idlFactory", "IDL", "Mode", "UpgradeArgs", "BtcNetwork", "InitArgs", "MinterArg", "CanisterStatusType", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "WithdrawalFee", "SuspendedReason", "BitcoinAddress", "InvalidTransactionError", "WithdrawalReimbursementReason", "ReplacedReason", "EventType", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "Timestamp", "SuspendedUtxo", "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", "options", "service", "certifiedService", "canisterId", "createServices", "idlFactory", "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"]
7
+ }
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a as Et,b as Bt,c as st}from"./chunk-ABDCS67G.js";import{a as _t,b as Ct,c as Ut,d as Lt,e as kt,f as It,g as St,h as Ft,i as Dt,j as Tt,k as Pt,l as Gt,m as Vt,n as ct}from"./chunk-HAU7JR75.js";import{a as nt,b as ot}from"./chunk-FW4363Y4.js";var et=nt(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.bech32m=H.bech32=void 0;var M="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Z={};for(let e=0;e<M.length;e++){let t=M.charAt(e);Z[t]=e}function A(e){let t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function Y(e){let t=1;for(let o=0;o<e.length;++o){let n=e.charCodeAt(o);if(n<33||n>126)return"Invalid prefix ("+e+")";t=A(t)^n>>5}t=A(t);for(let o=0;o<e.length;++o){let n=e.charCodeAt(o);t=A(t)^n&31}return t}function j(e,t,o,n){let s=0,c=0,r=(1<<o)-1,i=[];for(let h=0;h<e.length;++h)for(s=s<<t|e[h],c+=t;c>=o;)c-=o,i.push(s>>c&r);if(n)c>0&&i.push(s<<o-c&r);else{if(c>=t)return"Excess padding";if(s<<o-c&r)return"Non-zero padding"}return i}function ut(e){return j(e,8,5,!0)}function lt(e){let t=j(e,5,8,!1);if(Array.isArray(t))return t}function bt(e){let t=j(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function tt(e){let t;e==="bech32"?t=1:t=734539939;function o(r,i,h){if(h=h||90,r.length+7+i.length>h)throw new TypeError("Exceeds length limit");r=r.toLowerCase();let x=Y(r);if(typeof x=="string")throw new Error(x);let a=r+"1";for(let f=0;f<i.length;++f){let d=i[f];if(d>>5!==0)throw new Error("Non 5-bit word");x=A(x)^d,a+=M.charAt(d)}for(let f=0;f<6;++f)x=A(x);x^=t;for(let f=0;f<6;++f){let d=x>>(5-f)*5&31;a+=M.charAt(d)}return a}function n(r,i){if(i=i||90,r.length<8)return r+" too short";if(r.length>i)return"Exceeds length limit";let h=r.toLowerCase(),x=r.toUpperCase();if(r!==h&&r!==x)return"Mixed-case string "+r;r=h;let a=r.lastIndexOf("1");if(a===-1)return"No separator character for "+r;if(a===0)return"Missing prefix for "+r;let f=r.slice(0,a),d=r.slice(a+1);if(d.length<6)return"Data too short";let u=Y(f);if(typeof u=="string")return u;let g=[];for(let l=0;l<d.length;++l){let L=d.charAt(l),E=Z[L];if(E===void 0)return"Unknown character "+L;u=A(u)^E,!(l+6>=d.length)&&g.push(E)}return u!==t?"Invalid checksum for "+r:{prefix:f,words:g}}function s(r,i){let h=n(r,i);if(typeof h=="object")return h}function c(r,i){let h=n(r,i);if(typeof h=="object")return h;throw new Error(h)}return{decodeUnsafe:s,decode:c,encode:o,toWords:ut,fromWordsUnsafe:lt,fromWords:bt}}H.bech32=tt("bech32");H.bech32m=tt("bech32m")});var z=(n=>(n[n.Mainnet=0]="Mainnet",n[n.Regtest=1]="Regtest",n[n.Testnet=2]="Testnet",n))(z||{}),X=(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))(X||{});var p=class extends Error{},B=class extends p{},k=class extends p{},_=class extends p{},I=class extends p{},S=class extends p{},F=class extends p{},y=class extends p{},D=class extends p{};import{isNullish as rt}from"@dfinity/utils";function it(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function P(e,...t){if(!it(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function W(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function K(e,t){P(e);let o=t.outputLen;if(e.length<o)throw new Error("digestInto() expects output buffer of length at least "+o)}function C(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function G(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function b(e,t){return e<<32-t|e>>>t}function ft(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function v(e){return typeof e=="string"&&(e=ft(e)),P(e),e}var T=class{};function $(e){let t=n=>e().update(v(n)).digest(),o=e();return t.outputLen=o.outputLen,t.blockLen=o.blockLen,t.create=()=>e(),t}function ht(e,t,o,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,o,n);let s=BigInt(32),c=BigInt(4294967295),r=Number(o>>s&c),i=Number(o&c),h=n?4:0,x=n?0:4;e.setUint32(t+h,r,n),e.setUint32(t+x,i,n)}function q(e,t,o){return e&t^~e&o}function J(e,t,o){return e&t^e&o^t&o}var V=class extends T{constructor(t,o,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=o,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(t),this.view=G(this.buffer)}update(t){W(this),t=v(t),P(t);let{view:o,buffer:n,blockLen:s}=this,c=t.length;for(let r=0;r<c;){let i=Math.min(s-this.pos,c-r);if(i===s){let h=G(t);for(;s<=c-r;r+=s)this.process(h,r);continue}n.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===s&&(this.process(o,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){W(this),K(t,this),this.finished=!0;let{buffer:o,view:n,blockLen:s,isLE:c}=this,{pos:r}=this;o[r++]=128,C(this.buffer.subarray(r)),this.padOffset>s-r&&(this.process(n,0),r=0);for(let f=r;f<s;f++)o[f]=0;ht(n,s-8,BigInt(this.length*8),c),this.process(n,0);let i=G(t),h=this.outputLen;if(h%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let x=h/4,a=this.get();if(x>a.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<x;f++)i.setUint32(4*f,a[f],c)}digest(){let{buffer:t,outputLen:o}=this;this.digestInto(t);let n=t.slice(0,o);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:o,buffer:n,length:s,finished:c,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=c,t.length=s,t.pos=i,s%o&&t.buffer.set(n),t}clone(){return this._cloneInto()}},w=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var at=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),m=new Uint32Array(64),N=class extends V{constructor(t=32){super(64,t,8,!1),this.A=w[0]|0,this.B=w[1]|0,this.C=w[2]|0,this.D=w[3]|0,this.E=w[4]|0,this.F=w[5]|0,this.G=w[6]|0,this.H=w[7]|0}get(){let{A:t,B:o,C:n,D:s,E:c,F:r,G:i,H:h}=this;return[t,o,n,s,c,r,i,h]}set(t,o,n,s,c,r,i,h){this.A=t|0,this.B=o|0,this.C=n|0,this.D=s|0,this.E=c|0,this.F=r|0,this.G=i|0,this.H=h|0}process(t,o){for(let f=0;f<16;f++,o+=4)m[f]=t.getUint32(o,!1);for(let f=16;f<64;f++){let d=m[f-15],u=m[f-2],g=b(d,7)^b(d,18)^d>>>3,l=b(u,17)^b(u,19)^u>>>10;m[f]=l+m[f-7]+g+m[f-16]|0}let{A:n,B:s,C:c,D:r,E:i,F:h,G:x,H:a}=this;for(let f=0;f<64;f++){let d=b(i,6)^b(i,11)^b(i,25),u=a+d+q(i,h,x)+at[f]+m[f]|0,l=(b(n,2)^b(n,13)^b(n,22))+J(n,s,c)|0;a=x,x=h,h=i,i=r+u|0,r=c,c=s,s=n,n=u+l|0}n=n+this.A|0,s=s+this.B|0,c=c+this.C|0,r=r+this.D|0,i=i+this.E|0,h=h+this.F|0,x=x+this.G|0,a=a+this.H|0,this.set(n,s,c,r,i,h,x,a)}roundClean(){C(m)}destroy(){this.set(0,0,0,0,0,0,0,0),C(this.buffer)}};var O=$(()=>new N);var xt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Q=xt;function dt(e){if(!e||typeof e!="string")throw new Error(`Expected base58 string but got \u201C${e}\u201D`);if(e.match(/[IOl0]/gmu))throw new Error(`Invalid base58 character \u201C${e.match(/[IOl0]/gmu)}\u201D`);let t=e.match(/^1+/gmu),o=t?t[0].length:0,n=(e.length-o)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(o),...e.match(/.{1}/gmu).map(s=>Q.indexOf(s)).reduce((s,c)=>(s=s.map(r=>{let i=r*58+c;return c=i>>8,i}),s),new Uint8Array(n)).reverse().filter((s=>c=>s=s||c)(!1))])}var R=dt;var U=ot(et());var pt=0,wt=5,gt=111,mt=196,yt={[pt]:{type:1,networks:[0]},[gt]:{type:1,networks:[2,1]},[wt]:{type:2,networks:[0]},[mt]:{type:2,networks:[2,1]}},At=({address:e,network:t})=>{let n=(a=>{try{return R(a)}catch{throw new B}})(e),{length:s}=n;if(s!==25)throw new y(`Expected the address to be 25 bytes, got ${s}.`);(a=>{let f=a.slice(s-4,s),d=a.slice(0,s-4),u=O.create();u.update(d);let g=O.create();g.update(u.digest());let l=g.digest().slice(0,4);if(f.some((L,E)=>L!==l[E]))throw new y(`Checksum mismatch expected ${f}, got ${l}.`)})(n);let[r]=n,i=yt[r];if(rt(i))throw new _;let{type:h,networks:x}=i;if(!x.includes(t))throw new D;return{address:e,network:t,type:h,parser:"base58"}},Ht=({address:e,network:t})=>{let o=a=>{try{return a.startsWith("bc1p")||a.startsWith("tb1p")||a.startsWith("bcrt1p")?U.bech32m.decode(a):U.bech32.decode(a)}catch{throw new y}},{prefix:n,words:s}=o(e),r={bc:0,tb:2,bcrt:1}[n];if(rt(r))throw new B;if(r!==t)throw new F;let[i,...h]=s;if(i>1)throw new S;switch(U.bech32.fromWords(h).length){case 20:return{address:e,network:t,type:0,parser:"bip-173"};case 32:return{address:e,network:t,type:i===0?3:4,parser:"bip-173"};default:throw new I}},ce=({address:e,network:t=0})=>{switch(e.charAt(0)){case"1":case"2":case"3":case"m":case"n":return At({address:e,network:t});case"b":case"B":case"t":case"T":return Ht({address:e,network:t});case"":throw new k;default:throw new _}};export{st as BitcoinCanister,X as BtcAddressType,z as BtcNetwork,ct as CkBTCMinterCanister,Ut as MinterAlreadyProcessingError,Ft as MinterAmountTooLowError,_t as MinterGenericError,Tt as MinterInsufficientAllowanceError,Dt as MinterInsufficientFundsError,St as MinterMalformedAddressError,kt as MinterNoNewUtxosError,It as MinterRetrieveBtcError,Ct as MinterTemporaryUnavailableError,Lt as MinterUpdateBalanceError,I as ParseBtcAddressBadWitnessLengthError,p as ParseBtcAddressError,B as ParseBtcAddressInvalidError,y as ParseBtcAddressMalformedAddressError,k as ParseBtcAddressNoDataError,F as ParseBtcAddressUnexpectedHumanReadablePartError,_ as ParseBtcAddressUnsupportedAddressTypeError,S as ParseBtcAddressUnsupportedWitnessVersionError,D as ParseBtcAddressWrongNetworkError,Gt as createRetrieveBtcError,Vt as createRetrieveBtcWithApprovalError,Pt as createUpdateBalanceError,ce as parseBtcAddress,Bt as toGetBalanceParams,Et as toGetUtxosParams};
1
+ import{a as Et,b as Bt,c as st}from"./chunk-ABDCS67G.js";import{a as _t,b as Ct,c as Ut,d as Lt,e as kt,f as It,g as St,h as Ft,i as Dt,j as Tt,k as Pt,l as Gt,m as Vt,n as ct}from"./chunk-E4ZZJDK5.js";import{a as nt,b as ot}from"./chunk-FW4363Y4.js";var et=nt(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.bech32m=H.bech32=void 0;var M="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Z={};for(let e=0;e<M.length;e++){let t=M.charAt(e);Z[t]=e}function A(e){let t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function Y(e){let t=1;for(let o=0;o<e.length;++o){let n=e.charCodeAt(o);if(n<33||n>126)return"Invalid prefix ("+e+")";t=A(t)^n>>5}t=A(t);for(let o=0;o<e.length;++o){let n=e.charCodeAt(o);t=A(t)^n&31}return t}function j(e,t,o,n){let s=0,c=0,r=(1<<o)-1,i=[];for(let h=0;h<e.length;++h)for(s=s<<t|e[h],c+=t;c>=o;)c-=o,i.push(s>>c&r);if(n)c>0&&i.push(s<<o-c&r);else{if(c>=t)return"Excess padding";if(s<<o-c&r)return"Non-zero padding"}return i}function ut(e){return j(e,8,5,!0)}function lt(e){let t=j(e,5,8,!1);if(Array.isArray(t))return t}function bt(e){let t=j(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function tt(e){let t;e==="bech32"?t=1:t=734539939;function o(r,i,h){if(h=h||90,r.length+7+i.length>h)throw new TypeError("Exceeds length limit");r=r.toLowerCase();let x=Y(r);if(typeof x=="string")throw new Error(x);let a=r+"1";for(let f=0;f<i.length;++f){let d=i[f];if(d>>5!==0)throw new Error("Non 5-bit word");x=A(x)^d,a+=M.charAt(d)}for(let f=0;f<6;++f)x=A(x);x^=t;for(let f=0;f<6;++f){let d=x>>(5-f)*5&31;a+=M.charAt(d)}return a}function n(r,i){if(i=i||90,r.length<8)return r+" too short";if(r.length>i)return"Exceeds length limit";let h=r.toLowerCase(),x=r.toUpperCase();if(r!==h&&r!==x)return"Mixed-case string "+r;r=h;let a=r.lastIndexOf("1");if(a===-1)return"No separator character for "+r;if(a===0)return"Missing prefix for "+r;let f=r.slice(0,a),d=r.slice(a+1);if(d.length<6)return"Data too short";let u=Y(f);if(typeof u=="string")return u;let g=[];for(let l=0;l<d.length;++l){let L=d.charAt(l),E=Z[L];if(E===void 0)return"Unknown character "+L;u=A(u)^E,!(l+6>=d.length)&&g.push(E)}return u!==t?"Invalid checksum for "+r:{prefix:f,words:g}}function s(r,i){let h=n(r,i);if(typeof h=="object")return h}function c(r,i){let h=n(r,i);if(typeof h=="object")return h;throw new Error(h)}return{decodeUnsafe:s,decode:c,encode:o,toWords:ut,fromWordsUnsafe:lt,fromWords:bt}}H.bech32=tt("bech32");H.bech32m=tt("bech32m")});var z=(n=>(n[n.Mainnet=0]="Mainnet",n[n.Regtest=1]="Regtest",n[n.Testnet=2]="Testnet",n))(z||{}),X=(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))(X||{});var p=class extends Error{},B=class extends p{},k=class extends p{},_=class extends p{},I=class extends p{},S=class extends p{},F=class extends p{},y=class extends p{},D=class extends p{};import{isNullish as rt}from"@dfinity/utils";function it(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function P(e,...t){if(!it(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function W(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function K(e,t){P(e);let o=t.outputLen;if(e.length<o)throw new Error("digestInto() expects output buffer of length at least "+o)}function C(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function G(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function b(e,t){return e<<32-t|e>>>t}function ft(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function v(e){return typeof e=="string"&&(e=ft(e)),P(e),e}var T=class{};function $(e){let t=n=>e().update(v(n)).digest(),o=e();return t.outputLen=o.outputLen,t.blockLen=o.blockLen,t.create=()=>e(),t}function ht(e,t,o,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,o,n);let s=BigInt(32),c=BigInt(4294967295),r=Number(o>>s&c),i=Number(o&c),h=n?4:0,x=n?0:4;e.setUint32(t+h,r,n),e.setUint32(t+x,i,n)}function q(e,t,o){return e&t^~e&o}function J(e,t,o){return e&t^e&o^t&o}var V=class extends T{constructor(t,o,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=o,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(t),this.view=G(this.buffer)}update(t){W(this),t=v(t),P(t);let{view:o,buffer:n,blockLen:s}=this,c=t.length;for(let r=0;r<c;){let i=Math.min(s-this.pos,c-r);if(i===s){let h=G(t);for(;s<=c-r;r+=s)this.process(h,r);continue}n.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===s&&(this.process(o,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){W(this),K(t,this),this.finished=!0;let{buffer:o,view:n,blockLen:s,isLE:c}=this,{pos:r}=this;o[r++]=128,C(this.buffer.subarray(r)),this.padOffset>s-r&&(this.process(n,0),r=0);for(let f=r;f<s;f++)o[f]=0;ht(n,s-8,BigInt(this.length*8),c),this.process(n,0);let i=G(t),h=this.outputLen;if(h%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let x=h/4,a=this.get();if(x>a.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<x;f++)i.setUint32(4*f,a[f],c)}digest(){let{buffer:t,outputLen:o}=this;this.digestInto(t);let n=t.slice(0,o);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:o,buffer:n,length:s,finished:c,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=c,t.length=s,t.pos=i,s%o&&t.buffer.set(n),t}clone(){return this._cloneInto()}},w=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var at=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),m=new Uint32Array(64),N=class extends V{constructor(t=32){super(64,t,8,!1),this.A=w[0]|0,this.B=w[1]|0,this.C=w[2]|0,this.D=w[3]|0,this.E=w[4]|0,this.F=w[5]|0,this.G=w[6]|0,this.H=w[7]|0}get(){let{A:t,B:o,C:n,D:s,E:c,F:r,G:i,H:h}=this;return[t,o,n,s,c,r,i,h]}set(t,o,n,s,c,r,i,h){this.A=t|0,this.B=o|0,this.C=n|0,this.D=s|0,this.E=c|0,this.F=r|0,this.G=i|0,this.H=h|0}process(t,o){for(let f=0;f<16;f++,o+=4)m[f]=t.getUint32(o,!1);for(let f=16;f<64;f++){let d=m[f-15],u=m[f-2],g=b(d,7)^b(d,18)^d>>>3,l=b(u,17)^b(u,19)^u>>>10;m[f]=l+m[f-7]+g+m[f-16]|0}let{A:n,B:s,C:c,D:r,E:i,F:h,G:x,H:a}=this;for(let f=0;f<64;f++){let d=b(i,6)^b(i,11)^b(i,25),u=a+d+q(i,h,x)+at[f]+m[f]|0,l=(b(n,2)^b(n,13)^b(n,22))+J(n,s,c)|0;a=x,x=h,h=i,i=r+u|0,r=c,c=s,s=n,n=u+l|0}n=n+this.A|0,s=s+this.B|0,c=c+this.C|0,r=r+this.D|0,i=i+this.E|0,h=h+this.F|0,x=x+this.G|0,a=a+this.H|0,this.set(n,s,c,r,i,h,x,a)}roundClean(){C(m)}destroy(){this.set(0,0,0,0,0,0,0,0),C(this.buffer)}};var O=$(()=>new N);var xt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Q=xt;function dt(e){if(!e||typeof e!="string")throw new Error(`Expected base58 string but got \u201C${e}\u201D`);if(e.match(/[IOl0]/gmu))throw new Error(`Invalid base58 character \u201C${e.match(/[IOl0]/gmu)}\u201D`);let t=e.match(/^1+/gmu),o=t?t[0].length:0,n=(e.length-o)*(Math.log(58)/Math.log(256))+1>>>0;return new Uint8Array([...new Uint8Array(o),...e.match(/.{1}/gmu).map(s=>Q.indexOf(s)).reduce((s,c)=>(s=s.map(r=>{let i=r*58+c;return c=i>>8,i}),s),new Uint8Array(n)).reverse().filter((s=>c=>s=s||c)(!1))])}var R=dt;var U=ot(et());var pt=0,wt=5,gt=111,mt=196,yt={[pt]:{type:1,networks:[0]},[gt]:{type:1,networks:[2,1]},[wt]:{type:2,networks:[0]},[mt]:{type:2,networks:[2,1]}},At=({address:e,network:t})=>{let n=(a=>{try{return R(a)}catch{throw new B}})(e),{length:s}=n;if(s!==25)throw new y(`Expected the address to be 25 bytes, got ${s}.`);(a=>{let f=a.slice(s-4,s),d=a.slice(0,s-4),u=O.create();u.update(d);let g=O.create();g.update(u.digest());let l=g.digest().slice(0,4);if(f.some((L,E)=>L!==l[E]))throw new y(`Checksum mismatch expected ${f}, got ${l}.`)})(n);let[r]=n,i=yt[r];if(rt(i))throw new _;let{type:h,networks:x}=i;if(!x.includes(t))throw new D;return{address:e,network:t,type:h,parser:"base58"}},Ht=({address:e,network:t})=>{let o=a=>{try{return a.startsWith("bc1p")||a.startsWith("tb1p")||a.startsWith("bcrt1p")?U.bech32m.decode(a):U.bech32.decode(a)}catch{throw new y}},{prefix:n,words:s}=o(e),r={bc:0,tb:2,bcrt:1}[n];if(rt(r))throw new B;if(r!==t)throw new F;let[i,...h]=s;if(i>1)throw new S;switch(U.bech32.fromWords(h).length){case 20:return{address:e,network:t,type:0,parser:"bip-173"};case 32:return{address:e,network:t,type:i===0?3:4,parser:"bip-173"};default:throw new I}},ce=({address:e,network:t=0})=>{switch(e.charAt(0)){case"1":case"2":case"3":case"m":case"n":return At({address:e,network:t});case"b":case"B":case"t":case"T":return Ht({address:e,network:t});case"":throw new k;default:throw new _}};export{st as BitcoinCanister,X as BtcAddressType,z as BtcNetwork,ct as CkBTCMinterCanister,Ut as MinterAlreadyProcessingError,Ft as MinterAmountTooLowError,_t as MinterGenericError,Tt as MinterInsufficientAllowanceError,Dt as MinterInsufficientFundsError,St as MinterMalformedAddressError,kt as MinterNoNewUtxosError,It as MinterRetrieveBtcError,Ct as MinterTemporaryUnavailableError,Lt as MinterUpdateBalanceError,I as ParseBtcAddressBadWitnessLengthError,p as ParseBtcAddressError,B as ParseBtcAddressInvalidError,y as ParseBtcAddressMalformedAddressError,k as ParseBtcAddressNoDataError,F as ParseBtcAddressUnexpectedHumanReadablePartError,_ as ParseBtcAddressUnsupportedAddressTypeError,S as ParseBtcAddressUnsupportedWitnessVersionError,D as ParseBtcAddressWrongNetworkError,Gt as createRetrieveBtcError,Vt as createRetrieveBtcWithApprovalError,Pt as createUpdateBalanceError,ce as parseBtcAddress,Bt as toGetBalanceParams,Et as toGetUtxosParams};
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/esm/utils.js:
@@ -1,2 +1,2 @@
1
- import{n as a}from"./chunk-HAU7JR75.js";import"./chunk-FW4363Y4.js";export{a as CkBTCMinterCanister};
1
+ import{n as a}from"./chunk-E4ZZJDK5.js";import"./chunk-FW4363Y4.js";export{a as CkBTCMinterCanister};
2
2
  //# sourceMappingURL=minter.canister.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dfinity/ckbtc",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
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
- import{Canister as D,createServices as tt,fromNullable as et,isNullish as rt,toNullable as o}from"@dfinity/utils";var H=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),i=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:c,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),R=t.Variant({Upgrade:t.Opt(r),Init:i}),u=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),x=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),v=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:x,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),b=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),y=t.Record({status:u,memory_size:t.Nat,cycles:t.Nat,settings:v,query_stats:b,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),n=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),a=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})}),_=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),f=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)}),g=t.Variant({received_utxos:t.Record({to_account:n,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(a)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:n,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(a),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:i,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:a,account:n,reason:_}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:f,reimbursement_account:t.Opt(n),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:a,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),old_txid:t.Vec(t.Nat8),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64}),checked_utxo_v2:t.Record({utxo:a,account:n}),ignored_utxo:t.Record({utxo:a}),checked_utxo_mint_unknown:t.Record({utxo:a,account:n}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),O=t.Record({timestamp:t.Opt(t.Nat64),payload:g}),V=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),k=t.Record({address:t.Text,amount:t.Nat64}),p=t.Record({block_index:t.Nat64}),h=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})}),w=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}),P=t.Record({account:n,amount:t.Nat64,reason:s}),T=t.Record({account:n,mint_block_index:t.Nat64,amount:t.Nat64,reason:s}),N=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:P,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:T,Pending:t.Null}),B=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),A=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})}),U=t.Variant({ValueTooSmall:a,Tainted:a,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:a}),Checked:a}),S=t.Nat64,F=t.Record({utxo:a,earliest_retry:S,reason:_}),q=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),C=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(F)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(q)),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([],[y],[]),get_deposit_fee:t.Func([],[t.Nat64],[]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(O)],[]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(a)],[]),get_minter_info:t.Func([],[V],[]),get_withdrawal_account:t.Func([],[n],[]),retrieve_btc:t.Func([k],[t.Variant({Ok:p,Err:h})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[w],[]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[N],[]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(n)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(N)}))],[]),retrieve_btc_with_approval:t.Func([B],[t.Variant({Ok:p,Err:A})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(U),Err:C})],[])})};var X=({IDL:t})=>{let e=t.Variant({RestrictedTo:t.Vec(t.Principal),DepositsRestrictedTo:t.Vec(t.Principal),ReadOnly:t.Null,GeneralAvailability:t.Null}),r=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),mode:t.Opt(e),retrieve_btc_min_amount:t.Opt(t.Nat64),max_time_in_queue_nanos:t.Opt(t.Nat64),check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),c=t.Variant({Mainnet:t.Null,Regtest:t.Null,Testnet:t.Null}),i=t.Record({get_utxos_cache_expiration_seconds:t.Opt(t.Nat64),kyt_principal:t.Opt(t.Principal),ecdsa_key_name:t.Text,mode:e,retrieve_btc_min_amount:t.Nat64,ledger_id:t.Principal,max_time_in_queue_nanos:t.Nat64,btc_network:c,check_fee:t.Opt(t.Nat64),btc_checker_principal:t.Opt(t.Principal),min_confirmations:t.Opt(t.Nat32),kyt_fee:t.Opt(t.Nat64)}),R=t.Variant({Upgrade:t.Opt(r),Init:i}),u=t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),x=t.Variant({controllers:t.Null,public:t.Null,allowed_viewers:t.Vec(t.Principal)}),v=t.Record({freezing_threshold:t.Nat,controllers:t.Vec(t.Principal),reserved_cycles_limit:t.Nat,log_visibility:x,wasm_memory_limit:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),b=t.Record({response_payload_bytes_total:t.Nat,num_instructions_total:t.Nat,num_calls_total:t.Nat,request_payload_bytes_total:t.Nat}),y=t.Record({status:u,memory_size:t.Nat,cycles:t.Nat,settings:v,query_stats:b,idle_cycles_burned_per_day:t.Nat,module_hash:t.Opt(t.Vec(t.Nat8)),reserved_cycles:t.Nat}),n=t.Record({owner:t.Principal,subaccount:t.Opt(t.Vec(t.Nat8))}),a=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})}),_=t.Variant({ValueTooSmall:t.Null,Quarantined:t.Null}),f=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)}),g=t.Variant({received_utxos:t.Record({to_account:n,mint_txid:t.Opt(t.Nat64),utxos:t.Vec(a)}),schedule_deposit_reimbursement:t.Record({burn_block_index:t.Nat64,account:n,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(a),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:i,upgrade:r,retrieve_btc_kyt_failed:t.Record({block_index:t.Nat64,owner:t.Principal,uuid:t.Text,address:t.Text,amount:t.Nat64,kyt_provider:t.Principal}),suspended_utxo:t.Record({utxo:a,account:n,reason:_}),accepted_retrieve_btc_request:t.Record({received_at:t.Nat64,block_index:t.Nat64,address:f,reimbursement_account:t.Opt(n),amount:t.Nat64,kyt_provider:t.Opt(t.Principal)}),checked_utxo:t.Record({clean:t.Bool,utxo:a,uuid:t.Text,kyt_provider:t.Opt(t.Principal)}),removed_retrieve_btc_request:t.Record({block_index:t.Nat64}),confirmed_transaction:t.Record({txid:t.Vec(t.Nat8)}),replaced_transaction:t.Record({fee:t.Nat64,change_output:t.Record({value:t.Nat64,vout:t.Nat32}),old_txid:t.Vec(t.Nat8),new_txid:t.Vec(t.Nat8),submitted_at:t.Nat64}),checked_utxo_v2:t.Record({utxo:a,account:n}),ignored_utxo:t.Record({utxo:a}),checked_utxo_mint_unknown:t.Record({utxo:a,account:n}),reimbursed_failed_deposit:t.Record({burn_block_index:t.Nat64,mint_block_index:t.Nat64})}),O=t.Record({timestamp:t.Opt(t.Nat64),payload:g}),V=t.Record({retrieve_btc_min_amount:t.Nat64,min_confirmations:t.Nat32,kyt_fee:t.Nat64}),k=t.Record({address:t.Text,amount:t.Nat64}),p=t.Record({block_index:t.Nat64}),h=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})}),w=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}),P=t.Record({account:n,amount:t.Nat64,reason:s}),T=t.Record({account:n,mint_block_index:t.Nat64,amount:t.Nat64,reason:s}),N=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:P,Unknown:t.Null,Submitted:t.Record({txid:t.Vec(t.Nat8)}),Reimbursed:T,Pending:t.Null}),B=t.Record({from_subaccount:t.Opt(t.Vec(t.Nat8)),address:t.Text,amount:t.Nat64}),A=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})}),U=t.Variant({ValueTooSmall:a,Tainted:a,Minted:t.Record({minted_amount:t.Nat64,block_index:t.Nat64,utxo:a}),Checked:a}),S=t.Nat64,F=t.Record({utxo:a,earliest_retry:S,reason:_}),q=t.Record({confirmations:t.Nat32,value:t.Nat64,outpoint:t.Record({txid:t.Vec(t.Nat8),vout:t.Nat32})}),C=t.Variant({GenericError:t.Record({error_message:t.Text,error_code:t.Nat64}),TemporarilyUnavailable:t.Text,AlreadyProcessing:t.Null,NoNewUtxos:t.Record({suspended_utxos:t.Opt(t.Vec(F)),required_confirmations:t.Nat32,pending_utxos:t.Opt(t.Vec(q)),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([],[y],[]),get_deposit_fee:t.Func([],[t.Nat64],["query"]),get_events:t.Func([t.Record({start:t.Nat64,length:t.Nat64})],[t.Vec(O)],["query"]),get_known_utxos:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Vec(a)],["query"]),get_minter_info:t.Func([],[V],["query"]),get_withdrawal_account:t.Func([],[n],[]),retrieve_btc:t.Func([k],[t.Variant({Ok:p,Err:h})],[]),retrieve_btc_status:t.Func([t.Record({block_index:t.Nat64})],[w],["query"]),retrieve_btc_status_v2:t.Func([t.Record({block_index:t.Nat64})],[N],["query"]),retrieve_btc_status_v2_by_account:t.Func([t.Opt(n)],[t.Vec(t.Record({block_index:t.Nat64,status_v2:t.Opt(N)}))],["query"]),retrieve_btc_with_approval:t.Func([B],[t.Variant({Ok:p,Err:A})],[]),update_balance:t.Func([t.Record({owner:t.Opt(t.Principal),subaccount:t.Opt(t.Vec(t.Nat8))})],[t.Variant({Ok:t.Vec(U),Err:C})],[])})};import{fromNullable as L,nonNullish as K}from"@dfinity/utils";var d=class extends Error{},E=class extends d{},W=class extends d{},m=class extends d{},M=class extends m{pendingUtxos;requiredConfirmations;constructor({pending_utxos:e,required_confirmations:r}){super(),this.pendingUtxos=L(e)??[],this.requiredConfirmations=r}},l=class extends d{},G=class extends l{},$=class extends l{},Q=class extends l{},z=class extends l{},J=t=>{if("GenericError"in t){let{GenericError:{error_message:e,error_code:r}}=t;return new d(`${e} (${r})`)}if("TemporarilyUnavailable"in t)return new E(t.TemporarilyUnavailable);if("AlreadyProcessing"in t)return new W},Y=t=>{let e=J(t);return K(e)?e:"NoNewUtxos"in t?new M(t.NoNewUtxos):new m(`Unsupported response type in minter.updateBalance ${JSON.stringify(t)}`)},j=t=>{let e=J(t);return K(e)?e:"MalformedAddress"in t?new G(t.MalformedAddress):"AmountTooLow"in t?new $(`${t.AmountTooLow}`):"InsufficientFunds"in t?new Q(`${t.InsufficientFunds.balance}`):new l(`Unsupported response type in minter.retrieveBtc ${JSON.stringify(t)}`)},Z=t=>{let e=J(t);return K(e)?e:"InsufficientAllowance"in t?new z(`${t.InsufficientAllowance.allowance}`):j(t)};var I=class t extends D{static create(e){let{service:r,certifiedService:c,canisterId:i}=tt({options:e,idlFactory:X,certifiedIdlFactory:H});return new t(i,r,c)}getBtcAddress=({owner:e,subaccount:r})=>this.caller({certified:!0}).get_btc_address({owner:o(e),subaccount:o(r)});updateBalance=async({owner:e,subaccount:r})=>{let c=await this.caller({certified:!0}).update_balance({owner:o(e),subaccount:o(r)});if("Err"in c)throw Y(c.Err);return c.Ok};getWithdrawalAccount=()=>this.caller({certified:!0}).get_withdrawal_account();retrieveBtc=async e=>{let r=await this.caller({certified:!0}).retrieve_btc(e);if("Err"in r)throw j(r.Err);return r.Ok};retrieveBtcWithApproval=async({address:e,amount:r,fromSubaccount:c})=>{let i=await this.caller({certified:!0}).retrieve_btc_with_approval({address:e,amount:r,from_subaccount:o(c)});if("Err"in i)throw Z(i.Err);return i.Ok};retrieveBtcStatus=({transactionId:e,certified:r})=>this.caller({certified:r}).retrieve_btc_status({block_index:e});retrieveBtcStatusV2ByAccount=async({account:e,certified:r})=>{let{retrieve_btc_status_v2_by_account:c}=this.caller({certified:r});return(await c(rt(e)?[]:[{owner:e.owner,subaccount:o(e.subaccount)}])).map(({block_index:R,status_v2:u})=>({id:R,status:et(u)}))};estimateWithdrawalFee=({certified:e,amount:r})=>this.caller({certified:e}).estimate_withdrawal_fee({amount:o(r)});getMinterInfo=({certified:e})=>this.caller({certified:e}).get_minter_info();getKnownUtxos=({owner:e,subaccount:r,certified:c})=>{let{get_known_utxos:i}=this.caller({certified:c});return i({owner:o(e),subaccount:o(r)})}};export{d as a,E as b,W as c,m as d,M as e,l as f,G as g,$ as h,Q as i,z as j,Y as k,j as l,Z as m,I as n};
2
- //# sourceMappingURL=chunk-HAU7JR75.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 Utxo,\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 { CkBTCCanisterOptions } 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: CkBTCCanisterOptions<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 = ({\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 = ({\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 = ({ 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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Nat,\n 'log_visibility' : LogVisibility,\n 'wasm_memory_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 SuspendedReason = IDL.Variant({\n 'ValueTooSmall' : IDL.Null,\n 'Quarantined' : IDL.Null,\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 EventType = 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 'suspended_utxo' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n 'reason' : SuspendedReason,\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 'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'checked_utxo_mint_unknown' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const Event = IDL.Record({\n 'timestamp' : IDL.Opt(IDL.Nat64),\n 'payload' : EventType,\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 Timestamp = IDL.Nat64;\n const SuspendedUtxo = IDL.Record({\n 'utxo' : Utxo,\n 'earliest_retry' : Timestamp,\n 'reason' : SuspendedReason,\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 'suspended_utxos' : IDL.Opt(IDL.Vec(SuspendedUtxo)),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 LogVisibility = IDL.Variant({\n 'controllers' : IDL.Null,\n 'public' : IDL.Null,\n 'allowed_viewers' : IDL.Vec(IDL.Principal),\n });\n const DefiniteCanisterSettings = IDL.Record({\n 'freezing_threshold' : IDL.Nat,\n 'controllers' : IDL.Vec(IDL.Principal),\n 'reserved_cycles_limit' : IDL.Nat,\n 'log_visibility' : LogVisibility,\n 'wasm_memory_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 SuspendedReason = IDL.Variant({\n 'ValueTooSmall' : IDL.Null,\n 'Quarantined' : IDL.Null,\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 EventType = 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 'suspended_utxo' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n 'reason' : SuspendedReason,\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 'checked_utxo_v2' : IDL.Record({ 'utxo' : Utxo, 'account' : Account }),\n 'ignored_utxo' : IDL.Record({ 'utxo' : Utxo }),\n 'checked_utxo_mint_unknown' : IDL.Record({\n 'utxo' : Utxo,\n 'account' : Account,\n }),\n 'reimbursed_failed_deposit' : IDL.Record({\n 'burn_block_index' : IDL.Nat64,\n 'mint_block_index' : IDL.Nat64,\n }),\n });\n const Event = IDL.Record({\n 'timestamp' : IDL.Opt(IDL.Nat64),\n 'payload' : EventType,\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 Timestamp = IDL.Nat64;\n const SuspendedUtxo = IDL.Record({\n 'utxo' : Utxo,\n 'earliest_retry' : Timestamp,\n 'reason' : SuspendedReason,\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 'suspended_utxos' : IDL.Opt(IDL.Vec(SuspendedUtxo)),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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 'get_utxos_cache_expiration_seconds' : IDL.Opt(IDL.Nat64),\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 'check_fee' : IDL.Opt(IDL.Nat64),\n 'btc_checker_principal' : IDL.Opt(IDL.Principal),\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", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "SuspendedReason", "BitcoinAddress", "EventType", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "Timestamp", "SuspendedUtxo", "PendingUtxo", "UpdateBalanceError", "idlFactory", "IDL", "Mode", "UpgradeArgs", "BtcNetwork", "InitArgs", "MinterArg", "CanisterStatusType", "LogVisibility", "DefiniteCanisterSettings", "QueryStats", "CanisterStatusResponse", "Account", "Utxo", "ReimbursementReason", "SuspendedReason", "BitcoinAddress", "EventType", "Event", "MinterInfo", "RetrieveBtcArgs", "RetrieveBtcOk", "RetrieveBtcError", "RetrieveBtcStatus", "ReimbursementRequest", "ReimbursedDeposit", "RetrieveBtcStatusV2", "RetrieveBtcWithApprovalArgs", "RetrieveBtcWithApprovalError", "UtxoStatus", "Timestamp", "SuspendedUtxo", "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", "options", "service", "certifiedService", "canisterId", "createServices", "idlFactory", "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"]
7
- }