@swapkit/toolboxes 4.3.7 → 4.3.8

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.
Files changed (59) hide show
  1. package/dist/src/evm/index.cjs +2 -2
  2. package/dist/src/evm/index.cjs.map +7 -7
  3. package/dist/src/evm/index.js +2 -2
  4. package/dist/src/evm/index.js.map +7 -7
  5. package/dist/src/index.cjs +3 -3
  6. package/dist/src/index.cjs.map +12 -12
  7. package/dist/src/index.js +3 -3
  8. package/dist/src/index.js.map +12 -12
  9. package/dist/src/near/index.cjs +2 -2
  10. package/dist/src/near/index.cjs.map +3 -3
  11. package/dist/src/near/index.js +2 -2
  12. package/dist/src/near/index.js.map +3 -3
  13. package/dist/src/radix/index.cjs +2 -2
  14. package/dist/src/radix/index.cjs.map +3 -3
  15. package/dist/src/radix/index.js +2 -2
  16. package/dist/src/radix/index.js.map +3 -3
  17. package/dist/src/solana/index.cjs +2 -2
  18. package/dist/src/solana/index.cjs.map +3 -3
  19. package/dist/src/solana/index.js +2 -2
  20. package/dist/src/solana/index.js.map +3 -3
  21. package/dist/src/substrate/index.cjs +2 -2
  22. package/dist/src/substrate/index.cjs.map +3 -3
  23. package/dist/src/substrate/index.js +2 -2
  24. package/dist/src/substrate/index.js.map +3 -3
  25. package/dist/src/sui/index.cjs +2 -2
  26. package/dist/src/sui/index.cjs.map +3 -3
  27. package/dist/src/sui/index.js +2 -2
  28. package/dist/src/sui/index.js.map +3 -3
  29. package/dist/src/ton/index.cjs +2 -2
  30. package/dist/src/ton/index.cjs.map +3 -3
  31. package/dist/src/ton/index.js +2 -2
  32. package/dist/src/ton/index.js.map +3 -3
  33. package/dist/src/utxo/index.cjs +3 -3
  34. package/dist/src/utxo/index.cjs.map +3 -3
  35. package/dist/src/utxo/index.js +3 -3
  36. package/dist/src/utxo/index.js.map +3 -3
  37. package/dist/types/evm/helpers.d.ts +1 -1
  38. package/dist/types/evm/helpers.d.ts.map +1 -1
  39. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +2 -0
  40. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
  41. package/dist/types/evm/toolbox/evm.d.ts +38 -38
  42. package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
  43. package/dist/types/evm/toolbox/op.d.ts +2 -14
  44. package/dist/types/evm/toolbox/op.d.ts.map +1 -1
  45. package/dist/types/radix/index.d.ts.map +1 -1
  46. package/dist/types/solana/toolbox.d.ts.map +1 -1
  47. package/dist/types/sui/toolbox.d.ts.map +1 -1
  48. package/dist/types/utils.d.ts.map +1 -1
  49. package/package.json +2 -2
  50. package/src/evm/helpers.ts +7 -9
  51. package/src/evm/toolbox/baseEVMToolbox.ts +4 -1
  52. package/src/evm/toolbox/evm.ts +2 -3
  53. package/src/evm/toolbox/op.ts +1 -21
  54. package/src/radix/index.ts +7 -1
  55. package/src/solana/toolbox.ts +2 -8
  56. package/src/substrate/balance.ts +2 -2
  57. package/src/sui/toolbox.ts +4 -3
  58. package/src/ton/toolbox.ts +2 -2
  59. package/src/utils.ts +8 -1
@@ -1,5 +1,5 @@
1
- var QZ=Object.create;var{getPrototypeOf:$Z,defineProperty:WX,getOwnPropertyNames:jZ}=Object;var qZ=Object.prototype.hasOwnProperty;var PB=(X,Z,B)=>{B=X!=null?QZ($Z(X)):{};let G=Z||!X||!X.__esModule?WX(B,"default",{value:X,enumerable:!0}):B;for(let $ of jZ(X))if(!qZ.call(G,$))WX(G,$,{get:()=>X[$],enumerable:!0});return G};var WZ=(X,Z)=>{for(var B in Z)WX(X,B,{get:Z[B],enumerable:!0,configurable:!0,set:(G)=>Z[B]=()=>G})};var H=(X,Z)=>()=>(X&&(Z=X(X=0)),Z);var VB=((X)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(X,{get:(Z,B)=>(typeof require<"u"?require:Z)[B]}):X)(function(X){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+X+'" is not supported')});import{AssetValue as LZ,getChainConfig as TZ}from"@swapkit/helpers";import{SwapKitApi as YZ}from"@swapkit/helpers/api";function kX(){function X(){let Z=Date.now(),B=LX||Z;return LX=B,Z>LX?Z:B+1}return DZ+X().toString(36)}function EX(X){return async function(B,G=!0){let $=await YZ.getChainBalance({address:B,chain:X,scamFilter:G}),{baseDecimal:Q}=TZ(X);return $.map(({identifier:J,value:j,decimal:q})=>{return new LZ({decimal:q||Q,identifier:J,value:j})})}}var DZ,LX=0;var TX=H(()=>{DZ=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{networks as UZ}from"@bitgo/utxo-lib";import{Chain as C,getRPCUrl as zZ,RequestClient as t,SKConfig as CZ,SwapKitError as k,warnOnce as IZ}from"@swapkit/helpers";import{networks as MZ}from"bitcoinjs-lib";import p from"coininfo";async function _Z({chain:X,txHash:Z}){let B=`${e(X)}/push/transaction`,G=JSON.stringify({data:Z});try{let $=await t.post(B,{body:G,headers:{"Content-Type":"application/json"}});if($.context.code!==200)throw new k("toolbox_utxo_broadcast_failed",{error:$.context.error||"Transaction broadcast failed"});return $.data?.transaction_hash||Z}catch($){let Q=await zZ(X);if(Q){let J=JSON.stringify({id:kX(),jsonrpc:"2.0",method:"sendrawtransaction",params:[Z]}),j=await t.post(Q,{body:J,headers:{"Content-Type":"application/json"}});if(j.error)throw new k("toolbox_utxo_broadcast_failed",{error:j.error?.message});if(j.result.includes('"code":-26'))throw new k("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return j.result}throw $}}function e(X){return`https://api.blockchair.com/${HZ(X)}`}function fX(X){switch(X){case C.Bitcoin:return 5;case C.Dogecoin:return 1e4;case C.Litecoin:return 1;case C.Zcash:return 1;default:return 2}}function HZ(X){switch(X){case C.BitcoinCash:return"bitcoin-cash";case C.Litecoin:return"litecoin";case C.Dash:return"dash";case C.Dogecoin:return"dogecoin";case C.Zcash:return"zcash";case C.Polkadot:return"polkadot";default:return"bitcoin"}}async function vZ(X){try{let{feePerKb:Z}=await t.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),B=Z/1000;return Math.max(B,fX(X))}catch{return fX(X)}}async function YX(X,Z){let B=await t.get(`${X}${Z?`${X.includes("?")?"&":"?"}key=${Z}`:""}`);if(!B||B.context.code!==200)throw new k("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return B.data}async function wX({address:X,chain:Z,apiKey:B}){if(!X)throw new k("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await YX(`${e(Z)}/dashboards/address/${X}?transaction_details=true`,B))[X]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function NZ({address:X,chain:Z,apiKey:B}){return(await wX({address:X,apiKey:B,chain:Z}))?.address.balance||0}async function PX({chain:X,apiKey:Z,txHash:B}){if(!B)throw new k("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await YX(`${e(X)}/raw/transaction/${B}`,Z))?.[B]?.raw_transaction||""}catch(G){let $=G instanceof Error?G.message:String(G);return console.error(`Failed to fetch raw transaction: ${$}`),""}}async function OZ({chain:X,address:Z,apiKey:B,offset:G=0,limit:$=30}){return(await YX(`${e(X)}/outputs?q=recipient(${Z}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${$}&offset=${G}`,B)).map(({is_spent:q,script_hex:W,block_id:L,transaction_hash:T,index:D,value:Y,spending_signature_hex:U})=>({hash:T,index:D,is_confirmed:L!==-1,is_spent:q,script_hex:W,txHex:U,value:Y}))}function yZ(X){return X.reduce((Z,B)=>Z+B.value,0)}function RX(X,Z){let B=[...X].sort((G,$)=>$.value-G.value);if(Z){let G=[],$=0;for(let Q of B)if(G.push(Q),$+=Q.value,$>=Z)break;return G}return B}async function VX({chain:X,address:Z,apiKey:B,targetValue:G,accumulativeValue:$=0,offset:Q=0,limit:J=30}){if(!Z)throw new k("toolbox_utxo_invalid_params",{error:"Address is required"});try{let j=await OZ({address:Z,apiKey:B,chain:X,limit:J,offset:Q,targetValue:G}),W=j.length<J,L=j.filter(({is_spent:z})=>!z),T=yZ(L),D=$+T,Y=G&&D>=G;if(W||Y)return RX(L,G);let U=await VX({accumulativeValue:D,address:Z,apiKey:B,chain:X,limit:J,offset:Q+J,targetValue:G}),I=[...L,...U];return RX(I,G)}catch(j){let q=j instanceof Error?j.message:String(j);return console.error(`Failed to fetch unspent UTXOs: ${q}`),[]}}async function FZ({address:X,chain:Z,apiKey:B,fetchTxHex:G=!0,targetValue:$}){let Q=await VX({address:X,apiKey:B,chain:Z,targetValue:$}),J=[];for(let{hash:j,index:q,script_hex:W,value:L}of Q){let T;if(G)T=await PX({apiKey:B,chain:Z,txHash:j});J.push({address:X,hash:j,index:q,txHex:T,value:L,witnessUtxo:{script:Buffer.from(W,"hex"),value:L}})}return J}function M(X){let Z=CZ.get("apiKeys").blockchair||"";return IZ({condition:!Z,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(B)=>_Z({chain:X,txHash:B}),getAddressData:(B)=>wX({address:B,apiKey:Z,chain:X}),getBalance:(B)=>NZ({address:B,apiKey:Z,chain:X}),getRawTx:(B)=>PX({apiKey:Z,chain:X,txHash:B}),getSuggestedTxFee:()=>vZ(X),getUtxos:(B)=>FZ({...B,apiKey:Z,chain:X})}}function AZ(X){return X}function N(){return function(Z){switch(Z){case C.Bitcoin:return MZ.bitcoin;case C.BitcoinCash:return p.bitcoincash.main.toBitcoinJS();case C.Dash:return p.dash.main.toBitcoinJS();case C.Litecoin:return p.litecoin.main.toBitcoinJS();case C.Dogecoin:{let B={private:70615956,public:70617039},G=p.dogecoin.test;return G.versions.bip32=B,p.dogecoin.main.toBitcoinJS()}case C.Zcash:return UZ.zcash;default:throw new k("toolbox_utxo_not_supported",{chain:Z})}}}var bX=H(()=>{TX()});import{SwapKitError as SX}from"@swapkit/helpers";import xX from"bs58check";import gX from"cashaddrjs";function UX(X){try{return XX(X),!0}catch{return!1}}function zX(X){return XX(X)?.network}function x(X){let Z=XX(X);if(Z?.format==="legacy")return X;return fZ(Z)}function o(X){let Z=XX(X);return RZ(Z)}function XX(X){try{let Z=kZ(X);if(Z)return Z}catch{}try{let Z=EZ(X);if(Z)return Z}catch{}throw new SX("toolbox_utxo_invalid_address",{address:X})}function kZ(X){try{let Z=xX.decode(X);if(Z.length!==21)throw new SX("toolbox_utxo_invalid_address",{address:X});let B=Z[0],G=Array.prototype.slice.call(Z,1);switch(B){case P.legacy.mainnet.p2pkh:return{format:"legacy",hash:G,network:"mainnet",type:"p2pkh"};case P.legacy.mainnet.p2sh:return{format:"legacy",hash:G,network:"mainnet",type:"p2sh"};case P.legacy.testnet.p2pkh:return{format:"legacy",hash:G,network:"testnet",type:"p2pkh"};case P.legacy.testnet.p2sh:return{format:"legacy",hash:G,network:"testnet",type:"p2sh"};case P.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2pkh"};case P.bitpay.mainnet.p2sh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function EZ(X){if(X.indexOf(":")!==-1)try{return KX(X)}catch{}else{let Z=["bitcoincash","bchtest","bchreg"];for(let B of Z)try{return KX(`${B}:${X}`)}catch{}}return}function KX(X){try{let{hash:Z,prefix:B,type:G}=gX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(Z,0),network:B==="bitcoincash"?"mainnet":"testnet",type:G==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function fZ(X){let Z=P.legacy[X.network][X.type],B=Buffer.alloc(1+X.hash.length);return B[0]=Z,B.set(X.hash,1),xX.encode(B)}function RZ(X){let Z=X.network==="mainnet"?"bitcoincash":"bchtest",B=X.type==="p2pkh"?"P2PKH":"P2SH",G=new Uint8Array(X.hash);return gX.encode(Z,B,G)}var DX,P;var mX=H(()=>{((B)=>{B.Mainnet="mainnet";B.Testnet="testnet"})(DX||={});P={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as wZ}from"@swapkit/helpers";import{opcodes as PZ,script as VZ}from"bitcoinjs-lib";function O(X){let Z=Buffer.from(X,"utf8");return VZ.compile([PZ.OP_RETURN,Z])}var bZ=1000,GX=10,lX=10,KZ=41,SZ=107,JX,ZX,BX,n=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new wZ("toolbox_utxo_invalid_address",{address:X})},g=({inputs:X,outputs:Z,feeRate:B})=>{let G=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",$=X.filter((J)=>J.value>=ZX["type"in J?J.type:"P2PKH"]*Math.ceil(B)).reduce((J,j)=>J+E(j),0),Q=Z?.reduce((J,j)=>J+u(j),0)||BX[G];return GX+$+Q},E=(X)=>{if("type"in X)return ZX[X.type];if("address"in X&&X.address)return ZX[n(X.address)];return KZ+SZ},u=(X,Z)=>{if(X?.script)return lX+X.script.length+(X.script.length>=74?2:1);if(Z)return BX[Z];return BX.P2PKH};var CX=H(()=>{((B)=>{B.P2PKH="P2PKH";B.P2WPKH="P2WPKH"})(JX||={});ZX={["P2PKH"]:148,["P2WPKH"]:68},BX={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as V,SwapKitError as xZ}from"@swapkit/helpers";function QX(X){switch(X){case V.Bitcoin:case V.BitcoinCash:return 550;case V.Dash:case V.Litecoin:return 5500;case V.Dogecoin:return 1e5;case V.Zcash:return 546;default:throw new xZ("toolbox_utxo_not_supported",{chain:X})}}function y({inputs:X,outputs:Z,feeRate:B=1,chain:G=V.Bitcoin,changeAddress:$=""}){let Q=Math.ceil(B),J=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",j=X.filter((Y)=>E(Y)*Q<=Y.value),q=GX+Z.reduce((Y,U)=>Y+u(U,J),0),W=Z.reduce((Y,U)=>Y+U.value,0),L=q*Q,T=0,D=[];for(let Y of j){let U=E(Y),I=Q*U;L+=I,T+=Y.value,D.push(Y);let z=L+W;if(T<z)continue;let R=T-z,w=Q*u({address:"",value:0},J);if(R>w){let FX=w+L,AX=T-(W+FX);if(AX>Math.max(E({})*Q,QX(G)))return{fee:FX,inputs:D,outputs:Z.concat({address:$,value:AX})}}return{fee:L,inputs:D,outputs:Z}}return{fee:Q*g({feeRate:Q,inputs:X,outputs:Z})}}var hX=H(()=>{CX()});var m=H(()=>{bX();mX();hX();CX()});import{networks as gZ,address as mZ}from"@bitgo/utxo-lib";import lZ from"bs58check";function b(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function f(X){let Z=b(X);return UX(Z)&&zX(Z)==="mainnet"}function l(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let Z=gZ.zcash;try{return mZ.toOutputScript(X,Z),!0}catch{let B=lZ.decode(X);if(B.length<21)return!1;let G=B[0];return G===Z.pubKeyHash||G===Z.scriptHash}}catch{return!1}}var r=H(()=>{m()});import MX from"@bitcoinerlab/secp256k1";import{ECPair as hZ,HDNode as cZ}from"@psf/bitcoincashjs-lib";import{HDKey as pZ}from"@scure/bip32";import{mnemonicToSeedSync as cX}from"@scure/bip39";import{AssetValue as IX,applyFeeMultiplier as pX,Chain as _,DerivationPath as oZ,derivationPathToString as nZ,FeeOption as F,NetworkDerivationPath as uZ,SwapKitError as A,SwapKitNumber as rZ,updateDerivationPath as dZ}from"@swapkit/helpers";import{address as iZ,initEccLib as nX,Psbt as sZ,payments as oX}from"bitcoinjs-lib";import{ECPairFactory as aZ}from"ecpair";function uX({inputs:X,outputs:Z,chain:B,psbt:G,sender:$,compiledMemo:Q}){for(let J of X){let j=!!J.witnessUtxo&&!d.includes(B)&&{witnessUtxo:J.witnessUtxo},q=d.includes(B)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};G.addInput({hash:J.hash,index:J.index,...j,...q})}for(let J of Z){let j="address"in J&&J.address?J.address:$,q=J.script;if(q&&!Q)continue;let W=q?{script:Q,value:0}:{address:j,value:J.value};nX(MX),G.addOutput(W)}return{inputs:X,psbt:G}}async function rX({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$,fetchTxHex:Q=!1}){let J=X.chain,j=B?await O(B):null,q=await sX({assetValue:X,fetchTxHex:Q,memo:B,recipient:Z,sender:$}),{inputs:W,outputs:L}=y({...q,chain:J,feeRate:G});if(!(W&&L))throw new A("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let T=await N(),D=new sZ({network:T(J)});if(J===_.Dogecoin)D.setMaximumFeeRate(650000000);let{psbt:Y,inputs:U}=await uX({chain:J,compiledMemo:j,inputs:W,outputs:L,psbt:D,sender:$});return{inputs:U,psbt:Y,utxos:q.inputs}}async function dX(){let X=await N();return function({address:B,chain:G}){if(G===_.BitcoinCash)return f(B);if(G===_.Zcash)return l(B);try{return nX(MX),iZ.toOutputScript(B,X(G)),!0}catch{return!1}}}async function tZ({chain:X,phrase:Z,derivationPath:B}){let G=(await i(X))({derivationPath:B,phrase:Z});async function $(J){return await J.signAllInputs(G),J}function Q(){return _X(X)(G)}return{getAddress:Q,signTransaction:$}}async function K({chain:X,...Z}){let B="phrase"in Z?Z.phrase:void 0,G="index"in Z?Z.index||0:0,$=nZ("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:dZ(uZ[X],{index:G})),Q=B?await tZ({chain:X,derivationPath:$,phrase:B}):("signer"in Z)?Z.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let j=await dX(),q=await i(X);return{accumulative:y,broadcastTx:(W)=>M(X).broadcastTx(W),calculateTxSize:g,createKeysForPath:q,createTransaction:rX,estimateMaxSendableAmount:eZ(X),estimateTransactionFee:XB(X),getAddress:J,getAddressFromKeys:_X(X),getBalance:EX(X),getFeeRates:()=>s(X),getInputsOutputsFee:iX,getPrivateKeyFromMnemonic:(W)=>{return q(W).toWIF()},transfer:ZB(Q),validateAddress:(W)=>j({address:W,chain:X})}}async function iX({assetValue:X,feeOptionKey:Z=F.Fast,feeRate:B,memo:G,sender:$,recipient:Q}){let J=X.chain,j=await sX({assetValue:X,memo:G,recipient:Q,sender:$}),q=B?Math.floor(B):(await s(J))[Z];return y({...j,chain:J,feeRate:q})}function eZ(X){return async function({from:B,memo:G,feeRate:$,feeOptionKey:Q=F.Fast,recipients:J=1}){let j=await M(X).getAddressData(B),q=$?Math.ceil($):(await s(X))[Q],W=j?.utxo.map((U)=>({...U,hash:"",type:"P2PKH"})).filter((U)=>U.value>Math.max(QX(X),E(U)*q));if(!W?.length)return IX.from({chain:X});let L=IX.from({chain:X,value:W.reduce((U,I)=>U+I.value,0)}),T=typeof J==="number"?Array.from({length:J},()=>({address:B,value:0})):J;if(G){let U=await O(G);T.push({address:B,script:U,value:0})}let Y=g({feeRate:q,inputs:W,outputs:T})*q;return L.sub(Y)}}function XB(X){return async(Z)=>{let B=await iX(Z);return IX.from({chain:X,value:rZ.fromBigInt(BigInt(B.fee),8).getValue("string")})}}async function i(X){let Z=await N();switch(X){case _.BitcoinCash:return function({phrase:G,derivationPath:$=`${oZ.BCH}/0`,wif:Q}){let J=Z(X);if(Q)return hZ.fromWIF(Q,J);if(!G)throw new A("toolbox_utxo_invalid_params",{error:"No phrase provided"});return cZ.fromSeedBuffer(Buffer.from(cX(G)),J).derivePath($).keyPair};case _.Bitcoin:case _.Dogecoin:case _.Litecoin:case _.Zcash:case _.Dash:return function({phrase:G,wif:$,derivationPath:Q}){if(!($||G))throw new A("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=aZ(MX),j=Z(X);if($)return J.fromWIF($,j);let q=cX(G),W=pZ.fromMasterSeed(q,j).derive(Q);if(!W.privateKey)throw new A("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(W.privateKey),{network:j})};default:throw new A("toolbox_utxo_not_supported",{chain:X})}}function _X(X){let Z=N();return function(G){if(!G)throw new A("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let $=d.includes(X)?oX.p2pkh:oX.p2wpkh,{address:Q}=$({network:Z(X),pubkey:G.publicKey});if(!Q)throw new A("toolbox_utxo_invalid_address",{error:"Address not defined"});return Q}}function ZB(X){return async function({memo:B,recipient:G,feeOptionKey:$,feeRate:Q,assetValue:J}){let j=await X?.getAddress(),q=J.chain;if(!(X&&j))throw new A("toolbox_utxo_no_signer");if(!G)throw new A("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=Q||(await s(q))[$||F.Fast],{psbt:L}=await rX({assetValue:J,feeRate:W,memo:B,recipient:G,sender:j}),T=await X.signTransaction(L);return T.finalizeAllInputs(),M(q).broadcastTx(T.extractTransaction().toHex())}}async function s(X){let Z=await M(X).getSuggestedTxFee();return{[F.Average]:Z,[F.Fast]:pX(Z,F.Fast),[F.Fastest]:pX(Z,F.Fastest)}}async function sX({assetValue:X,recipient:Z,memo:B,sender:G,fetchTxHex:$=!1}){let Q=X.chain,J=(await s(Q))[F.Fastest],j=$||d.includes(Q),q=X.getBaseValue("number"),W=Math.ceil(q+J*5000);return{inputs:await M(Q).getUtxos({address:G,fetchTxHex:j,targetValue:W}),outputs:[{address:Z,value:q},...B?[{address:"",script:await O(B),value:0}]:[]]}}var d;var a=H(()=>{TX();m();r();d=[_.Dash,_.Dogecoin,_.Zcash,_.BitcoinCash]});import{address as BB,Transaction as GB,TransactionBuilder as JB}from"@psf/bitcoincashjs-lib";import{Chain as QB,derivationPathToString as $B,FeeOption as jB,NetworkDerivationPath as qB,SwapKitError as h,updateDerivationPath as WB}from"@swapkit/helpers";import{Psbt as LB}from"bitcoinjs-lib";function S(X){return b(o(X))}function TB(X){function Z({builder:G,utxos:$}){return $.forEach((Q,J)=>{G.sign(J,X,void 0,65,Q.witnessUtxo?.value)}),G.build()}return{getAddress:()=>{let G=X.getAddress(0);return Promise.resolve(S(G))},signTransaction:Z}}async function HX(X){let Z="phrase"in X?X.phrase:void 0,B="index"in X?X.index||0:0,G=$B("derivationPath"in X&&X.derivationPath?X.derivationPath:WB(qB[v],{index:B})),$=Z?(await i(v))({derivationPath:G,phrase:Z}):void 0,Q=$?TB($):("signer"in X)?X.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let{getBalance:j,getFeeRates:q,broadcastTx:W,...L}=await K({chain:v});function T(D,Y=!0){return j(b(o(D)))}return{...L,broadcastTx:W,buildTx:DB,createTransaction:aX,getAddress:J,getAddressFromKeys:UB,getBalance:T,getFeeRates:q,stripPrefix:b,stripToCashAddress:S,transfer:YB({broadcastTx:W,getFeeRates:q,signer:Q}),validateAddress:f}}async function aX({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$}){if(!f(Z))throw new h("toolbox_utxo_invalid_address",{address:Z});let Q=Math.ceil(X.getBaseValue("number")+G*7500),J=await M(v).getUtxos({address:S($),fetchTxHex:!0,targetValue:Q}),j=B?await O(B):null,q=[];q.push({address:Z,value:X.getBaseValue("number")});let{inputs:W,outputs:L}=y({chain:v,feeRate:G,inputs:J,outputs:q});if(!(W&&L))throw new h("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let T=await N(),D=new JB(T(v));await Promise.all(W.map(async(Y)=>{let U=await M(v).getRawTx(Y.hash);D.addInput(GB.fromBuffer(Buffer.from(U,"hex")),Y.index)}));for(let Y of L){let U="address"in Y&&Y.address?Y.address:x($),I=await N(),z=BB.toOutputScript(x(U),I(v));D.addOutput(z,Y.value)}if(j)D.addOutput(j,0);return{builder:D,utxos:W}}function YB({broadcastTx:X,getFeeRates:Z,signer:B}){return async function({recipient:$,assetValue:Q,feeOptionKey:J=jB.Fast,...j}){let q=await B?.getAddress();if(!(B&&q))throw new h("toolbox_utxo_no_signer");if(!$)throw new h("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=j.feeRate||(await Z())[J],{builder:L,utxos:T}=await aX({...j,assetValue:Q,feeRate:W,recipient:$,sender:q}),Y=(await B.signTransaction({builder:L,utxos:T})).toHex();return X(Y)}}async function DB({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$,setSigHashType:Q}){let J=o(Z);if(!f(J))throw new h("toolbox_utxo_invalid_address",{address:J});let j=Math.ceil(X.getBaseValue("number")+G*7500),q=await M(v).getUtxos({address:S($),fetchTxHex:!1,targetValue:j}),W=Number(G.toFixed(0)),L=B?await O(B):null,T=[];if(T.push({address:x(Z),value:X.getBaseValue("number")}),L)T.push({script:L,value:0});let{inputs:D,outputs:Y}=y({chain:v,feeRate:W,inputs:q,outputs:T});if(!(D&&Y))throw new h("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let U=await N(),I=new LB({network:U(v)});for(let{hash:z,index:R,witnessUtxo:w}of D)I.addInput({hash:z,index:R,sighashType:Q?65:void 0,witnessUtxo:w});for(let z of Y){let R="address"in z&&z.address?z.address:x($),w=z.script?L?{script:L,value:0}:void 0:{address:R,value:z.value};if(w)I.addOutput(w)}return{inputs:D,psbt:I,utxos:q}}function UB(X){let Z=X.getAddress(0);return S(Z)}var v;var $X=H(()=>{m();a();r();v=QB.BitcoinCash});import{bitgo as zB,crypto as CB,ECPair as eX,networks as IB,address as MB}from"@bitgo/utxo-lib";import{HDKey as XZ}from"@scure/bip32";import{mnemonicToSeedSync as ZZ}from"@scure/bip39";import{Chain as jX,derivationPathToString as _B,FeeOption as HB,NetworkDerivationPath as vB,SKConfig as NB,SwapKitError as qX,updateDerivationPath as OB}from"@swapkit/helpers";import yB from"bs58check";import{match as FB,P as vX}from"ts-pattern";function BZ(){return IB.zcash}function GZ(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function AB({phrase:X,derivationPath:Z}){let B=ZZ(X),$=XZ.fromMasterSeed(B).derive(Z);if(!$.privateKey)throw new qX("toolbox_utxo_invalid_params");let Q=GZ(),J=eX.fromPrivateKey(Buffer.from($.privateKey),{network:Q}),j=CB.hash160(J.publicKey),{isStagenet:q}=NB.get("envs"),W=q?Buffer.from([29,37]):Buffer.from([28,184]),L=Buffer.concat([W,j]),T=yB.encode(L);return{getAddress:()=>Promise.resolve(T),signTransaction:(D)=>{let Y=D.signAllInputs(J);return Promise.resolve(Y)}}}function kB({inputs:X,outputs:Z,psbt:B,sender:G,compiledMemo:$}){for(let Q of X){let J=!!Q.witnessUtxo&&{witnessUtxo:{...Q.witnessUtxo,value:BigInt(Q.value)}},j=!Q.witnessUtxo&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};B.addInput({hash:Q.hash,index:Q.index,...J,...j})}for(let Q of Z){let J="address"in Q&&Q.address?Q.address:G,j=Q.script;if(j&&!$)continue;let q=j?{script:$,value:0n}:{script:MB.toOutputScript(J,BZ()),value:BigInt(Q.value)};B.addOutput(q)}return{inputs:X,psbt:B}}async function tX(X){let{assetValue:Z,recipient:B,memo:G,feeRate:$,sender:Q,fetchTxHex:J}=X,j=G?O(G):null,q=await M(jX.Zcash).getUtxos({address:Q,fetchTxHex:J!==!1}),W=[{address:B,value:Number(Z.getBaseValue("string"))},...j?[{script:j,value:0}]:[]],{inputs:L,outputs:T}=y({chain:jX.Zcash,changeAddress:Q,feeRate:$,inputs:q,outputs:W});if(!(L&&T))throw new qX("toolbox_utxo_insufficient_balance",{assetValue:Z,sender:Q});let D=zB.createPsbtForNetwork({network:BZ()},{version:455}),Y=1307332080,U=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),I=Buffer.allocUnsafe(4);I.writeUInt32LE(Y>>>0,0),D.addUnknownKeyValToGlobal({key:U,value:I});let{psbt:z,inputs:R}=await kB({compiledMemo:j,inputs:L,outputs:T,psbt:D,sender:Q});return{inputs:R,outputs:T,psbt:z}}async function NX(X){let Z=await FB(X).with({signer:vX.not(vX.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:vX.string},({phrase:J,derivationPath:j,index:q=0})=>{let W=j||vB[jX.Zcash]||[44,133,0,0,0],L=OB(W,{index:q}),T=_B(L);return AB({derivationPath:T,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),B=await K({chain:jX.Zcash,signer:Z});async function G({recipient:J,assetValue:j,feeOptionKey:q=HB.Fast,...W}){let L=await Z?.getAddress();if(!(Z&&L))throw new qX("toolbox_utxo_no_signer");let T=W.feeRate||(await B.getFeeRates())[q],{psbt:D}=await tX({...W,assetValue:j,feeRate:T,recipient:J,sender:L}),Y=await Z.signTransaction(D);return Y.finalizeAllInputs(),B.broadcastTx(Y.extractTransaction().toHex())}function $({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){let q=ZZ(J),L=XZ.fromMasterSeed(q).derive(j);if(!L.privateKey)throw new qX("toolbox_utxo_invalid_params");let T=GZ();return eX.fromPrivateKey(Buffer.from(L.privateKey),{network:T})}function Q({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){return $({derivationPath:j,phrase:J}).toWIF()}return{...B,createKeysForPath:$,createTransaction:tX,getPrivateKeyFromMnemonic:Q,transfer:G,validateAddress:l}}var OX=H(()=>{m();a();r()});import{Chain as c,SwapKitError as EB}from"@swapkit/helpers";async function fB(X,Z){switch(X){case c.BitcoinCash:return await HX(Z||{});case c.Zcash:return await NX(Z);case c.Bitcoin:case c.Dogecoin:case c.Litecoin:case c.Dash:return await K({chain:X,...Z});default:throw new EB("toolbox_utxo_not_supported",{chain:X})}}var JZ=H(()=>{$X();a();OX();$X();r()});var RB={};WZ(RB,{validateZcashAddress:()=>l,toLegacyAddress:()=>x,toCashAddress:()=>o,stripToCashAddress:()=>S,stripPrefix:()=>b,nonSegwitChains:()=>d,isValidAddress:()=>UX,getUtxoToolbox:()=>fB,getUtxoNetwork:()=>N,getUtxoApi:()=>M,getUTXOAddressValidator:()=>dX,getScriptTypeForAddress:()=>n,getOutputSize:()=>u,getInputSize:()=>E,getDustThreshold:()=>QX,getCreateKeysForPath:()=>i,detectAddressNetwork:()=>zX,createZcashToolbox:()=>NX,createUTXOToolbox:()=>K,createCustomUtxoApi:()=>AZ,createBCHToolbox:()=>HX,compileMemo:()=>O,calculateTxSize:()=>g,bchValidateAddress:()=>f,addressFromKeysGetter:()=>_X,addInputsAndOutputs:()=>uX,accumulative:()=>y,UtxoNetwork:()=>DX,UTXOScriptType:()=>JX,TX_OVERHEAD:()=>GX,OutputSizes:()=>BX,OP_RETURN_OVERHEAD:()=>lX,MIN_TX_FEE:()=>bZ,InputSizes:()=>ZX});var wB=H(()=>{m();JZ();$X();a();OX()});wB();export{l as validateZcashAddress,x as toLegacyAddress,o as toCashAddress,S as stripToCashAddress,b as stripPrefix,d as nonSegwitChains,UX as isValidAddress,fB as getUtxoToolbox,N as getUtxoNetwork,M as getUtxoApi,dX as getUTXOAddressValidator,n as getScriptTypeForAddress,u as getOutputSize,E as getInputSize,QX as getDustThreshold,i as getCreateKeysForPath,zX as detectAddressNetwork,NX as createZcashToolbox,K as createUTXOToolbox,AZ as createCustomUtxoApi,HX as createBCHToolbox,O as compileMemo,g as calculateTxSize,f as bchValidateAddress,_X as addressFromKeysGetter,uX as addInputsAndOutputs,y as accumulative,DX as UtxoNetwork,JX as UTXOScriptType,GX as TX_OVERHEAD,BX as OutputSizes,lX as OP_RETURN_OVERHEAD,bZ as MIN_TX_FEE,ZX as InputSizes};
1
+ var $Z=Object.create;var{getPrototypeOf:jZ,defineProperty:WX,getOwnPropertyNames:qZ}=Object;var WZ=Object.prototype.hasOwnProperty;var PB=(X,Z,B)=>{B=X!=null?$Z(jZ(X)):{};let G=Z||!X||!X.__esModule?WX(B,"default",{value:X,enumerable:!0}):B;for(let $ of qZ(X))if(!WZ.call(G,$))WX(G,$,{get:()=>X[$],enumerable:!0});return G};var LZ=(X,Z)=>{for(var B in Z)WX(X,B,{get:Z[B],enumerable:!0,configurable:!0,set:(G)=>Z[B]=()=>G})};var H=(X,Z)=>()=>(X&&(Z=X(X=0)),Z);var VB=((X)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(X,{get:(Z,B)=>(typeof require<"u"?require:Z)[B]}):X)(function(X){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+X+'" is not supported')});import{AssetValue as kX,getChainConfig as TZ}from"@swapkit/helpers";import{SwapKitApi as YZ}from"@swapkit/helpers/api";function EX(){function X(){let Z=Date.now(),B=LX||Z;return LX=B,Z>LX?Z:B+1}return DZ+X().toString(36)}function fX(X){return async function(B,G=!0){let $=await YZ.getChainBalance({address:B,chain:X,scamFilter:G}),{baseDecimal:Q}=TZ(X),J=$.map(({identifier:q,value:W,decimal:L})=>{return new kX({decimal:L||Q,identifier:q,value:W})});if(!J.some((q)=>q.isGasAsset))return[kX.from({chain:X}),...J];return J}}var DZ,LX=0;var TX=H(()=>{DZ=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{networks as UZ}from"@bitgo/utxo-lib";import{Chain as C,getRPCUrl as zZ,RequestClient as t,SKConfig as CZ,SwapKitError as k,warnOnce as IZ}from"@swapkit/helpers";import{networks as MZ}from"bitcoinjs-lib";import p from"coininfo";async function _Z({chain:X,txHash:Z}){let B=`${e(X)}/push/transaction`,G=JSON.stringify({data:Z});try{let $=await t.post(B,{body:G,headers:{"Content-Type":"application/json"}});if($.context.code!==200)throw new k("toolbox_utxo_broadcast_failed",{error:$.context.error||"Transaction broadcast failed"});return $.data?.transaction_hash||Z}catch($){let Q=await zZ(X);if(Q){let J=JSON.stringify({id:EX(),jsonrpc:"2.0",method:"sendrawtransaction",params:[Z]}),j=await t.post(Q,{body:J,headers:{"Content-Type":"application/json"}});if(j.error)throw new k("toolbox_utxo_broadcast_failed",{error:j.error?.message});if(j.result.includes('"code":-26'))throw new k("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return j.result}throw $}}function e(X){return`https://api.blockchair.com/${HZ(X)}`}function RX(X){switch(X){case C.Bitcoin:return 5;case C.Dogecoin:return 1e4;case C.Litecoin:return 1;case C.Zcash:return 1;default:return 2}}function HZ(X){switch(X){case C.BitcoinCash:return"bitcoin-cash";case C.Litecoin:return"litecoin";case C.Dash:return"dash";case C.Dogecoin:return"dogecoin";case C.Zcash:return"zcash";case C.Polkadot:return"polkadot";default:return"bitcoin"}}async function vZ(X){try{let{feePerKb:Z}=await t.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),B=Z/1000;return Math.max(B,RX(X))}catch{return RX(X)}}async function YX(X,Z){let B=await t.get(`${X}${Z?`${X.includes("?")?"&":"?"}key=${Z}`:""}`);if(!B||B.context.code!==200)throw new k("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return B.data}async function PX({address:X,chain:Z,apiKey:B}){if(!X)throw new k("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await YX(`${e(Z)}/dashboards/address/${X}?transaction_details=true`,B))[X]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function NZ({address:X,chain:Z,apiKey:B}){return(await PX({address:X,apiKey:B,chain:Z}))?.address.balance||0}async function VX({chain:X,apiKey:Z,txHash:B}){if(!B)throw new k("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await YX(`${e(X)}/raw/transaction/${B}`,Z))?.[B]?.raw_transaction||""}catch(G){let $=G instanceof Error?G.message:String(G);return console.error(`Failed to fetch raw transaction: ${$}`),""}}async function OZ({chain:X,address:Z,apiKey:B,offset:G=0,limit:$=30}){return(await YX(`${e(X)}/outputs?q=recipient(${Z}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${$}&offset=${G}`,B)).map(({is_spent:q,script_hex:W,block_id:L,transaction_hash:T,index:D,value:Y,spending_signature_hex:U})=>({hash:T,index:D,is_confirmed:L!==-1,is_spent:q,script_hex:W,txHex:U,value:Y}))}function yZ(X){return X.reduce((Z,B)=>Z+B.value,0)}function wX(X,Z){let B=[...X].sort((G,$)=>$.value-G.value);if(Z){let G=[],$=0;for(let Q of B)if(G.push(Q),$+=Q.value,$>=Z)break;return G}return B}async function bX({chain:X,address:Z,apiKey:B,targetValue:G,accumulativeValue:$=0,offset:Q=0,limit:J=30}){if(!Z)throw new k("toolbox_utxo_invalid_params",{error:"Address is required"});try{let j=await OZ({address:Z,apiKey:B,chain:X,limit:J,offset:Q,targetValue:G}),W=j.length<J,L=j.filter(({is_spent:z})=>!z),T=yZ(L),D=$+T,Y=G&&D>=G;if(W||Y)return wX(L,G);let U=await bX({accumulativeValue:D,address:Z,apiKey:B,chain:X,limit:J,offset:Q+J,targetValue:G}),I=[...L,...U];return wX(I,G)}catch(j){let q=j instanceof Error?j.message:String(j);return console.error(`Failed to fetch unspent UTXOs: ${q}`),[]}}async function FZ({address:X,chain:Z,apiKey:B,fetchTxHex:G=!0,targetValue:$}){let Q=await bX({address:X,apiKey:B,chain:Z,targetValue:$}),J=[];for(let{hash:j,index:q,script_hex:W,value:L}of Q){let T;if(G)T=await VX({apiKey:B,chain:Z,txHash:j});J.push({address:X,hash:j,index:q,txHex:T,value:L,witnessUtxo:{script:Buffer.from(W,"hex"),value:L}})}return J}function M(X){let Z=CZ.get("apiKeys").blockchair||"";return IZ({condition:!Z,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(B)=>_Z({chain:X,txHash:B}),getAddressData:(B)=>PX({address:B,apiKey:Z,chain:X}),getBalance:(B)=>NZ({address:B,apiKey:Z,chain:X}),getRawTx:(B)=>VX({apiKey:Z,chain:X,txHash:B}),getSuggestedTxFee:()=>vZ(X),getUtxos:(B)=>FZ({...B,apiKey:Z,chain:X})}}function AZ(X){return X}function N(){return function(Z){switch(Z){case C.Bitcoin:return MZ.bitcoin;case C.BitcoinCash:return p.bitcoincash.main.toBitcoinJS();case C.Dash:return p.dash.main.toBitcoinJS();case C.Litecoin:return p.litecoin.main.toBitcoinJS();case C.Dogecoin:{let B={private:70615956,public:70617039},G=p.dogecoin.test;return G.versions.bip32=B,p.dogecoin.main.toBitcoinJS()}case C.Zcash:return UZ.zcash;default:throw new k("toolbox_utxo_not_supported",{chain:Z})}}}var KX=H(()=>{TX()});import{SwapKitError as xX}from"@swapkit/helpers";import gX from"bs58check";import mX from"cashaddrjs";function UX(X){try{return XX(X),!0}catch{return!1}}function zX(X){return XX(X)?.network}function x(X){let Z=XX(X);if(Z?.format==="legacy")return X;return fZ(Z)}function o(X){let Z=XX(X);return RZ(Z)}function XX(X){try{let Z=kZ(X);if(Z)return Z}catch{}try{let Z=EZ(X);if(Z)return Z}catch{}throw new xX("toolbox_utxo_invalid_address",{address:X})}function kZ(X){try{let Z=gX.decode(X);if(Z.length!==21)throw new xX("toolbox_utxo_invalid_address",{address:X});let B=Z[0],G=Array.prototype.slice.call(Z,1);switch(B){case P.legacy.mainnet.p2pkh:return{format:"legacy",hash:G,network:"mainnet",type:"p2pkh"};case P.legacy.mainnet.p2sh:return{format:"legacy",hash:G,network:"mainnet",type:"p2sh"};case P.legacy.testnet.p2pkh:return{format:"legacy",hash:G,network:"testnet",type:"p2pkh"};case P.legacy.testnet.p2sh:return{format:"legacy",hash:G,network:"testnet",type:"p2sh"};case P.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2pkh"};case P.bitpay.mainnet.p2sh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function EZ(X){if(X.indexOf(":")!==-1)try{return SX(X)}catch{}else{let Z=["bitcoincash","bchtest","bchreg"];for(let B of Z)try{return SX(`${B}:${X}`)}catch{}}return}function SX(X){try{let{hash:Z,prefix:B,type:G}=mX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(Z,0),network:B==="bitcoincash"?"mainnet":"testnet",type:G==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function fZ(X){let Z=P.legacy[X.network][X.type],B=Buffer.alloc(1+X.hash.length);return B[0]=Z,B.set(X.hash,1),gX.encode(B)}function RZ(X){let Z=X.network==="mainnet"?"bitcoincash":"bchtest",B=X.type==="p2pkh"?"P2PKH":"P2SH",G=new Uint8Array(X.hash);return mX.encode(Z,B,G)}var DX,P;var lX=H(()=>{((B)=>{B.Mainnet="mainnet";B.Testnet="testnet"})(DX||={});P={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as wZ}from"@swapkit/helpers";import{opcodes as PZ,script as VZ}from"bitcoinjs-lib";function O(X){let Z=Buffer.from(X,"utf8");return VZ.compile([PZ.OP_RETURN,Z])}var bZ=1000,GX=10,hX=10,KZ=41,SZ=107,JX,ZX,BX,n=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new wZ("toolbox_utxo_invalid_address",{address:X})},g=({inputs:X,outputs:Z,feeRate:B})=>{let G=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",$=X.filter((J)=>J.value>=ZX["type"in J?J.type:"P2PKH"]*Math.ceil(B)).reduce((J,j)=>J+E(j),0),Q=Z?.reduce((J,j)=>J+u(j),0)||BX[G];return GX+$+Q},E=(X)=>{if("type"in X)return ZX[X.type];if("address"in X&&X.address)return ZX[n(X.address)];return KZ+SZ},u=(X,Z)=>{if(X?.script)return hX+X.script.length+(X.script.length>=74?2:1);if(Z)return BX[Z];return BX.P2PKH};var CX=H(()=>{((B)=>{B.P2PKH="P2PKH";B.P2WPKH="P2WPKH"})(JX||={});ZX={["P2PKH"]:148,["P2WPKH"]:68},BX={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as V,SwapKitError as xZ}from"@swapkit/helpers";function QX(X){switch(X){case V.Bitcoin:case V.BitcoinCash:return 550;case V.Dash:case V.Litecoin:return 5500;case V.Dogecoin:return 1e5;case V.Zcash:return 546;default:throw new xZ("toolbox_utxo_not_supported",{chain:X})}}function y({inputs:X,outputs:Z,feeRate:B=1,chain:G=V.Bitcoin,changeAddress:$=""}){let Q=Math.ceil(B),J=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",j=X.filter((Y)=>E(Y)*Q<=Y.value),q=GX+Z.reduce((Y,U)=>Y+u(U,J),0),W=Z.reduce((Y,U)=>Y+U.value,0),L=q*Q,T=0,D=[];for(let Y of j){let U=E(Y),I=Q*U;L+=I,T+=Y.value,D.push(Y);let z=L+W;if(T<z)continue;let R=T-z,w=Q*u({address:"",value:0},J);if(R>w){let FX=w+L,AX=T-(W+FX);if(AX>Math.max(E({})*Q,QX(G)))return{fee:FX,inputs:D,outputs:Z.concat({address:$,value:AX})}}return{fee:L,inputs:D,outputs:Z}}return{fee:Q*g({feeRate:Q,inputs:X,outputs:Z})}}var cX=H(()=>{CX()});var m=H(()=>{KX();lX();cX();CX()});import{networks as gZ,address as mZ}from"@bitgo/utxo-lib";import lZ from"bs58check";function b(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function f(X){let Z=b(X);return UX(Z)&&zX(Z)==="mainnet"}function l(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let Z=gZ.zcash;try{return mZ.toOutputScript(X,Z),!0}catch{let B=lZ.decode(X);if(B.length<21)return!1;let G=B[0];return G===Z.pubKeyHash||G===Z.scriptHash}}catch{return!1}}var r=H(()=>{m()});import MX from"@bitcoinerlab/secp256k1";import{ECPair as hZ,HDNode as cZ}from"@psf/bitcoincashjs-lib";import{HDKey as pZ}from"@scure/bip32";import{mnemonicToSeedSync as pX}from"@scure/bip39";import{AssetValue as IX,applyFeeMultiplier as oX,Chain as _,DerivationPath as oZ,derivationPathToString as nZ,FeeOption as F,NetworkDerivationPath as uZ,SwapKitError as A,SwapKitNumber as rZ,updateDerivationPath as dZ}from"@swapkit/helpers";import{address as iZ,initEccLib as uX,Psbt as sZ,payments as nX}from"bitcoinjs-lib";import{ECPairFactory as aZ}from"ecpair";function rX({inputs:X,outputs:Z,chain:B,psbt:G,sender:$,compiledMemo:Q}){for(let J of X){let j=!!J.witnessUtxo&&!d.includes(B)&&{witnessUtxo:J.witnessUtxo},q=d.includes(B)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};G.addInput({hash:J.hash,index:J.index,...j,...q})}for(let J of Z){let j="address"in J&&J.address?J.address:$,q=J.script;if(q&&!Q)continue;let W=q?{script:Q,value:0}:{address:j,value:J.value};uX(MX),G.addOutput(W)}return{inputs:X,psbt:G}}async function dX({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$,fetchTxHex:Q=!1}){let J=X.chain,j=B?await O(B):null,q=await aX({assetValue:X,fetchTxHex:Q,memo:B,recipient:Z,sender:$}),{inputs:W,outputs:L}=y({...q,chain:J,feeRate:G});if(!(W&&L))throw new A("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let T=await N(),D=new sZ({network:T(J)});if(J===_.Dogecoin)D.setMaximumFeeRate(650000000);let{psbt:Y,inputs:U}=await rX({chain:J,compiledMemo:j,inputs:W,outputs:L,psbt:D,sender:$});return{inputs:U,psbt:Y,utxos:q.inputs}}async function iX(){let X=await N();return function({address:B,chain:G}){if(G===_.BitcoinCash)return f(B);if(G===_.Zcash)return l(B);try{return uX(MX),iZ.toOutputScript(B,X(G)),!0}catch{return!1}}}async function tZ({chain:X,phrase:Z,derivationPath:B}){let G=(await i(X))({derivationPath:B,phrase:Z});async function $(J){return await J.signAllInputs(G),J}function Q(){return _X(X)(G)}return{getAddress:Q,signTransaction:$}}async function K({chain:X,...Z}){let B="phrase"in Z?Z.phrase:void 0,G="index"in Z?Z.index||0:0,$=nZ("derivationPath"in Z&&Z.derivationPath?Z.derivationPath:dZ(uZ[X],{index:G})),Q=B?await tZ({chain:X,derivationPath:$,phrase:B}):("signer"in Z)?Z.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let j=await iX(),q=await i(X);return{accumulative:y,broadcastTx:(W)=>M(X).broadcastTx(W),calculateTxSize:g,createKeysForPath:q,createTransaction:dX,estimateMaxSendableAmount:eZ(X),estimateTransactionFee:XB(X),getAddress:J,getAddressFromKeys:_X(X),getBalance:fX(X),getFeeRates:()=>s(X),getInputsOutputsFee:sX,getPrivateKeyFromMnemonic:(W)=>{return q(W).toWIF()},transfer:ZB(Q),validateAddress:(W)=>j({address:W,chain:X})}}async function sX({assetValue:X,feeOptionKey:Z=F.Fast,feeRate:B,memo:G,sender:$,recipient:Q}){let J=X.chain,j=await aX({assetValue:X,memo:G,recipient:Q,sender:$}),q=B?Math.floor(B):(await s(J))[Z];return y({...j,chain:J,feeRate:q})}function eZ(X){return async function({from:B,memo:G,feeRate:$,feeOptionKey:Q=F.Fast,recipients:J=1}){let j=await M(X).getAddressData(B),q=$?Math.ceil($):(await s(X))[Q],W=j?.utxo.map((U)=>({...U,hash:"",type:"P2PKH"})).filter((U)=>U.value>Math.max(QX(X),E(U)*q));if(!W?.length)return IX.from({chain:X});let L=IX.from({chain:X,value:W.reduce((U,I)=>U+I.value,0)}),T=typeof J==="number"?Array.from({length:J},()=>({address:B,value:0})):J;if(G){let U=await O(G);T.push({address:B,script:U,value:0})}let Y=g({feeRate:q,inputs:W,outputs:T})*q;return L.sub(Y)}}function XB(X){return async(Z)=>{let B=await sX(Z);return IX.from({chain:X,value:rZ.fromBigInt(BigInt(B.fee),8).getValue("string")})}}async function i(X){let Z=await N();switch(X){case _.BitcoinCash:return function({phrase:G,derivationPath:$=`${oZ.BCH}/0`,wif:Q}){let J=Z(X);if(Q)return hZ.fromWIF(Q,J);if(!G)throw new A("toolbox_utxo_invalid_params",{error:"No phrase provided"});return cZ.fromSeedBuffer(Buffer.from(pX(G)),J).derivePath($).keyPair};case _.Bitcoin:case _.Dogecoin:case _.Litecoin:case _.Zcash:case _.Dash:return function({phrase:G,wif:$,derivationPath:Q}){if(!($||G))throw new A("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=aZ(MX),j=Z(X);if($)return J.fromWIF($,j);let q=pX(G),W=pZ.fromMasterSeed(q,j).derive(Q);if(!W.privateKey)throw new A("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(W.privateKey),{network:j})};default:throw new A("toolbox_utxo_not_supported",{chain:X})}}function _X(X){let Z=N();return function(G){if(!G)throw new A("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let $=d.includes(X)?nX.p2pkh:nX.p2wpkh,{address:Q}=$({network:Z(X),pubkey:G.publicKey});if(!Q)throw new A("toolbox_utxo_invalid_address",{error:"Address not defined"});return Q}}function ZB(X){return async function({memo:B,recipient:G,feeOptionKey:$,feeRate:Q,assetValue:J}){let j=await X?.getAddress(),q=J.chain;if(!(X&&j))throw new A("toolbox_utxo_no_signer");if(!G)throw new A("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=Q||(await s(q))[$||F.Fast],{psbt:L}=await dX({assetValue:J,feeRate:W,memo:B,recipient:G,sender:j}),T=await X.signTransaction(L);return T.finalizeAllInputs(),M(q).broadcastTx(T.extractTransaction().toHex())}}async function s(X){let Z=await M(X).getSuggestedTxFee();return{[F.Average]:Z,[F.Fast]:oX(Z,F.Fast),[F.Fastest]:oX(Z,F.Fastest)}}async function aX({assetValue:X,recipient:Z,memo:B,sender:G,fetchTxHex:$=!1}){let Q=X.chain,J=(await s(Q))[F.Fastest],j=$||d.includes(Q),q=X.getBaseValue("number"),W=Math.ceil(q+J*5000);return{inputs:await M(Q).getUtxos({address:G,fetchTxHex:j,targetValue:W}),outputs:[{address:Z,value:q},...B?[{address:"",script:await O(B),value:0}]:[]]}}var d;var a=H(()=>{TX();m();r();d=[_.Dash,_.Dogecoin,_.Zcash,_.BitcoinCash]});import{address as BB,Transaction as GB,TransactionBuilder as JB}from"@psf/bitcoincashjs-lib";import{Chain as QB,derivationPathToString as $B,FeeOption as jB,NetworkDerivationPath as qB,SwapKitError as h,updateDerivationPath as WB}from"@swapkit/helpers";import{Psbt as LB}from"bitcoinjs-lib";function S(X){return b(o(X))}function TB(X){function Z({builder:G,utxos:$}){return $.forEach((Q,J)=>{G.sign(J,X,void 0,65,Q.witnessUtxo?.value)}),G.build()}return{getAddress:()=>{let G=X.getAddress(0);return Promise.resolve(S(G))},signTransaction:Z}}async function HX(X){let Z="phrase"in X?X.phrase:void 0,B="index"in X?X.index||0:0,G=$B("derivationPath"in X&&X.derivationPath?X.derivationPath:WB(qB[v],{index:B})),$=Z?(await i(v))({derivationPath:G,phrase:Z}):void 0,Q=$?TB($):("signer"in X)?X.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let{getBalance:j,getFeeRates:q,broadcastTx:W,...L}=await K({chain:v});function T(D,Y=!0){return j(b(o(D)))}return{...L,broadcastTx:W,buildTx:DB,createTransaction:tX,getAddress:J,getAddressFromKeys:UB,getBalance:T,getFeeRates:q,stripPrefix:b,stripToCashAddress:S,transfer:YB({broadcastTx:W,getFeeRates:q,signer:Q}),validateAddress:f}}async function tX({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$}){if(!f(Z))throw new h("toolbox_utxo_invalid_address",{address:Z});let Q=Math.ceil(X.getBaseValue("number")+G*7500),J=await M(v).getUtxos({address:S($),fetchTxHex:!0,targetValue:Q}),j=B?await O(B):null,q=[];q.push({address:Z,value:X.getBaseValue("number")});let{inputs:W,outputs:L}=y({chain:v,feeRate:G,inputs:J,outputs:q});if(!(W&&L))throw new h("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let T=await N(),D=new JB(T(v));await Promise.all(W.map(async(Y)=>{let U=await M(v).getRawTx(Y.hash);D.addInput(GB.fromBuffer(Buffer.from(U,"hex")),Y.index)}));for(let Y of L){let U="address"in Y&&Y.address?Y.address:x($),I=await N(),z=BB.toOutputScript(x(U),I(v));D.addOutput(z,Y.value)}if(j)D.addOutput(j,0);return{builder:D,utxos:W}}function YB({broadcastTx:X,getFeeRates:Z,signer:B}){return async function({recipient:$,assetValue:Q,feeOptionKey:J=jB.Fast,...j}){let q=await B?.getAddress();if(!(B&&q))throw new h("toolbox_utxo_no_signer");if(!$)throw new h("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=j.feeRate||(await Z())[J],{builder:L,utxos:T}=await tX({...j,assetValue:Q,feeRate:W,recipient:$,sender:q}),Y=(await B.signTransaction({builder:L,utxos:T})).toHex();return X(Y)}}async function DB({assetValue:X,recipient:Z,memo:B,feeRate:G,sender:$,setSigHashType:Q}){let J=o(Z);if(!f(J))throw new h("toolbox_utxo_invalid_address",{address:J});let j=Math.ceil(X.getBaseValue("number")+G*7500),q=await M(v).getUtxos({address:S($),fetchTxHex:!1,targetValue:j}),W=Number(G.toFixed(0)),L=B?await O(B):null,T=[];if(T.push({address:x(Z),value:X.getBaseValue("number")}),L)T.push({script:L,value:0});let{inputs:D,outputs:Y}=y({chain:v,feeRate:W,inputs:q,outputs:T});if(!(D&&Y))throw new h("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let U=await N(),I=new LB({network:U(v)});for(let{hash:z,index:R,witnessUtxo:w}of D)I.addInput({hash:z,index:R,sighashType:Q?65:void 0,witnessUtxo:w});for(let z of Y){let R="address"in z&&z.address?z.address:x($),w=z.script?L?{script:L,value:0}:void 0:{address:R,value:z.value};if(w)I.addOutput(w)}return{inputs:D,psbt:I,utxos:q}}function UB(X){let Z=X.getAddress(0);return S(Z)}var v;var $X=H(()=>{m();a();r();v=QB.BitcoinCash});import{bitgo as zB,crypto as CB,ECPair as XZ,networks as IB,address as MB}from"@bitgo/utxo-lib";import{HDKey as ZZ}from"@scure/bip32";import{mnemonicToSeedSync as BZ}from"@scure/bip39";import{Chain as jX,derivationPathToString as _B,FeeOption as HB,NetworkDerivationPath as vB,SKConfig as NB,SwapKitError as qX,updateDerivationPath as OB}from"@swapkit/helpers";import yB from"bs58check";import{match as FB,P as vX}from"ts-pattern";function GZ(){return IB.zcash}function JZ(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function AB({phrase:X,derivationPath:Z}){let B=BZ(X),$=ZZ.fromMasterSeed(B).derive(Z);if(!$.privateKey)throw new qX("toolbox_utxo_invalid_params");let Q=JZ(),J=XZ.fromPrivateKey(Buffer.from($.privateKey),{network:Q}),j=CB.hash160(J.publicKey),{isStagenet:q}=NB.get("envs"),W=q?Buffer.from([29,37]):Buffer.from([28,184]),L=Buffer.concat([W,j]),T=yB.encode(L);return{getAddress:()=>Promise.resolve(T),signTransaction:(D)=>{let Y=D.signAllInputs(J);return Promise.resolve(Y)}}}function kB({inputs:X,outputs:Z,psbt:B,sender:G,compiledMemo:$}){for(let Q of X){let J=!!Q.witnessUtxo&&{witnessUtxo:{...Q.witnessUtxo,value:BigInt(Q.value)}},j=!Q.witnessUtxo&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};B.addInput({hash:Q.hash,index:Q.index,...J,...j})}for(let Q of Z){let J="address"in Q&&Q.address?Q.address:G,j=Q.script;if(j&&!$)continue;let q=j?{script:$,value:0n}:{script:MB.toOutputScript(J,GZ()),value:BigInt(Q.value)};B.addOutput(q)}return{inputs:X,psbt:B}}async function eX(X){let{assetValue:Z,recipient:B,memo:G,feeRate:$,sender:Q,fetchTxHex:J}=X,j=G?O(G):null,q=await M(jX.Zcash).getUtxos({address:Q,fetchTxHex:J!==!1}),W=[{address:B,value:Number(Z.getBaseValue("string"))},...j?[{script:j,value:0}]:[]],{inputs:L,outputs:T}=y({chain:jX.Zcash,changeAddress:Q,feeRate:$,inputs:q,outputs:W});if(!(L&&T))throw new qX("toolbox_utxo_insufficient_balance",{assetValue:Z,sender:Q});let D=zB.createPsbtForNetwork({network:GZ()},{version:455}),Y=1307332080,U=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),I=Buffer.allocUnsafe(4);I.writeUInt32LE(Y>>>0,0),D.addUnknownKeyValToGlobal({key:U,value:I});let{psbt:z,inputs:R}=await kB({compiledMemo:j,inputs:L,outputs:T,psbt:D,sender:Q});return{inputs:R,outputs:T,psbt:z}}async function NX(X){let Z=await FB(X).with({signer:vX.not(vX.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:vX.string},({phrase:J,derivationPath:j,index:q=0})=>{let W=j||vB[jX.Zcash]||[44,133,0,0,0],L=OB(W,{index:q}),T=_B(L);return AB({derivationPath:T,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),B=await K({chain:jX.Zcash,signer:Z});async function G({recipient:J,assetValue:j,feeOptionKey:q=HB.Fast,...W}){let L=await Z?.getAddress();if(!(Z&&L))throw new qX("toolbox_utxo_no_signer");let T=W.feeRate||(await B.getFeeRates())[q],{psbt:D}=await eX({...W,assetValue:j,feeRate:T,recipient:J,sender:L}),Y=await Z.signTransaction(D);return Y.finalizeAllInputs(),B.broadcastTx(Y.extractTransaction().toHex())}function $({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){let q=BZ(J),L=ZZ.fromMasterSeed(q).derive(j);if(!L.privateKey)throw new qX("toolbox_utxo_invalid_params");let T=JZ();return XZ.fromPrivateKey(Buffer.from(L.privateKey),{network:T})}function Q({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){return $({derivationPath:j,phrase:J}).toWIF()}return{...B,createKeysForPath:$,createTransaction:eX,getPrivateKeyFromMnemonic:Q,transfer:G,validateAddress:l}}var OX=H(()=>{m();a();r()});import{Chain as c,SwapKitError as EB}from"@swapkit/helpers";async function fB(X,Z){switch(X){case c.BitcoinCash:return await HX(Z||{});case c.Zcash:return await NX(Z);case c.Bitcoin:case c.Dogecoin:case c.Litecoin:case c.Dash:return await K({chain:X,...Z});default:throw new EB("toolbox_utxo_not_supported",{chain:X})}}var QZ=H(()=>{$X();a();OX();$X();r()});var RB={};LZ(RB,{validateZcashAddress:()=>l,toLegacyAddress:()=>x,toCashAddress:()=>o,stripToCashAddress:()=>S,stripPrefix:()=>b,nonSegwitChains:()=>d,isValidAddress:()=>UX,getUtxoToolbox:()=>fB,getUtxoNetwork:()=>N,getUtxoApi:()=>M,getUTXOAddressValidator:()=>iX,getScriptTypeForAddress:()=>n,getOutputSize:()=>u,getInputSize:()=>E,getDustThreshold:()=>QX,getCreateKeysForPath:()=>i,detectAddressNetwork:()=>zX,createZcashToolbox:()=>NX,createUTXOToolbox:()=>K,createCustomUtxoApi:()=>AZ,createBCHToolbox:()=>HX,compileMemo:()=>O,calculateTxSize:()=>g,bchValidateAddress:()=>f,addressFromKeysGetter:()=>_X,addInputsAndOutputs:()=>rX,accumulative:()=>y,UtxoNetwork:()=>DX,UTXOScriptType:()=>JX,TX_OVERHEAD:()=>GX,OutputSizes:()=>BX,OP_RETURN_OVERHEAD:()=>hX,MIN_TX_FEE:()=>bZ,InputSizes:()=>ZX});var wB=H(()=>{m();QZ();$X();a();OX()});wB();export{l as validateZcashAddress,x as toLegacyAddress,o as toCashAddress,S as stripToCashAddress,b as stripPrefix,d as nonSegwitChains,UX as isValidAddress,fB as getUtxoToolbox,N as getUtxoNetwork,M as getUtxoApi,iX as getUTXOAddressValidator,n as getScriptTypeForAddress,u as getOutputSize,E as getInputSize,QX as getDustThreshold,i as getCreateKeysForPath,zX as detectAddressNetwork,NX as createZcashToolbox,K as createUTXOToolbox,AZ as createCustomUtxoApi,HX as createBCHToolbox,O as compileMemo,g as calculateTxSize,f as bchValidateAddress,_X as addressFromKeysGetter,rX as addInputsAndOutputs,y as accumulative,DX as UtxoNetwork,JX as UTXOScriptType,GX as TX_OVERHEAD,BX as OutputSizes,hX as OP_RETURN_OVERHEAD,bZ as MIN_TX_FEE,ZX as InputSizes};
3
3
 
4
- //# debugId=4A0E0E336A4CCD6164756E2164756E21
4
+ //# debugId=7FD07FF8086ED7ED64756E2164756E21
5
5
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/utils.ts", "../src/utxo/helpers/api.ts", "../src/utxo/helpers/bchaddrjs.ts", "../src/utxo/helpers/txSize.ts", "../src/utxo/helpers/coinselect.ts", "../src/utxo/helpers/index.ts", "../src/utxo/toolbox/validators.ts", "../src/utxo/toolbox/utxo.ts", "../src/utxo/toolbox/bitcoinCash.ts", "../src/utxo/toolbox/zcash.ts", "../src/utxo/toolbox/index.ts", "../src/utxo/index.ts"],
4
4
  "sourcesContent": [
5
- "import { AssetValue, type Chain, getChainConfig } from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\n\nconst pid = typeof process !== \"undefined\" && process.pid ? process.pid.toString(36) : \"\";\n\nlet last = 0;\nexport function uniqid() {\n function now() {\n const time = Date.now();\n const lastTime = last || time;\n last = lastTime;\n\n return time > last ? time : lastTime + 1;\n }\n\n return pid + now().toString(36);\n}\n\nexport function getBalance<T extends Chain>(chain: T) {\n return async function getBalance(address: string, scamFilter = true) {\n const balances = await SwapKitApi.getChainBalance({ address, chain, scamFilter });\n const { baseDecimal } = getChainConfig(chain);\n return balances.map(({ identifier, value, decimal }) => {\n return new AssetValue({ decimal: decimal || baseDecimal, identifier, value });\n });\n };\n}\n",
5
+ "import { AssetValue, type Chain, getChainConfig } from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\n\nconst pid = typeof process !== \"undefined\" && process.pid ? process.pid.toString(36) : \"\";\n\nlet last = 0;\nexport function uniqid() {\n function now() {\n const time = Date.now();\n const lastTime = last || time;\n last = lastTime;\n\n return time > last ? time : lastTime + 1;\n }\n\n return pid + now().toString(36);\n}\n\nexport function getBalance<T extends Chain>(chain: T) {\n return async function getBalance(address: string, scamFilter = true) {\n const balances = await SwapKitApi.getChainBalance({ address, chain, scamFilter });\n const { baseDecimal } = getChainConfig(chain);\n const assetValues = balances.map(({ identifier, value, decimal }) => {\n return new AssetValue({ decimal: decimal || baseDecimal, identifier, value });\n });\n\n const hasNativeAsset = assetValues.some((asset) => asset.isGasAsset);\n if (!hasNativeAsset) {\n return [AssetValue.from({ chain }), ...assetValues];\n }\n\n return assetValues;\n };\n}\n",
6
6
  "import { networks as zcashNetworks } from \"@bitgo/utxo-lib\";\nimport { Chain, getRPCUrl, RequestClient, SKConfig, SwapKitError, type UTXOChain, warnOnce } from \"@swapkit/helpers\";\nimport { networks } from \"bitcoinjs-lib\";\n// @ts-expect-error\nimport coininfo from \"coininfo\";\nimport { uniqid } from \"../../utils\";\n\ntype BlockchairParams<T> = T & { chain: Chain; apiKey?: string };\ntype BlockchairFetchUnspentUtxoParams = BlockchairParams<{\n offset?: number;\n limit?: number;\n address: string;\n targetValue?: number;\n accumulativeValue?: number;\n}>;\n\nasync function broadcastUTXOTx({ chain, txHash }: { chain: Chain; txHash: string }) {\n // Use Blockchair's push transaction endpoint (no API key needed)\n const url = `${baseUrl(chain)}/push/transaction`;\n const body = JSON.stringify({ data: txHash });\n\n try {\n const response = await RequestClient.post<{\n data: { transaction_hash: string } | null;\n context: { code: number; error?: string };\n }>(url, { body, headers: { \"Content-Type\": \"application/json\" } });\n\n if (response.context.code !== 200) {\n throw new SwapKitError(\"toolbox_utxo_broadcast_failed\", {\n error: response.context.error || \"Transaction broadcast failed\",\n });\n }\n\n return response.data?.transaction_hash || txHash;\n } catch (error) {\n // Fallback to RPC if Blockchair fails\n const rpcUrl = await getRPCUrl(chain);\n if (rpcUrl) {\n const rpcBody = JSON.stringify({ id: uniqid(), jsonrpc: \"2.0\", method: \"sendrawtransaction\", params: [txHash] });\n\n const rpcResponse = await RequestClient.post<{\n id: string;\n result: string;\n error: { message: string; code?: number } | null;\n }>(rpcUrl, { body: rpcBody, headers: { \"Content-Type\": \"application/json\" } });\n\n if (rpcResponse.error) {\n throw new SwapKitError(\"toolbox_utxo_broadcast_failed\", { error: rpcResponse.error?.message });\n }\n\n if (rpcResponse.result.includes('\"code\":-26')) {\n throw new SwapKitError(\"toolbox_utxo_invalid_transaction\", { error: \"Transaction amount was too low\" });\n }\n\n return rpcResponse.result;\n }\n\n throw error;\n }\n}\n\nfunction baseUrl(chain: Chain) {\n return `https://api.blockchair.com/${mapChainToBlockchairChain(chain)}`;\n}\n\nfunction getDefaultTxFeeByChain(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin:\n return 5;\n case Chain.Dogecoin:\n return 10000;\n case Chain.Litecoin:\n return 1;\n case Chain.Zcash:\n return 1;\n default:\n return 2;\n }\n}\n\nfunction mapChainToBlockchairChain(chain: Chain) {\n switch (chain) {\n case Chain.BitcoinCash:\n return \"bitcoin-cash\";\n case Chain.Litecoin:\n return \"litecoin\";\n case Chain.Dash:\n return \"dash\";\n case Chain.Dogecoin:\n return \"dogecoin\";\n case Chain.Zcash:\n return \"zcash\";\n case Chain.Polkadot:\n return \"polkadot\";\n default:\n return \"bitcoin\";\n }\n}\n\nasync function getSuggestedTxFee(chain: Chain) {\n try {\n //Use Bitgo API for fee estimation\n //Refer: https://app.bitgo.com/docs/#operation/v2.tx.getfeeestimate\n const { feePerKb } = await RequestClient.get<{\n feePerKb: number;\n cpfpFeePerKb: number;\n numBlocks: number;\n feeByBlockTarget: { 1: number; 3: number };\n }>(`https://app.bitgo.com/api/v2/${chain.toLowerCase()}/tx/fee`);\n const suggestedFee = feePerKb / 1000;\n\n return Math.max(suggestedFee, getDefaultTxFeeByChain(chain));\n } catch {\n return getDefaultTxFeeByChain(chain);\n }\n}\n\nasync function blockchairRequest<T>(url: string, apiKey?: string): Promise<T> {\n const response = await RequestClient.get<BlockchairResponse<T>>(\n `${url}${apiKey ? `${url.includes(\"?\") ? \"&\" : \"?\"}key=${apiKey}` : \"\"}`,\n );\n\n if (!response || response.context.code !== 200)\n throw new SwapKitError(\"toolbox_utxo_api_error\", { error: `Failed to query ${url}` });\n\n return response.data as T;\n}\n\nasync function getAddressData({ address, chain, apiKey }: BlockchairParams<{ address?: string }>) {\n if (!address) throw new SwapKitError(\"toolbox_utxo_invalid_params\", { error: \"Address is required\" });\n\n try {\n const response = await blockchairRequest<BlockchairAddressResponse>(\n `${baseUrl(chain)}/dashboards/address/${address}?transaction_details=true`,\n apiKey,\n );\n\n return response[address];\n } catch {\n return { address: { balance: 0, transaction_count: 0 }, utxo: [] };\n }\n}\n\nasync function getUnconfirmedBalance({ address, chain, apiKey }: BlockchairParams<{ address?: string }>) {\n const response = await getAddressData({ address, apiKey, chain });\n\n return response?.address.balance || 0;\n}\n\nasync function getRawTx({ chain, apiKey, txHash }: BlockchairParams<{ txHash?: string }>) {\n if (!txHash) throw new SwapKitError(\"toolbox_utxo_invalid_params\", { error: \"TxHash is required\" });\n\n try {\n const rawTxResponse = await blockchairRequest<BlockchairRawTransactionResponse>(\n `${baseUrl(chain)}/raw/transaction/${txHash}`,\n apiKey,\n );\n return rawTxResponse?.[txHash]?.raw_transaction || \"\";\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n console.error(`Failed to fetch raw transaction: ${errorMessage}`);\n return \"\";\n }\n}\n\nasync function fetchUtxosBatch({ chain, address, apiKey, offset = 0, limit = 30 }: BlockchairFetchUnspentUtxoParams) {\n // Only fetch the fields we need to reduce payload size\n const fields = \"is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex\";\n\n const response = await blockchairRequest<BlockchairOutputsResponse[]>(\n // TODO - remove max value limit once we updated bitcoinjs-lib to support larger values\n `${baseUrl(chain)}/outputs?q=recipient(${address}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=${fields}&limit=${limit}&offset=${offset}`,\n apiKey,\n );\n\n const txs = response.map(\n ({ is_spent, script_hex, block_id, transaction_hash, index, value, spending_signature_hex }) => ({\n hash: transaction_hash,\n index,\n is_confirmed: block_id !== -1,\n is_spent,\n script_hex,\n txHex: spending_signature_hex,\n value,\n }),\n );\n\n return txs;\n}\n\nfunction getTxsValue(txs: Awaited<ReturnType<typeof fetchUtxosBatch>>) {\n return txs.reduce((total, tx) => total + tx.value, 0);\n}\n\nfunction pickMostValuableTxs(\n txs: Awaited<ReturnType<typeof fetchUtxosBatch>>,\n targetValue?: number,\n): Awaited<ReturnType<typeof fetchUtxosBatch>> {\n const sortedTxs = [...txs].sort((a, b) => b.value - a.value);\n\n if (targetValue) {\n const result = [];\n let accumulated = 0;\n\n for (const utxo of sortedTxs) {\n result.push(utxo);\n accumulated += utxo.value;\n if (accumulated >= targetValue) break;\n }\n\n return result;\n }\n\n return sortedTxs;\n}\n\nasync function getUnspentUtxos({\n chain,\n address,\n apiKey,\n targetValue,\n accumulativeValue = 0,\n offset = 0,\n limit = 30,\n}: BlockchairFetchUnspentUtxoParams): Promise<Awaited<ReturnType<typeof fetchUtxosBatch>>> {\n if (!address) throw new SwapKitError(\"toolbox_utxo_invalid_params\", { error: \"Address is required\" });\n\n try {\n const utxos = await fetchUtxosBatch({ address, apiKey, chain, limit, offset, targetValue });\n const utxosCount = utxos.length;\n const isComplete = utxosCount < limit;\n\n const unspentUtxos = utxos.filter(({ is_spent }) => !is_spent);\n\n const unspentUtxosValue = getTxsValue(unspentUtxos);\n const totalCurrentValue = accumulativeValue + unspentUtxosValue;\n\n const limitReached = targetValue && totalCurrentValue >= targetValue;\n\n if (isComplete || limitReached) {\n return pickMostValuableTxs(unspentUtxos, targetValue);\n }\n\n const nextBatch = await getUnspentUtxos({\n accumulativeValue: totalCurrentValue,\n address,\n apiKey,\n chain,\n limit,\n offset: offset + limit,\n targetValue,\n });\n\n const allUtxos = [...unspentUtxos, ...nextBatch];\n\n return pickMostValuableTxs(allUtxos, targetValue);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n console.error(`Failed to fetch unspent UTXOs: ${errorMessage}`);\n return [];\n }\n}\n\nasync function getUtxos({\n address,\n chain,\n apiKey,\n fetchTxHex = true,\n targetValue,\n}: BlockchairParams<{ address: string; fetchTxHex?: boolean; targetValue?: number }>) {\n const utxos = await getUnspentUtxos({ address, apiKey, chain, targetValue });\n\n const results = [];\n\n for (const { hash, index, script_hex, value } of utxos) {\n let txHex: string | undefined;\n if (fetchTxHex) {\n txHex = await getRawTx({ apiKey, chain, txHash: hash });\n }\n results.push({\n address,\n hash,\n index,\n txHex,\n value,\n witnessUtxo: { script: Buffer.from(script_hex, \"hex\"), value },\n });\n }\n return results;\n}\n\nexport function getUtxoApi(chain: UTXOChain) {\n const apiKey = SKConfig.get(\"apiKeys\").blockchair || \"\";\n\n warnOnce({\n condition: !apiKey,\n id: \"no_blockchair_api_key_warning\",\n warning: \"No Blockchair API key found. Functionality will be limited.\",\n });\n\n return {\n broadcastTx: (txHash: string) => broadcastUTXOTx({ chain, txHash }),\n getAddressData: (address: string) => getAddressData({ address, apiKey, chain }),\n getBalance: (address: string) => getUnconfirmedBalance({ address, apiKey, chain }),\n getRawTx: (txHash: string) => getRawTx({ apiKey, chain, txHash }),\n getSuggestedTxFee: () => getSuggestedTxFee(chain),\n getUtxos: (params: { address: string; fetchTxHex?: boolean; targetValue?: number }) =>\n getUtxos({ ...params, apiKey, chain }),\n };\n}\n\n/**\n * \"Factory\" to ensure typing for custom UTXO APIs\n */\nexport function createCustomUtxoApi(methods: ReturnType<typeof getUtxoApi>) {\n return methods;\n}\n\nexport function getUtxoNetwork() {\n return function getNetwork(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin:\n return networks.bitcoin;\n case Chain.BitcoinCash:\n return coininfo.bitcoincash.main.toBitcoinJS();\n case Chain.Dash:\n return coininfo.dash.main.toBitcoinJS();\n case Chain.Litecoin:\n return coininfo.litecoin.main.toBitcoinJS();\n\n case Chain.Dogecoin: {\n const bip32 = { private: 0x04358394, public: 0x043587cf };\n const test = coininfo.dogecoin.test;\n test.versions.bip32 = bip32;\n return coininfo.dogecoin.main.toBitcoinJS();\n }\n\n case Chain.Zcash: {\n return zcashNetworks.zcash;\n }\n\n default:\n throw new SwapKitError(\"toolbox_utxo_not_supported\", { chain });\n }\n };\n}\n\ninterface BlockchairVin {\n txid: string;\n vout: number;\n scriptSig: { asm: string; hex: string };\n sequence: number;\n}\n\ninterface BlockchairVout {\n value: number;\n n: number;\n scriptPubKey: { asm: string; hex: string; address: string; type: string; addresses: string[]; reqSigs: number };\n}\n\ninterface BlockchairTransaction {\n block_id: number;\n hash: string;\n time: string;\n balance_change: number;\n}\n\ninterface BlockchairUtxo {\n block_id: number;\n transaction_hash: string;\n index: number;\n value: number;\n}\n\ninterface BlockchairAddressCoreData {\n type: string;\n script_hex: string;\n balance: number;\n balance_usd: number;\n received: number;\n received_usd: number;\n spent: number;\n spent_usd: number;\n output_count: number;\n unspent_output_count: number;\n first_seen_receiving: string;\n last_seen_receiving: string;\n first_seen_spending: null | string;\n last_seen_spending: null | string;\n transaction_count: number;\n scripthash_type: null | string;\n}\n\ninterface BlockchairInputOutputCommonData {\n block_id: number;\n transaction_id: number;\n index: number;\n transaction_hash: string;\n date: string;\n time: string;\n value: number;\n value_usd: number;\n recipient: string;\n type: string;\n script_hex: string;\n is_from_coinbase: boolean;\n is_spendable: boolean | null;\n is_spent: boolean;\n lifespan: number | null;\n cdd: number | null;\n}\n\ninterface BlockchairSpendingBlockData {\n spending_block_id: number | null;\n spending_transaction_id: number | null;\n spending_index: number | null;\n spending_transaction_hash: string | null;\n spending_date: string | null;\n spending_time: string | null;\n spending_value_usd: number | null;\n spending_sequence: number | null;\n spending_signature_hex: string | null;\n spending_witness: string | null;\n}\n\ninterface BlockchairAddressResponse {\n [key: string]: { address: BlockchairAddressCoreData; transactions: BlockchairTransaction[]; utxo: BlockchairUtxo[] };\n}\n\ninterface BlockchairOutputsResponse extends BlockchairSpendingBlockData, BlockchairInputOutputCommonData {}\n\ninterface BlockchairRawTransactionResponse {\n [key: string]: {\n raw_transaction: string;\n decoded_raw_transaction: {\n txid: string;\n hash: string;\n version: number;\n size: number;\n vsize: number;\n weight: number;\n locktime: number;\n vin: BlockchairVin[];\n vout: BlockchairVout[];\n };\n };\n}\n\ninterface BlockchairResponse<T> {\n data: T;\n context: {\n code: number;\n source: string;\n results: number;\n state: number;\n market_price_usd: number;\n cache: { live: boolean; duration: number; since: string; until: string; time: any };\n api: {\n version: string;\n last_major_update: string;\n next_major_update: null | string;\n documentation: string;\n notice: string;\n };\n servers: string;\n time: number;\n render_time: number;\n full_time: number;\n request_cost: number;\n };\n}\n",
7
7
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport base58check from \"bs58check\";\n// @ts-expect-error\nimport cashaddr from \"cashaddrjs\";\n\nenum Format {\n Legacy = \"legacy\",\n Bitpay = \"bitpay\",\n Cashaddr = \"cashaddr\",\n}\nenum UtxoNetwork {\n Mainnet = \"mainnet\",\n Testnet = \"testnet\",\n}\nenum Type {\n P2PKH = \"p2pkh\",\n P2SH = \"p2sh\",\n}\n\nconst VERSION_BYTE = {\n [Format.Legacy]: {\n [UtxoNetwork.Mainnet]: { [Type.P2PKH]: 0, [Type.P2SH]: 5 },\n [UtxoNetwork.Testnet]: { [Type.P2PKH]: 111, [Type.P2SH]: 196 },\n },\n [Format.Bitpay]: {\n [UtxoNetwork.Mainnet]: { [Type.P2PKH]: 28, [Type.P2SH]: 40 },\n [UtxoNetwork.Testnet]: { [Type.P2PKH]: 111, [Type.P2SH]: 196 },\n },\n};\n\ntype DecodedType = { format: Format; network: UtxoNetwork; type: Type; hash: any };\n\nfunction isValidAddress(input: any) {\n try {\n decodeAddress(input);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction detectAddressNetwork(address: string) {\n return decodeAddress(address)?.network;\n}\n\nfunction toLegacyAddress(address: string): string {\n const decoded = decodeAddress(address);\n if (decoded?.format === Format.Legacy) {\n return address;\n }\n return encodeAsLegacy(decoded);\n}\n\nfunction toCashAddress(address: string): string {\n const decoded = decodeAddress(address);\n return encodeAsCashaddr(decoded);\n}\n\nfunction decodeAddress(address: string) {\n try {\n const decoded = decodeBase58Address(address);\n if (decoded) {\n return decoded;\n }\n } catch {\n // Try to decode as cashaddr if base58 decoding fails.\n }\n try {\n const decoded = decodeCashAddress(address);\n if (decoded) {\n return decoded;\n }\n } catch {\n // Try to decode as bitpay if cashaddr decoding fails.\n }\n throw new SwapKitError(\"toolbox_utxo_invalid_address\", { address });\n}\n\nfunction decodeBase58Address(address: string) {\n try {\n const payload = base58check.decode(address);\n\n // BASE_58_CHECK_PAYLOAD_LENGTH\n if (payload.length !== 21) throw new SwapKitError(\"toolbox_utxo_invalid_address\", { address });\n const versionByte = payload[0];\n const hash = Array.prototype.slice.call(payload, 1);\n\n switch (versionByte) {\n case VERSION_BYTE[Format.Legacy][UtxoNetwork.Mainnet][Type.P2PKH]:\n return { format: Format.Legacy, hash, network: UtxoNetwork.Mainnet, type: Type.P2PKH };\n\n case VERSION_BYTE[Format.Legacy][UtxoNetwork.Mainnet][Type.P2SH]:\n return { format: Format.Legacy, hash, network: UtxoNetwork.Mainnet, type: Type.P2SH };\n\n case VERSION_BYTE[Format.Legacy][UtxoNetwork.Testnet][Type.P2PKH]:\n return { format: Format.Legacy, hash, network: UtxoNetwork.Testnet, type: Type.P2PKH };\n\n case VERSION_BYTE[Format.Legacy][UtxoNetwork.Testnet][Type.P2SH]:\n return { format: Format.Legacy, hash, network: UtxoNetwork.Testnet, type: Type.P2SH };\n\n case VERSION_BYTE[Format.Bitpay][UtxoNetwork.Mainnet][Type.P2PKH]:\n return { format: Format.Bitpay, hash, network: UtxoNetwork.Mainnet, type: Type.P2PKH };\n\n case VERSION_BYTE[Format.Bitpay][UtxoNetwork.Mainnet][Type.P2SH]:\n return { format: Format.Bitpay, hash, network: UtxoNetwork.Mainnet, type: Type.P2SH };\n\n default:\n return;\n }\n } catch {\n return;\n }\n}\n\nfunction decodeCashAddress(address: string) {\n if (address.indexOf(\":\") !== -1) {\n try {\n return decodeCashAddressWithPrefix(address);\n } catch {\n // Try to decode as legacy if cashaddr decoding fails.\n }\n } else {\n const prefixes = [\"bitcoincash\", \"bchtest\", \"bchreg\"];\n for (const prefix of prefixes) {\n try {\n return decodeCashAddressWithPrefix(`${prefix}:${address}`);\n } catch {\n // Try next prefix if decoding fails.\n }\n }\n }\n\n return;\n}\n\nfunction decodeCashAddressWithPrefix(address: string) {\n try {\n const { hash, prefix, type } = cashaddr.decode(address);\n\n return {\n format: Format.Cashaddr,\n hash: Array.prototype.slice.call(hash, 0),\n network: prefix === \"bitcoincash\" ? UtxoNetwork.Mainnet : UtxoNetwork.Testnet,\n type: type === \"P2PKH\" ? Type.P2PKH : Type.P2SH,\n };\n } catch {\n return;\n }\n}\n\nfunction encodeAsLegacy(decoded: DecodedType) {\n const versionByte = VERSION_BYTE[Format.Legacy][decoded.network][decoded.type];\n const buffer = Buffer.alloc(1 + decoded.hash.length);\n buffer[0] = versionByte;\n buffer.set(decoded.hash, 1);\n return base58check.encode(buffer);\n}\n\nfunction encodeAsCashaddr(decoded: DecodedType) {\n const prefix = decoded.network === UtxoNetwork.Mainnet ? \"bitcoincash\" : \"bchtest\";\n const type = decoded.type === Type.P2PKH ? \"P2PKH\" : \"P2SH\";\n const hash = new Uint8Array(decoded.hash);\n return cashaddr.encode(prefix, type, hash);\n}\n\nexport { detectAddressNetwork, isValidAddress, UtxoNetwork, toCashAddress, toLegacyAddress };\n",
8
8
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport { opcodes, script } from \"bitcoinjs-lib\";\nimport type { TargetOutput, UTXOCalculateTxSizeParams, UTXOInputWithScriptType, UTXOType } from \"../types\";\n\n/**\n * Minimum transaction fee\n * 1000 satoshi/kB (similar to current `minrelaytxfee`)\n * @see https://github.com/bitcoin/bitcoin/blob/db88db47278d2e7208c50d16ab10cb355067d071/src/validation.h#L56\n */\nexport const MIN_TX_FEE = 1000;\nexport const TX_OVERHEAD = 4 + 1 + 1 + 4; //10\nexport const OP_RETURN_OVERHEAD = 1 + 8 + 1; //10\nconst TX_INPUT_BASE = 32 + 4 + 1 + 4; // 41\nconst TX_INPUT_PUBKEYHASH = 107;\n\nexport function compileMemo(memo: string) {\n const data = Buffer.from(memo, \"utf8\"); // converts MEMO to buffer\n return script.compile([opcodes.OP_RETURN as number, data]); // Compile OP_RETURN script\n}\n\nexport enum UTXOScriptType {\n P2PKH = \"P2PKH\", // legacy\n // P2SH = 'P2SH', // multisig\n P2WPKH = \"P2WPKH\", // bech32 - native segwit\n // P2TR = \"P2TR\", // taproot\n}\n\nexport const InputSizes: Record<UTXOScriptType, number> = {\n [UTXOScriptType.P2PKH]: 148,\n // [UTXOScriptType.P2SH]: 91,\n [UTXOScriptType.P2WPKH]: 68,\n};\n\nexport const OutputSizes: Record<UTXOScriptType, number> = {\n [UTXOScriptType.P2PKH]: 34,\n // [UTXOScriptType.P2SH]: 91,\n [UTXOScriptType.P2WPKH]: 31,\n};\n\nexport const getScriptTypeForAddress = (address: string) => {\n // Native SegWit (Bech32) addresses - P2WPKH\n // Bitcoin: bc1 (mainnet), tb1 (testnet)\n // Litecoin: ltc1 (mainnet), tltc1 (testnet)\n if (\n address.startsWith(\"bc1\") ||\n address.startsWith(\"tb1\") ||\n address.startsWith(\"ltc1\") ||\n address.startsWith(\"tltc1\")\n ) {\n // Note: bc1p/tb1p are Taproot (P2TR) addresses, but we're treating them as P2WPKH for now\n // since P2TR is not yet implemented\n return UTXOScriptType.P2WPKH;\n }\n\n // P2SH addresses (Pay-to-Script-Hash) - Currently commented out but kept for future use\n // Bitcoin: 3 (mainnet), 2 (testnet)\n // Litecoin: M or 2 (mainnet), Q (testnet)\n // Dash: 7 (mainnet)\n // if (address.startsWith('3') || address.startsWith('2') ||\n // address.startsWith('M') || address.startsWith('Q') ||\n // address.startsWith('7')) {\n // return UTXOScriptType.P2SH;\n // }\n\n // Legacy P2PKH addresses\n // Bitcoin: 1 (mainnet), m/n (testnet)\n // Bitcoin Cash: bitcoincash:q (CashAddr format), q (legacy), 1 (legacy)\n // Litecoin: L (mainnet), m/n (testnet)\n // Dogecoin: D (mainnet), n (testnet)\n // Dash: X (mainnet), y (testnet)\n // Zcash: t1 (transparent mainnet), tm (testnet)\n if (\n // Bitcoin legacy\n address.startsWith(\"1\") ||\n address.startsWith(\"m\") ||\n address.startsWith(\"n\") ||\n // Bitcoin Cash\n address.startsWith(\"bitcoincash:q\") ||\n address.startsWith(\"bitcoincash:p\") ||\n address.startsWith(\"q\") ||\n address.startsWith(\"p\") ||\n // Litecoin legacy (also uses 3 for P2SH but treating as P2PKH for now)\n address.startsWith(\"L\") ||\n address.startsWith(\"M\") ||\n address.startsWith(\"3\") ||\n // Dogecoin\n address.startsWith(\"D\") ||\n address.startsWith(\"A\") ||\n address.startsWith(\"9\") ||\n // Dash\n address.startsWith(\"X\") ||\n address.startsWith(\"7\") ||\n address.startsWith(\"y\") ||\n // Zcash transparent addresses\n address.startsWith(\"t1\") ||\n address.startsWith(\"t3\") ||\n address.startsWith(\"tm\")\n ) {\n return UTXOScriptType.P2PKH;\n }\n\n throw new SwapKitError(\"toolbox_utxo_invalid_address\", { address });\n};\n\nexport const calculateTxSize = ({ inputs, outputs, feeRate }: UTXOCalculateTxSizeParams) => {\n const newTxType =\n inputs[0] && \"address\" in inputs[0] && inputs[0].address\n ? getScriptTypeForAddress(inputs[0].address)\n : UTXOScriptType.P2PKH;\n const inputSize = inputs\n .filter((utxo) => utxo.value >= InputSizes[\"type\" in utxo ? utxo.type : UTXOScriptType.P2PKH] * Math.ceil(feeRate))\n .reduce((total, utxo) => total + getInputSize(utxo), 0);\n\n const outputSize = outputs?.reduce((total, output) => total + getOutputSize(output), 0) || OutputSizes[newTxType];\n\n return TX_OVERHEAD + inputSize + outputSize;\n};\n\nexport const getInputSize = (input: UTXOInputWithScriptType | UTXOType) => {\n if (\"type\" in input) {\n return InputSizes[input.type];\n }\n if (\"address\" in input && input.address) {\n return InputSizes[getScriptTypeForAddress(input.address as string)];\n }\n return TX_INPUT_BASE + TX_INPUT_PUBKEYHASH;\n};\n\nexport const getOutputSize = (output: TargetOutput, scriptType?: UTXOScriptType) => {\n if (output?.script) {\n return OP_RETURN_OVERHEAD + output.script.length + (output.script.length >= 74 ? 2 : 1);\n }\n if (scriptType) {\n return OutputSizes[scriptType];\n }\n return OutputSizes[UTXOScriptType.P2PKH];\n};\n",
@@ -15,7 +15,7 @@
15
15
  "import { Chain, type DerivationPathArray, SwapKitError, type UTXOChain } from \"@swapkit/helpers\";\nimport { createBCHToolbox } from \"./bitcoinCash\";\nimport type { UtxoToolboxParams } from \"./params\";\nimport { createUTXOToolbox } from \"./utxo\";\nimport { createZcashToolbox } from \"./zcash\";\n\ntype BCHToolbox = Awaited<ReturnType<typeof createBCHToolbox>>;\ntype CommonUTXOToolbox = Awaited<\n ReturnType<typeof createUTXOToolbox<Exclude<UTXOChain, typeof Chain.BitcoinCash | typeof Chain.Zcash>>>\n>;\ntype ZcashToolbox = Awaited<ReturnType<typeof createZcashToolbox>>;\n\nexport type UTXOToolboxes = {\n [Chain.BitcoinCash]: BCHToolbox;\n [Chain.Bitcoin]: CommonUTXOToolbox;\n [Chain.Dogecoin]: CommonUTXOToolbox;\n [Chain.Litecoin]: CommonUTXOToolbox;\n [Chain.Dash]: CommonUTXOToolbox;\n [Chain.Zcash]: ZcashToolbox;\n};\n\nexport type UTXOWallets = {\n [key in keyof UTXOToolboxes]: UTXOToolboxes[key];\n};\n\nexport async function getUtxoToolbox<T extends keyof UTXOToolboxes>(\n chain: T,\n params?: UtxoToolboxParams[T] | { phrase?: string; derivationPath?: DerivationPathArray; index?: number },\n): Promise<UTXOToolboxes[T]> {\n switch (chain) {\n case Chain.BitcoinCash: {\n const toolbox = await createBCHToolbox((params as UtxoToolboxParams[typeof Chain.BitcoinCash]) || {});\n return toolbox as UTXOToolboxes[T];\n }\n\n case Chain.Zcash: {\n const toolbox = await createZcashToolbox(params as UtxoToolboxParams[typeof Chain.Zcash]);\n return toolbox as UTXOToolboxes[T];\n }\n\n case Chain.Bitcoin:\n case Chain.Dogecoin:\n case Chain.Litecoin:\n case Chain.Dash: {\n const toolbox = await createUTXOToolbox({\n chain,\n ...(params as UtxoToolboxParams[Exclude<T, typeof Chain.BitcoinCash | typeof Chain.Zcash>]),\n });\n return toolbox as UTXOToolboxes[Exclude<T, typeof Chain.BitcoinCash | typeof Chain.Zcash>];\n }\n\n default:\n throw new SwapKitError(\"toolbox_utxo_not_supported\", { chain });\n }\n}\n\nexport { stripToCashAddress } from \"./bitcoinCash\";\nexport * from \"./params\";\nexport { bchValidateAddress, stripPrefix, validateZcashAddress } from \"./validators\";\n",
16
16
  "export * from \"./helpers\";\nexport * from \"./toolbox\";\nexport * from \"./toolbox/bitcoinCash\";\nexport * from \"./toolbox/utxo\";\nexport * from \"./toolbox/zcash\";\nexport * from \"./types\";\n"
17
17
  ],
18
- "mappings": "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",
19
- "debugId": "4A0E0E336A4CCD6164756E2164756E21",
18
+ "mappings": "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",
19
+ "debugId": "7FD07FF8086ED7ED64756E2164756E21",
20
20
  "names": []
21
21
  }
@@ -1,6 +1,6 @@
1
1
  import { Chain, type EVMChain, type NetworkParams } from "@swapkit/helpers";
2
2
  export declare function getProvider(chain: EVMChain, customUrl?: string): Promise<import("ethers").JsonRpcProvider>;
3
3
  export declare function toHexString(value: bigint): string;
4
- export declare function getNetworkParams<C extends EVMChain>(chain: C): () => C extends typeof Chain.Ethereum ? undefined : NetworkParams;
4
+ export declare function getNetworkParams<C extends EVMChain>(chain: C): () => C extends Chain.Ethereum ? undefined : NetworkParams;
5
5
  export declare function getIsEIP1559Compatible<C extends EVMChain>(chain: C): boolean;
6
6
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/evm/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,QAAQ,EAA6B,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGvG,wBAAsB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,6CAIpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAExC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,SAW/C,CAAC,SAAS,OAAO,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,aAAa,CACxE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,WAIlE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/evm/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,QAAQ,EAA6B,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGvG,wBAAsB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,6CAIpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAExC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,SAGvB,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,aAAa,CAOzF;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,WAIlE"}
@@ -43,6 +43,8 @@ export declare function BaseEVMToolbox<P extends Provider | BrowserProvider, S e
43
43
  chain: EVMChain;
44
44
  }) => Promise<AssetValue>;
45
45
  getAddress: () => string | Promise<string> | undefined;
46
+ getBalance: (address: string, scamFilter?: boolean) => Promise<AssetValue[]>;
47
+ getNetworkParams: () => import("@swapkit/helpers").NetworkParams | undefined;
46
48
  isApproved: ({ assetAddress, spenderAddress, from, amount }: IsApprovedParams) => Promise<boolean>;
47
49
  sendTransaction: ({ feeOptionKey, ...tx }: EVMTxParams & {
48
50
  feeOptionKey?: FeeOption;
@@ -1 +1 @@
1
- {"version":3,"file":"baseEVMToolbox.d.ts","sourceRoot":"","sources":["../../../../src/evm/toolbox/baseEVMToolbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEVMToolbox.d.ts","sourceRoot":"","sources":["../../../../src/evm/toolbox/baseEVMToolbox.ts"],"names":[],"mappings":"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"}