@swapkit/toolboxes 4.1.2 → 4.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
- var a1=Object.create;var{getPrototypeOf:s1,defineProperty:uT,getOwnPropertyNames:e1}=Object;var y5=Object.prototype.hasOwnProperty;var q=(n,T,l)=>{l=n!=null?a1(s1(n)):{};let y=T||!n||!n.__esModule?uT(l,"default",{value:n,enumerable:!0}):l;for(let x of e1(n))if(!y5.call(y,x))uT(y,x,{get:()=>n[x],enumerable:!0});return y};var a=(n,T)=>{for(var l in T)uT(n,l,{get:T[l],enumerable:!0,configurable:!0,set:(y)=>T[l]=()=>y})};var R=(n,T)=>()=>(n&&(T=n(n=0)),T);var Q=((n)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(T,l)=>(typeof require<"u"?require:T)[l]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});import{AssetValue as n5,getChainConfig as T5}from"@swapkit/helpers";import{SwapKitApi as f5}from"@swapkit/helpers/api";function H0(){function n(){let T=Date.now(),l=IT||T;return IT=l,T>IT?T:l+1}return x5+n().toString(36)}function dy(n){return async function(l,y=!0){let x=await f5.getChainBalance({address:l,chain:n,scamFilter:y}),{baseDecimal:f}=T5(n);return x.map(({identifier:G,value:o,decimal:C})=>{return new n5({decimal:C||f,identifier:G,value:o})})}}var x5,IT=0;var Jn=R(()=>{x5=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as l5,warnOnce as G5}from"@swapkit/helpers";function wn(n){let T=l5.get("apis")[n];if(T)return G5({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),T;return C5(n)}function o5(n){return n}function C5(n){return{getBalance:dy(n)}}var pn=R(()=>{Jn()});import{Chain as h,getChainConfig as U0,getRPCUrl as L5,SwapKitError as X5}from"@swapkit/helpers";async function ty(n,T){let{JsonRpcProvider:l}=await import("ethers");return new l(T||await L5(n))}function qn(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function vT(n){let{explorerUrl:T,chainId:l,rpcUrls:y}=U0(n);return()=>n===h.Ethereum?void 0:{..._5({chain:n}),blockExplorerUrls:[T],chainId:l,rpcUrls:y}}function FT(n){return![h.Arbitrum,h.BinanceSmartChain].includes(n)}function _5({chain:n}){let{baseDecimal:T}=U0(n);switch(n){case h.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:T,name:"Avalanche",symbol:n}};case h.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:T,name:"Berachain",symbol:"BERA"}};case h.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:T,name:"Binance Coin",symbol:"BNB"}};case h.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:T,name:"xDAI",symbol:"XDAI"}};case h.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:T,name:"Polygon",symbol:h.Polygon}};default:throw new X5("toolbox_evm_not_supported",{chain:n})}}var ry=()=>{};var Y0;var D0=R(()=>{Y0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as N5,applyFeeMultiplierToBigInt as ay,Chain as j,FeeOption as p,isGasAsset as Z5,SwapKitError as b,SwapKitNumber as hn}from"@swapkit/helpers";import{erc20ABI as Qn}from"@swapkit/helpers/contracts";import{BrowserProvider as B5,Contract as R0,getAddress as jn,Interface as k0}from"ethers";function sy({chain:n=j.Ethereum,provider:T,signer:l,isEIP1559Compatible:y=!0}){return{approve:Q5({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),approvedAmount:u0({chain:n,provider:T}),broadcastTransaction:T.broadcastTransaction,call:$T({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),createApprovalTx:z5({chain:n,provider:T,signer:l}),createContract:tT({chain:n,provider:T}),createContractTxObject:Ky({chain:n,provider:T}),createTransaction:ET({chain:n,provider:T,signer:l}),createTransferTx:ET({chain:n,provider:T,signer:l}),EIP1193SendTransaction:yn(T),estimateCall:I0({provider:T,signer:l}),estimateGasLimit:M5({chain:n,provider:T,signer:l}),estimateGasPrices:Vy({chain:n,isEIP1559Compatible:y,provider:T}),estimateTransactionFee:H5({chain:n,isEIP1559Compatible:y,provider:T}),getAddress:()=>{return l?l.getAddress():void 0},isApproved:q5({chain:n,provider:T}),sendTransaction:v0({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),signMessage:l?.signMessage,transfer:W5({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),validateAddress:(x)=>AT({address:x})}}function AT({address:n}){try{return jn(n),!0}catch{return!1}}function ey(n){return n instanceof B5}function Mn(n,T,l){return new R0(n,k0.from(T),l)}function tT({provider:n}){return function(l,y){return new R0(l,k0.from(y),n)}}function KT({abi:n,funcName:T}){let l=n.find((y)=>y.name===T);if(!l)throw new b("toolbox_evm_no_abi_fragment",{funcName:T});return l.stateMutability&&J5.includes(l.stateMutability)}function O0(n){return jn(n)}function yn(n){return function({value:l,...y}){if(!ey(n))throw new b("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:f,maxFeePerGas:G,maxPriorityFeePerGas:o,...C}=y;return n.send("eth_sendTransaction",[{...C,value:qn(BigInt(l||0))}])}}function S0(n,T){let l=nn(n,T);if(l)return jn(l.toLowerCase());throw new b("toolbox_evm_invalid_gas_asset_address")}function nn({chain:n,symbol:T,ticker:l},y){try{let x=n===j.BinanceSmartChain&&T==="BNB"&&l==="BNB",f=n===y&&T===y&&l===y,G=w5.includes(n)&&T==="ETH"&&l==="ETH";if(f||x||G)return VT[y];return jn(T.slice(l.length+1).replace(/^0X/,""))}catch{return null}}function Ky({provider:n}){return async({contractAddress:T,abi:l,funcName:y,funcParams:x=[],txOverrides:f})=>Mn(T,l,n).getFunction(y).populateTransaction(...x.concat(f).filter((G)=>typeof G<"u"))}function Vy({chain:n,provider:T,isEIP1559Compatible:l=!0}){if(n===j.Arbitrum)return async function(){try{let{gasPrice:x}=await T.getFeeData();if(!x)throw new b("toolbox_evm_no_fee_data");return{[p.Average]:{gasPrice:x},[p.Fast]:{gasPrice:x},[p.Fastest]:{gasPrice:x}}}catch(x){throw new b("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}};return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:f,gasPrice:G}=await T.getFeeData();if(l){if(x===null||f===null)throw new b("toolbox_evm_no_fee_data");return{[p.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:f},[p.Fast]:{maxFeePerGas:ay(x,p.Fast),maxPriorityFeePerGas:ay(f,p.Fast)},[p.Fastest]:{maxFeePerGas:ay(x,p.Fastest),maxPriorityFeePerGas:ay(f,p.Fastest)}}}if(!G)throw new b("toolbox_evm_no_gas_price");return{[p.Average]:{gasPrice:G},[p.Fast]:{gasPrice:ay(G,p.Fast)},[p.Fastest]:{gasPrice:ay(G,p.Fastest)}}}catch(x){throw new b("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}function $T({provider:n,isEIP1559Compatible:T,signer:l,chain:y}){return async function({callProvider:f,contractAddress:G,abi:o,funcName:C,funcParams:L=[],txOverrides:N={},feeOption:X=p.Fast}){let _=f||n;if(!G)throw new b("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Z=KT({abi:o,funcName:C});if(Z&&ey(_)&&l){let M=Ky({chain:y,provider:_}),W=N?.from||await l?.getAddress(),Y=await M({abi:o,contractAddress:G,funcName:C,funcParams:L,txOverrides:{...N,from:W}});return yn(_)(Y)}let B=Mn(G,o,_);if(Z){if(!l)throw new b("toolbox_evm_no_signer");let M=N?.from||await l.getAddress();if(!M)throw new b("toolbox_evm_no_signer_address");let W=B.connect(l),Y=Vy({chain:y,isEIP1559Compatible:T,provider:n}),{maxFeePerGas:v,maxPriorityFeePerGas:u,gasPrice:F}=(await Y())[X],V=await B.getFunction(C).estimateGas(...L,N),d=await W[C](...L,{...N,gasLimit:V,gasPrice:F,maxFeePerGas:v,maxPriorityFeePerGas:u,nonce:N?.nonce||await _.getTransactionCount(M)});return typeof d?.hash==="string"?d?.hash:d}let w=await B[C]?.(...L);return typeof w?.hash==="string"?w?.hash:w}}function u0({provider:n,chain:T}){return function({assetAddress:y,spenderAddress:x,from:f}){return $T({chain:T,isEIP1559Compatible:!0,provider:n})({abi:Qn,contractAddress:y,funcName:"allowance",funcParams:[f,x]})}}function q5({provider:n,chain:T}){return async function({assetAddress:y,spenderAddress:x,from:f,amount:G=Wn}){let o=await u0({chain:T,provider:n})({assetAddress:y,from:f,spenderAddress:x});return hn.fromBigInt(o).gte(hn.fromBigInt(BigInt(G)))}}function Q5({signer:n,isEIP1559Compatible:T=!0,provider:l,chain:y}){return async function({assetAddress:f,spenderAddress:G,feeOptionKey:o=p.Fast,amount:C,gasLimitFallback:L,from:N,nonce:X}){let _=[G,BigInt(C||Wn)],Z=await n?.getAddress()||N,B={abi:Qn,contractAddress:f,funcName:"approve",funcParams:_,signer:n,txOverrides:{from:Z}};if(ey(l)){let M=Ky({chain:y,provider:l}),W=yn(l),Y=await M(B);return W(Y)}return $T({chain:y,isEIP1559Compatible:T,provider:l,signer:n})({...B,feeOption:o,funcParams:_,txOverrides:{from:Z,gasLimit:L?BigInt(L.toString()):void 0,nonce:X}})}}function W5({signer:n,isEIP1559Compatible:T=!0,provider:l}){return async function({assetValue:x,memo:f,recipient:G,feeOptionKey:o=p.Fast,sender:C,...L}){let{hexlify:N,toUtf8Bytes:X}=await import("ethers"),_=x.getBaseValue("bigint"),Z=x.chain,B=C||await n?.getAddress(),w=v0({chain:Z,isEIP1559Compatible:T,provider:l,signer:n});if(!B)throw new b("toolbox_evm_no_from_address");if(x.isGasAsset){let F={...L,data:N(X(f||"")),feeOptionKey:o,from:B,to:G,value:_};return w(F)}if(!nn(x,Z))throw new b("toolbox_evm_no_contract_address");let{maxFeePerGas:W,maxPriorityFeePerGas:Y,gasPrice:v}=(await Vy({chain:Z,isEIP1559Compatible:T,provider:l})())[o],u=await ET({chain:Z,provider:l,signer:n})({assetValue:x,data:N(X(f||"")),gasPrice:v,maxFeePerGas:W,maxPriorityFeePerGas:Y,memo:f,recipient:G,sender:B});return w(u)}}function I0({provider:n,signer:T}){return function({contractAddress:y,abi:x,funcName:f,funcParams:G=[],txOverrides:o}){if(!y)throw new b("toolbox_evm_no_contract_address");let C=Mn(y,x,n);return T?C.connect(T).getFunction(f).estimateGas(...G,o):C.getFunction(f).estimateGas(...G,o)}}function M5({provider:n,signer:T}){return async function({assetValue:y,recipient:x,memo:f,data:G,sender:o,funcName:C,funcParams:L,txOverrides:N}){let X=y.bigIntValue,_=y.isGasAsset?null:nn(y,y.chain);if(_&&C)return I0({provider:n,signer:T})({abi:Qn,contractAddress:_,funcName:C,funcParams:L,txOverrides:N});let{hexlify:Z,toUtf8Bytes:B}=await import("ethers");return n.estimateGas({data:G?G:f?Z(B(f)):void 0,from:o,to:x,value:X})}}function v0({provider:n,signer:T,isEIP1559Compatible:l=!0,chain:y}){return async function({feeOptionKey:f=p.Fast,...G}){let{from:o,to:C,data:L,value:N,...X}=G;if(!T)throw new b("toolbox_evm_no_signer");if(!C)throw new b("toolbox_evm_no_to_address");let _={...X,data:L||"0x",from:o,to:C,value:BigInt(N||0)};if(ey(n))return yn(n)(_);let Z=o||await T.getAddress(),B=G.nonce||await n.getTransactionCount(Z),w=(await n.getNetwork()).chainId,M=P5(_)||l,W=Vy({chain:y,isEIP1559Compatible:l,provider:n}),Y=M&&!(_.maxFeePerGas&&_.maxPriorityFeePerGas)||!_.gasPrice?Object.entries((await W())[f]).reduce((u,[F,V])=>({...u,[F]:qn(BigInt(V))}),{}):{},v;try{v=qn(_.gasLimit||await n.estimateGas(_)*11n/10n)}catch(u){throw new b("toolbox_evm_error_estimating_gas_limit",{error:u})}try{let u={..._,chainId:w,gasLimit:v,nonce:B,type:M?2:0,...Y};try{return(await T.sendTransaction(u)).hash}catch{let F=await T.signTransaction({...u,from:Z});return(await n.broadcastTransaction(F)).hash}}catch(u){throw new b("toolbox_evm_error_sending_transaction",{error:u})}}}function ET({provider:n,signer:T}){return async function({assetValue:y,memo:x,recipient:f,data:G,sender:o,maxFeePerGas:C,maxPriorityFeePerGas:L,gasPrice:N,...X}){let _=y.getBaseValue("bigint"),Z=y.chain,B=o||await T?.getAddress();if(!B)throw new b("toolbox_evm_no_from_address");if(Z5(y)){let{hexlify:W,toUtf8Bytes:Y}=await import("ethers");return{...X,data:G||W(Y(x||"")),from:B,to:f,value:_}}let w=nn(y,Z);if(!w)throw new b("toolbox_evm_no_contract_address");return Ky({chain:y.chain,provider:n})({abi:Qn,contractAddress:w,funcName:"transfer",funcParams:[f,_],txOverrides:{from:B,gasPrice:N,maxFeePerGas:C,maxPriorityFeePerGas:L}})}}function z5({provider:n,signer:T,chain:l}){return async function({assetAddress:x,spenderAddress:f,amount:G,from:o}){let C=await T?.getAddress()||o,L=Ky({chain:l,provider:n}),N=["bigint","number"].includes(typeof G)?G:G||Wn;return await L({abi:Qn,contractAddress:x,funcName:"approve",funcParams:[f,BigInt(N)],txOverrides:{from:C}})}}function H5({provider:n,isEIP1559Compatible:T=!0}){return async function({feeOption:y=p.Fast,chain:x,...f}){let o=await Vy({chain:x,isEIP1559Compatible:T,provider:n})(),C=await n.estimateGas(f),L=N5.from({chain:x}),{gasPrice:N,maxFeePerGas:X,maxPriorityFeePerGas:_}=o[y];if(!T&&N)return L.set(hn.fromBigInt(N*C,L.decimal));if(X&&_){let Z=(X+_)*C;return L.set(hn.fromBigInt(Z,L.decimal))}throw new b("toolbox_evm_no_gas_price")}}var Wn,J5,VT,w5,P5=(n)=>n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas;var cn=R(()=>{ry();Wn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");J5=["payable","nonpayable"];VT={[j.Arbitrum]:"0x0000000000000000000000000000000000000000",[j.Aurora]:"0x0000000000000000000000000000000000000000",[j.Avalanche]:"0x0000000000000000000000000000000000000000",[j.Base]:"0x0000000000000000000000000000000000000000",[j.Berachain]:"0x0000000000000000000000000000000000000000",[j.BinanceSmartChain]:"0x0000000000000000000000000000000000000000",[j.Ethereum]:"0x0000000000000000000000000000000000000000",[j.Gnosis]:"0x0000000000000000000000000000000000000000",[j.Optimism]:"0x4200000000000000000000000000000000000042",[j.Polygon]:"0x0000000000000000000000000000000000001010"},w5=[j.Arbitrum,j.Aurora,j.Base,j.Optimism]});import{Chain as Jy,FeeOption as U5,getRPCUrl as Y5}from"@swapkit/helpers";import{match as D5,P as F0}from"ts-pattern";async function mn({provider:n,...T}){let l=await wy(Jy.Ethereum)({provider:n,...T});async function y(x,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",G="aggregate",o=U5.Fast){let C=await l.createContractTxObject({abi:Y0,contractAddress:f,funcName:G,funcParams:[x]});return l.sendTransaction({...C,feeOptionKey:o})}return{...l,multicall:y}}function wy(n){return async function({provider:l,...y}){let{HDNodeWallet:x}=await import("ethers"),f=await Y5(n),G=l||await ty(n,f),o=FT(n),C=D5(y).with({phrase:F0.string},({phrase:N})=>x.fromPhrase(N).connect(G)).with({signer:F0.any},({signer:N})=>N).otherwise(()=>{return});return{...sy({chain:n,isEIP1559Compatible:o,provider:G,signer:C}),getBalance:wn(n).getBalance,getNetworkParams:vT(n)}}}var gn,dn,rn,an,sn,en,yT,nT;var bT=R(()=>{pn();D0();ry();cn();gn=wy(Jy.Arbitrum),dn=wy(Jy.Aurora),rn=wy(Jy.Avalanche),an=wy(Jy.Base),sn=wy(Jy.Berachain),en=wy(Jy.BinanceSmartChain),yT=wy(Jy.Gnosis),nT=wy(Jy.Polygon)});var E0;var A0=R(()=>{E0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as Tn,Chain as TT,FeeOption as qy,getChainConfig as R5,getRPCUrl as k5,SwapKitError as pT}from"@swapkit/helpers";import{Contract as O5,HDNodeWallet as S5}from"ethers";import{match as u5,P as t0}from"ts-pattern";function hT(n){return new O5(I5,E0,n)}function K0(n){return async function(){let l=hT(n);if(l&&"l1BaseFee"in l)return await l?.l1BaseFee();return}}function V0(n){return async function({from:l,to:y,nonce:x,...f}){let{Transaction:G}=await import("ethers");if(!y)throw new pT("toolbox_evm_invalid_transaction",{error:"Missing to address"});return G.from({...f,authorizationList:f.authorizationList,nonce:x?x:l?await n.getTransactionCount(l):0,to:y}).serialized}}function $0(n){return async function(l){let y=hT(n),x=await V0(n)(l);if(y&&"getL1Fee"in y)return y.getL1Fee(x)}}function b0(n){return async function(l){let y=await n.send("eth_gasPrice",[]),x=await n.estimateGas(l);return y.mul(x)}}function v5(n){return async function(l){let y=await $0(n)(l),x=await b0(n)(l);return y.add(x)}}function F5(n){return async function(l){let y=hT(n),x=await V0(n)(l);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(x)}}function E5(){let{baseDecimal:n,chainId:T,explorerUrl:l,name:y,rpcUrls:x}=R5(TT.Optimism);return{blockExplorerUrls:[l],chainId:T,chainName:y,nativeCurrency:{decimals:n,name:"Ethereum",symbol:TT.Ethereum},rpcUrls:x}}async function A5(n){try{let{maxFeePerGas:T,maxPriorityFeePerGas:l,gasPrice:y}=await n.getFeeData(),x=await K0(n)(),f=y;if(!(T&&l))throw new pT("toolbox_evm_no_fee_data");return{[qy.Average]:{gasPrice:f,l1GasPrice:x,maxFeePerGas:T,maxPriorityFeePerGas:l},[qy.Fast]:{gasPrice:Tn(f,qy.Fast),l1GasPrice:Tn(x||0n,qy.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Tn(l,qy.Fast)},[qy.Fastest]:{gasPrice:Tn(f,qy.Fastest),l1GasPrice:Tn(x||0n,qy.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Tn(l,qy.Fastest)}}}catch(T){throw new pT("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}async function fT({provider:n,...T}){let l=TT.Optimism,y=await k5(l),x=n||await ty(l,y),f=u5(T).with({phrase:t0.string},({phrase:C})=>S5.fromPhrase(C).connect(x)).with({signer:t0.any},({signer:C})=>C).otherwise(()=>{return}),G=sy({provider:x,signer:f}),o=K0(x);return{...G,estimateGasPrices:A5(x),estimateL1Gas:F5(x),estimateL1GasCost:$0(x),estimateL2GasCost:b0(x),estimateTotalGasCost:v5(x),getBalance:wn(TT.Optimism).getBalance,getL1GasPrice:o,getNetworkParams:E5}}var I5="0x420000000000000000000000000000000000000f";var jT=R(()=>{pn();A0();ry();cn()});var h0={};a(h0,{toChecksumAddress:()=>O0,isStateChangingCall:()=>KT,isBrowserProvider:()=>ey,getTokenAddress:()=>nn,getEvmToolbox:()=>p0,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yn,getCreateContractTxObject:()=>Ky,getCreateContract:()=>tT,getChecksumAddressFromAsset:()=>S0,evmValidateAddress:()=>AT,createContract:()=>Mn,OPToolbox:()=>fT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>nT,GNOToolbox:()=>yT,ETHToolbox:()=>mn,ContractAddress:()=>VT,BaseEVMToolbox:()=>sy,BSCToolbox:()=>en,BERAToolbox:()=>sn,BASEToolbox:()=>an,AVAXToolbox:()=>rn,AURORAToolbox:()=>dn,ARBToolbox:()=>gn});import{Chain as oy,SwapKitError as t5}from"@swapkit/helpers";async function p0(n,T){let l={...T,provider:T?.provider||await ty(n)};switch(n){case oy.Arbitrum:return gn(l);case oy.Aurora:return dn(l);case oy.Avalanche:return rn(l);case oy.Base:return an(l);case oy.Berachain:return sn(l);case oy.BinanceSmartChain:return en(l);case oy.Gnosis:return yT(l);case oy.Optimism:return fT(l);case oy.Polygon:return nT(l);case oy.Ethereum:return mn(l);default:throw new t5("toolbox_evm_not_supported",{chain:n})}}var cT=R(()=>{ry();bT();jT();cn();bT();jT()});var j0;var c0=R(()=>{((l)=>{l.Test="goerli";l.Main="homestead"})(j0||={})});var m0={};a(m0,{toHexString:()=>qn,toChecksumAddress:()=>O0,isStateChangingCall:()=>KT,isBrowserProvider:()=>ey,getTokenAddress:()=>nn,getProvider:()=>ty,getNetworkParams:()=>vT,getIsEIP1559Compatible:()=>FT,getEvmToolbox:()=>p0,getEvmApi:()=>wn,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yn,getCreateContractTxObject:()=>Ky,getCreateContract:()=>tT,getChecksumAddressFromAsset:()=>S0,evmValidateAddress:()=>AT,createCustomEvmApi:()=>o5,createContract:()=>Mn,OPToolbox:()=>fT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>nT,GNOToolbox:()=>yT,EthNetwork:()=>j0,ETHToolbox:()=>mn,ContractAddress:()=>VT,BaseEVMToolbox:()=>sy,BSCToolbox:()=>en,BERAToolbox:()=>sn,BASEToolbox:()=>an,AVAXToolbox:()=>rn,AURORAToolbox:()=>dn,ARBToolbox:()=>gn});var i0=R(()=>{pn();ry();cT();c0()});import{AssetValue as zn,Chain as fn,getChainConfig as K5,SwapKitError as Pn}from"@swapkit/helpers";import{match as V5,P as g0}from"ts-pattern";async function mT(){let{BlockfrostProvider:n}=await import("@meshsdk/core"),T="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new n("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function b5(n){try{let{MeshWallet:T}=await import("@meshsdk/core"),l=await mT(),y=new T({fetcher:l,key:{address:n,type:"address"},networkId:1});await y.init();let x=await y.getBalance(),f=[];for(let G of x)if(G.unit===$5){let{baseDecimal:o}=K5(fn.Cardano);f.push(zn.from({chain:fn.Cardano,fromBaseDecimal:o,value:G.quantity}))}else f.push(zn.from({asset:`${fn.Cardano}.${G.unit}`,value:G.quantity}));if(f.length===0)return[zn.from({chain:fn.Cardano})];return f}catch(T){return console.error("Cardano balance fetch error:",T),[zn.from({chain:fn.Cardano})]}}async function d0(){let{deserializeAddress:n}=await import("@meshsdk/core");return(T)=>{try{return n(T),!0}catch{return!1}}}async function p5(n){let T=await d0(),l=await V5(n).with({phrase:g0.string},async({phrase:N})=>{let{MeshWallet:X}=await import("@meshsdk/core"),_=await mT(),Z=new X({fetcher:_,key:{type:"mnemonic",words:N.split(" ")},networkId:1,submitter:_});return await Z.init(),Z}).with({signer:g0.any},({signer:N})=>N).otherwise(()=>{return}),y=l&&"getChangeAddress"in l?await l.getChangeAddress():"";function x(){return y||""}function f(N){let X=N||x();if(!X)throw new Pn("core_wallet_connection_not_found");return b5(X)}function G(){return Promise.resolve(zn.from({chain:fn.Cardano,value:"0.01"}))}async function o({recipient:N,assetValue:X,memo:_}){if(!l||!("getChangeAddress"in l))throw new Pn("core_wallet_connection_not_found");let{Transaction:Z}=await import("@meshsdk/core"),[,B]=X.symbol.split("-");if(!X.isGasAsset&&!B)throw new Pn("core_wallet_connection_not_found");let w=new Z({initiator:l});if(w.sendAssets({address:N},[{quantity:X.getBaseValue("string"),unit:X.isGasAsset?"lovelace":X.symbol}]),_)w.setMetadata(0,_);let M=await w.build();return{tx:w,unsignedTx:M}}function C(N){if(!l||!("getChangeAddress"in l))throw new Pn("core_wallet_connection_not_found");return l.signTx(N)}async function L({recipient:N,assetValue:X,memo:_}){if(!l||!("getChangeAddress"in l))throw new Pn("core_wallet_connection_not_found");let{unsignedTx:Z}=await o({assetValue:X,memo:_,recipient:N}),B=await C(Z);return await(await mT()).submitTx(B)}return{createTransaction:o,estimateTransactionFee:G,getAddress:x,getBalance:f,signTransaction:C,transfer:L,validateAddress:T}}var $5="lovelace";var r0=()=>{};var iT={};a(iT,{getCardanoToolbox:()=>p5,getCardanoAddressValidator:()=>d0});var gT=R(()=>{r0()});import{base64 as a0,bech32 as xT}from"@scure/base";import{SwapKitError as h5}from"@swapkit/helpers";import{fromByteArray as j5,toByteArray as c5}from"base64-js";function Hn(n){return a0.encode(Uint8Array.from(xT.fromWords(xT.decode(n).words)))}function Un(n,T="thor"){return xT.encode(T,xT.toWords(a0.decode(n)))}function m5(n){return j5(n)}function i5(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new h5("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return c5(n)}var dT=()=>{};import{AssetValue as rT,Chain as E,getChainConfig as Cy,getRPCUrl as g5,SwapKitError as s0}from"@swapkit/helpers";function Qy(n){switch(n){case E.Maya:return{amount:[],gas:"10000000000"};case E.THORChain:return{amount:[],gas:"500000000"};case E.Kujira:return nx;case E.Noble:return Tx;default:return yx}}async function Wy(n){let T=await import("@cosmjs/stargate"),l=T.StargateClient??T.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return l.connect({headers:y,url:n})}async function Dn(n,T,l={}){let y=await import("@cosmjs/stargate"),x=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,G=typeof l==="string"?l:"0.0003uatom",o=typeof l==="string"?{}:l;return x.connectWithSigner(n,T,{gasPrice:f.fromString(G),...o})}async function sT(n,T){let l=await import("@cosmjs/stargate");return(l.SigningStargateClient??l.default?.SigningStargateClient).offline(n,T)}async function eT({sender:n,recipient:T,assetValue:l,memo:y="",feeRate:x,sequence:f,accountNumber:G}){let{chain:o,chainId:C}=l,L=await g5(o),X=await(await Wy(L)).getAccount(n);if(!X)throw new s0("toolbox_cosmos_account_not_found",{sender:n});let _=rT.from({chain:o}),Z=Yy(_.symbol),B=Qy(o),w=Z&&x?{amount:[{amount:x.toString(),denom:Z}],gas:B.gas}:B,M={amount:[{amount:l.getBaseValue("string"),denom:Yy(l.symbol)}],fromAddress:n,toAddress:T};return{accountNumber:G??X.accountNumber,chainId:C,fee:w,memo:y,msgs:[{typeUrl:d5(o),value:M}],sequence:f??X.sequence}}var aT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",e0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",yx,nx,Tx,Yy=(n,T=!1)=>{if(T)return n.toLowerCase();switch(n){case"uUSK":case"USK":return aT;case"uYUM":case"YUM":return e0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},Yn=({symbol:n,chain:T})=>{if(T===E.Maya)return(n.toUpperCase()!=="CACAO"?n:`${E.Maya}.${n}`).toUpperCase();if(T===E.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${E.THORChain}.${n}`:n).toUpperCase();return Yy(n,!1)},d5=(n)=>{switch(n){case E.Maya:case E.THORChain:return"/types.MsgSend";case E.Cosmos:case E.Kujira:case E.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new s0("toolbox_cosmos_not_supported",{chain:n})}},r5,yf=(n,T)=>{let l=r5[n.toLowerCase()];if(!l)return rT.from({asset:n,fromBaseDecimal:8,value:T});let{chain:y,asset:x,decimals:f}=l,G=y?{chain:y}:{asset:x};return rT.from({...G,fromBaseDecimal:f,value:T})};var Rn=R(()=>{yx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},nx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Tx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};r5={atom:{chain:E.Cosmos,decimals:Cy(E.Cosmos).baseDecimal},cacao:{chain:E.Maya,decimals:10},kuji:{chain:E.Kujira,decimals:Cy(E.Kujira).baseDecimal},maya:{asset:`${E.Maya}.${E.Maya}`,decimals:4},rune:{chain:E.THORChain,decimals:Cy(E.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Cy(E.THORChain).baseDecimal},uatom:{chain:E.Cosmos,decimals:Cy(E.Cosmos).baseDecimal},ukuji:{chain:E.Kujira,decimals:Cy(E.Kujira).baseDecimal},usdc:{chain:E.Noble,decimals:Cy(E.Noble).baseDecimal},uusdc:{chain:E.Noble,decimals:Cy(E.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Cy(E.THORChain).baseDecimal},[aT.toLowerCase()]:{asset:`${E.Kujira}.USK`,decimals:Cy(E.Kujira).baseDecimal}}});var fx={};a(fx,{$root:()=>H});import m from"protobufjs/minimal.js";var S,ly,D,H;var xx=R(()=>{S=m.Reader,ly=m.Writer,D=m.util,H=m.roots.default||(m.roots.default={});H.common=(()=>{let n={};return n.Asset=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.chain="",T.prototype.symbol="",T.prototype.ticker="",T.prototype.synth=!1,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))x.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))x.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))x.uint32(32).bool(y.synth);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Asset;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.chain=y.string();break;case 2:G.symbol=y.string();break;case 3:G.ticker=y.string();break;case 4:G.synth=y.bool();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!D.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!D.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Asset)return y;let x=new H.common.Asset;if(y.chain!=null)x.chain=String(y.chain);if(y.symbol!=null)x.symbol=String(y.symbol);if(y.ticker!=null)x.ticker=String(y.ticker);if(y.synth!=null)x.synth=Boolean(y.synth);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.Coin=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.asset=null,T.prototype.amount="",T.prototype.decimals=D.Long?D.Long.fromBits(0,0,!1):0,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))H.common.Asset.encode(y.asset,x.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))x.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))x.uint32(24).int64(y.decimals);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Coin;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.asset=H.common.Asset.decode(y,y.uint32());break;case 2:G.amount=y.string();break;case 3:G.decimals=y.int64();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let x=H.common.Asset.verify(y.asset);if(x)return"asset."+x}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!D.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!D.isInteger(y.decimals)&&!(y.decimals&&D.isInteger(y.decimals.low)&&D.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Coin)return y;let x=new H.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=H.common.Asset.fromObject(y.asset)}if(y.amount!=null)x.amount=String(y.amount);if(y.decimals!=null){if(D.Long)(x.decimals=D.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")x.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")x.decimals=y.decimals;else if(typeof y.decimals==="object")x.decimals=new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)if(f.asset=null,f.amount="",D.Long){let G=new D.Long(0,0,!1);f.decimals=x.longs===String?G.toString():x.longs===Number?G.toNumber():G}else f.decimals=x.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=H.common.Asset.toObject(y.asset,x);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=x.longs===String?String(y.decimals):y.decimals;else f.decimals=x.longs===String?D.Long.prototype.toString.call(y.decimals):x.longs===Number?new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.PubKeySet=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.secp256k1="",T.prototype.ed25519="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))x.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))x.uint32(18).string(y.ed25519);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.PubKeySet;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.secp256k1=y.string();break;case 2:G.ed25519=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!D.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!D.isString(y.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.PubKeySet)return y;let x=new H.common.PubKeySet;if(y.secp256k1!=null)x.secp256k1=String(y.secp256k1);if(y.ed25519!=null)x.ed25519=String(y.ed25519);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.Tx=(()=>{function T(l){if(this.coins=[],this.gas=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.id="",T.prototype.chain="",T.prototype.fromAddress="",T.prototype.toAddress="",T.prototype.coins=D.emptyArray,T.prototype.gas=D.emptyArray,T.prototype.memo="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))x.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)H.common.Coin.encode(y.gas[f],x.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(58).string(y.memo);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Tx;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.id=y.string();break;case 2:G.chain=y.string();break;case 3:G.fromAddress=y.string();break;case 4:G.toAddress=y.string();break;case 5:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 6:if(!G.gas?.length)G.gas=[];G.gas.push(H.common.Coin.decode(y,y.uint32()));break;case 7:G.memo=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!D.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!D.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!D.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let x=0;x<y.gas.length;++x){let f=H.common.Coin.verify(y.gas[x]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Tx)return y;let x=new H.common.Tx;if(y.id!=null)x.id=String(y.id);if(y.chain!=null)x.chain=String(y.chain);if(y.fromAddress!=null)x.fromAddress=String(y.fromAddress);if(y.toAddress!=null)x.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[f]=H.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)x.memo=String(y.memo);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[],f.gas=[];if(x.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.gas?.length){f.gas=[];for(let G=0;G<y.gas.length;++G)f.gas[G]=H.common.Coin.toObject(y.gas[G],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.Fee=(()=>{function T(l){if(this.coins=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.coins=D.emptyArray,T.prototype.poolDeduct="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))x.uint32(18).string(y.poolDeduct);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Fee;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 2:G.poolDeduct=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!D.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Fee)return y;let x=new H.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)x.poolDeduct=String(y.poolDeduct);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[];if(x.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.ProtoUint=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.value="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))x.uint32(10).string(y.value);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.ProtoUint;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.value=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!D.isString(y.value))return"value: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.ProtoUint)return y;let x=new H.common.ProtoUint;if(y.value!=null)x.value=String(y.value);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n})();H.types=(()=>{let n={};return n.MsgDeposit=(()=>{function T(l){if(this.coins=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.coins=D.emptyArray,T.prototype.memo="",T.prototype.signer=D.newBuffer([]),T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))x.uint32(26).bytes(y.signer);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.types.MsgDeposit;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 2:G.memo=y.string();break;case 3:G.signer=y.bytes();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||D.isString(y.signer)))return"signer: buffer expected"}return null},T.fromObject=function(y){if(y instanceof H.types.MsgDeposit)return y;let x=new H.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)x.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")D.base64.decode(y.signer,x.signer=D.newBuffer(D.base64.length(y.signer)),0);else if(y.signer.length)x.signer=y.signer}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[];if(x.defaults){if(f.memo="",x.bytes===String)f.signer="";else if(f.signer=[],x.bytes!==Array)f.signer=D.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=x.bytes===String?D.base64.encode(y.signer,0,y.signer.length):x.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.MsgSend=(()=>{function T(l){if(this.amount=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.fromAddress=D.newBuffer([]),T.prototype.toAddress=D.newBuffer([]),T.prototype.amount=D.emptyArray,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)H.cosmos.base.v1beta1.Coin.encode(y.amount[f],x.uint32(26).fork()).ldelim();return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.types.MsgSend;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.fromAddress=y.bytes();break;case 2:G.toAddress=y.bytes();break;case 3:if(!G.amount?.length)G.amount=[];G.amount.push(H.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||D.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||D.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let x=0;x<y.amount.length;++x){let f=H.cosmos.base.v1beta1.Coin.verify(y.amount[x]);if(f)return"amount."+f}}return null},T.fromObject=function(y){if(y instanceof H.types.MsgSend)return y;let x=new H.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")D.base64.decode(y.fromAddress,x.fromAddress=D.newBuffer(D.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)x.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")D.base64.decode(y.toAddress,x.toAddress=D.newBuffer(D.base64.length(y.toAddress)),0);else if(y.toAddress.length)x.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[f]=H.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.amount=[];if(x.defaults){if(x.bytes===String)f.fromAddress="";else if(f.fromAddress=[],x.bytes!==Array)f.fromAddress=D.newBuffer(f.fromAddress);if(x.bytes===String)f.toAddress="";else if(f.toAddress=[],x.bytes!==Array)f.toAddress=D.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=x.bytes===String?D.base64.encode(y.fromAddress,0,y.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=x.bytes===String?D.base64.encode(y.toAddress,0,y.toAddress.length):x.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let G=0;G<y.amount.length;++G)f.amount[G]=H.cosmos.base.v1beta1.Coin.toObject(y.amount[G],x)}return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n})();H.cosmos=(()=>{let n={};return n.base=(()=>{let T={};return T.v1beta1=(()=>{let l={};return l.Coin=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))G.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))G.uint32(18).string(f.amount);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.Coin;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.denom=f.string();break;case 2:C.amount=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!D.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!D.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.Coin)return f;let G=new H.cosmos.base.v1beta1.Coin;if(f.denom!=null)G.denom=String(f.denom);if(f.amount!=null)G.amount=String(f.amount);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.denom="",o.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))o.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))o.amount=f.amount;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l.DecCoin=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))G.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))G.uint32(18).string(f.amount);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.DecCoin;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.denom=f.string();break;case 2:C.amount=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!D.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!D.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.DecCoin)return f;let G=new H.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)G.denom=String(f.denom);if(f.amount!=null)G.amount=String(f.amount);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.denom="",o.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))o.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))o.amount=f.amount;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l.IntProto=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))G.uint32(10).string(f.int);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.IntProto;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.int=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!D.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.IntProto)return f;let G=new H.cosmos.base.v1beta1.IntProto;if(f.int!=null)G.int=String(f.int);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.int="";if(f.int!=null&&f.hasOwnProperty("int"))o.int=f.int;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l.DecProto=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))G.uint32(10).string(f.dec);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.DecProto;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.dec=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!D.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.DecProto)return f;let G=new H.cosmos.base.v1beta1.DecProto;if(f.dec!=null)G.dec=String(f.dec);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))o.dec=f.dec;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l})(),T})(),n})()});import{Chain as a5}from"@swapkit/helpers";async function $y(){let{$root:n}=await Promise.resolve().then(() => (xx(),fx)),T=await import("@cosmjs/proto-signing"),l=T.Registry??T.default?.Registry,y=await import("@cosmjs/stargate"),x=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new l([...x,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Dy(n){let T=await import("@cosmjs/stargate"),l=T.AminoTypes??T.default?.AminoTypes,y=n===a5.THORChain?"thorchain":"mayachain";return new l({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:x,...f})=>({...f,signer:Hn(x)}),toAmino:({signer:x,...f})=>({...f,signer:Un(x)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:x,to_address:f,...G})=>({...G,fromAddress:Hn(x),toAddress:Hn(f)}),toAmino:({fromAddress:x,toAddress:f,...G})=>({...G,from_address:Un(x),to_address:Un(f)})}})}var nf=R(()=>{dT()});import{AssetValue as s5,Chain as lT,getChainConfig as lx,SwapKitError as e5}from"@swapkit/helpers";function xf(n){return function(l){let{assetValue:y,recipient:x,memo:f,sender:G,asSignable:o,asAminoMessage:C}=l;if(x)return ox(n)({asAminoMessage:C,asSignable:o,assetValue:y,memo:f,recipient:x,sender:G});return Cx(n)({asAminoMessage:C,asSignable:o,assetValue:y,memo:f,sender:G})}}function ky(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((T)=>{let l=s5.from({asset:T.asset}),y=(l.isSynthetic?l.symbol.split("/")?.[1]:l.symbol)?.toUpperCase(),x=(l.isSynthetic?l.symbol.split("/")?.[0]:l.chain)?.toUpperCase();return{...T,asset:{chain:x,symbol:y,synth:l.isSynthetic,ticker:l.ticker}}})}}}async function kn({chain:n,memo:T,msgs:l}){let y=await $y(),x=await Dy(n),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:l.map((G)=>x.fromAmino(G))}};return y.encode(f)}var yl,nl,Tf=({sender:n,recipient:T,assetValue:l})=>{return{type:`${l.chain===lT.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:l.getBaseValue("string"),denom:Yy(l.symbol,!0)}],from_address:n,to_address:T}}},ff=({sender:n,assetValue:T,memo:l=""})=>{return{type:`${T.chain===lT.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:Yn(T)}],memo:l,signer:n}}},GT=({sender:n,recipient:T,assetValue:l,memo:y})=>{return!T?ff({assetValue:l,memo:y,sender:n}):Tf({assetValue:l,recipient:T,sender:n})},Ry=async(n,T)=>{return(await Dy(T)).fromAmino(n)},Gx=async({rpcUrl:n,sender:T})=>{let y=await(await Wy(n)).getAccount(T);if(!y)throw new e5("toolbox_cosmos_account_not_found",{sender:T});return y},ox=(n)=>async({sender:T,recipient:l,assetValue:y,memo:x="",asSignable:f=!0,asAminoMessage:G=!1,sequence:o,accountNumber:C})=>{let L=await Gx({rpcUrl:n,sender:T}),N=y.chain,{chainId:X}=lx(N),_=Tf({assetValue:y,recipient:l,sender:T}),Z=f?await Ry(G?_:ky(_),N):_;return{accountNumber:C||L.accountNumber,chainId:X,fee:Qy(N),memo:x,msgs:[Z],sequence:o||L.sequence}},Cx=(n)=>async({sender:T,assetValue:l,memo:y="",asSignable:x=!0,asAminoMessage:f=!1,sequence:G,accountNumber:o})=>{let C=await Gx({rpcUrl:n,sender:T}),L=l.chain,{chainId:N}=lx(L),X=ff({assetValue:l,memo:y,sender:T}),_=x?await Ry(f?X:ky(X),L):X;return{accountNumber:o||C.accountNumber,chainId:N,fee:Qy(L),memo:y,msgs:[_],sequence:G||C.sequence}};var Lx=R(()=>{Rn();nf();yl=Qy(lT.THORChain).gas,nl=Qy(lT.Maya).gas});var Xx=()=>{};var _x=R(()=>{Xx()});var lf=R(()=>{dT();Lx();nf();_x()});import{base64 as Cf,bech32 as Gf}from"@scure/base";import{AssetValue as Lf,applyFeeMultiplier as Nx,Chain as s,CosmosChainPrefixes as Tl,DerivationPath as fl,derivationPathToString as Zx,FeeOption as Xf,getChainConfig as xl,getRPCUrl as ll,NetworkDerivationPath as Gl,SwapKitError as _f,SwapKitNumber as of,updateDerivationPath as ol}from"@swapkit/helpers";import{SwapKitApi as Qx}from"@swapkit/helpers/api";import{match as Cl,P as Bx}from"ts-pattern";async function Zf(n,T){try{let y=(await Qx.getGasRate()).find((x)=>x.chainId===n)?.value;return y?Number.parseFloat(y):T}catch{return T}}async function Nf({phrase:n,prefix:T,...l}){let y=await import("@cosmjs/proto-signing"),x=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),G=f.stringToPath??f.default?.stringToPath,o="derivationPath"in l?l.derivationPath:`${fl[l.chain]}/${l.index}`;return x.fromMnemonic(n,{hdPaths:[G(o)],prefix:T})}async function Ll({privateKey:n,prefix:T}){let l=await import("@cosmjs/proto-signing");return(l.DirectSecp256k1Wallet??l.default?.DirectSecp256k1Wallet).fromKey(n,T)}function Wx(n){return async function({signature:l,message:y,address:x}){let f=await n(x);if(!f?.pubkey)throw new _f("toolbox_cosmos_verify_signature_no_pubkey");let G=await import("@cosmjs/crypto"),o=G.Secp256k1Signature??G.default?.Secp256k1Signature,C=G.Secp256k1??G.default?.Secp256k1,L=o.fromFixedLength(Cf.decode(l));return C.verifySignature(L,Cf.decode(y),f.pubkey.value)}}async function On({chain:n,...T}){let l=await ll(n),y=Tl[n],x="index"in T?T.index||0:0,f=Zx("derivationPath"in T&&T.derivationPath?T.derivationPath:ol(Gl[n],{index:x})),G=await Cl(T).with({phrase:Bx.string},({phrase:X})=>Nf({derivationPath:f,phrase:X,prefix:y})).with({signer:Bx.any},({signer:X})=>X).otherwise(()=>{return});async function o(X){return(await Wy(l)).getAccount(X)}async function C(){let[X]=await G?.getAccounts()||[];return X?.address}async function L(){let[X]=await G?.getAccounts()||[];if(!X?.pubkey)throw new _f("toolbox_cosmos_signer_not_defined");return Cf.encode(X?.pubkey)}async function N({recipient:X,assetValue:_,memo:Z="",feeRate:B,feeOptionKey:w=Xf.Fast}){let M=await C();if(!(G&&M))throw new _f("toolbox_cosmos_signer_not_defined");let W=Lf.from({chain:n}),Y=Yn(W),v=B||Nl((await wx(n,Jx[n]))[w],Y),u=await Dn(l,G),F=[{amount:_.getBaseValue("string"),denom:Yy(`u${_.symbol}`).toLowerCase()}],{transactionHash:V}=await u.sendTokens(M,X,F,v,Z);return V}return{createPrivateKeyFromPhrase:Bl(f),createTransaction:eT,fetchFeeRateFromSwapKit:Zf,getAccount:o,getAddress:C,getBalance:async(X,_)=>{let Z=await qx(l)(X),B=await Promise.all(Z.filter(({denom:w})=>w&&!w.includes("IBC/")).map(({denom:w,amount:M})=>{let W=[s.THORChain,s.Maya].includes(n)&&(w.includes("/")||w.includes("˜"))?`${n}.${w}`:w;return yf(W,M)}));if(B.length===0)return[Lf.from({chain:n})];return B},getBalanceAsDenoms:qx(l),getFees:()=>wx(n,Jx[n]),getPubKey:L,getSignerFromPhrase:async({phrase:X,derivationPath:_})=>Nf({derivationPath:Zx(_),index:x,phrase:X,prefix:y}),getSignerFromPrivateKey:async(X)=>{let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(X,y)},transfer:N,validateAddress:Mx(y),verifySignature:Wx(o)}}async function Xl(n,T){try{let y=(await Qx.getGasRate()).find((x)=>x.chainId===n)?.value;return y?Number.parseFloat(y):T}catch{return T}}function _l({assetValue:{chain:n}}){return Lf.from({chain:n,value:Zl(n)})}async function wx(n,T){let{chainId:l,baseDecimal:y}=xl(n),x=await Zf(l,T);return{average:of.fromBigInt(BigInt(x),y),fast:of.fromBigInt(BigInt(Nx(x,Xf.Fast,!0)),y),fastest:of.fromBigInt(BigInt(Nx(x,Xf.Fastest,!0)),y)}}function Nl(n,T){return{amount:[{amount:n.getBaseValue("string"),denom:T}],gas:"200000"}}function Zl(n){return{[s.Cosmos]:0.007,[s.Kujira]:0.02,[s.Noble]:0.01,[s.THORChain]:0.02,[s.Maya]:0.02,[s.Harbor]:0.02}[n]||0}function Mx(n){return function(l){if(!l.startsWith(n))return!1;try{let{prefix:y,words:x}=Gf.decode(l);return Gf.encode(y,x)===l.toLocaleLowerCase()}catch{return!1}}}function qx(n){return async function(l){return(await(await Wy(n)).getAllBalances(l)).map((G)=>({...G,denom:G.denom.includes("/")?G.denom.toUpperCase():G.denom}))}}function Bl(n){return async function(l){let y=await import("@cosmjs/crypto"),x=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,G=y.Slip10??y.default?.Slip10,o=y.EnglishMnemonic??y.default?.EnglishMnemonic,C=y.Bip39??y.default?.Bip39,L=new o(l),N=await C.mnemonicToSeed(L),{privkey:X}=G.derivePath(f.Secp256k1,N,x(n));return X}}var Jx;var oT=R(()=>{Rn();Jx={[s.Cosmos]:500,[s.Kujira]:1000,[s.Noble]:1000,[s.THORChain]:5000000,[s.Maya]:5000000,[s.Harbor]:5000000}});import{base64 as by}from"@scure/base";import{Chain as Jl,CosmosChainPrefixes as wl,derivationPathToString as ql,FeeOption as Bf,getChainConfig as Px,getRPCUrl as Ql,NetworkDerivationPath as Wl,RequestClient as Ml,SKConfig as Pl,SwapKitError as zx,SwapKitNumber as Hx,updateDerivationPath as zl}from"@swapkit/helpers";import{match as Hl,P as Ux}from"ts-pattern";function Ul({prefix:n,derivationPath:T}){return async function(y,x=0){let f=await import("@cosmjs/amino"),G=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,o=await import("@cosmjs/crypto"),C=o.stringToPath??o.default?.stringToPath;return G.fromMnemonic(y,{hdPaths:[C(`${T}/${x}`)],prefix:n})}}function Yl(n){return by.encode(n)}function Dl(n){return async function({wallet:l,tx:y}){let{msgs:x,accountNumber:f,sequence:G,chainId:o,fee:C,memo:L}=typeof y==="string"?JSON.parse(y):y,N=(await l.getAccounts())?.[0]?.address||"",X=await Dy(n),_=await $y(),Z=await sT(l,{aminoTypes:X,registry:_}),B=[];for(let W of x){let Y=await Ry(W,n);B.push(Y)}let{signatures:[w]}=await Z.sign(N,B,C,L,{accountNumber:f,chainId:o,sequence:G});return{bodyBytes:await kn({chain:n,memo:L,msgs:x.map(ky)}),signature:Yl(w)}}}function Rl({prefix:n,rpcUrl:T}){return async function(y,x,f,G,o){let{encodeSecp256k1Pubkey:C,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:N}=(await import("@cosmjs/stargate")).default,{sequence:X,fee:_}=JSON.parse(y),Z=await Yx(f,G),B=x.map((W)=>[L(C(by.decode(W.pubKey)),n),by.decode(W.signature)]),w=await Wy(T),{transactionHash:M}=await w.broadcastTx(N(Z,X,_,o,new Map(B)));return M}}async function Yx(n,T,l=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return y(n.map((f)=>x(by.decode(f))),T,l)}function kl(n){return by.decode(n)}async function Ol({privateKey:n,message:T}){let{Secp256k1:l}=(await import("@cosmjs/crypto")).default,y=await l.createSignature(by.decode(T),n);return by.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Jf({chain:n,...T}){let l=await Ql(n),{nodeUrl:y}=Px(n),{isStagenet:x}=Pl.get("envs"),f=n===Jl.THORChain,G=`${x?"s":""}${wl[n]}`,o="index"in T?T.index||0:0,C="derivationPath"in T&&T.derivationPath?T.derivationPath:zl(Wl[n],{index:o}),L=await On({chain:n,...T}),N=await Hl(T).with({phrase:Ux.string},({phrase:B})=>L.getSignerFromPhrase({derivationPath:C,phrase:B})).with({signer:Ux.any},({signer:B})=>B).otherwise(()=>{return}),X=Qy(n);async function _(){let B,w=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await Ml.get(w);if(!M||Number.isNaN(M)||M<0)throw new zx("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});B=new Hx(M)}catch{B=new Hx({decimal:Px(n).baseDecimal,value:f?0.02:1})}return{[Bf.Average]:B,[Bf.Fast]:B,[Bf.Fastest]:B}}async function Z({assetValue:B,memo:w="",recipient:M}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),Y=(await N?.getAccounts())?.[0]?.address;if(!(Y&&N))throw new zx("toolbox_cosmos_no_signer");let v="signAmino"in N,u=await $y(),F=await Dy(n),V=await Dn(l,N,{aminoTypes:F,registry:u}),d=GT({assetValue:B,memo:w,recipient:M,sender:Y});if(v){let U=await Ry(d,n),{signatures:k,authInfoBytes:O}=await V.sign(Y,[U],X,w),I=W.encode({authInfoBytes:O,bodyBytes:await kn({chain:n,memo:w,msgs:[d].map(ky)}),signatures:k}).finish();return(await V.broadcastTx(I)).transactionHash}let Uy=ky(d),J=await Ry(Uy,n);return(await V.signAndBroadcast(Y,[J],X,w)).transactionHash}return{...L,broadcastMultisigTx:Rl({prefix:G,rpcUrl:l}),buildAminoMsg:GT,buildEncodedTxBody:kn,convertToSignable:Ry,createDefaultAminoTypes:()=>Dy(n),createDefaultRegistry:$y,createMultisig:Yx,createTransaction:xf(l),deposit:Z,getFees:_,importSignature:kl,parseAminoMessageForDirectSigning:ky,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:w}=(await import("@cosmjs/amino")).default;return w(B,G)},secp256k1HdWalletFromMnemonic:Ul({derivationPath:ql(C),prefix:G}),signMultisigTx:Dl(n),signWithPrivateKey:Ol,transfer:Z}}var wf=R(()=>{lf();Rn();oT()});import{Chain as Sn,SwapKitError as Sl}from"@swapkit/helpers";var ul=(n,T)=>{switch(n){case Sn.Cosmos:case Sn.Kujira:case Sn.Noble:return On({chain:n,...T});case Sn.Maya:case Sn.THORChain:return Jf({chain:n,...T});default:throw new Sl("toolbox_cosmos_not_supported",{chain:n})}};var Dx=R(()=>{oT();wf();oT();wf()});var CT={};a(CT,{verifySignature:()=>Wx,transferMsgAmino:()=>Tf,toBase64:()=>m5,parseAminoMessageForDirectSigning:()=>ky,getSignerFromPrivateKey:()=>Ll,getSignerFromPhrase:()=>Nf,getMsgSendDenom:()=>Yy,getFeeRateFromSwapKit:()=>Xl,getDenomWithChain:()=>Yn,getDefaultChainFee:()=>Qy,getCreateTransaction:()=>xf,getCosmosValidateAddress:()=>Mx,getCosmosToolbox:()=>ul,getAssetFromDenom:()=>yf,fromBase64:()=>i5,fetchFeeRateFromSwapKit:()=>Zf,estimateTransactionFee:()=>_l,depositMsgAmino:()=>ff,createThorchainToolbox:()=>Jf,createStargateClient:()=>Wy,createSigningStargateClient:()=>Dn,createOfflineStargateClient:()=>sT,createDefaultRegistry:()=>$y,createDefaultAminoTypes:()=>Dy,createCosmosToolbox:()=>On,cosmosCreateTransaction:()=>eT,convertToSignable:()=>Ry,buildTransferTx:()=>ox,buildEncodedTxBody:()=>kn,buildDepositTx:()=>Cx,buildAminoMsg:()=>GT,bech32ToBase64:()=>Hn,base64ToBech32:()=>Un,YUM_KUJIRA_FACTORY_DENOM:()=>e0,USK_KUJIRA_FACTORY_DENOM:()=>aT,THORCHAIN_GAS_VALUE:()=>yl,MAYA_GAS_VALUE:()=>nl,DEFAULT_NOBLE_FEE_MAINNET:()=>Tx,DEFAULT_KUJI_FEE_MAINNET:()=>nx,DEFAULT_COSMOS_FEE_MAINNET:()=>yx});var LT=R(()=>{lf();Dx();Rn()});import{AssetValue as qf,Chain as hy,DerivationPath as Il,derivationPathToString as vl,getChainConfig as Ox,getRPCUrl as Fl,NetworkDerivationPath as El,SwapKitError as jy,updateDerivationPath as Al}from"@swapkit/helpers";import{match as tl,P as Rx}from"ts-pattern";async function Kl(n){try{let T=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${n}`);if(!T.ok)return null;return await T.json()}catch{return null}}async function Vl(n){let T=await py(),{PublicKey:l}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),x=new l(n),f=[],G=await T.getBalance(x);if(G>0){let{baseDecimal:C}=Ox(hy.Solana);f.push(qf.from({chain:hy.Solana,fromBaseDecimal:C,value:G}))}let o=await T.getParsedTokenAccountsByOwner(x,{programId:y});for(let{account:C}of o.value){let L=C.data.parsed.info,N=L.mint,X=L.tokenAmount.amount;if(Number(X)===0)continue;let _=await Kl(N),Z=_?.symbol||"UNKNOWN",B=_?.decimals||L.tokenAmount.decimals;f.push(qf.from({asset:`${hy.Solana}.${Z}-${N}`,fromBaseDecimal:B,value:X}))}return f}async function Mf(){let{PublicKey:n}=await import("@solana/web3.js");return(T)=>{try{let l=new n(T);return n.isOnCurve(l.toBytes())}catch{return!1}}}async function $l(n){let T=n&&"index"in n?n.index||0:0,l=vl(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:Al(El[hy.Solana],{index:T})),y=await tl(n).with({phrase:Rx.string},({phrase:G})=>Wf({derivationPath:l,phrase:G})).with({signer:Rx.any},({signer:G})=>G).otherwise(()=>{return});function x(){return y?.publicKey?kx(y.publicKey):""}function f(G){let o=G||x();if(!o)throw new jy("core_wallet_connection_not_found");return Vl(o)}return{broadcastTransaction:Qf(py),createKeysForPath:Wf,createTransaction:Pf(py),createTransactionFromInstructions:jl,estimateTransactionFee:bl(py),getAddress:x,getAddressFromPubKey:kx,getAddressValidator:Mf,getBalance:f,getConnection:py,getPubkeyFromAddress:zf,signTransaction:ml(py,y),transfer:cl(py,y)}}function bl(n){return async({recipient:T,assetValue:l,memo:y,isProgramDerivedAddress:x,sender:f})=>{let G=await n(),C=(await Pf(n)({assetValue:l,isProgramDerivedAddress:x,memo:y,recipient:T,sender:f})).compileMessage(),L=await G.getFeeForMessage(C);if(L.value===null)throw new jy("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:N}=Ox(hy.Solana);return qf.from({chain:hy.Solana,fromBaseDecimal:N,value:L.value})}}async function py(){let{Connection:n}=await import("@solana/web3.js"),T=await Fl(hy.Solana);return new n(T,"confirmed")}function pl(n){return async({assetValue:T,recipient:l,sender:y,isProgramDerivedAddress:x})=>{let f=await n(),G=await zf(y);if(T.isGasAsset){let{Transaction:o,SystemProgram:C,PublicKey:L}=await import("@solana/web3.js");return new o().add(C.transfer({fromPubkey:G,lamports:T.getBaseValue("number"),toPubkey:new L(l)}))}if(T.address)return hl({amount:T.getBaseValue("number"),connection:f,decimals:T.decimal,from:G,isProgramDerivedAddress:x,recipient:l,tokenAddress:T.address});return}}async function hl({tokenAddress:n,recipient:T,from:l,connection:y,amount:x,decimals:f,isProgramDerivedAddress:G}){let{getAssociatedTokenAddress:o,getAccount:C,createAssociatedTokenAccountInstruction:L,createTransferCheckedInstruction:N}=await import("@solana/spl-token"),{Transaction:X,PublicKey:_}=await import("@solana/web3.js"),Z=new X,B=new _(n),w=await o(B,l),M=new _(T),W=await o(B,M,G),Y=!1;try{await C(y,W),Y=!0}catch{}if(!Y)Z.add(L(l,W,M,B));return Z.add(N(w,B,W,l,x,f)),Z}function Pf(n){return async({recipient:T,assetValue:l,memo:y,isProgramDerivedAddress:x,sender:f})=>{let{createMemoInstruction:G}=await import("@solana/spl-memo"),o=await zf(f),C=await Mf();if(!(x||C(T)))throw new jy("core_transaction_invalid_recipient_address");let L=await n(),N=await pl(n)({assetValue:l,isProgramDerivedAddress:x,recipient:T,sender:f});if(!N)throw new jy("core_transaction_invalid_sender_address");if(y)N.add(G(y));let X=await L.getLatestBlockhash();return N.recentBlockhash=X.blockhash,N.feePayer=o,N}}async function jl({instructions:n}){let{Transaction:T}=await import("@solana/web3.js"),l=new T().add(...n);if(!l)throw new jy("core_transaction_invalid_sender_address");return l}function cl(n,T){return async({recipient:l,assetValue:y,memo:x,isProgramDerivedAddress:f})=>{if(!T)throw new jy("core_transaction_invalid_sender_address");let G=T.publicKey?.toString()??(await T.connect()).publicKey.toString(),o=await Pf(n)({assetValue:y,isProgramDerivedAddress:f,memo:x,recipient:l,sender:G});if("signTransaction"in T){let C=await T.signTransaction(o);return Qf(n)(C)}return o.sign(T),Qf(n)(o)}}function Qf(n){return async(T)=>{return(await n()).sendRawTransaction(T.serialize())}}function ml(n,T){return async(l)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!T)throw new jy("toolbox_solana_no_signer");if(!(l instanceof y)){let f=await(await n()).getLatestBlockhash();l.recentBlockhash=f.blockhash,l.feePayer=T.publicKey||void 0}if("connect"in T)return await T.signTransaction(l);return await l.sign([T]),l}}async function Wf({phrase:n,derivationPath:T=Il.SOL}){let{HDKey:l}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),f=y(n),G=l.fromMasterSeed(f);return x.fromSeed(G.derive(T,!0).privateKey)}function kx(n){return n.toString()}async function zf(n){let{PublicKey:T}=await import("@solana/web3.js");return new T(n)}var Sx=()=>{};var Hf={};a(Hf,{getSolanaToolbox:()=>$l,getSolanaAddressValidator:()=>Mf,createKeysForPath:()=>Wf});var Uf=R(()=>{Sx()});import{AssetValue as XT,Chain as Yf,getChainConfig as il,SwapKitError as Oy}from"@swapkit/helpers";import{match as gl,P as ux}from"ts-pattern";async function Ix(){let{isValidSuiAddress:n}=await import("@mysten/sui/utils");return function(l){try{return n(l)}catch{return!1}}}async function dl({provider:n,...T}={}){let l=await Ix(),y=await gl(T).with({phrase:ux.string},async({phrase:X})=>{let{Ed25519Keypair:_}=await import("@mysten/sui/keypairs/ed25519");return _.deriveKeypair(X)}).with({signer:ux.any},({signer:X})=>X).otherwise(()=>{return});async function x(X=n){let{SuiClient:_,getFullnodeUrl:Z}=await import("@mysten/sui/client");return new _({url:X||Z("mainnet")})}function f(){return y?.toSuiAddress()||""}async function G(X){let _=X||f();if(!_)throw new Oy("toolbox_sui_address_required");try{let Z=await x(),{totalBalance:B}=await Z.getBalance({owner:_}),{baseDecimal:w,chain:M}=il(Yf.Sui),W=[XT.from({chain:M,fromBaseDecimal:w,value:B})],Y=await Z.getAllBalances({owner:_});for(let{coinType:v,totalBalance:u}of Y){if(v==="0x2::sui::SUI")continue;if(Number(u)>0){let F=v.split("::").pop()?.toUpperCase()||"UNKNOWN",V=`${M}.${F}-${v}`;W.push(XT.from({asset:V,fromBaseDecimal:w,value:u}))}}return W}catch(Z){throw new Oy("toolbox_sui_balance_error",{error:Z})}}async function o(X){let _=XT.from({chain:Yf.Sui,value:"0.01"});if(!X)return _;try{let Z=await x(),{txBytes:B}=await C(X),{effects:{status:w,gasUsed:M}}=await Z.dryRunTransactionBlock({transactionBlock:B});if(w.status!=="success")return _;let W=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return XT.from({chain:Yf.Sui,value:W.toString()})}catch{return _}}async function C({recipient:X,assetValue:_,gasBudget:Z,sender:B}){let{Transaction:w}=await import("@mysten/sui/transactions"),M=B||f();if(!M)throw new Oy("toolbox_sui_no_sender");try{let W=new w;if(W.setSender(M),_.isGasAsset||_.symbol==="SUI"){let[u]=W.splitCoins(W.gas,[_.getBaseValue("string")]);W.transferObjects([u],X)}else throw new Oy("toolbox_sui_custom_token_transfer_not_implemented");if(Z)W.setGasBudget(Z);let Y=await x(),v=await W.build({client:Y});return{tx:W,txBytes:v}}catch(W){throw new Oy("toolbox_sui_transaction_creation_error",{error:W})}}async function L(X){if(!y)throw new Oy("toolbox_sui_no_signer");if(X instanceof Uint8Array)return y.signTransaction(X);let{txBytes:_}="tx"in X?X:await C(X);return y.signTransaction(_)}async function N({assetValue:X,gasBudget:_,recipient:Z}){if(!y)throw new Oy("toolbox_sui_no_signer");let B=y.toSuiAddress()||f();if(!B)throw new Oy("toolbox_sui_no_sender");let{txBytes:w}=await C({assetValue:X,gasBudget:_,recipient:Z,sender:B}),M=await x(),{digest:W}=await M.signAndExecuteTransaction({signer:y,transaction:w});return W}return{createTransaction:C,estimateTransactionFee:o,getAddress:f,getBalance:G,signTransaction:L,transfer:N,validateAddress:l}}var vx=()=>{};var _T={};a(_T,{getSuiToolbox:()=>dl,getSuiAddressValidator:()=>Ix});var NT=R(()=>{vx()});import{AssetValue as Fx,Chain as ZT,getChainConfig as Ex,SwapKitError as xn,SwapKitNumber as rl}from"@swapkit/helpers";import{match as al,P as Ax}from"ts-pattern";async function sl(n={}){let{mnemonicToWalletKey:T}=await import("@ton/crypto"),{Address:l,TonClient:y,WalletContractV4:x}=await import("@ton/ton"),f=await tx(),G,o,C=await al(n).with({phrase:Ax.string},async({phrase:W})=>T(W.split(" "))).with({signer:Ax.any},({signer:W})=>W).otherwise(()=>{return});function L(){let{rpcUrls:W}=Ex(ZT.Ton),[Y]=W;if(!G||G.parameters.endpoint!==Y)G=new y({endpoint:Y});return G}function N(W){if(!o||W){let Y=L(),v=W||C;if(!v)throw new xn("core_wallet_connection_not_found");let u=x.create({publicKey:v.publicKey,workchain:0});o=Y.open(u)}return o}async function X(W){let Y=L(),{baseDecimal:v}=Ex(ZT.Ton);try{let u=await Y.getBalance(l.parse(W));return[Fx.from({chain:ZT.Ton,value:rl.fromBigInt(u,v)})]}catch(u){throw new xn("core_wallet_connection_not_found",{error:u})}}async function _({assetValue:W,recipient:Y,memo:v}){let u=N();if(!u||!C)throw new xn("core_wallet_connection_not_found");let{toNano:F,comment:V,internal:d}=await import("@ton/ton"),Uy=await u.getSeqno(),J=F(W.getValue("string")),P=v?V(v):void 0;return u.createTransfer({messages:[d({body:P,to:Y,value:J})],secretKey:C.secretKey,seqno:Uy})}async function Z({assetValue:W,recipient:Y,memo:v}){let u=N();if(!u||!C)throw new xn("core_wallet_connection_not_found");let F=await _({assetValue:W,memo:v,recipient:Y});return await u.send(F),F.hash().toString()}async function B(W){let Y=N();if(!Y)throw new xn("core_wallet_connection_not_found");try{return await Y.send(W),W.hash().toString("hex")}catch(v){throw new xn("core_wallet_connection_not_found",{error:v})}}function w(){return N().address.toString()}function M(){return Promise.resolve(Fx.from({chain:ZT.Ton,value:"0.0001"}))}return{createTransaction:_,estimateTransactionFee:M,getAddress:w,getBalance:X,sendTransaction:B,transfer:Z,validateAddress:f}}async function tx(){let{Address:n}=await import("@ton/ton");return function(l){try{return n.parse(l),!0}catch{return!1}}}var Kx=()=>{};var BT={};a(BT,{getTONToolbox:()=>sl,getTONAddressValidator:()=>tx});var JT=R(()=>{Kx()});var ln;var Df=R(()=>{ln=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});import{SwapKitError as el}from"@swapkit/helpers";async function Vx(n){let T=await import("tronweb"),l=T.TronWeb??T.default?.TronWeb;try{let y=await fetch(`${y2}/v1/accounts/${n}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let x=await y.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=l.address.toHex(n).toLowerCase()}catch{f=n.toLowerCase()}let G=x.data.find((o)=>{return o.address.toLowerCase()===f});if(!G)return;return{balance:G.balance,trc20:G.trc20||[]}}catch(y){throw new el("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}var y2="https://api.trongrid.io";var $x=()=>{};import{AssetValue as My,BaseDecimal as bx,Chain as Ly,derivationPathToString as jx,getRPCUrl as n2,NetworkDerivationPath as cx,SwapKitError as e,updateDerivationPath as mx,warnOnce as Rf}from"@swapkit/helpers";import{match as T2,P as px}from"ts-pattern";async function kf(){let n=await import("tronweb"),T=n.TronWeb??n.default?.TronWeb;return(l)=>{return T.isAddress(l)}}async function ix({phrase:n,derivationPath:T,index:l}){let y=T||jx(mx(cx[Ly.Tron],{index:l||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),G=f(n),C=x.fromMasterSeed(G).derive(y);if(!C.privateKey)throw new e("toolbox_tron_no_signer");return Buffer.from(C.privateKey).toString("hex")}async function o2({phrase:n,derivationPath:T,tronWeb:l}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),f=x(n),o=y.fromMasterSeed(f).derive(T);if(!o.privateKey)throw new e("toolbox_tron_no_signer");let C=Buffer.from(o.privateKey).toString("hex");l.setPrivateKey(C);let L=l?.address.fromPrivateKey(C);return{getAddress:()=>Promise.resolve(typeof L==="string"?L:""),signTransaction:async(N)=>{return await l.trx.sign(N,C)}}}var f2=268,x2=13000,l2=345,hx="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",G2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",gx=async(n={})=>{let T=await import("tronweb"),l=T.TronWeb??T.default?.TronWeb,y=await n2(Ly.Tron),x=void 0,f=new l({fullHost:y,headers:void 0}),G="index"in n?n.index||0:0,o=jx("derivationPath"in n&&n.derivationPath?n.derivationPath:mx(cx[Ly.Tron],{index:G})),C=await T2(n).with({phrase:px.string},async({phrase:J})=>o2({derivationPath:o,phrase:J,tronWeb:f})).with({signer:px.any},({signer:J})=>Promise.resolve(J)).otherwise(()=>Promise.resolve(void 0)),L=async()=>{if(!C)throw new e("toolbox_tron_no_signer");return await C.getAddress()},N=()=>{return 1e8},X=async()=>{try{let J=await f.trx.getChainParameters(),P={};for(let U of J)P[U.key]=U.value;return{bandwidthFee:P.getTransactionFee||1000,createAccountFee:P.getCreateAccountFee||1e5,energyFee:P.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},_=async(J)=>{try{let P=await f.trx.getAccount(J);return P&&Object.keys(P).length>0}catch{return!1}},Z=async(J)=>{try{let P=await f.trx.getAccountResources(J);return{bandwidth:{free:P.freeNetLimit-P.freeNetUsed,total:P.NetLimit||0,used:P.NetUsed||0},energy:{total:P.EnergyLimit||0,used:P.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(J,P)=>{try{let U=f.contract(ln,P);if(!U.methods?.balanceOf)return 0n;let[k]=await U.methods.balanceOf(J).call();return k?typeof k==="bigint"?k:BigInt(k):0n}catch(U){return console.warn(`balanceOf() failed for ${P}:`,U),0n}},w=async(J,P)=>{try{f.setAddress(P);let U=f.contract(ln,J),[k,O]=await Promise.all([U.symbol().call().catch(()=>"UNKNOWN"),U.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:k??"UNKNOWN"}}catch(U){return Rf({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${J}: ${U instanceof Error?U.message:U}`}),null}},M=async(J,P=!0)=>{let U=[My.from({chain:Ly.Tron})];try{let k=await Vx(J);if(k){let O=[];O.push(My.from({chain:Ly.Tron,fromBaseDecimal:6,value:k.balance}));for(let I of k.trc20){let[t,$]=Object.entries(I)[0]||[];if(!(t&&$))continue;let A=await w(t,J);if(!A)continue;O.push(My.from({asset:`TRON.${A.symbol}-${t}`,fromBaseDecimal:A.decimals,value:BigInt($||0)}))}return O}return U}catch(k){Rf({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${k instanceof Error?k.message:k}`});try{let O=[],I=await f.trx.getBalance(J);if(I&&Number(I)>0)O.push(My.from({chain:Ly.Tron,fromBaseDecimal:6,value:I}));let t=await B(J,hx);if(t)O.push(My.from({asset:`TRON.USDT-${hx}`,fromBaseDecimal:6,value:t}));if(O.length===0)return U;return O}catch(O){return console.error("Tron balance fetch failed:",O),U}}},W=async({recipient:J,assetValue:P,memo:U})=>{if(!C)throw new e("toolbox_tron_no_signer");let k=await L();if(f.setAddress(k),P.isGasAsset){let A=await f.transactionBuilder.sendTrx(J,P.getBaseValue("number"),k);if(U){let r=await f.transactionBuilder.addUpdateData(A,U,"utf8"),By=await C.signTransaction(r),{txid:Ey}=await f.trx.sendRawTransaction(By);return Ey}let fy=await C.signTransaction(A),{txid:xy}=await f.trx.sendRawTransaction(fy);return xy}let I=await v({assetValue:P,memo:U,recipient:J,sender:k}),t=await C.signTransaction(I),{txid:$}=await f.trx.sendRawTransaction(t);if(!$)throw new e("toolbox_tron_token_transfer_failed");return $},Y=async({assetValue:J,recipient:P,sender:U})=>{let k=J.isGasAsset;try{let O=U?U:C?await L():void 0;if(!O)return k?My.from({chain:Ly.Tron,fromBaseDecimal:0,value:0.1}):My.from({chain:Ly.Tron,fromBaseDecimal:0,value:15});let I=await X(),$=await _(P)?0:I.createAccountFee,A=await Z(O);if(k){let Ay=f2,P0=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),z0=0;if(Ay>P0)z0=(Ay-P0)*I.bandwidthFee;let r1=$+z0;return My.from({chain:Ly.Tron,fromBaseDecimal:bx.TRON,value:r1})}let fy=l2,xy=x2,r=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),By=A.energy.total-A.energy.used,Ey=0;if(fy>r)Ey=(fy-r)*I.bandwidthFee;let bn=0;if(xy>By)bn=(xy-By)*I.energyFee;let ST=$+Ey+bn;return My.from({chain:Ly.Tron,fromBaseDecimal:bx.TRON,value:ST})}catch(O){throw Rf({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new e("toolbox_tron_fee_estimation_failed",{error:O})}},v=async(J)=>{let{recipient:P,assetValue:U,memo:k,sender:O,expiration:I}=J;if(U.isGasAsset){let A=await f.transactionBuilder.sendTrx(P,U.getBaseValue("number"),O);if(k)return f.transactionBuilder.addUpdateData(A,k,"utf8");if(I)f.transactionBuilder.extendExpiration(A,I);return A}f.setAddress(O);let $=U.address;if(!$)throw new e("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});try{let fy=[{type:"address",value:P},{type:"uint256",value:U.getBaseValue("string")}],xy={callValue:0,feeLimit:N()},r=await f.transactionBuilder.triggerSmartContract($,"transfer(address,uint256)",xy,fy,O);if(k)return f.transactionBuilder.addUpdateData(r.transaction,k,"utf8");if(I)f.transactionBuilder.extendExpiration(r.transaction,I);return r.transaction}catch(A){throw new e("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:A instanceof Error?A.message:String(A)})}},u=async(J)=>{if(!C)throw new e("toolbox_tron_no_signer");return await C.signTransaction(J)},F=async(J)=>{let{txid:P}=await f.trx.sendRawTransaction(J);return P},V=async({assetAddress:J,spenderAddress:P,from:U})=>{try{let k=f.contract(ln,J);if(!k.methods?.allowance)throw new e("toolbox_tron_invalid_token_contract");let[O]=await k.methods.allowance(U,P).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(k){throw new e("toolbox_tron_allowance_check_failed",{error:k})}};return{approve:async({assetAddress:J,spenderAddress:P,amount:U,from:k})=>{if(!C)throw new e("toolbox_tron_no_signer");let O=k||await L(),I=U!==void 0?BigInt(U).toString():G2,t="approve(address,uint256)",$=[{type:"address",value:P},{type:"uint256",value:I}],fy={callValue:0,feeLimit:N()};try{let{transaction:xy}=await f.transactionBuilder.triggerSmartContract(J,t,fy,$,O),r=await C.signTransaction(xy),{txid:By}=await f.trx.sendRawTransaction(r);if(!By)throw new e("toolbox_tron_approve_failed");return By}catch(xy){throw new e("toolbox_tron_approve_failed",{error:xy})}},broadcastTransaction:F,createTransaction:v,estimateTransactionFee:Y,getAddress:L,getApprovedAmount:V,getBalance:M,isApproved:async({assetAddress:J,spenderAddress:P,from:U,amount:k})=>{let O=await V({assetAddress:J,from:U,spenderAddress:P});if(!k)return O>0n;let I=BigInt(k);return O>=I},signTransaction:u,transfer:W,tronWeb:f,validateAddress:await kf()}};var dx=R(()=>{Df();$x()});var Of={};a(Of,{trc20ABI:()=>ln,getTronPrivateKeyFromMnemonic:()=>ix,getTronAddressValidator:()=>kf,createTronToolbox:()=>gx});var Sf=R(()=>{Df();dx()});import{networks as C2}from"@bitgo/utxo-lib";import{Chain as i,getRPCUrl as L2,RequestClient as wT,SKConfig as sx,SwapKitError as Sy,warnOnce as ex}from"@swapkit/helpers";import{networks as X2}from"bitcoinjs-lib";import un from"coininfo";async function _2({chain:n,txHash:T}){let l=`${qT(n)}/push/transaction`,y=JSON.stringify({data:T});try{let x=await wT.post(l,{body:y,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new Sy("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||T}catch(x){let f=await L2(n);if(f){let G=JSON.stringify({id:H0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),o=await wT.post(f,{body:G,headers:{"Content-Type":"application/json"}});if(o.error)throw new Sy("toolbox_utxo_broadcast_failed",{error:o.error?.message});if(o.result.includes('"code":-26'))throw new Sy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return o.result}throw x}}function qT(n){return`https://api.blockchair.com/${N2(n)}`}function rx(n){switch(n){case i.Bitcoin:return 5;case i.Dogecoin:return 1e4;case i.Litecoin:return 1;case i.Zcash:return 1;default:return 2}}function N2(n){switch(n){case i.BitcoinCash:return"bitcoin-cash";case i.Litecoin:return"litecoin";case i.Dash:return"dash";case i.Dogecoin:return"dogecoin";case i.Zcash:return"zcash";case i.Polkadot:return"polkadot";default:return"bitcoin"}}async function Z2(n){try{let{feePerKb:T}=await wT.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),l=T/1000;return Math.max(l,rx(n))}catch{return rx(n)}}async function uf(n,T){let l=await wT.get(`${n}${T?`${n.includes("?")?"&":"?"}key=${T}`:""}`);if(!l||l.context.code!==200)throw new Sy("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return l.data}async function y1({address:n,chain:T,apiKey:l}){if(!n)throw new Sy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await uf(`${qT(T)}/dashboards/address/${n}?transaction_details=true`,l))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function B2({address:n,chain:T,apiKey:l}){return(await y1({address:n,apiKey:l,chain:T}))?.address.balance||0}async function n1({chain:n,apiKey:T,txHash:l}){if(!l)throw new Sy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await uf(`${qT(n)}/raw/transaction/${l}`,T))?.[l]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function J2({chain:n,address:T,apiKey:l,offset:y=0,limit:x=30}){return(await uf(`${qT(n)}/outputs?q=recipient(${T}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${y}`,l)).map(({is_spent:C,script_hex:L,block_id:N,transaction_hash:X,index:_,value:Z,spending_signature_hex:B})=>({hash:X,index:_,is_confirmed:N!==-1,is_spent:C,script_hex:L,txHex:B,value:Z}))}function w2(n){return n.reduce((T,l)=>T+l.value,0)}function ax(n,T){let l=[...n].sort((y,x)=>x.value-y.value);if(T){let y=[],x=0;for(let f of l)if(y.push(f),x+=f.value,x>=T)break;return y}return l}async function T1({chain:n,address:T,apiKey:l,targetValue:y,accumulativeValue:x=0,offset:f=0,limit:G=30}){if(!T)throw new Sy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let o=await J2({address:T,apiKey:l,chain:n,limit:G,offset:f,targetValue:y}),L=o.length<G,N=o.filter(({is_spent:M})=>!M),X=w2(N),_=x+X,Z=y&&_>=y;if(L||Z)return ax(N,y);let B=await T1({accumulativeValue:_,address:T,apiKey:l,chain:n,limit:G,offset:f+G,targetValue:y}),w=[...N,...B];return ax(w,y)}catch(o){return console.error("Failed to fetch unspent UTXOs:",o),[]}}async function q2({address:n,chain:T,apiKey:l,fetchTxHex:y=!0,targetValue:x}){let f=await T1({address:n,apiKey:l,chain:T,targetValue:x}),G=[];for(let{hash:o,index:C,script_hex:L,value:N}of f){let X;if(y)X=await n1({apiKey:l,chain:T,txHash:o});G.push({address:n,hash:o,index:C,txHex:X,value:N,witnessUtxo:{script:Buffer.from(L,"hex"),value:N}})}return G}function Q2(n){let T=sx.get("apiKeys").blockchair||"";return ex({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(l)=>_2({chain:n,txHash:l}),getAddressData:(l)=>y1({address:l,apiKey:T,chain:n}),getBalance:(l)=>B2({address:l,apiKey:T,chain:n}),getRawTx:(l)=>n1({apiKey:T,chain:n,txHash:l}),getSuggestedTxFee:()=>Z2(n),getUtxos:(l)=>q2({...l,apiKey:T,chain:n})}}function W2(n){return n}function yy(n){let T=sx.get("apis")[n];if(T)return ex({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),T;return Q2(n)}function Xy(){return function(T){switch(T){case i.Bitcoin:return X2.bitcoin;case i.BitcoinCash:return un.bitcoincash.main.toBitcoinJS();case i.Dash:return un.dash.main.toBitcoinJS();case i.Litecoin:return un.litecoin.main.toBitcoinJS();case i.Dogecoin:{let l={private:70615956,public:70617039},y=un.dogecoin.test;return y.versions.bip32=l,un.dogecoin.main.toBitcoinJS()}case i.Zcash:return C2.zcash;default:throw new Sy("toolbox_utxo_not_supported",{chain:T})}}}var f1=R(()=>{Jn()});import{SwapKitError as l1}from"@swapkit/helpers";import G1 from"bs58check";import o1 from"cashaddrjs";function vf(n){try{return QT(n),!0}catch{return!1}}function Ff(n){return QT(n)?.network}function Gn(n){let T=QT(n);if(T?.format==="legacy")return n;return z2(T)}function In(n){let T=QT(n);return H2(T)}function QT(n){try{let T=M2(n);if(T)return T}catch{}try{let T=P2(n);if(T)return T}catch{}throw new l1("toolbox_utxo_invalid_address",{address:n})}function M2(n){try{let T=G1.decode(n);if(T.length!==21)throw new l1("toolbox_utxo_invalid_address",{address:n});let l=T[0],y=Array.prototype.slice.call(T,1);switch(l){case K.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case K.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case K.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case K.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case K.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case K.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function P2(n){if(n.indexOf(":")!==-1)try{return x1(n)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let l of T)try{return x1(`${l}:${n}`)}catch{}}return}function x1(n){try{let{hash:T,prefix:l,type:y}=o1.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(T,0),network:l==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function z2(n){let T=K.legacy[n.network][n.type],l=Buffer.alloc(1+n.hash.length);return l[0]=T,l.set(n.hash,1),G1.encode(l)}function H2(n){let T=n.network==="mainnet"?"bitcoincash":"bchtest",l=n.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(n.hash);return o1.encode(T,l,y)}var If,K;var C1=R(()=>{((l)=>{l.Mainnet="mainnet";l.Testnet="testnet"})(If||={});K={["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 U2}from"@swapkit/helpers";import{opcodes as Y2,script as D2}from"bitcoinjs-lib";function _y(n){let T=Buffer.from(n,"utf8");return D2.compile([Y2.OP_RETURN,T])}var R2=1000,MT=10,L1=10,k2=41,O2=107,PT,WT,vn,Fn=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new U2("toolbox_utxo_invalid_address",{address:n})},on=({inputs:n,outputs:T,feeRate:l})=>{let y=n[0]&&"address"in n[0]&&n[0].address?Fn(n[0].address):"P2PKH",x=n.filter((G)=>G.value>=WT["type"in G?G.type:"P2PKH"]*Math.ceil(l)).reduce((G,o)=>G+uy(o),0),f=T?.reduce((G,o)=>G+En(o),0)||vn[y];return MT+x+f},uy=(n)=>{if("type"in n)return WT[n.type];if("address"in n&&n.address)return WT[Fn(n.address)];return k2+O2},En=(n,T)=>{if(n?.script)return L1+n.script.length+(n.script.length>=74?2:1);if(T)return vn[T];return vn.P2PKH};var Ef=R(()=>{((l)=>{l.P2PKH="P2PKH";l.P2WPKH="P2WPKH"})(PT||={});WT={["P2PKH"]:148,["P2WPKH"]:68},vn={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as cy,SwapKitError as S2}from"@swapkit/helpers";function zT(n){switch(n){case cy.Bitcoin:case cy.BitcoinCash:return 550;case cy.Dash:case cy.Litecoin:return 5500;case cy.Dogecoin:return 1e5;case cy.Zcash:return 546;default:throw new S2("toolbox_utxo_not_supported",{chain:n})}}function Ny({inputs:n,outputs:T,feeRate:l=1,chain:y=cy.Bitcoin,changeAddress:x=""}){let f=Math.ceil(l),G=n[0]&&"address"in n[0]&&n[0].address?Fn(n[0].address):"P2PKH",o=n.filter((Z)=>uy(Z)*f<=Z.value),C=MT+T.reduce((Z,B)=>Z+En(B,G),0),L=T.reduce((Z,B)=>Z+B.value,0),N=C*f,X=0,_=[];for(let Z of o){let B=uy(Z),w=f*B;N+=w,X+=Z.value,_.push(Z);let M=N+L;if(X<M)continue;let W=X-M,Y=f*En({address:"",value:0},G);if(W>Y){let v=Y+N,u=X-(L+v);if(u>Math.max(uy({})*f,zT(y)))return{fee:v,inputs:_,outputs:T.concat({address:x,value:u})}}return{fee:N,inputs:_,outputs:T}}return{fee:f*on({feeRate:f,inputs:n,outputs:T})}}var X1=R(()=>{Ef()});var Cn=R(()=>{f1();C1();X1();Ef()});import{networks as u2,address as I2}from"@bitgo/utxo-lib";import v2 from"bs58check";function my(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Iy(n){let T=my(n);return vf(T)&&Ff(T)==="mainnet"}function Ln(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=u2.zcash;try{return I2.toOutputScript(n,T),!0}catch{let l=v2.decode(n);if(l.length<21)return!1;let y=l[0];return y===T.pubKeyHash||y===T.scriptHash}}catch{return!1}}var An=R(()=>{Cn()});import tf from"@bitcoinerlab/secp256k1";import{ECPair as F2,HDNode as E2}from"@psf/bitcoincashjs-lib";import{HDKey as A2}from"@scure/bip32";import{mnemonicToSeedSync as _1}from"@scure/bip39";import{AssetValue as Af,applyFeeMultiplier as N1,Chain as ny,DerivationPath as t2,derivationPathToString as K2,FeeOption as Py,NetworkDerivationPath as V2,SwapKitError as zy,SwapKitNumber as $2,updateDerivationPath as b2}from"@swapkit/helpers";import{address as p2,initEccLib as B1,Psbt as h2,payments as Z1}from"bitcoinjs-lib";import{ECPairFactory as j2}from"ecpair";function J1({inputs:n,outputs:T,chain:l,psbt:y,sender:x,compiledMemo:f}){for(let G of n){let o=!!G.witnessUtxo&&!tn.includes(l)&&{witnessUtxo:G.witnessUtxo},C=tn.includes(l)&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};y.addInput({hash:G.hash,index:G.index,...o,...C})}for(let G of T){let o="address"in G&&G.address?G.address:x,C=G.script;if(C&&!f)continue;let L=C?{script:f,value:0}:{address:o,value:G.value};B1(tf),y.addOutput(L)}return{inputs:n,psbt:y}}async function w1({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x,fetchTxHex:f=!1}){let G=n.chain,o=l?await _y(l):null,C=await W1({assetValue:n,fetchTxHex:f,memo:l,recipient:T,sender:x}),{inputs:L,outputs:N}=Ny({...C,chain:G,feeRate:y});if(!(L&&N))throw new zy("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let X=await Xy(),_=new h2({network:X(G)});if(G===ny.Dogecoin)_.setMaximumFeeRate(650000000);let{psbt:Z,inputs:B}=await J1({chain:G,compiledMemo:o,inputs:L,outputs:N,psbt:_,sender:x});return{inputs:B,psbt:Z,utxos:C.inputs}}async function q1(){let n=await Xy();return function({address:l,chain:y}){if(y===ny.BitcoinCash)return Iy(l);if(y===ny.Zcash)return Ln(l);try{return B1(tf),p2.toOutputScript(l,n(y)),!0}catch{return!1}}}async function c2({chain:n,phrase:T,derivationPath:l}){let y=(await Kn(n))({derivationPath:l,phrase:T});async function x(G){return await G.signAllInputs(y),G}function f(){return Kf(n)(y)}return{getAddress:f,signTransaction:x}}async function iy({chain:n,...T}){let l="phrase"in T?T.phrase:void 0,y="index"in T?T.index||0:0,x=K2("derivationPath"in T&&T.derivationPath?T.derivationPath:b2(V2[n],{index:y})),f=l?await c2({chain:n,derivationPath:x,phrase:l}):("signer"in T)?T.signer:void 0;function G(){return Promise.resolve(f?.getAddress())}let o=await q1(),C=await Kn(n);return{accumulative:Ny,broadcastTx:(L)=>yy(n).broadcastTx(L),calculateTxSize:on,createKeysForPath:C,createTransaction:w1,estimateMaxSendableAmount:m2(n),estimateTransactionFee:i2(n),getAddress:G,getAddressFromKeys:Kf(n),getBalance:dy(n),getFeeRates:()=>Vn(n),getInputsOutputsFee:Q1,getPrivateKeyFromMnemonic:(L)=>{return C(L).toWIF()},transfer:g2(f),validateAddress:(L)=>o({address:L,chain:n})}}async function Q1({assetValue:n,feeOptionKey:T=Py.Fast,feeRate:l,memo:y,sender:x,recipient:f}){let G=n.chain,o=await W1({assetValue:n,memo:y,recipient:f,sender:x}),C=l?Math.floor(l):(await Vn(G))[T];return Ny({...o,chain:G,feeRate:C})}function m2(n){return async function({from:l,memo:y,feeRate:x,feeOptionKey:f=Py.Fast,recipients:G=1}){let o=await yy(n).getAddressData(l),C=x?Math.ceil(x):(await Vn(n))[f],L=o?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(zT(n),uy(B)*C));if(!L?.length)return Af.from({chain:n});let N=Af.from({chain:n,value:L.reduce((B,w)=>B+w.value,0)}),X=typeof G==="number"?Array.from({length:G},()=>({address:l,value:0})):G;if(y){let B=await _y(y);X.push({address:l,script:B,value:0})}let Z=on({feeRate:C,inputs:L,outputs:X})*C;return N.sub(Z)}}function i2(n){return async(T)=>{let l=await Q1(T);return Af.from({chain:n,value:$2.fromBigInt(BigInt(l.fee),8).getValue("string")})}}async function Kn(n){let T=await Xy();switch(n){case ny.BitcoinCash:return function({phrase:y,derivationPath:x=`${t2.BCH}/0`,wif:f}){let G=T(n);if(f)return F2.fromWIF(f,G);if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"No phrase provided"});return E2.fromSeedBuffer(Buffer.from(_1(y)),G).derivePath(x).keyPair};case ny.Bitcoin:case ny.Dogecoin:case ny.Litecoin:case ny.Zcash:case ny.Dash:return function({phrase:y,wif:x,derivationPath:f}){if(!(x||y))throw new zy("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let G=j2(tf),o=T(n);if(x)return G.fromWIF(x,o);let C=_1(y),L=A2.fromMasterSeed(C,o).derive(f);if(!L.privateKey)throw new zy("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return G.fromPrivateKey(Buffer.from(L.privateKey),{network:o})};default:throw new zy("toolbox_utxo_not_supported",{chain:n})}}function Kf(n){let T=Xy();return function(y){if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=tn.includes(n)?Z1.p2pkh:Z1.p2wpkh,{address:f}=x({network:T(n),pubkey:y.publicKey});if(!f)throw new zy("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function g2(n){return async function({memo:l,recipient:y,feeOptionKey:x,feeRate:f,assetValue:G}){let o=await n?.getAddress(),C=G.chain;if(!(n&&o))throw new zy("toolbox_utxo_no_signer");if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=f||(await Vn(C))[x||Py.Fast],{psbt:N}=await w1({assetValue:G,feeRate:L,memo:l,recipient:y,sender:o}),X=await n.signTransaction(N);return X.finalizeAllInputs(),yy(C).broadcastTx(X.extractTransaction().toHex())}}async function Vn(n){let T=await yy(n).getSuggestedTxFee();return{[Py.Average]:T,[Py.Fast]:N1(T,Py.Fast),[Py.Fastest]:N1(T,Py.Fastest)}}async function W1({assetValue:n,recipient:T,memo:l,sender:y,fetchTxHex:x=!1}){let f=n.chain,G=(await Vn(f))[Py.Fastest],o=x||tn.includes(f),C=n.getBaseValue("number"),L=Math.ceil(C+G*5000);return{inputs:await yy(f).getUtxos({address:y,fetchTxHex:o,targetValue:L}),outputs:[{address:T,value:C},...l?[{address:"",script:await _y(l),value:0}]:[]]}}var tn;var $n=R(()=>{Jn();Cn();An();tn=[ny.Dash,ny.Dogecoin,ny.Zcash,ny.BitcoinCash]});import{address as d2,Transaction as r2,TransactionBuilder as a2}from"@psf/bitcoincashjs-lib";import{Chain as s2,derivationPathToString as e2,FeeOption as yG,NetworkDerivationPath as nG,SwapKitError as Xn,updateDerivationPath as TG}from"@swapkit/helpers";import{Psbt as fG}from"bitcoinjs-lib";function gy(n){return my(In(n))}function xG(n){function T({builder:y,utxos:x}){return x.forEach((f,G)=>{y.sign(G,n,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=n.getAddress(0);return Promise.resolve(gy(y))},signTransaction:T}}async function Vf(n){let T="phrase"in n?n.phrase:void 0,l="index"in n?n.index||0:0,y=e2("derivationPath"in n&&n.derivationPath?n.derivationPath:TG(nG[Gy],{index:l})),x=T?(await Kn(Gy))({derivationPath:y,phrase:T}):void 0,f=x?xG(x):("signer"in n)?n.signer:void 0;function G(){return Promise.resolve(f?.getAddress())}let{getBalance:o,getFeeRates:C,broadcastTx:L,...N}=await iy({chain:Gy});function X(_,Z=!0){return o(my(In(_)))}return{...N,broadcastTx:L,buildTx:GG,createTransaction:M1,getAddress:G,getAddressFromKeys:oG,getBalance:X,getFeeRates:C,stripPrefix:my,stripToCashAddress:gy,transfer:lG({broadcastTx:L,getFeeRates:C,signer:f}),validateAddress:Iy}}async function M1({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x}){if(!Iy(T))throw new Xn("toolbox_utxo_invalid_address",{address:T});let f=Math.ceil(n.getBaseValue("number")+y*7500),G=await yy(Gy).getUtxos({address:gy(x),fetchTxHex:!0,targetValue:f}),o=l?await _y(l):null,C=[];C.push({address:T,value:n.getBaseValue("number")});let{inputs:L,outputs:N}=Ny({chain:Gy,feeRate:y,inputs:G,outputs:C});if(!(L&&N))throw new Xn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let X=await Xy(),_=new a2(X(Gy));await Promise.all(L.map(async(Z)=>{let B=await yy(Gy).getRawTx(Z.hash);_.addInput(r2.fromBuffer(Buffer.from(B,"hex")),Z.index)}));for(let Z of N){let B="address"in Z&&Z.address?Z.address:Gn(x),w=await Xy(),M=d2.toOutputScript(Gn(B),w(Gy));_.addOutput(M,Z.value)}if(o)_.addOutput(o,0);return{builder:_,utxos:L}}function lG({broadcastTx:n,getFeeRates:T,signer:l}){return async function({recipient:x,assetValue:f,feeOptionKey:G=yG.Fast,...o}){let C=await l?.getAddress();if(!(l&&C))throw new Xn("toolbox_utxo_no_signer");if(!x)throw new Xn("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=o.feeRate||(await T())[G],{builder:N,utxos:X}=await M1({...o,assetValue:f,feeRate:L,recipient:x,sender:C}),Z=(await l.signTransaction({builder:N,utxos:X})).toHex();return n(Z)}}async function GG({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x,setSigHashType:f}){let G=In(T);if(!Iy(G))throw new Xn("toolbox_utxo_invalid_address",{address:G});let o=Math.ceil(n.getBaseValue("number")+y*7500),C=await yy(Gy).getUtxos({address:gy(x),fetchTxHex:!1,targetValue:o}),L=Number(y.toFixed(0)),N=l?await _y(l):null,X=[];if(X.push({address:Gn(T),value:n.getBaseValue("number")}),N)X.push({script:N,value:0});let{inputs:_,outputs:Z}=Ny({chain:Gy,feeRate:L,inputs:C,outputs:X});if(!(_&&Z))throw new Xn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let B=await Xy(),w=new fG({network:B(Gy)});for(let{hash:M,index:W,witnessUtxo:Y}of _)w.addInput({hash:M,index:W,sighashType:f?65:void 0,witnessUtxo:Y});for(let M of Z){let W="address"in M&&M.address?M.address:Gn(x),Y=M.script?N?{script:N,value:0}:void 0:{address:W,value:M.value};if(Y)w.addOutput(Y)}return{inputs:_,psbt:w,utxos:C}}function oG(n){let T=n.getAddress(0);return gy(T)}var Gy;var HT=R(()=>{Cn();$n();An();Gy=s2.BitcoinCash});import{bitgo as CG,crypto as LG,ECPair as z1,networks as XG,address as _G}from"@bitgo/utxo-lib";import{HDKey as H1}from"@scure/bip32";import{mnemonicToSeedSync as U1}from"@scure/bip39";import{Chain as UT,derivationPathToString as NG,FeeOption as ZG,NetworkDerivationPath as BG,SKConfig as JG,SwapKitError as YT,updateDerivationPath as wG}from"@swapkit/helpers";import qG from"bs58check";import{match as QG,P as $f}from"ts-pattern";function Y1(){return XG.zcash}function D1(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function WG({phrase:n,derivationPath:T}){let l=U1(n),x=H1.fromMasterSeed(l).derive(T);if(!x.privateKey)throw new YT("toolbox_utxo_invalid_params");let f=D1(),G=z1.fromPrivateKey(Buffer.from(x.privateKey),{network:f}),o=LG.hash160(G.publicKey),{isStagenet:C}=JG.get("envs"),L=C?Buffer.from([29,37]):Buffer.from([28,184]),N=Buffer.concat([L,o]),X=qG.encode(N);return{getAddress:()=>Promise.resolve(X),signTransaction:(_)=>{let Z=_.signAllInputs(G);return Promise.resolve(Z)}}}function MG({inputs:n,outputs:T,psbt:l,sender:y,compiledMemo:x}){for(let f of n){let G=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},o=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};l.addInput({hash:f.hash,index:f.index,...G,...o})}for(let f of T){let G="address"in f&&f.address?f.address:y,o=f.script;if(o&&!x)continue;let C=o?{script:x,value:0n}:{script:_G.toOutputScript(G,Y1()),value:BigInt(f.value)};l.addOutput(C)}return{inputs:n,psbt:l}}async function P1(n){let{assetValue:T,recipient:l,memo:y,feeRate:x,sender:f,fetchTxHex:G}=n,o=y?_y(y):null,C=await yy(UT.Zcash).getUtxos({address:f,fetchTxHex:G!==!1}),L=[{address:l,value:Number(T.getBaseValue("string"))},...o?[{script:o,value:0}]:[]],{inputs:N,outputs:X}=Ny({chain:UT.Zcash,changeAddress:f,feeRate:x,inputs:C,outputs:L});if(!(N&&X))throw new YT("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=CG.createPsbtForNetwork({network:Y1()},{version:455}),B=3268858036,w=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),M=Buffer.allocUnsafe(4);M.writeUInt32LE(B>>>0,0),_.addUnknownKeyValToGlobal({key:w,value:M});let{psbt:W,inputs:Y}=await MG({compiledMemo:o,inputs:N,outputs:X,psbt:_,sender:f});return{inputs:Y,outputs:X,psbt:W}}async function bf(n){let T=await QG(n).with({signer:$f.not($f.nullish)},({signer:G})=>Promise.resolve(G)).with({phrase:$f.string},({phrase:G,derivationPath:o,index:C=0})=>{let L=o||BG[UT.Zcash]||[44,133,0,0,0],N=wG(L,{index:C}),X=NG(N);return WG({derivationPath:X,phrase:G})}).otherwise(()=>Promise.resolve(void 0)),l=await iy({chain:UT.Zcash,signer:T});async function y({recipient:G,assetValue:o,feeOptionKey:C=ZG.Fast,...L}){let N=await T?.getAddress();if(!(T&&N))throw new YT("toolbox_utxo_no_signer");let X=L.feeRate||(await l.getFeeRates())[C],{psbt:_}=await P1({...L,assetValue:o,feeRate:X,recipient:G,sender:N}),Z=await T.signTransaction(_);return Z.finalizeAllInputs(),l.broadcastTx(Z.extractTransaction().toHex())}function x({phrase:G,derivationPath:o="m/44'/133'/0'/0/0"}){let C=U1(G),N=H1.fromMasterSeed(C).derive(o);if(!N.privateKey)throw new YT("toolbox_utxo_invalid_params");let X=D1();return z1.fromPrivateKey(Buffer.from(N.privateKey),{network:X})}function f({phrase:G,derivationPath:o="m/44'/133'/0'/0/0"}){return x({derivationPath:o,phrase:G}).toWIF()}return{...l,createKeysForPath:x,createTransaction:P1,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:Ln}}var pf=R(()=>{Cn();$n();An()});import{Chain as _n,SwapKitError as PG}from"@swapkit/helpers";async function zG(n,T){switch(n){case _n.BitcoinCash:return await Vf(T||{});case _n.Zcash:return await bf(T);case _n.Bitcoin:case _n.Dogecoin:case _n.Litecoin:case _n.Dash:return await iy({chain:n,...T});default:throw new PG("toolbox_utxo_not_supported",{chain:n})}}var R1=R(()=>{HT();$n();pf();HT();An()});var hf={};a(hf,{validateZcashAddress:()=>Ln,toLegacyAddress:()=>Gn,toCashAddress:()=>In,stripToCashAddress:()=>gy,stripPrefix:()=>my,nonSegwitChains:()=>tn,isValidAddress:()=>vf,getUtxoToolbox:()=>zG,getUtxoNetwork:()=>Xy,getUtxoApi:()=>yy,getUTXOAddressValidator:()=>q1,getScriptTypeForAddress:()=>Fn,getOutputSize:()=>En,getInputSize:()=>uy,getDustThreshold:()=>zT,getCreateKeysForPath:()=>Kn,detectAddressNetwork:()=>Ff,createZcashToolbox:()=>bf,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>W2,createBCHToolbox:()=>Vf,compileMemo:()=>_y,calculateTxSize:()=>on,bchValidateAddress:()=>Iy,addressFromKeysGetter:()=>Kf,addInputsAndOutputs:()=>J1,accumulative:()=>Ny,UtxoNetwork:()=>If,UTXOScriptType:()=>PT,TX_OVERHEAD:()=>MT,OutputSizes:()=>vn,OP_RETURN_OVERHEAD:()=>L1,MIN_TX_FEE:()=>R2,InputSizes:()=>WT});var jf=R(()=>{Cn();R1();HT();$n();pf()});import{derivationPathToString as HG,SwapKitError as UG}from"@swapkit/helpers";import{KeyPairSigner as YG}from"near-api-js";async function DT(){let{validateAccountId:n}=await import("near-sdk-js");return(T)=>{try{return n(T)}catch{let l=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return T.length>=2&&T.length<=64&&l.test(T)}}}async function RT(n){let{parseSeedPhrase:T}=await import("near-seed-phrase"),{KeyPair:l}=await import("near-api-js"),y=n.index||0,x=n.derivationPath?HG(n.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=T(n.phrase,x),G=l.fromString(f);return O1(G)}async function cf(n){let{KeyPair:T}=await import("near-api-js/lib/utils"),l=T.fromString(n);return O1(l)}function O1(n){return new k1(n)}async function kT(n,T){let y=(await n.query({account_id:T,finality:"final",request_type:"view_access_key_list"})).keys.find((o)=>o.access_key.permission==="FullAccess");if(!y)throw new UG("toolbox_near_no_public_key_found");let{utils:x}=await import("near-api-js"),f=x.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var k1;var mf=R(()=>{k1=class k1 extends YG{#y;constructor(n){super(n);this.#y=n}getAddress(){let n=this.#y.getPublicKey(),T=Buffer.from(n.data).toString("hex");return Promise.resolve(T)}}});function gf(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function df(n){return"contractId"in n&&"methodName"in n}function rf(n){return"actions"in n}function af(n){return"newAccountId"in n}function sf(n){return"contractCode"in n}function ef(n){return"customEstimator"in n}function y0(n){let T=0;for(let l of n)switch(l.enum){case"transfer":T+=Number(g.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(g.CONTRACT_CALL);break;case"createAccount":T+=Number(g.ACCOUNT_CREATION);break;case"deployContract":T+=Number(g.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(g.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(g.ACCESS_KEY_DELETION);break;case"stake":T+=Number(g.STAKE);break;default:T+=Number(g.CONTRACT_CALL)}return T.toString()}function n0(n){if(n==="ft_transfer"||n==="ft_transfer_call")return g.TOKEN_TRANSFER;if(n==="storage_deposit")return g.STORAGE_DEPOSIT;return g.CONTRACT_CALL}function DG(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function RG(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var g;var T0=R(()=>{g={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function OT({account:n,contractId:T,viewMethods:l,changeMethods:y}){let{Contract:x}=await import("near-api-js");return new x(n,T,{changeMethods:y,useLocalViewExecution:!0,viewMethods:l})}async function f0({contractId:n,account:T}){let l=(await import("bn.js")).default,y=await OT({account:T,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:n,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),x=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let C=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new l("100000000000000"),new l(C))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:x,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,G)=>y.storage_deposit({account_id:f},new l("100000000000000"),new l(G||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,G,o)=>{return await x(f),y.ft_transfer({amount:G,memo:o,receiver_id:f},new l("100000000000000"),new l("1"))},transferCall:async(f,G,o,C)=>{return await x(f),y.ft_transfer_call({amount:G,memo:C,msg:o,receiver_id:f},new l("100000000000000"),new l("1"))}}}import{AssetValue as S1,Chain as Nn,getChainConfig as u1,getRPCUrl as kG,SwapKitError as Ty}from"@swapkit/helpers";async function OG(n){let{P:T,match:l}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),x=await l(n).with({phrase:T.string},async(J)=>{return await RT(J)}).with({signer:T.any},({signer:J})=>J).otherwise(()=>{return}),f=await kG(Nn.Near),G=new y.JsonRpcProvider({url:f});async function o(J){let{Account:P}=await import("near-api-js"),U=J||await C();return new P(U,G,x)}async function C(){if(!x)throw new Ty("toolbox_near_no_signer");return await x.getAddress()}async function L(J){if(!x)throw new Ty("toolbox_near_no_signer");let P=await N({...J,sender:await C()});return w(await B(P))}async function N(J){let{recipient:P,assetValue:U,memo:k,attachedDeposit:O,sender:I,functionCall:t}=J,$=await DT();if(!$(P))throw new Ty("toolbox_near_invalid_address",{recipient:P});if(!$(I))throw new Ty("toolbox_near_invalid_address",{signerId:I});if(t)return _({...t,sender:I});if(!U.isGasAsset){let Ay=U.address;if(!Ay)throw new Ty("toolbox_near_missing_contract_address");return _({args:{amount:U.getBaseValue("string"),memo:k||null,receiver_id:P},attachedDeposit:O||"1",contractId:Ay,gas:"250000000000000",methodName:"ft_transfer",sender:I})}let{publicKey:A,nonce:fy}=await kT(G,I),xy=U.getBaseValue("bigint"),{transactions:r,utils:By}=await import("near-api-js"),Ey=[r.transfer(xy)];if(k&&O)Ey.push(r.functionCall("memo",{memo:k},BigInt("250000000000000"),BigInt(O)));let bn=await G.block({finality:"final"}),ST=By.serialize.base_decode(bn.header.hash);return r.createTransaction(I,A,P,fy+1,Ey,ST)}async function X(J){let{SCHEMA:P}=await import("near-api-js/lib/transaction"),{utils:U}=await import("near-api-js"),k=U.serialize.serialize(P.Transaction,J);return Buffer.from(k).toString("base64")}async function _(J){let{sender:P}=J,{publicKey:U,nonce:k}=await kT(G,P),{transactions:O,utils:I}=await import("near-api-js"),t=await G.block({finality:"final"}),$=I.serialize.base_decode(t.header.hash),A=[O.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))];return O.createTransaction(P,U,J.contractId,k+1,A,$)}async function Z(J){let{transactions:P}=await import("near-api-js");return P.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))}async function B(J){if(!x)throw new Ty("toolbox_near_no_signer");let[P,U]=await x.signTransaction(J);return U}async function w(J){return(await G.sendTransaction(J)).transaction.hash}async function M(J){if("assetValue"in J){let O=BigInt("115123062500")+BigInt("108059500000"),I=await W(),t=O*BigInt(I.toString()),{baseDecimal:$}=u1(Nn.Near);return S1.from({chain:Nn.Near,fromBaseDecimal:$,value:t.toString()})}let P=x?await o():void 0;return d(J,P)}async function W(){try{return await G.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Y(J,P,U){if(!x)throw new Ty("toolbox_near_no_signer");let k=await o(),{utils:O}=await import("near-api-js"),I=O.format.parseNearAmount(U)||"0";return(await k.createAccount(J,O.PublicKey.fromString(P),BigInt(I))).transaction.hash}async function v(J){try{if(!x)throw new Ty("toolbox_near_no_signer");let{transactions:P}=await import("near-api-js"),{contractId:U,methodName:k,args:O,deposit:I}=J,t=await o(),$=await d({args:O||{},contractId:U,methodName:k}),A=P.functionCall(k,O||{},$.getBaseValue("bigint"),BigInt(I||"1"));return(await t.signAndSendTransaction({actions:[A],receiverId:U})).transaction_outcome.id}catch(P){throw new Ty("toolbox_near_transfer_failed",{error:P})}}async function u(J){let P=await o();return OT({account:P,changeMethods:J.changeMethods,contractId:J.contractId,viewMethods:J.viewMethods})}async function F(J){if(!x)throw new Ty("toolbox_near_no_signer");if(J.actions.length===0)throw new Ty("toolbox_near_empty_batch");return(await(await o()).signAndSendTransaction({actions:J.actions,receiverId:J.receiverId})).transaction.hash}async function V(J){let P=await o();return f0({account:P,contractId:J})}async function d(J,P){let{baseDecimal:U}=u1(Nn.Near),k=await l(J).when(gf,()=>g.SIMPLE_TRANSFER).when(df,(t)=>n0(t.methodName)).when(rf,(t)=>y0(t.actions)).when(af,()=>g.ACCOUNT_CREATION).when(sf,()=>g.CONTRACT_DEPLOYMENT).when(ef,(t)=>{if(!P)throw new Ty("toolbox_near_no_account");return t.customEstimator(P)}).otherwise(()=>{throw new Ty("toolbox_near_invalid_gas_params")}),I=BigInt(k)*BigInt(1000000000000);return S1.from({chain:Nn.Near,fromBaseDecimal:U,value:I})}async function Uy(){try{return(await G.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:w,callFunction:v,createAction:Z,createContract:u,createContractFunctionCall:_,createSubAccount:Y,createTransaction:N,estimateGas:d,estimateTransactionFee:M,executeBatchTransaction:F,getAddress:C,getBalance:dy(Nn.Near),getGasPrice:Uy,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(J)=>RT(J),getSignerFromPrivateKey:cf,nep141:V,provider:G,serializeTransaction:X,signTransaction:B,transfer:L,validateAddress:await DT()}}var x0=R(()=>{Jn();mf();T0()});var I1=R(()=>{x0()});var l0={};a(l0,{tgasToGas:()=>DG,isSimpleTransfer:()=>gf,isCustomEstimator:()=>ef,isContractDeployment:()=>sf,isContractCall:()=>df,isBatchTransaction:()=>rf,isAccountCreation:()=>af,getValidateNearAddress:()=>DT,getNearToolbox:()=>OG,getNearSignerFromPrivateKey:()=>cf,getNearSignerFromPhrase:()=>RT,getFullAccessPublicKey:()=>kT,getContractMethodGas:()=>n0,gasToTGas:()=>RG,estimateBatchGas:()=>y0,createNearContract:()=>OT,createNEP141Token:()=>f0,GAS_COSTS:()=>g});var G0=R(()=>{mf();T0();x0();I1()});var o0={};a(o0,{radixValidateAddress:()=>F1,RadixToolbox:()=>tG});import{AssetValue as SG,Chain as v1,SKConfig as uG,SwapKitError as IG}from"@swapkit/helpers";function F1(n){return n.startsWith("account_rdx1")&&n.length===66}function vG({networkApi:n}){return async function(l){let y=await FG({address:l,networkApi:n});return EG({networkApi:n,resources:y})}}async function FG({address:n,networkApi:T}){let l=!0,y,x=[],f=await AG(T);while(l){let G={address:n,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},o=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:G});if(x=x.concat(o.items),o.next_cursor)y=o.next_cursor;else l=!1}return x}async function EG({resources:n,networkApi:T}){let l=[],y=50,x=[];for(let f=0;f<n.length;f+=50)x.push(n.slice(f,f+50));for(let f of x){let G=f.map((L)=>L.resource_address),o=await T.state.getEntityDetailsVaultAggregated(G),C=new Map;for(let L of o)if(L.details!==void 0){let N=L.metadata?.items.find((_)=>_.key==="symbol"),X=N?.value.typed.type==="String"?N.value.typed.value:"?";if(L.details.type==="FungibleResource")C.set(L.address,{decimals:L.details.divisibility,symbol:X})}for(let L of f)if(L.aggregation_level==="Global"){let N=C.get(L.resource_address)||{decimals:0,symbol:"?"},X=SG.from({asset:N.symbol!==v1.Radix?`${v1.Radix}.${N.symbol}-${L.resource_address}`:"XRD.XRD",value:L.amount});l.push(X)}}return l}function AG(n){return n.status.getCurrent().then((T)=>T.ledger_state.state_version)}var tG=async({dappConfig:n}={})=>{let{RadixDappToolkit:T}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:l}=await import("@radixdlt/babylon-gateway-api-sdk"),y=n||uG.get("integrations").radix,x=T({...y,networkId:y.network?.networkId||1}),f=l.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:vG({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new IG("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:F1}};var C0=()=>{};var _0={};a(_0,{rippleValidateAddress:()=>X0,hashes:()=>mG,getRippleToolbox:()=>cG});import{AssetValue as L0,Chain as Hy,getChainConfig as E1,getRPCUrl as KG,SwapKitError as vy,SwapKitNumber as VG}from"@swapkit/helpers";import{Client as $G,isValidAddress as bG,Wallet as pG,xrpToDrops as hG}from"xrpl";import{hashes as mG}from"xrpl";function A1(n){let T=pG.fromMnemonic(n);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(l)=>Promise.resolve(T.sign(l))}}function X0(n){return bG(n)}var jG,cG=async(n={})=>{let T="signer"in n&&n.signer?n.signer:("phrase"in n)&&n.phrase?A1(n.phrase):void 0,l=await KG(Hy.Ripple);if(!l)throw new vy({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Hy.Ripple}});let y=new $G(l);await y.connect();let x=()=>{if(!T)throw new vy({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},f=async(_)=>{let Z=_||await x(),{baseDecimal:B}=E1(Hy.Ripple);try{let M=(await y.request({account:Z,command:"account_info"})).result.account_data.Balance;return[L0.from({chain:Hy.Ripple,fromBaseDecimal:B,value:M})]}catch(w){if(w.data.error_code===jG.ACCOUNT_NOT_FOUND)return[L0.from({chain:Hy.Ripple,value:0})];throw new vy("toolbox_ripple_get_balance_error",{info:{address:Z,error:w}})}},G=async()=>{let Z=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:B}=E1(Hy.Ripple);return L0.from({chain:Hy.Ripple,fromBaseDecimal:B,value:VG.fromBigInt(BigInt(Z),B)})},o=async({assetValue:_,recipient:Z,memo:B,sender:w})=>{if(!X0(Z))throw new vy({errorKey:"core_transaction_invalid_recipient_address"});let M=w||await x();if(!_.isGasAsset||_.chain!==Hy.Ripple)throw new vy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:_.toString()}});let W={Account:M,Amount:hG(_.getValue("string")),Destination:Z,TransactionType:"Payment"};if(B)W.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(W)},C=(_)=>{if(!T)throw new vy({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(_)},L=async(_)=>{let B=(await y.submitAndWait(_)).result;if(B.validated)return B.hash;throw new vy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Hy.Ripple}})};return{broadcastTransaction:L,createSigner:A1,createTransaction:o,disconnect:()=>y.disconnect(),estimateTransactionFee:G,getAddress:x,getBalance:f,signer:T,signTransaction:C,transfer:async(_)=>{if(!T)throw new vy({errorKey:"toolbox_ripple_signer_not_found"});let Z=await T.getAddress(),B=await o({..._,sender:Z}),w=await C(B);return L(w.tx_blob)},validateAddress:X0}};var N0=R(()=>{jG={ACCOUNT_NOT_FOUND:19}});import{AssetValue as iG,Chain as gG,SwapKitNumber as t1}from"@swapkit/helpers";async function dG(n,T,l){try{let y=await n.query.system?.account?.(l);if(!y)return[T.set(0)];let{data:{free:x}}=y,f=t1.fromBigInt(BigInt(x.toString()),T.decimal).getValue("string");return[T.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[T.set(0)]}}async function rG(n,T,l){try{let y=await n.query.flip?.account?.(l);if(!y)return[T.set(0)];let x=y.balance||y.data?.balance;if(!x||x.isEmpty)return[T.set(0)];let f=t1.fromBigInt(BigInt(x.toString()),T.decimal).getValue("string");return[T.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[T.set(0)]}}function K1(n,T){return function(y){let x=iG.from({chain:n});switch(n){case gG.Chainflip:return rG(T,x,y);default:return dG(T,x,y)}}}var V1=()=>{};var aG,sG,eG,Fy;var Z0=R(()=>{aG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},sG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},eG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Fy={DOT:aG,FLIP:sG,GENERIC:eG}});import{hexToU8a as yo,isHex as no,u8aToHex as To}from"@polkadot/util";import{decodeAddress as b1,encodeAddress as p1}from"@polkadot/util-crypto";import{AssetValue as fo,Chain as Bn,getRPCUrl as xo,SwapKitError as Zy,SwapKitNumber as lo}from"@swapkit/helpers";import{match as Go,P as $1}from"ts-pattern";function oo(n,T){switch(n){case Bn.Chainflip:return j1(T);case Bn.Polkadot:return h1(T);default:throw new Zy("toolbox_substrate_not_supported",{chain:n})}}function Zn(n){return"address"in n}async function J0(n,T){let{Keyring:l}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new l({ss58Format:T,type:"sr25519"}).addFromUri(n)}function Bo(n,T){let l=b1(n);return p1(l,T)}function c1(n,T){return no(n)?yo(n):b1(n,void 0,T)}function m1(n,T="ss58",l){if(T==="hex")return To(n);return p1(n,l)}async function Q0({generic:n,chain:T,...l}){let{ApiPromise:y,WsProvider:x}=await import("@polkadot/api"),f=await xo(T),G=new x(f),o=await y.create({provider:G}),C=fo.from({chain:T}),L=n?Fy.GENERIC:Fy[T],N=await Go(l).with({phrase:$1.string},({phrase:X})=>J0(X,Fy[T].prefix)).with({signer:$1.any},({signer:X})=>X).otherwise(()=>{return});return i1({api:o,chain:T,gasAsset:C,network:L,signer:N})}var h1=({generic:n=!1,...T}={})=>{return Q0({chain:Bn.Polkadot,generic:n,...T})},j1=async({generic:n=!1,...T}={})=>{return{...await Q0({chain:Bn.Chainflip,generic:n,...T})}},w0=(n,T)=>n.rpc.system.accountNextIndex(T),B0=(n,T)=>{try{let l=c1(n,T);return m1(l,"ss58",T),!0}catch{return!1}},q0=(n,{recipient:T,assetValue:l})=>n.tx.balances?.transferAllowDeath?.(T,l.getBaseValue("number")),Co=async(n,T,{recipient:l,assetValue:y,sender:x})=>{let f=q0(n,{assetValue:y,recipient:l});if(!f)throw new Zy("toolbox_substrate_transfer_error");let G=Zn(T),o=G?T.address:x;if(!o)throw new Zy("core_transaction_invalid_sender_address");let C=await w0(n,o);return(await f.signAndSend(G?T:o,{nonce:C,signer:G?void 0:T})).toString()},Lo=async(n,T,l,{recipient:y,assetValue:x,sender:f})=>{let G=q0(n,{assetValue:x,recipient:y}),o=Zn(T)?T.address:f;if(!o)return;let C=await G?.paymentInfo(o,{nonce:await w0(n,o)})||{partialFee:0};return l.set(lo.fromBigInt(BigInt(C.partialFee.toString()),l.decimal).getValue("string"))},Xo=async(n,T)=>{if(T)return n.send(T);return(await n.send()).toString()},_o=async(n,T)=>{return await T.signAsync(n)},No=(n,T,l)=>{if(l)return T.signAndSend(n,l);return T.signAndSend(n).toString()},Zo=async({signer:n,address:T,tx:l,callback:y,api:x})=>{let f=await w0(x,T);if(y)l.signAndSend(T,{nonce:f,signer:n},y);return l.signAndSend(T,{nonce:f,signer:n}).toString()},i1=({api:n,network:T,gasAsset:l,signer:y,chain:x})=>({api:n,broadcast:Xo,convertAddress:Bo,createKeyring:(f)=>J0(f,T.prefix),createTransaction:(f)=>q0(n,f),decodeAddress:c1,encodeAddress:m1,estimateTransactionFee:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return Lo(n,y,l,f)},gasAsset:l,getAddress:(f)=>{let G=f||y;if(!G)throw new Zy("core_wallet_not_keypair_wallet");return Zn(G)?G.address:void 0},getBalance:K1(x||Bn.Polkadot,n),network:T,sign:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(Zn(y))return _o(y,f);throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:G,address:o})=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(Zn(y))return No(y,f,G);if(o)return Zo({address:o,api:n,callback:G,signer:y,tx:f});throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return Co(n,y,f)},validateAddress:(f)=>B0(f,T.prefix)}),Jo=({address:n,chain:T})=>{let{prefix:l}=T===Bn.Polkadot?Fy.DOT:Fy.FLIP;return B0(n,l)||B0(n,Fy.GENERIC.prefix)};var g1=R(()=>{V1();Z0()});var W0={};a(W0,{substrateValidateAddress:()=>Jo,isKeyringPair:()=>Zn,getSubstrateToolbox:()=>oo,createSubstrateToolbox:()=>Q0,createKeyring:()=>J0,SubstrateNetwork:()=>Fy,PolkadotToolbox:()=>h1,ChainflipToolbox:()=>j1,BaseSubstrateToolbox:()=>i1});var M0=R(()=>{g1();Z0()});import{AssetValue as wo,Chain as z,EVMChains as qo,FeeOption as Qo,SwapKitError as Wo,UTXOChains as Mo}from"@swapkit/helpers";async function DX(){let{match:n}=await import("ts-pattern"),{evmValidateAddress:T}=await Promise.resolve().then(() => (i0(),m0)),{getCardanoAddressValidator:l}=await Promise.resolve().then(() => (gT(),iT)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (LT(),CT)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (Uf(),Hf)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (NT(),_T)),{getTONAddressValidator:G}=await Promise.resolve().then(() => (JT(),BT)),{getTronAddressValidator:o}=await Promise.resolve().then(() => (Sf(),Of)),{getUTXOAddressValidator:C}=await Promise.resolve().then(() => (jf(),hf)),{getValidateNearAddress:L}=await Promise.resolve().then(() => (G0(),l0)),{radixValidateAddress:N}=await Promise.resolve().then(() => (C0(),o0)),{rippleValidateAddress:X}=await Promise.resolve().then(() => (N0(),_0)),{substrateValidateAddress:_}=await Promise.resolve().then(() => (M0(),W0)),Z=await l(),B=await L(),w=await x(),M=await f(),W=await G(),Y=await o(),v=await C();return function({address:F,chain:V}){return n(V).with(...qo,()=>T({address:F})).with(...Mo,()=>v({address:F,chain:V})).with(z.Cosmos,z.Kujira,z.Noble,z.Maya,z.THORChain,(Uy)=>{return y(Uy)(F)}).with(z.Chainflip,z.Polkadot,()=>_({address:F,chain:V})).with(z.Radix,()=>N(F)).with(z.Near,()=>B(F)).with(z.Ripple,()=>X(F)).with(z.Solana,()=>w(F)).with(z.Sui,()=>M(F)).with(z.Ton,()=>W(F)).with(z.Tron,()=>Y(F)).with(z.Cardano,()=>Z(F)).otherwise(()=>!1)}}function RX(n){return async function(l){let{match:y}=await import("ts-pattern");return y(n).returnType().with(z.Arbitrum,z.Aurora,z.Avalanche,z.Base,z.Berachain,z.BinanceSmartChain,z.Ethereum,z.Gnosis,z.Optimism,z.Polygon,async(x)=>{let f=await d1(x),G=await f.createTransaction(l);return f.estimateTransactionFee({...G,chain:x,feeOption:l.feeOptionKey||Qo.Fast})}).with(z.Bitcoin,z.BitcoinCash,z.Dogecoin,z.Dash,z.Litecoin,z.Polkadot,z.Solana,z.Ripple,z.Tron,z.Near,z.Cardano,async(x)=>{return(await d1(x)).estimateTransactionFee(l)}).with(z.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (NT(),_T));return(await x()).estimateTransactionFee(l)}).with(z.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (JT(),BT));return(await x()).estimateTransactionFee()}).with(z.THORChain,z.Maya,z.Kujira,z.Noble,z.Cosmos,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (LT(),CT));return x(l)}).otherwise(async()=>wo.from({chain:n}))}}async function d1(n,T){let{match:l}=await import("ts-pattern");return l(n).returnType().with(z.Arbitrum,z.Aurora,z.Avalanche,z.Base,z.Berachain,z.BinanceSmartChain,z.Ethereum,z.Gnosis,z.Optimism,z.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (cT(),h0));return await y(n,T)}).with(z.Litecoin,z.Dash,z.Dogecoin,z.BitcoinCash,z.Bitcoin,z.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (jf(),hf));return await y(n,T)}).with(z.Cosmos,z.Kujira,z.Noble,z.Maya,z.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (LT(),CT));return await y(n,T)}).with(z.Chainflip,z.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (M0(),W0));return await y(n,T)}).with(z.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (C0(),o0));return await y(T)}).with(z.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (N0(),_0));return await y(T)}).with(z.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (Uf(),Hf));return await y(T)}).with(z.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (NT(),_T));return await y(T)}).with(z.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Sf(),Of));return await y(T)}).with(z.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (G0(),l0));return await y(T)}).with(z.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (gT(),iT));return await y(T)}).with(z.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (JT(),BT));return await y(T)}).otherwise(()=>{throw new Wo("toolbox_not_supported",{chain:n})})}export{d1 as getToolbox,RX as getFeeEstimator,DX as getAddressValidator};
1
+ var Xl=Object.create;var{getPrototypeOf:Nl,defineProperty:Kn,getOwnPropertyNames:_l}=Object;var wl=Object.prototype.hasOwnProperty;var q=(T,n,x)=>{x=T!=null?Xl(Nl(T)):{};let y=n||!T||!T.__esModule?Kn(x,"default",{value:T,enumerable:!0}):x;for(let o of _l(T))if(!wl.call(y,o))Kn(y,o,{get:()=>T[o],enumerable:!0});return y};var e=(T,n)=>{for(var x in n)Kn(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var D=(T,n)=>()=>(T&&(n=T(T=0)),n);var Q=((T)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(T,{get:(n,x)=>(typeof require<"u"?require:n)[x]}):T)(function(T){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+T+'" is not supported')});import{AssetValue as Zl,getChainConfig as Bl}from"@swapkit/helpers";import{SwapKitApi as Jl}from"@swapkit/helpers/api";function Io(){function T(){let n=Date.now(),x=Vn||n;return Vn=x,n>Vn?n:x+1}return ql+T().toString(36)}function dy(T){return async function(x,y=!0){let o=await Jl.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:f}=Bl(T);return o.map(({identifier:l,value:C,decimal:G})=>{return new Zl({decimal:G||f,identifier:l,value:C})})}}var ql,Vn=0;var BT=D(()=>{ql=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as Ql,warnOnce as Ml}from"@swapkit/helpers";function JT(T){let n=Ql.get("apis")[T];if(n)return Ml({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return Pl(T)}function Wl(T){return T}function Pl(T){return{getBalance:dy(T)}}var hT=D(()=>{BT()});import{Chain as h,getChainConfig as vo,getRPCUrl as zl,SwapKitError as Ul}from"@swapkit/helpers";async function Ky(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await zl(T))}function qT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function bn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=vo(T);return()=>T===h.Ethereum?void 0:{...Hl({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function $n(T){return![h.Arbitrum,h.BinanceSmartChain].includes(T)}function Hl({chain:T}){let{baseDecimal:n}=vo(T);switch(T){case h.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case h.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case h.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case h.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case h.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:h.Polygon}};default:throw new Ul("toolbox_evm_not_supported",{chain:T})}}var ry=()=>{};var uo;var Fo=D(()=>{uo=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as Yl,applyFeeMultiplierToBigInt as ay,Chain as Jy,EVMChains as Dl,FeeOption as p,isGasAsset as Rl,SwapKitError as $,SwapKitNumber as jT}from"@swapkit/helpers";import{erc20ABI as QT}from"@swapkit/helpers/contracts";import{BrowserProvider as Ol,Contract as Eo,getAddress as cT,Interface as Ao}from"ethers";function sy({chain:T=Jy.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:ul({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:Vo({chain:T,provider:n}),broadcastTransaction:n.broadcastTransaction,call:gn({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),createApprovalTx:tl({chain:T,provider:n,signer:x}),createContract:jn({chain:T,provider:n}),createContractTxObject:Vy({chain:T,provider:n}),createTransaction:pn({chain:T,provider:n,signer:x}),createTransferTx:pn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:yT(n),estimateCall:bo({provider:n,signer:x}),estimateGasLimit:El({chain:T,provider:n,signer:x}),estimateGasPrices:by({chain:T,isEIP1559Compatible:y,provider:n}),estimateTransactionFee:Kl({chain:T,isEIP1559Compatible:y,provider:n}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:vl({chain:T,provider:n}),sendTransaction:$o({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:Fl({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(o)=>hn({address:o})}}function hn({address:T}){try{return cT(T),!0}catch{return!1}}function ey(T){return T instanceof Ol}function WT(T,n,x){return new Eo(T,Ao.from(n),x)}function jn({provider:T}){return function(x,y){return new Eo(x,Ao.from(y),T)}}function cn({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new $("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&kl.includes(x.stateMutability)}function to(T){return cT(T)}function yT(T){return function({value:x,...y}){if(!ey(T))throw new $("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:f,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:qT(BigInt(x||0))}])}}function Ko(T,n){let x=TT(T,n);if(x)return cT(x.toLowerCase());throw new $("toolbox_evm_invalid_gas_asset_address")}function TT({chain:T,symbol:n,ticker:x},y){try{let o=T===Jy.BinanceSmartChain&&n==="BNB"&&x==="BNB",f=T===y&&n===y&&x===y,l=Il.includes(T)&&n==="ETH"&&x==="ETH";if(f||o||l)return mn[y];return cT(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function Vy({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:o=[],txOverrides:f})=>WT(n,x,T).getFunction(y).populateTransaction(...o.concat(f).filter((l)=>typeof l<"u"))}function by({chain:T,provider:n,isEIP1559Compatible:x=!0}){if(T===Jy.Arbitrum)return async function(){try{let{gasPrice:o}=await n.getFeeData();if(!o)throw new $("toolbox_evm_no_fee_data");return{[p.Average]:{gasPrice:o},[p.Fast]:{gasPrice:o},[p.Fastest]:{gasPrice:o}}}catch(o){throw new $("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}};return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:l}=await n.getFeeData();if(x){if(o===null||f===null)throw new $("toolbox_evm_no_fee_data");return{[p.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:f},[p.Fast]:{maxFeePerGas:ay(o,p.Fast),maxPriorityFeePerGas:ay(f,p.Fast)},[p.Fastest]:{maxFeePerGas:ay(o,p.Fastest),maxPriorityFeePerGas:ay(f,p.Fastest)}}}if(!l)throw new $("toolbox_evm_no_gas_price");return{[p.Average]:{gasPrice:l},[p.Fast]:{gasPrice:ay(l,p.Fast)},[p.Fastest]:{gasPrice:ay(l,p.Fastest)}}}catch(o){throw new $("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function gn({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:f,contractAddress:l,abi:C,funcName:G,funcParams:L=[],txOverrides:_={},feeOption:X=p.Fast}){let N=f||T;if(!l)throw new $("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let w=cn({abi:C,funcName:G});if(w&&ey(N)&&x){let W=Vy({chain:y,provider:N}),M=_?.from||await x?.getAddress(),H=await W({abi:C,contractAddress:l,funcName:G,funcParams:L,txOverrides:{..._,from:M}});return yT(N)(H)}let Z=WT(l,C,N);if(w){if(!x)throw new $("toolbox_evm_no_signer");let W=_?.from||await x.getAddress();if(!W)throw new $("toolbox_evm_no_signer_address");let M=Z.connect(x),H=by({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:v,maxPriorityFeePerGas:S,gasPrice:u}=(await H())[X],V=await Z.getFunction(G).estimateGas(...L,_),a=await M[G](...L,{..._,gasLimit:V,gasPrice:u,maxFeePerGas:v,maxPriorityFeePerGas:S,nonce:_?.nonce||await N.getTransactionCount(W)});return typeof a?.hash==="string"?a?.hash:a}let J=await Z[G]?.(...L);return typeof J?.hash==="string"?J?.hash:J}}function Vo({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:o,from:f}){return gn({chain:n,isEIP1559Compatible:!0,provider:T})({abi:QT,contractAddress:y,funcName:"allowance",funcParams:[f,o]})}}function vl({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:o,from:f,amount:l=MT}){let C=await Vo({chain:n,provider:T})({assetAddress:y,from:f,spenderAddress:o});return jT.fromBigInt(C).gte(jT.fromBigInt(BigInt(l)))}}function ul({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:f,spenderAddress:l,feeOptionKey:C=p.Fast,amount:G,gasLimitFallback:L,from:_,nonce:X}){let N=[l,BigInt(G||MT)],w=await T?.getAddress()||_,Z={abi:QT,contractAddress:f,funcName:"approve",funcParams:N,signer:T,txOverrides:{from:w}};if(ey(x)){let W=Vy({chain:y,provider:x}),M=yT(x),H=await W(Z);return M(H)}return gn({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...Z,feeOption:C,funcParams:N,txOverrides:{from:w,gasLimit:L?BigInt(L.toString()):void 0,nonce:X}})}}function Fl({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:o,memo:f,recipient:l,feeOptionKey:C=p.Fast,sender:G,...L}){let{hexlify:_,toUtf8Bytes:X}=await import("ethers"),N=o.getBaseValue("bigint"),w=o.chain,Z=G||await T?.getAddress(),J=$o({chain:w,isEIP1559Compatible:n,provider:x,signer:T});if(!Z)throw new $("toolbox_evm_no_from_address");if(o.isGasAsset){let u={...L,data:_(X(f||"")),feeOptionKey:C,from:Z,to:l,value:N};return J(u)}if(!TT(o,w))throw new $("toolbox_evm_no_contract_address");let{maxFeePerGas:M,maxPriorityFeePerGas:H,gasPrice:v}=(await by({chain:w,isEIP1559Compatible:n,provider:x})())[C],S=await pn({chain:w,provider:x,signer:T})({assetValue:o,data:_(X(f||"")),gasPrice:v,maxFeePerGas:M,maxPriorityFeePerGas:H,memo:f,recipient:l,sender:Z});return J(S)}}function bo({provider:T,signer:n}){return function({contractAddress:y,abi:o,funcName:f,funcParams:l=[],txOverrides:C}){if(!y)throw new $("toolbox_evm_no_contract_address");let G=WT(y,o,T);return n?G.connect(n).getFunction(f).estimateGas(...l,C):G.getFunction(f).estimateGas(...l,C)}}function El({provider:T,signer:n}){return async function({assetValue:y,recipient:o,memo:f,data:l,sender:C,funcName:G,funcParams:L,txOverrides:_}){let X=y.bigIntValue,N=y.isGasAsset?null:TT(y,y.chain);if(N&&G)return bo({provider:T,signer:n})({abi:QT,contractAddress:N,funcName:G,funcParams:L,txOverrides:_});let{hexlify:w,toUtf8Bytes:Z}=await import("ethers");return T.estimateGas({data:l?l:f?w(Z(f)):void 0,from:C,to:o,value:X})}}function $o({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:f=p.Fast,...l}){let{from:C,to:G,data:L,value:_,...X}=l;if(!n)throw new $("toolbox_evm_no_signer");if(!G)throw new $("toolbox_evm_no_to_address");let N={...X,data:L||"0x",from:C,to:G,value:BigInt(_||0)};if(ey(T))return yT(T)(N);let w=C||await n.getAddress(),Z=l.nonce||await T.getTransactionCount(w),J=(await T.getNetwork()).chainId,W=Al(N)||x,M=by({chain:y,isEIP1559Compatible:x,provider:T}),H=W&&!(N.maxFeePerGas&&N.maxPriorityFeePerGas)||!N.gasPrice?Object.entries((await M())[f]).reduce((S,[u,V])=>({...S,[u]:qT(BigInt(V))}),{}):{},v;try{v=qT(N.gasLimit||await T.estimateGas(N)*11n/10n)}catch(S){throw new $("toolbox_evm_error_estimating_gas_limit",{error:S})}try{let S={...N,chainId:J,gasLimit:v,nonce:Z,type:W?2:0,...H};try{return(await n.sendTransaction(S)).hash}catch{let u=await n.signTransaction({...S,from:w});return(await T.broadcastTransaction(u)).hash}}catch(S){throw new $("toolbox_evm_error_sending_transaction",{error:S})}}}function pn({provider:T,signer:n}){return async function({assetValue:y,memo:o,recipient:f,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:L,gasPrice:_,...X}){let N=y.getBaseValue("bigint"),w=y.chain,Z=C||await n?.getAddress();if(!Z)throw new $("toolbox_evm_no_from_address");if(Rl(y)){let{hexlify:M,toUtf8Bytes:H}=await import("ethers");return{...X,data:l||M(H(o||"")),from:Z,to:f,value:N}}let J=TT(y,w);if(!J)throw new $("toolbox_evm_no_contract_address");return Vy({chain:y.chain,provider:T})({abi:QT,contractAddress:J,funcName:"transfer",funcParams:[f,N],txOverrides:{from:Z,gasPrice:_,maxFeePerGas:G,maxPriorityFeePerGas:L}})}}function tl({provider:T,signer:n,chain:x}){return async function({assetAddress:o,spenderAddress:f,amount:l,from:C}){let G=await n?.getAddress()||C,L=Vy({chain:x,provider:T}),_=["bigint","number"].includes(typeof l)?l:l||MT;return await L({abi:QT,contractAddress:o,funcName:"approve",funcParams:[f,BigInt(_)],txOverrides:{from:G}})}}function Kl({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=p.Fast,chain:o,...f}){let C=await by({chain:o,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(f),L=Yl.from({chain:o}),{gasPrice:_,maxFeePerGas:X,maxPriorityFeePerGas:N}=C[y];if(!n&&_)return L.set(jT.fromBigInt(_*G,L.decimal));if(X&&N){let w=(X+N)*G;return L.set(jT.fromBigInt(w,L.decimal))}throw new $("toolbox_evm_no_gas_price")}}var MT,kl,Sl,mn,Il,Al=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var mT=D(()=>{ry();MT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");kl=["payable","nonpayable"];Sl=Dl.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),mn={...Sl,[Jy.Optimism]:"0x4200000000000000000000000000000000000042",[Jy.Polygon]:"0x0000000000000000000000000000000000001010"},Il=[Jy.Arbitrum,Jy.Aurora,Jy.Base,Jy.Optimism]});import{Chain as c,FeeOption as Vl,getRPCUrl as bl}from"@swapkit/helpers";import{match as $l,P as po}from"ts-pattern";async function iT({provider:T,...n}){let x=await m(c.Ethereum)({provider:T,...n});async function y(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=Vl.Fast){let G=await x.createContractTxObject({abi:uo,contractAddress:f,funcName:l,funcParams:[o]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function m(T){return async function({provider:x,...y}){let{HDNodeWallet:o}=await import("ethers"),f=await bl(T),l=x||await Ky(T,f),C=$n(T),G=$l(y).with({phrase:po.string},({phrase:_})=>o.fromPhrase(_).connect(l)).with({signer:po.any},({signer:_})=>_).otherwise(()=>{return});return{...sy({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:JT(T).getBalance,getNetworkParams:bn(T)}}}var gT,dT,rT,aT,sT,eT,ho,yn,Tn,nn,fn,on,xn,PT,ln,Cn;var dn=D(()=>{hT();Fo();ry();mT();gT=m(c.Arbitrum),dT=m(c.Aurora),rT=m(c.Avalanche),aT=m(c.Base),sT=m(c.Berachain),eT=m(c.BinanceSmartChain),ho=m(c.Botanix),yn=m(c.Core),Tn=m(c.Corn),nn=m(c.Cronos),fn=m(c.Gnosis),on=m(c.Hyperevm),xn=m(c.Polygon),PT=m(c.Sonic),ln=m(c.Unichain),Cn=m(c.XLayer)});var jo;var co=D(()=>{jo=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as nT,Chain as Gn,FeeOption as qy,getChainConfig as hl,getRPCUrl as jl,SwapKitError as rn}from"@swapkit/helpers";import{Contract as cl,HDNodeWallet as ml}from"ethers";import{match as il,P as mo}from"ts-pattern";function an(T){return new cl(gl,jo,T)}function io(T){return async function(){let x=an(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function go(T){return async function({from:x,to:y,nonce:o,...f}){let{Transaction:l}=await import("ethers");if(!y)throw new rn("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...f,authorizationList:f.authorizationList,nonce:o?o:x?await T.getTransactionCount(x):0,to:y}).serialized}}function ro(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(o)}}function ao(T){return async function(x){let y=await T.send("eth_gasPrice",[]),o=await T.estimateGas(x);return y.mul(o)}}function dl(T){return async function(x){let y=await ro(T)(x),o=await ao(T)(x);return y.add(o)}}function rl(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(o)}}function al(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:o}=hl(Gn.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:Gn.Ethereum},rpcUrls:o}}async function sl(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),o=await io(T)(),f=y;if(!(n&&x))throw new rn("toolbox_evm_no_fee_data");return{[qy.Average]:{gasPrice:f,l1GasPrice:o,maxFeePerGas:n,maxPriorityFeePerGas:x},[qy.Fast]:{gasPrice:nT(f,qy.Fast),l1GasPrice:nT(o||0n,qy.Fast),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,qy.Fast)},[qy.Fastest]:{gasPrice:nT(f,qy.Fastest),l1GasPrice:nT(o||0n,qy.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,qy.Fastest)}}}catch(n){throw new rn("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}async function Ln({provider:T,...n}){let x=Gn.Optimism,y=await jl(x),o=T||await Ky(x,y),f=il(n).with({phrase:mo.string},({phrase:G})=>ml.fromPhrase(G).connect(o)).with({signer:mo.any},({signer:G})=>G).otherwise(()=>{return}),l=sy({provider:o,signer:f}),C=io(o);return{...l,estimateGasPrices:sl(o),estimateL1Gas:rl(o),estimateL1GasCost:ro(o),estimateL2GasCost:ao(o),estimateTotalGasCost:dl(o),getBalance:JT(Gn.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:al}}var gl="0x420000000000000000000000000000000000000f";var sn=D(()=>{hT();co();ry();mT()});var eo={};e(eo,{toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getEvmToolbox:()=>so,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>hn,createContract:()=>WT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>PT,OPToolbox:()=>Ln,MAX_APPROVAL:()=>MT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});import{Chain as j}from"@swapkit/helpers";import{match as el}from"ts-pattern";async function so(T,n){let x={...n,provider:n?.provider||await Ky(T)};return el(T).returnType().with(j.Arbitrum,()=>gT(x)).with(j.Aurora,()=>dT(x)).with(j.Avalanche,()=>rT(x)).with(j.Base,()=>aT(x)).with(j.Berachain,()=>sT(x)).with(j.BinanceSmartChain,()=>eT(x)).with(j.Botanix,()=>PT(x)).with(j.Core,()=>yn(x)).with(j.Corn,()=>Tn(x)).with(j.Cronos,()=>nn(x)).with(j.Ethereum,()=>iT(x)).with(j.Gnosis,()=>fn(x)).with(j.Hyperevm,()=>on(x)).with(j.Optimism,()=>Ln(x)).with(j.Polygon,()=>xn(x)).with(j.Sonic,()=>PT(x)).with(j.Unichain,()=>ln(x)).with(j.XLayer,()=>Cn(x)).exhaustive()}var en=D(()=>{ry();dn();sn();mT();dn();sn()});var yx;var Tx=D(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(yx||={})});var nx={};e(nx,{toHexString:()=>qT,toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>Ky,getNetworkParams:()=>bn,getIsEIP1559Compatible:()=>$n,getEvmToolbox:()=>so,getEvmApi:()=>JT,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>hn,createCustomEvmApi:()=>Wl,createContract:()=>WT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>PT,OPToolbox:()=>Ln,MAX_APPROVAL:()=>MT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,EthNetwork:()=>yx,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});var fx=D(()=>{hT();ry();en();Tx()});import{AssetValue as UT,Chain as fT,getChainConfig as y1,SwapKitError as zT}from"@swapkit/helpers";import{match as T1,P as ox}from"ts-pattern";async function yf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function f1(T){try{let{MeshWallet:n}=await import("@meshsdk/core"),x=await yf(),y=new n({fetcher:x,key:{address:T,type:"address"},networkId:1});await y.init();let o=await y.getBalance(),f=[];for(let l of o)if(l.unit===n1){let{baseDecimal:C}=y1(fT.Cardano);f.push(UT.from({chain:fT.Cardano,fromBaseDecimal:C,value:l.quantity}))}else f.push(UT.from({asset:`${fT.Cardano}.${l.unit}`,value:l.quantity}));if(f.length===0)return[UT.from({chain:fT.Cardano})];return f}catch(n){return console.error("Cardano balance fetch error:",n),[UT.from({chain:fT.Cardano})]}}async function xx(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function o1(T){let n=await xx(),x=await T1(T).with({phrase:ox.string},async({phrase:_})=>{let{MeshWallet:X}=await import("@meshsdk/core"),N=await yf(),w=new X({fetcher:N,key:{type:"mnemonic",words:_.split(" ")},networkId:1,submitter:N});return await w.init(),w}).with({signer:ox.any},({signer:_})=>_).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function o(){return y||""}function f(_){let X=_||o();if(!X)throw new zT("core_wallet_connection_not_found");return f1(X)}function l(){return Promise.resolve(UT.from({chain:fT.Cardano,value:"0.01"}))}async function C({recipient:_,assetValue:X,memo:N}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{Transaction:w}=await import("@meshsdk/core"),[,Z]=X.symbol.split("-");if(!X.isGasAsset&&!Z)throw new zT("core_wallet_connection_not_found");let J=new w({initiator:x});if(J.sendAssets({address:_},[{quantity:X.getBaseValue("string"),unit:X.isGasAsset?"lovelace":X.symbol}]),N)J.setMetadata(0,N);let W=await J.build();return{tx:J,unsignedTx:W}}function G(_){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");return x.signTx(_)}async function L({recipient:_,assetValue:X,memo:N}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{unsignedTx:w}=await C({assetValue:X,memo:N,recipient:_}),Z=await G(w);return await(await yf()).submitTx(Z)}return{createTransaction:C,estimateTransactionFee:l,getAddress:o,getBalance:f,signTransaction:G,transfer:L,validateAddress:n}}var n1="lovelace";var lx=()=>{};var Tf={};e(Tf,{getCardanoToolbox:()=>o1,getCardanoAddressValidator:()=>xx});var nf=D(()=>{lx()});import{base64 as Cx,bech32 as Xn}from"@scure/base";import{SwapKitError as x1}from"@swapkit/helpers";import{fromByteArray as l1,toByteArray as C1}from"base64-js";function HT(T){return Cx.encode(Uint8Array.from(Xn.fromWords(Xn.decode(T).words)))}function YT(T,n="thor"){return Xn.encode(n,Xn.toWords(Cx.decode(T)))}function G1(T){return l1(T)}function L1(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new x1("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return C1(T)}var ff=()=>{};import{AssetValue as of,Chain as E,getChainConfig as Ly,getRPCUrl as X1,SwapKitError as Gx}from"@swapkit/helpers";function Qy(T){switch(T){case E.Maya:return{amount:[],gas:"10000000000"};case E.THORChain:return{amount:[],gas:"500000000"};case E.Kujira:return Nx;case E.Noble:return _x;default:return Xx}}async function My(T){let n=await import("@cosmjs/stargate"),x=n.StargateClient??n.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return x.connect({headers:y,url:T})}async function RT(T,n,x={}){let y=await import("@cosmjs/stargate"),o=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return o.connectWithSigner(T,n,{gasPrice:f.fromString(l),...C})}async function lf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function Cf({sender:T,recipient:n,assetValue:x,memo:y="",feeRate:o,sequence:f,accountNumber:l}){let{chain:C,chainId:G}=x,L=await X1(C),X=await(await My(L)).getAccount(T);if(!X)throw new Gx("toolbox_cosmos_account_not_found",{sender:T});let N=of.from({chain:C}),w=Yy(N.symbol),Z=Qy(C),J=w&&o?{amount:[{amount:o.toString(),denom:w}],gas:Z.gas}:Z,W={amount:[{amount:x.getBaseValue("string"),denom:Yy(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??X.accountNumber,chainId:G,fee:J,memo:y,msgs:[{typeUrl:N1(C),value:W}],sequence:f??X.sequence}}var xf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Lx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Xx,Nx,_x,Yy=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return xf;case"uYUM":case"YUM":return Lx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},DT=({symbol:T,chain:n})=>{if(n===E.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Maya}.${T}`).toUpperCase();if(n===E.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.THORChain}.${T}`:T).toUpperCase();return Yy(T,!1)},N1=(T)=>{switch(T){case E.Maya:case E.THORChain:return"/types.MsgSend";case E.Cosmos:case E.Kujira:case E.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Gx("toolbox_cosmos_not_supported",{chain:T})}},_1,Gf=(T,n)=>{let x=_1[T.toLowerCase()];if(!x)return of.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:o,decimals:f}=x,l=y?{chain:y}:{asset:o};return of.from({...l,fromBaseDecimal:f,value:n})};var OT=D(()=>{Xx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Nx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},_x={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};_1={atom:{chain:E.Cosmos,decimals:Ly(E.Cosmos).baseDecimal},cacao:{chain:E.Maya,decimals:10},kuji:{chain:E.Kujira,decimals:Ly(E.Kujira).baseDecimal},maya:{asset:`${E.Maya}.${E.Maya}`,decimals:4},rune:{chain:E.THORChain,decimals:Ly(E.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Ly(E.THORChain).baseDecimal},uatom:{chain:E.Cosmos,decimals:Ly(E.Cosmos).baseDecimal},ukuji:{chain:E.Kujira,decimals:Ly(E.Kujira).baseDecimal},usdc:{chain:E.Noble,decimals:Ly(E.Noble).baseDecimal},uusdc:{chain:E.Noble,decimals:Ly(E.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Ly(E.THORChain).baseDecimal},[xf.toLowerCase()]:{asset:`${E.Kujira}.USK`,decimals:Ly(E.Kujira).baseDecimal}}});var wx={};e(wx,{$root:()=>z});import g from"protobufjs/minimal.js";var k,Cy,Y,z;var Zx=D(()=>{k=g.Reader,Cy=g.Writer,Y=g.util,z=g.roots.default||(g.roots.default={});z.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))o.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))o.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))o.uint32(32).bool(y.synth);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Asset;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!Y.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!Y.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!Y.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Asset)return y;let o=new z.common.Asset;if(y.chain!=null)o.chain=String(y.chain);if(y.symbol!=null)o.symbol=String(y.symbol);if(y.ticker!=null)o.ticker=String(y.ticker);if(y.synth!=null)o.synth=Boolean(y.synth);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=Y.Long?Y.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))z.common.Asset.encode(y.asset,o.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))o.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))o.uint32(24).int64(y.decimals);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Coin;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.asset=z.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let o=z.common.Asset.verify(y.asset);if(o)return"asset."+o}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Y.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!Y.isInteger(y.decimals)&&!(y.decimals&&Y.isInteger(y.decimals.low)&&Y.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Coin)return y;let o=new z.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");o.asset=z.common.Asset.fromObject(y.asset)}if(y.amount!=null)o.amount=String(y.amount);if(y.decimals!=null){if(Y.Long)(o.decimals=Y.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")o.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")o.decimals=y.decimals;else if(typeof y.decimals==="object")o.decimals=new Y.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)if(f.asset=null,f.amount="",Y.Long){let l=new Y.Long(0,0,!1);f.decimals=o.longs===String?l.toString():o.longs===Number?l.toNumber():l}else f.decimals=o.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=z.common.Asset.toObject(y.asset,o);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=o.longs===String?String(y.decimals):y.decimals;else f.decimals=o.longs===String?Y.Long.prototype.toString.call(y.decimals):o.longs===Number?new Y.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))o.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))o.uint32(18).string(y.ed25519);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.PubKeySet;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!Y.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!Y.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.PubKeySet)return y;let o=new z.common.PubKeySet;if(y.secp256k1!=null)o.secp256k1=String(y.secp256k1);if(y.ed25519!=null)o.ed25519=String(y.ed25519);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=Y.emptyArray,n.prototype.gas=Y.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))o.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)z.common.Coin.encode(y.gas[f],o.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(58).string(y.memo);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Tx;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(z.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!Y.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!Y.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!Y.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!Y.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let o=0;o<y.gas.length;++o){let f=z.common.Coin.verify(y.gas[o]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!Y.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Tx)return y;let o=new z.common.Tx;if(y.id!=null)o.id=String(y.id);if(y.chain!=null)o.chain=String(y.chain);if(y.fromAddress!=null)o.fromAddress=String(y.fromAddress);if(y.toAddress!=null)o.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");o.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");o.gas[f]=z.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)o.memo=String(y.memo);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[],f.gas=[];if(o.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.gas?.length){f.gas=[];for(let l=0;l<y.gas.length;++l)f.gas[l]=z.common.Coin.toObject(y.gas[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=Y.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))o.uint32(18).string(y.poolDeduct);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Fee;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!Y.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Fee)return y;let o=new z.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)o.poolDeduct=String(y.poolDeduct);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))o.uint32(10).string(y.value);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.ProtoUint;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!Y.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.ProtoUint)return y;let o=new z.common.ProtoUint;if(y.value!=null)o.value=String(y.value);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T})();z.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=Y.emptyArray,n.prototype.memo="",n.prototype.signer=Y.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))o.uint32(26).bytes(y.signer);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgDeposit;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!Y.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||Y.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof z.types.MsgDeposit)return y;let o=new z.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)o.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")Y.base64.decode(y.signer,o.signer=Y.newBuffer(Y.base64.length(y.signer)),0);else if(y.signer.length)o.signer=y.signer}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults){if(f.memo="",o.bytes===String)f.signer="";else if(f.signer=[],o.bytes!==Array)f.signer=Y.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=o.bytes===String?Y.base64.encode(y.signer,0,y.signer.length):o.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.fromAddress=Y.newBuffer([]),n.prototype.toAddress=Y.newBuffer([]),n.prototype.amount=Y.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)z.cosmos.base.v1beta1.Coin.encode(y.amount[f],o.uint32(26).fork()).ldelim();return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgSend;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(z.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||Y.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||Y.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let o=0;o<y.amount.length;++o){let f=z.cosmos.base.v1beta1.Coin.verify(y.amount[o]);if(f)return"amount."+f}}return null},n.fromObject=function(y){if(y instanceof z.types.MsgSend)return y;let o=new z.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")Y.base64.decode(y.fromAddress,o.fromAddress=Y.newBuffer(Y.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)o.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")Y.base64.decode(y.toAddress,o.toAddress=Y.newBuffer(Y.base64.length(y.toAddress)),0);else if(y.toAddress.length)o.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");o.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");o.amount[f]=z.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.amount=[];if(o.defaults){if(o.bytes===String)f.fromAddress="";else if(f.fromAddress=[],o.bytes!==Array)f.fromAddress=Y.newBuffer(f.fromAddress);if(o.bytes===String)f.toAddress="";else if(f.toAddress=[],o.bytes!==Array)f.toAddress=Y.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=o.bytes===String?Y.base64.encode(y.fromAddress,0,y.fromAddress.length):o.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=o.bytes===String?Y.base64.encode(y.toAddress,0,y.toAddress.length):o.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let l=0;l<y.amount.length;++l)f.amount[l]=z.cosmos.base.v1beta1.Coin.toObject(y.amount[l],o)}return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T})();z.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.Coin;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!Y.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Y.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.Coin)return f;let l=new z.cosmos.base.v1beta1.Coin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecCoin;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!Y.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Y.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecCoin)return f;let l=new z.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))l.uint32(10).string(f.int);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.IntProto;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.int=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!Y.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.IntProto)return f;let l=new z.cosmos.base.v1beta1.IntProto;if(f.int!=null)l.int=String(f.int);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(f.int!=null&&f.hasOwnProperty("int"))C.int=f.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))l.uint32(10).string(f.dec);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecProto;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.dec=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!Y.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecProto)return f;let l=new z.cosmos.base.v1beta1.DecProto;if(f.dec!=null)l.dec=String(f.dec);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))C.dec=f.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x})(),n})(),T})()});import{Chain as w1}from"@swapkit/helpers";async function $y(){let{$root:T}=await Promise.resolve().then(() => (Zx(),wx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),o=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...o,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Dy(T){let n=await import("@cosmjs/stargate"),x=n.AminoTypes??n.default?.AminoTypes,y=T===w1.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:o,...f})=>({...f,signer:HT(o)}),toAmino:({signer:o,...f})=>({...f,signer:YT(o)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:o,to_address:f,...l})=>({...l,fromAddress:HT(o),toAddress:HT(f)}),toAmino:({fromAddress:o,toAddress:f,...l})=>({...l,from_address:YT(o),to_address:YT(f)})}})}var Lf=D(()=>{ff()});import{AssetValue as Z1,Chain as Nn,getChainConfig as Bx,SwapKitError as B1}from"@swapkit/helpers";function _f(T){return function(x){let{assetValue:y,recipient:o,memo:f,sender:l,asSignable:C,asAminoMessage:G}=x;if(o)return qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,recipient:o,sender:l});return Qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,sender:l})}}function Oy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((n)=>{let x=Z1.from({asset:n.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),o=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:o,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function kT({chain:T,memo:n,msgs:x}){let y=await $y(),o=await Dy(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>o.fromAmino(l))}};return y.encode(f)}var J1,q1,Xf=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===Nn.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:Yy(x.symbol,!0)}],from_address:T,to_address:n}}},Nf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===Nn.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:DT(n)}],memo:x,signer:T}}},_n=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Nf({assetValue:x,memo:y,sender:T}):Xf({assetValue:x,recipient:n,sender:T})},Ry=async(T,n)=>{return(await Dy(n)).fromAmino(T)},Jx=async({rpcUrl:T,sender:n})=>{let y=await(await My(T)).getAccount(n);if(!y)throw new B1("toolbox_cosmos_account_not_found",{sender:n});return y},qx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:o="",asSignable:f=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let L=await Jx({rpcUrl:T,sender:n}),_=y.chain,{chainId:X}=Bx(_),N=Xf({assetValue:y,recipient:x,sender:n}),w=f?await Ry(l?N:Oy(N),_):N;return{accountNumber:G||L.accountNumber,chainId:X,fee:Qy(_),memo:o,msgs:[w],sequence:C||L.sequence}},Qx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:o=!0,asAminoMessage:f=!1,sequence:l,accountNumber:C})=>{let G=await Jx({rpcUrl:T,sender:n}),L=x.chain,{chainId:_}=Bx(L),X=Nf({assetValue:x,memo:y,sender:n}),N=o?await Ry(f?X:Oy(X),L):X;return{accountNumber:C||G.accountNumber,chainId:_,fee:Qy(L),memo:y,msgs:[N],sequence:l||G.sequence}};var Mx=D(()=>{OT();Lf();J1=Qy(Nn.THORChain).gas,q1=Qy(Nn.Maya).gas});var Wx=()=>{};var Px=D(()=>{Wx()});var wf=D(()=>{ff();Mx();Lf();Px()});import{base64 as Jf,bech32 as Zf}from"@scure/base";import{AssetValue as qf,applyFeeMultiplier as zx,Chain as yy,CosmosChainPrefixes as Q1,DerivationPath as M1,derivationPathToString as Ux,FeeOption as Qf,getChainConfig as W1,getRPCUrl as P1,NetworkDerivationPath as z1,SwapKitError as Mf,SwapKitNumber as Bf,updateDerivationPath as U1}from"@swapkit/helpers";import{SwapKitApi as Ox}from"@swapkit/helpers/api";import{match as H1,P as Hx}from"ts-pattern";async function Pf(T,n){try{let y=(await Ox.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Wf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),o=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),l=f.stringToPath??f.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${M1[x.chain]}/${x.index}`;return o.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function Y1({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function kx(T){return async function({signature:x,message:y,address:o}){let f=await T(o);if(!f?.pubkey)throw new Mf("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,L=C.fromFixedLength(Jf.decode(x));return G.verifySignature(L,Jf.decode(y),f.pubkey.value)}}async function ST({chain:T,...n}){let x=await P1(T),y=Q1[T],o="index"in n?n.index||0:0,f=Ux("derivationPath"in n&&n.derivationPath?n.derivationPath:U1(z1[T],{index:o})),l=await H1(n).with({phrase:Hx.string},({phrase:X})=>Wf({derivationPath:f,phrase:X,prefix:y})).with({signer:Hx.any},({signer:X})=>X).otherwise(()=>{return});async function C(X){return(await My(x)).getAccount(X)}async function G(){let[X]=await l?.getAccounts()||[];return X?.address}async function L(){let[X]=await l?.getAccounts()||[];if(!X?.pubkey)throw new Mf("toolbox_cosmos_signer_not_defined");return Jf.encode(X?.pubkey)}async function _({recipient:X,assetValue:N,memo:w="",feeRate:Z,feeOptionKey:J=Qf.Fast}){let W=await G();if(!(l&&W))throw new Mf("toolbox_cosmos_signer_not_defined");let M=qf.from({chain:T}),H=DT(M),v=Z||O1((await Dx(T,Yx[T]))[J],H),S=await RT(x,l),u=[{amount:N.getBaseValue("string"),denom:Yy(`u${N.symbol}`).toLowerCase()}],{transactionHash:V}=await S.sendTokens(W,X,u,v,w);return V}return{createPrivateKeyFromPhrase:S1(f),createTransaction:Cf,fetchFeeRateFromSwapKit:Pf,getAccount:C,getAddress:G,getBalance:async(X,N)=>{let w=await Rx(x)(X),Z=await Promise.all(w.filter(({denom:J})=>J&&!J.includes("IBC/")).map(({denom:J,amount:W})=>{let M=[yy.THORChain,yy.Maya].includes(T)&&(J.includes("/")||J.includes("˜"))?`${T}.${J}`:J;return Gf(M,W)}));if(Z.length===0)return[qf.from({chain:T})];return Z},getBalanceAsDenoms:Rx(x),getFees:()=>Dx(T,Yx[T]),getPubKey:L,getSignerFromPhrase:async({phrase:X,derivationPath:N})=>Wf({derivationPath:Ux(N),index:o,phrase:X,prefix:y}),getSignerFromPrivateKey:async(X)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(X,y)},transfer:_,validateAddress:Sx(y),verifySignature:kx(C)}}async function D1(T,n){try{let y=(await Ox.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function R1({assetValue:{chain:T}}){return qf.from({chain:T,value:k1(T)})}async function Dx(T,n){let{chainId:x,baseDecimal:y}=W1(T),o=await Pf(x,n);return{average:Bf.fromBigInt(BigInt(o),y),fast:Bf.fromBigInt(BigInt(zx(o,Qf.Fast,!0)),y),fastest:Bf.fromBigInt(BigInt(zx(o,Qf.Fastest,!0)),y)}}function O1(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function k1(T){return{[yy.Cosmos]:0.007,[yy.Kujira]:0.02,[yy.Noble]:0.01,[yy.THORChain]:0.02,[yy.Maya]:0.02,[yy.Harbor]:0.02}[T]||0}function Sx(T){return function(x){if(!x.startsWith(T))return!1;try{let{prefix:y,words:o}=Zf.decode(x);return Zf.encode(y,o)===x.toLocaleLowerCase()}catch{return!1}}}function Rx(T){return async function(x){return(await(await My(T)).getAllBalances(x)).map((l)=>({...l,denom:l.denom.includes("/")?l.denom.toUpperCase():l.denom}))}}function S1(T){return async function(x){let y=await import("@cosmjs/crypto"),o=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,L=new C(x),_=await G.mnemonicToSeed(L),{privkey:X}=l.derivePath(f.Secp256k1,_,o(T));return X}}var Yx;var wn=D(()=>{OT();Yx={[yy.Cosmos]:500,[yy.Kujira]:1000,[yy.Noble]:1000,[yy.THORChain]:5000000,[yy.Maya]:5000000,[yy.Harbor]:5000000}});import{base64 as py}from"@scure/base";import{Chain as I1,CosmosChainPrefixes as v1,derivationPathToString as u1,FeeOption as zf,getChainConfig as Ix,getRPCUrl as F1,NetworkDerivationPath as E1,RequestClient as A1,SKConfig as t1,SwapKitError as vx,SwapKitNumber as ux,updateDerivationPath as K1}from"@swapkit/helpers";import{match as V1,P as Fx}from"ts-pattern";function b1({prefix:T,derivationPath:n}){return async function(y,o=0){let f=await import("@cosmjs/amino"),l=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${o}`)],prefix:T})}}function $1(T){return py.encode(T)}function p1(T){return async function({wallet:x,tx:y}){let{msgs:o,accountNumber:f,sequence:l,chainId:C,fee:G,memo:L}=typeof y==="string"?JSON.parse(y):y,_=(await x.getAccounts())?.[0]?.address||"",X=await Dy(T),N=await $y(),w=await lf(x,{aminoTypes:X,registry:N}),Z=[];for(let M of o){let H=await Ry(M,T);Z.push(H)}let{signatures:[J]}=await w.sign(_,Z,G,L,{accountNumber:f,chainId:C,sequence:l});return{bodyBytes:await kT({chain:T,memo:L,msgs:o.map(Oy)}),signature:$1(J)}}}function h1({prefix:T,rpcUrl:n}){return async function(y,o,f,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:_}=(await import("@cosmjs/stargate")).default,{sequence:X,fee:N}=JSON.parse(y),w=await Ex(f,l),Z=o.map((M)=>[L(G(py.decode(M.pubKey)),T),py.decode(M.signature)]),J=await My(n),{transactionHash:W}=await J.broadcastTx(_(w,X,N,C,new Map(Z)));return W}}async function Ex(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:o}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>o(py.decode(f))),n,x)}function j1(T){return py.decode(T)}async function c1({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(py.decode(n),T);return py.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Uf({chain:T,...n}){let x=await F1(T),{nodeUrl:y}=Ix(T),{isStagenet:o}=t1.get("envs"),f=T===I1.THORChain,l=`${o?"s":""}${v1[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:K1(E1[T],{index:C}),L=await ST({chain:T,...n}),_=await V1(n).with({phrase:Fx.string},({phrase:Z})=>L.getSignerFromPhrase({derivationPath:G,phrase:Z})).with({signer:Fx.any},({signer:Z})=>Z).otherwise(()=>{return}),X=Qy(T);async function N(){let Z,J=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await A1.get(J);if(!W||Number.isNaN(W)||W<0)throw new vx("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});Z=new ux(W)}catch{Z=new ux({decimal:Ix(T).baseDecimal,value:f?0.02:1})}return{[zf.Average]:Z,[zf.Fast]:Z,[zf.Fastest]:Z}}async function w({assetValue:Z,memo:J="",recipient:W}){let{TxRaw:M}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await _?.getAccounts())?.[0]?.address;if(!(H&&_))throw new vx("toolbox_cosmos_no_signer");let v="signAmino"in _,S=await $y(),u=await Dy(T),V=await RT(x,_,{aminoTypes:u,registry:S}),a=_n({assetValue:Z,memo:J,recipient:W,sender:H});if(v){let U=await Ry(a,T),{signatures:R,authInfoBytes:O}=await V.sign(H,[U],X,J),I=M.encode({authInfoBytes:O,bodyBytes:await kT({chain:T,memo:J,msgs:[a].map(Oy)}),signatures:R}).finish();return(await V.broadcastTx(I)).transactionHash}let Hy=Oy(a),B=await Ry(Hy,T);return(await V.signAndBroadcast(H,[B],X,J)).transactionHash}return{...L,broadcastMultisigTx:h1({prefix:l,rpcUrl:x}),buildAminoMsg:_n,buildEncodedTxBody:kT,convertToSignable:Ry,createDefaultAminoTypes:()=>Dy(T),createDefaultRegistry:$y,createMultisig:Ex,createTransaction:_f(x),deposit:w,getFees:N,importSignature:j1,parseAminoMessageForDirectSigning:Oy,pubkeyToAddress:async(Z)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(Z,l)},secp256k1HdWalletFromMnemonic:b1({derivationPath:u1(G),prefix:l}),signMultisigTx:p1(T),signWithPrivateKey:c1,transfer:w}}var Hf=D(()=>{wf();OT();wn()});import{Chain as IT,SwapKitError as m1}from"@swapkit/helpers";var i1=(T,n)=>{switch(T){case IT.Cosmos:case IT.Kujira:case IT.Noble:return ST({chain:T,...n});case IT.Maya:case IT.THORChain:return Uf({chain:T,...n});default:throw new m1("toolbox_cosmos_not_supported",{chain:T})}};var Ax=D(()=>{wn();Hf();wn();Hf()});var Zn={};e(Zn,{verifySignature:()=>kx,transferMsgAmino:()=>Xf,toBase64:()=>G1,parseAminoMessageForDirectSigning:()=>Oy,getSignerFromPrivateKey:()=>Y1,getSignerFromPhrase:()=>Wf,getMsgSendDenom:()=>Yy,getFeeRateFromSwapKit:()=>D1,getDenomWithChain:()=>DT,getDefaultChainFee:()=>Qy,getCreateTransaction:()=>_f,getCosmosValidateAddress:()=>Sx,getCosmosToolbox:()=>i1,getAssetFromDenom:()=>Gf,fromBase64:()=>L1,fetchFeeRateFromSwapKit:()=>Pf,estimateTransactionFee:()=>R1,depositMsgAmino:()=>Nf,createThorchainToolbox:()=>Uf,createStargateClient:()=>My,createSigningStargateClient:()=>RT,createOfflineStargateClient:()=>lf,createDefaultRegistry:()=>$y,createDefaultAminoTypes:()=>Dy,createCosmosToolbox:()=>ST,cosmosCreateTransaction:()=>Cf,convertToSignable:()=>Ry,buildTransferTx:()=>qx,buildEncodedTxBody:()=>kT,buildDepositTx:()=>Qx,buildAminoMsg:()=>_n,bech32ToBase64:()=>HT,base64ToBech32:()=>YT,YUM_KUJIRA_FACTORY_DENOM:()=>Lx,USK_KUJIRA_FACTORY_DENOM:()=>xf,THORCHAIN_GAS_VALUE:()=>J1,MAYA_GAS_VALUE:()=>q1,DEFAULT_NOBLE_FEE_MAINNET:()=>_x,DEFAULT_KUJI_FEE_MAINNET:()=>Nx,DEFAULT_COSMOS_FEE_MAINNET:()=>Xx});var Bn=D(()=>{wf();Ax();OT()});import{AssetValue as Jn,Chain as ky,DerivationPath as g1,derivationPathToString as d1,getChainConfig as Vx,getRPCUrl as r1,NetworkDerivationPath as a1,SwapKitError as jy,updateDerivationPath as s1}from"@swapkit/helpers";import{match as e1,P as tx}from"ts-pattern";async function bx(T){let n=Jn.from({address:T,chain:ky.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:T,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let x=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(x);if(!y.ok)return null;let o=await y.json();if(!Array.isArray(o)||o.length===0)return null;return o.find((l)=>l.id===T)||null}catch{return null}}async function y5(T){let n=await hy(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),o=new x(T),f=[],l=await n.getBalance(o);if(l>0){let{baseDecimal:G}=Vx(ky.Solana);f.push(Jn.from({chain:ky.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(o,{programId:y});for(let{account:G}of C.value){let L=G.data.parsed.info,_=L.mint,X=L.tokenAmount.amount;if(Number(X)===0)continue;let N=await bx(_),w=N?.symbol||"UNKNOWN",Z=N?.decimals||L.tokenAmount.decimals;f.push(Jn.from({asset:`${ky.Solana}.${w}-${_}`,fromBaseDecimal:Z,value:X}))}return f}async function Rf(){let{PublicKey:T}=await import("@solana/web3.js");return(n)=>{try{let x=new T(n);return T.isOnCurve(x.toBytes())}catch{return!1}}}async function T5(T){let n=T&&"index"in T?T.index||0:0,x=d1(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:s1(a1[ky.Solana],{index:n})),y=await e1(T).with({phrase:tx.string},({phrase:l})=>Df({derivationPath:x,phrase:l})).with({signer:tx.any},({signer:l})=>l).otherwise(()=>{return});function o(){return y?.publicKey?Kx(y.publicKey):""}function f(l){let C=l||o();if(!C)throw new jy("core_wallet_connection_not_found");return y5(C)}return{broadcastTransaction:Yf(hy),createKeysForPath:Df,createTransaction:Of(hy),createTransactionFromInstructions:x5,estimateTransactionFee:n5(hy),getAddress:o,getAddressFromPubKey:Kx,getAddressValidator:Rf,getBalance:f,getConnection:hy,getPubkeyFromAddress:kf,signTransaction:C5(hy,y),transfer:l5(hy,y)}}function n5(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let l=await T(),G=(await Of(T)({assetValue:x,isProgramDerivedAddress:o,memo:y,recipient:n,sender:f})).compileMessage(),L=await l.getFeeForMessage(G);if(L.value===null)throw new jy("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:_}=Vx(ky.Solana);return Jn.from({chain:ky.Solana,fromBaseDecimal:_,value:L.value})}}async function hy(){let{Connection:T}=await import("@solana/web3.js"),n=await r1(ky.Solana);return new T(n,"confirmed")}function f5(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:o})=>{let f=await T(),l=await kf(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:L}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new L(x)}))}if(n.address)return o5({amount:n.getBaseValue("number"),connection:f,decimals:n.decimal,from:l,isProgramDerivedAddress:o,recipient:x,tokenAddress:n.address});return}}async function o5({tokenAddress:T,recipient:n,from:x,connection:y,amount:o,decimals:f,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:L,createTransferCheckedInstruction:_}=await import("@solana/spl-token"),{Transaction:X,PublicKey:N}=await import("@solana/web3.js"),w=new X,Z=new N(T),J=await C(Z,x),W=new N(n),M=await C(Z,W,l),H=!1;try{await G(y,M),H=!0}catch{}if(!H)w.add(L(x,M,W,Z));return w.add(_(J,Z,M,x,o,f)),w}function Of(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await kf(f),G=await Rf();if(!(o||G(n)))throw new jy("core_transaction_invalid_recipient_address");let L=await T(),_=await f5(T)({assetValue:x,isProgramDerivedAddress:o,recipient:n,sender:f});if(!_)throw new jy("core_transaction_invalid_sender_address");if(y)_.add(l(y));let X=await L.getLatestBlockhash();return _.recentBlockhash=X.blockhash,_.feePayer=C,_}}async function x5({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new jy("core_transaction_invalid_sender_address");return x}function l5(T,n){return async({recipient:x,assetValue:y,memo:o,isProgramDerivedAddress:f})=>{if(!n)throw new jy("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Of(T)({assetValue:y,isProgramDerivedAddress:f,memo:o,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Yf(T)(G)}return C.sign(n),Yf(T)(C)}}function Yf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function C5(T,n){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!n)throw new jy("toolbox_solana_no_signer");if(!(x instanceof y)){let f=await(await T()).getLatestBlockhash();x.recentBlockhash=f.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Df({phrase:T,derivationPath:n=g1.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:o}=await import("@solana/web3.js"),f=y(T),l=x.fromMasterSeed(f);return o.fromSeed(l.derive(n,!0).privateKey)}function Kx(T){return T.toString()}async function kf(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var $x=()=>{};var Sf={};e(Sf,{getSolanaToolbox:()=>T5,getSolanaAddressValidator:()=>Rf,fetchTokenMetaData:()=>bx,createKeysForPath:()=>Df});var If=D(()=>{$x()});import{AssetValue as qn,Chain as vf,getChainConfig as G5,SwapKitError as Sy}from"@swapkit/helpers";import{match as L5,P as px}from"ts-pattern";async function hx(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(x){try{return T(x)}catch{return!1}}}async function X5({provider:T,...n}={}){let x=await hx(),y=await L5(n).with({phrase:px.string},async({phrase:X})=>{let{Ed25519Keypair:N}=await import("@mysten/sui/keypairs/ed25519");return N.deriveKeypair(X)}).with({signer:px.any},({signer:X})=>X).otherwise(()=>{return});async function o(X=T){let{SuiClient:N,getFullnodeUrl:w}=await import("@mysten/sui/client");return new N({url:X||w("mainnet")})}function f(){return y?.toSuiAddress()||""}async function l(X){let N=X||f();if(!N)throw new Sy("toolbox_sui_address_required");try{let w=await o(),{totalBalance:Z}=await w.getBalance({owner:N}),{baseDecimal:J,chain:W}=G5(vf.Sui),M=[qn.from({chain:W,fromBaseDecimal:J,value:Z})],H=await w.getAllBalances({owner:N});for(let{coinType:v,totalBalance:S}of H){if(v==="0x2::sui::SUI")continue;if(Number(S)>0){let u=v.split("::").pop()?.toUpperCase()||"UNKNOWN",V=`${W}.${u}-${v}`;M.push(qn.from({asset:V,fromBaseDecimal:J,value:S}))}}return M}catch(w){throw new Sy("toolbox_sui_balance_error",{error:w})}}async function C(X){let N=qn.from({chain:vf.Sui,value:"0.01"});if(!X)return N;try{let w=await o(),{txBytes:Z}=await G(X),{effects:{status:J,gasUsed:W}}=await w.dryRunTransactionBlock({transactionBlock:Z});if(J.status!=="success")return N;let M=Number(W.computationCost)+Number(W.storageCost)-Number(W.storageRebate);return qn.from({chain:vf.Sui,value:M.toString()})}catch{return N}}async function G({recipient:X,assetValue:N,gasBudget:w,sender:Z}){let{Transaction:J}=await import("@mysten/sui/transactions"),W=Z||f();if(!W)throw new Sy("toolbox_sui_no_sender");try{let M=new J;if(M.setSender(W),N.isGasAsset||N.symbol==="SUI"){let[S]=M.splitCoins(M.gas,[N.getBaseValue("string")]);M.transferObjects([S],X)}else throw new Sy("toolbox_sui_custom_token_transfer_not_implemented");if(w)M.setGasBudget(w);let H=await o(),v=await M.build({client:H});return{tx:M,txBytes:v}}catch(M){throw new Sy("toolbox_sui_transaction_creation_error",{error:M})}}async function L(X){if(!y)throw new Sy("toolbox_sui_no_signer");if(X instanceof Uint8Array)return y.signTransaction(X);let{txBytes:N}="tx"in X?X:await G(X);return y.signTransaction(N)}async function _({assetValue:X,gasBudget:N,recipient:w}){if(!y)throw new Sy("toolbox_sui_no_signer");let Z=y.toSuiAddress()||f();if(!Z)throw new Sy("toolbox_sui_no_sender");let{txBytes:J}=await G({assetValue:X,gasBudget:N,recipient:w,sender:Z}),W=await o(),{digest:M}=await W.signAndExecuteTransaction({signer:y,transaction:J});return M}return{createTransaction:G,estimateTransactionFee:C,getAddress:f,getBalance:l,signTransaction:L,transfer:_,validateAddress:x}}var jx=()=>{};var Qn={};e(Qn,{getSuiToolbox:()=>X5,getSuiAddressValidator:()=>hx});var Mn=D(()=>{jx()});import{AssetValue as cx,Chain as Wn,getChainConfig as mx,SwapKitError as oT,SwapKitNumber as N5}from"@swapkit/helpers";import{match as _5,P as ix}from"ts-pattern";async function w5(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:o}=await import("@ton/ton"),f=await gx(),l,C,G=await _5(T).with({phrase:ix.string},async({phrase:M})=>n(M.split(" "))).with({signer:ix.any},({signer:M})=>M).otherwise(()=>{return});function L(){let{rpcUrls:M}=mx(Wn.Ton),[H]=M;if(!l||l.parameters.endpoint!==H)l=new y({endpoint:H});return l}function _(M){if(!C||M){let H=L(),v=M||G;if(!v)throw new oT("core_wallet_connection_not_found");let S=o.create({publicKey:v.publicKey,workchain:0});C=H.open(S)}return C}async function X(M){let H=L(),{baseDecimal:v}=mx(Wn.Ton);try{let S=await H.getBalance(x.parse(M));return[cx.from({chain:Wn.Ton,value:N5.fromBigInt(S,v)})]}catch(S){throw new oT("core_wallet_connection_not_found",{error:S})}}async function N({assetValue:M,recipient:H,memo:v}){let S=_();if(!S||!G)throw new oT("core_wallet_connection_not_found");let{toNano:u,comment:V,internal:a}=await import("@ton/ton"),Hy=await S.getSeqno(),B=u(M.getValue("string")),P=v?V(v):void 0;return S.createTransfer({messages:[a({body:P,to:H,value:B})],secretKey:G.secretKey,seqno:Hy})}async function w({assetValue:M,recipient:H,memo:v}){let S=_();if(!S||!G)throw new oT("core_wallet_connection_not_found");let u=await N({assetValue:M,memo:v,recipient:H});return await S.send(u),u.hash().toString()}async function Z(M){let H=_();if(!H)throw new oT("core_wallet_connection_not_found");try{return await H.send(M),M.hash().toString("hex")}catch(v){throw new oT("core_wallet_connection_not_found",{error:v})}}function J(){return _().address.toString()}function W(){return Promise.resolve(cx.from({chain:Wn.Ton,value:"0.0001"}))}return{createTransaction:N,estimateTransactionFee:W,getAddress:J,getBalance:X,sendTransaction:Z,transfer:w,validateAddress:f}}async function gx(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var dx=()=>{};var Pn={};e(Pn,{getTONToolbox:()=>w5,getTONAddressValidator:()=>gx});var zn=D(()=>{dx()});var xT;var uf=D(()=>{xT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});import{SwapKitError as Z5}from"@swapkit/helpers";async function rx(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${B5}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let o=await y.json();if(!(o.success&&o.data)||o.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=x.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let l=o.data.find((C)=>{return C.address.toLowerCase()===f});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new Z5("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var B5="https://api.trongrid.io";var ax=()=>{};import{AssetValue as Wy,BaseDecimal as sx,Chain as Xy,derivationPathToString as T0,getRPCUrl as J5,NetworkDerivationPath as n0,SwapKitError as Ty,updateDerivationPath as f0,warnOnce as Ff}from"@swapkit/helpers";import{match as q5,P as ex}from"ts-pattern";async function Ef(){let T=await import("tronweb"),n=T.TronWeb??T.default?.TronWeb;return(x)=>{return n.isAddress(x)}}async function o0({phrase:T,derivationPath:n,index:x}){let y=n||T0(f0(n0[Xy.Tron],{index:x||0})),{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),l=f(T),G=o.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new Ty("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function z5({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),f=o(T),C=y.fromMasterSeed(f).derive(n);if(!C.privateKey)throw new Ty("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let L=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof L==="string"?L:""),signTransaction:async(_)=>{return await x.trx.sign(_,G)}}}var Q5=268,M5=13000,W5=345,y0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",P5="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",x0=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await J5(Xy.Tron),o=void 0,f=new x({fullHost:y,headers:void 0}),l="index"in T?T.index||0:0,C=T0("derivationPath"in T&&T.derivationPath?T.derivationPath:f0(n0[Xy.Tron],{index:l})),G=await q5(T).with({phrase:ex.string},async({phrase:B})=>z5({derivationPath:C,phrase:B,tronWeb:f})).with({signer:ex.any},({signer:B})=>Promise.resolve(B)).otherwise(()=>Promise.resolve(void 0)),L=async()=>{if(!G)throw new Ty("toolbox_tron_no_signer");return await G.getAddress()},_=()=>{return 1e8},X=async()=>{try{let B=await f.trx.getChainParameters(),P={};for(let U of B)P[U.key]=U.value;return{bandwidthFee:P.getTransactionFee||1000,createAccountFee:P.getCreateAccountFee||1e5,energyFee:P.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},N=async(B)=>{try{let P=await f.trx.getAccount(B);return P&&Object.keys(P).length>0}catch{return!1}},w=async(B)=>{try{let P=await f.trx.getAccountResources(B);return{bandwidth:{free:P.freeNetLimit-P.freeNetUsed,total:P.NetLimit||0,used:P.NetUsed||0},energy:{total:P.EnergyLimit||0,used:P.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Z=async(B,P)=>{try{let U=f.contract(xT,P);if(!U.methods?.balanceOf)return 0n;let[R]=await U.methods.balanceOf(B).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(U){return console.warn(`balanceOf() failed for ${P}:`,U),0n}},J=async(B,P)=>{try{f.setAddress(P);let U=f.contract(xT,B),[R,O]=await Promise.all([U.symbol().call().catch(()=>"UNKNOWN"),U.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:R??"UNKNOWN"}}catch(U){return Ff({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${B}: ${U instanceof Error?U.message:U}`}),null}},W=async(B,P=!0)=>{let U=[Wy.from({chain:Xy.Tron})];try{let R=await rx(B);if(R){let O=[];O.push(Wy.from({chain:Xy.Tron,fromBaseDecimal:6,value:R.balance}));for(let I of R.trc20){let[t,b]=Object.entries(I)[0]||[];if(!(t&&b))continue;let A=await J(t,B);if(!A)continue;O.push(Wy.from({asset:`TRON.${A.symbol}-${t}`,fromBaseDecimal:A.decimals,value:BigInt(b||0)}))}return O}return U}catch(R){Ff({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let O=[],I=await f.trx.getBalance(B);if(I&&Number(I)>0)O.push(Wy.from({chain:Xy.Tron,fromBaseDecimal:6,value:I}));let t=await Z(B,y0);if(t)O.push(Wy.from({asset:`TRON.USDT-${y0}`,fromBaseDecimal:6,value:t}));if(O.length===0)return U;return O}catch(O){return console.error("Tron balance fetch failed:",O),U}}},M=async({recipient:B,assetValue:P,memo:U})=>{if(!G)throw new Ty("toolbox_tron_no_signer");let R=await L();if(f.setAddress(R),P.isGasAsset){let A=await f.transactionBuilder.sendTrx(B,P.getBaseValue("number"),R);if(U){let s=await f.transactionBuilder.addUpdateData(A,U,"utf8"),By=await G.signTransaction(s),{txid:Ay}=await f.trx.sendRawTransaction(By);return Ay}let xy=await G.signTransaction(A),{txid:ly}=await f.trx.sendRawTransaction(xy);return ly}let I=await v({assetValue:P,memo:U,recipient:B,sender:R}),t=await G.signTransaction(I),{txid:b}=await f.trx.sendRawTransaction(t);if(!b)throw new Ty("toolbox_tron_token_transfer_failed");return b},H=async({assetValue:B,recipient:P,sender:U})=>{let R=B.isGasAsset;try{let O=U?U:G?await L():void 0;if(!O)return R?Wy.from({chain:Xy.Tron,fromBaseDecimal:0,value:0.1}):Wy.from({chain:Xy.Tron,fromBaseDecimal:0,value:15});let I=await X(),b=await N(P)?0:I.createAccountFee,A=await w(O);if(R){let ty=Q5,ko=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),So=0;if(ty>ko)So=(ty-ko)*I.bandwidthFee;let Ll=b+So;return Wy.from({chain:Xy.Tron,fromBaseDecimal:sx.TRON,value:Ll})}let xy=W5,ly=M5,s=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),By=A.energy.total-A.energy.used,Ay=0;if(xy>s)Ay=(xy-s)*I.bandwidthFee;let pT=0;if(ly>By)pT=(ly-By)*I.energyFee;let tn=b+Ay+pT;return Wy.from({chain:Xy.Tron,fromBaseDecimal:sx.TRON,value:tn})}catch(O){throw Ff({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new Ty("toolbox_tron_fee_estimation_failed",{error:O})}},v=async(B)=>{let{recipient:P,assetValue:U,memo:R,sender:O,expiration:I}=B;if(U.isGasAsset){let A=await f.transactionBuilder.sendTrx(P,U.getBaseValue("number"),O);if(R)return f.transactionBuilder.addUpdateData(A,R,"utf8");if(I)f.transactionBuilder.extendExpiration(A,I);return A}f.setAddress(O);let b=U.address;if(!b)throw new Ty("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});try{let xy=[{type:"address",value:P},{type:"uint256",value:U.getBaseValue("string")}],ly={callValue:0,feeLimit:_()},s=await f.transactionBuilder.triggerSmartContract(b,"transfer(address,uint256)",ly,xy,O);if(R)return f.transactionBuilder.addUpdateData(s.transaction,R,"utf8");if(I)f.transactionBuilder.extendExpiration(s.transaction,I);return s.transaction}catch(A){throw new Ty("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:A instanceof Error?A.message:String(A)})}},S=async(B)=>{if(!G)throw new Ty("toolbox_tron_no_signer");return await G.signTransaction(B)},u=async(B)=>{let{txid:P}=await f.trx.sendRawTransaction(B);return P},V=async({assetAddress:B,spenderAddress:P,from:U})=>{try{let R=f.contract(xT,B);if(!R.methods?.allowance)throw new Ty("toolbox_tron_invalid_token_contract");let[O]=await R.methods.allowance(U,P).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(R){throw new Ty("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:B,spenderAddress:P,amount:U,from:R})=>{if(!G)throw new Ty("toolbox_tron_no_signer");let O=R||await L(),I=U!==void 0?BigInt(U).toString():P5,t="approve(address,uint256)",b=[{type:"address",value:P},{type:"uint256",value:I}],xy={callValue:0,feeLimit:_()};try{let{transaction:ly}=await f.transactionBuilder.triggerSmartContract(B,t,xy,b,O),s=await G.signTransaction(ly),{txid:By}=await f.trx.sendRawTransaction(s);if(!By)throw new Ty("toolbox_tron_approve_failed");return By}catch(ly){throw new Ty("toolbox_tron_approve_failed",{error:ly})}},broadcastTransaction:u,createTransaction:v,estimateTransactionFee:H,getAddress:L,getApprovedAmount:V,getBalance:W,isApproved:async({assetAddress:B,spenderAddress:P,from:U,amount:R})=>{let O=await V({assetAddress:B,from:U,spenderAddress:P});if(!R)return O>0n;let I=BigInt(R);return O>=I},signTransaction:S,transfer:M,tronWeb:f,validateAddress:await Ef()}};var l0=D(()=>{uf();ax()});var Af={};e(Af,{trc20ABI:()=>xT,getTronPrivateKeyFromMnemonic:()=>o0,getTronAddressValidator:()=>Ef,createTronToolbox:()=>x0});var tf=D(()=>{uf();l0()});import{networks as U5}from"@bitgo/utxo-lib";import{Chain as d,getRPCUrl as H5,RequestClient as Un,SKConfig as L0,SwapKitError as Iy,warnOnce as X0}from"@swapkit/helpers";import{networks as Y5}from"bitcoinjs-lib";import vT from"coininfo";async function D5({chain:T,txHash:n}){let x=`${Hn(T)}/push/transaction`,y=JSON.stringify({data:n});try{let o=await Un.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(o.context.code!==200)throw new Iy("toolbox_utxo_broadcast_failed",{error:o.context.error||"Transaction broadcast failed"});return o.data?.transaction_hash||n}catch(o){let f=await H5(T);if(f){let l=JSON.stringify({id:Io(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await Un.post(f,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new Iy("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new Iy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw o}}function Hn(T){return`https://api.blockchair.com/${R5(T)}`}function C0(T){switch(T){case d.Bitcoin:return 5;case d.Dogecoin:return 1e4;case d.Litecoin:return 1;case d.Zcash:return 1;default:return 2}}function R5(T){switch(T){case d.BitcoinCash:return"bitcoin-cash";case d.Litecoin:return"litecoin";case d.Dash:return"dash";case d.Dogecoin:return"dogecoin";case d.Zcash:return"zcash";case d.Polkadot:return"polkadot";default:return"bitcoin"}}async function O5(T){try{let{feePerKb:n}=await Un.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,C0(T))}catch{return C0(T)}}async function Kf(T,n){let x=await Un.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new Iy("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function N0({address:T,chain:n,apiKey:x}){if(!T)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Kf(`${Hn(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function k5({address:T,chain:n,apiKey:x}){return(await N0({address:T,apiKey:x,chain:n}))?.address.balance||0}async function _0({chain:T,apiKey:n,txHash:x}){if(!x)throw new Iy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Kf(`${Hn(T)}/raw/transaction/${x}`,n))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function S5({chain:T,address:n,apiKey:x,offset:y=0,limit:o=30}){return(await Kf(`${Hn(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${o}&offset=${y}`,x)).map(({is_spent:G,script_hex:L,block_id:_,transaction_hash:X,index:N,value:w,spending_signature_hex:Z})=>({hash:X,index:N,is_confirmed:_!==-1,is_spent:G,script_hex:L,txHex:Z,value:w}))}function I5(T){return T.reduce((n,x)=>n+x.value,0)}function G0(T,n){let x=[...T].sort((y,o)=>o.value-y.value);if(n){let y=[],o=0;for(let f of x)if(y.push(f),o+=f.value,o>=n)break;return y}return x}async function w0({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:o=0,offset:f=0,limit:l=30}){if(!n)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await S5({address:n,apiKey:x,chain:T,limit:l,offset:f,targetValue:y}),L=C.length<l,_=C.filter(({is_spent:W})=>!W),X=I5(_),N=o+X,w=y&&N>=y;if(L||w)return G0(_,y);let Z=await w0({accumulativeValue:N,address:n,apiKey:x,chain:T,limit:l,offset:f+l,targetValue:y}),J=[..._,...Z];return G0(J,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function v5({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:o}){let f=await w0({address:T,apiKey:x,chain:n,targetValue:o}),l=[];for(let{hash:C,index:G,script_hex:L,value:_}of f){let X;if(y)X=await _0({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:X,value:_,witnessUtxo:{script:Buffer.from(L,"hex"),value:_}})}return l}function u5(T){let n=L0.get("apiKeys").blockchair||"";return X0({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>D5({chain:T,txHash:x}),getAddressData:(x)=>N0({address:x,apiKey:n,chain:T}),getBalance:(x)=>k5({address:x,apiKey:n,chain:T}),getRawTx:(x)=>_0({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>O5(T),getUtxos:(x)=>v5({...x,apiKey:n,chain:T})}}function F5(T){return T}function ny(T){let n=L0.get("apis")[T];if(n)return X0({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return u5(T)}function Ny(){return function(n){switch(n){case d.Bitcoin:return Y5.bitcoin;case d.BitcoinCash:return vT.bitcoincash.main.toBitcoinJS();case d.Dash:return vT.dash.main.toBitcoinJS();case d.Litecoin:return vT.litecoin.main.toBitcoinJS();case d.Dogecoin:{let x={private:70615956,public:70617039},y=vT.dogecoin.test;return y.versions.bip32=x,vT.dogecoin.main.toBitcoinJS()}case d.Zcash:return U5.zcash;default:throw new Iy("toolbox_utxo_not_supported",{chain:n})}}}var Z0=D(()=>{BT()});import{SwapKitError as J0}from"@swapkit/helpers";import q0 from"bs58check";import Q0 from"cashaddrjs";function bf(T){try{return Yn(T),!0}catch{return!1}}function $f(T){return Yn(T)?.network}function lT(T){let n=Yn(T);if(n?.format==="legacy")return T;return t5(n)}function uT(T){let n=Yn(T);return K5(n)}function Yn(T){try{let n=E5(T);if(n)return n}catch{}try{let n=A5(T);if(n)return n}catch{}throw new J0("toolbox_utxo_invalid_address",{address:T})}function E5(T){try{let n=q0.decode(T);if(n.length!==21)throw new J0("toolbox_utxo_invalid_address",{address:T});let x=n[0],y=Array.prototype.slice.call(n,1);switch(x){case K.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case K.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case K.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case K.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case K.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case K.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function A5(T){if(T.indexOf(":")!==-1)try{return B0(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return B0(`${x}:${T}`)}catch{}}return}function B0(T){try{let{hash:n,prefix:x,type:y}=Q0.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t5(T){let n=K.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=n,x.set(T.hash,1),q0.encode(x)}function K5(T){let n=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Q0.encode(n,x,y)}var Vf,K;var M0=D(()=>{((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Vf||={});K={["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 V5}from"@swapkit/helpers";import{opcodes as b5,script as $5}from"bitcoinjs-lib";function _y(T){let n=Buffer.from(T,"utf8");return $5.compile([b5.OP_RETURN,n])}var p5=1000,Rn=10,W0=10,h5=41,j5=107,On,Dn,FT,ET=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new V5("toolbox_utxo_invalid_address",{address:T})},CT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?ET(T[0].address):"P2PKH",o=T.filter((l)=>l.value>=Dn["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+vy(C),0),f=n?.reduce((l,C)=>l+AT(C),0)||FT[y];return Rn+o+f},vy=(T)=>{if("type"in T)return Dn[T.type];if("address"in T&&T.address)return Dn[ET(T.address)];return h5+j5},AT=(T,n)=>{if(T?.script)return W0+T.script.length+(T.script.length>=74?2:1);if(n)return FT[n];return FT.P2PKH};var pf=D(()=>{((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(On||={});Dn={["P2PKH"]:148,["P2WPKH"]:68},FT={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as cy,SwapKitError as c5}from"@swapkit/helpers";function kn(T){switch(T){case cy.Bitcoin:case cy.BitcoinCash:return 550;case cy.Dash:case cy.Litecoin:return 5500;case cy.Dogecoin:return 1e5;case cy.Zcash:return 546;default:throw new c5("toolbox_utxo_not_supported",{chain:T})}}function wy({inputs:T,outputs:n,feeRate:x=1,chain:y=cy.Bitcoin,changeAddress:o=""}){let f=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?ET(T[0].address):"P2PKH",C=T.filter((w)=>vy(w)*f<=w.value),G=Rn+n.reduce((w,Z)=>w+AT(Z,l),0),L=n.reduce((w,Z)=>w+Z.value,0),_=G*f,X=0,N=[];for(let w of C){let Z=vy(w),J=f*Z;_+=J,X+=w.value,N.push(w);let W=_+L;if(X<W)continue;let M=X-W,H=f*AT({address:"",value:0},l);if(M>H){let v=H+_,S=X-(L+v);if(S>Math.max(vy({})*f,kn(y)))return{fee:v,inputs:N,outputs:n.concat({address:o,value:S})}}return{fee:_,inputs:N,outputs:n}}return{fee:f*CT({feeRate:f,inputs:T,outputs:n})}}var P0=D(()=>{pf()});var GT=D(()=>{Z0();M0();P0();pf()});import{networks as m5,address as i5}from"@bitgo/utxo-lib";import g5 from"bs58check";function my(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function uy(T){let n=my(T);return bf(n)&&$f(n)==="mainnet"}function LT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let n=m5.zcash;try{return i5.toOutputScript(T,n),!0}catch{let x=g5.decode(T);if(x.length<21)return!1;let y=x[0];return y===n.pubKeyHash||y===n.scriptHash}}catch{return!1}}var tT=D(()=>{GT()});import jf from"@bitcoinerlab/secp256k1";import{ECPair as d5,HDNode as r5}from"@psf/bitcoincashjs-lib";import{HDKey as a5}from"@scure/bip32";import{mnemonicToSeedSync as z0}from"@scure/bip39";import{AssetValue as hf,applyFeeMultiplier as U0,Chain as fy,DerivationPath as s5,derivationPathToString as e5,FeeOption as Py,NetworkDerivationPath as yC,SwapKitError as zy,SwapKitNumber as TC,updateDerivationPath as nC}from"@swapkit/helpers";import{address as fC,initEccLib as Y0,Psbt as oC,payments as H0}from"bitcoinjs-lib";import{ECPairFactory as xC}from"ecpair";function D0({inputs:T,outputs:n,chain:x,psbt:y,sender:o,compiledMemo:f}){for(let l of T){let C=!!l.witnessUtxo&&!KT.includes(x)&&{witnessUtxo:l.witnessUtxo},G=KT.includes(x)&&{nonWitnessUtxo:l.txHex?Buffer.from(l.txHex,"hex"):void 0};y.addInput({hash:l.hash,index:l.index,...C,...G})}for(let l of n){let C="address"in l&&l.address?l.address:o,G=l.script;if(G&&!f)continue;let L=G?{script:f,value:0}:{address:C,value:l.value};Y0(jf),y.addOutput(L)}return{inputs:T,psbt:y}}async function R0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,fetchTxHex:f=!1}){let l=T.chain,C=x?await _y(x):null,G=await S0({assetValue:T,fetchTxHex:f,memo:x,recipient:n,sender:o}),{inputs:L,outputs:_}=wy({...G,chain:l,feeRate:y});if(!(L&&_))throw new zy("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let X=await Ny(),N=new oC({network:X(l)});if(l===fy.Dogecoin)N.setMaximumFeeRate(650000000);let{psbt:w,inputs:Z}=await D0({chain:l,compiledMemo:C,inputs:L,outputs:_,psbt:N,sender:o});return{inputs:Z,psbt:w,utxos:G.inputs}}async function O0(){let T=await Ny();return function({address:x,chain:y}){if(y===fy.BitcoinCash)return uy(x);if(y===fy.Zcash)return LT(x);try{return Y0(jf),fC.toOutputScript(x,T(y)),!0}catch{return!1}}}async function lC({chain:T,phrase:n,derivationPath:x}){let y=(await VT(T))({derivationPath:x,phrase:n});async function o(l){return await l.signAllInputs(y),l}function f(){return cf(T)(y)}return{getAddress:f,signTransaction:o}}async function iy({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,o=e5("derivationPath"in n&&n.derivationPath?n.derivationPath:nC(yC[T],{index:y})),f=x?await lC({chain:T,derivationPath:o,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let C=await O0(),G=await VT(T);return{accumulative:wy,broadcastTx:(L)=>ny(T).broadcastTx(L),calculateTxSize:CT,createKeysForPath:G,createTransaction:R0,estimateMaxSendableAmount:CC(T),estimateTransactionFee:GC(T),getAddress:l,getAddressFromKeys:cf(T),getBalance:dy(T),getFeeRates:()=>bT(T),getInputsOutputsFee:k0,getPrivateKeyFromMnemonic:(L)=>{return G(L).toWIF()},transfer:LC(f),validateAddress:(L)=>C({address:L,chain:T})}}async function k0({assetValue:T,feeOptionKey:n=Py.Fast,feeRate:x,memo:y,sender:o,recipient:f}){let l=T.chain,C=await S0({assetValue:T,memo:y,recipient:f,sender:o}),G=x?Math.floor(x):(await bT(l))[n];return wy({...C,chain:l,feeRate:G})}function CC(T){return async function({from:x,memo:y,feeRate:o,feeOptionKey:f=Py.Fast,recipients:l=1}){let C=await ny(T).getAddressData(x),G=o?Math.ceil(o):(await bT(T))[f],L=C?.utxo.map((Z)=>({...Z,hash:"",type:"P2PKH"})).filter((Z)=>Z.value>Math.max(kn(T),vy(Z)*G));if(!L?.length)return hf.from({chain:T});let _=hf.from({chain:T,value:L.reduce((Z,J)=>Z+J.value,0)}),X=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let Z=await _y(y);X.push({address:x,script:Z,value:0})}let w=CT({feeRate:G,inputs:L,outputs:X})*G;return _.sub(w)}}function GC(T){return async(n)=>{let x=await k0(n);return hf.from({chain:T,value:TC.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function VT(T){let n=await Ny();switch(T){case fy.BitcoinCash:return function({phrase:y,derivationPath:o=`${s5.BCH}/0`,wif:f}){let l=n(T);if(f)return d5.fromWIF(f,l);if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"No phrase provided"});return r5.fromSeedBuffer(Buffer.from(z0(y)),l).derivePath(o).keyPair};case fy.Bitcoin:case fy.Dogecoin:case fy.Litecoin:case fy.Zcash:case fy.Dash:return function({phrase:y,wif:o,derivationPath:f}){if(!(o||y))throw new zy("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=xC(jf),C=n(T);if(o)return l.fromWIF(o,C);let G=z0(y),L=a5.fromMasterSeed(G,C).derive(f);if(!L.privateKey)throw new zy("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(L.privateKey),{network:C})};default:throw new zy("toolbox_utxo_not_supported",{chain:T})}}function cf(T){let n=Ny();return function(y){if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let o=KT.includes(T)?H0.p2pkh:H0.p2wpkh,{address:f}=o({network:n(T),pubkey:y.publicKey});if(!f)throw new zy("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function LC(T){return async function({memo:x,recipient:y,feeOptionKey:o,feeRate:f,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new zy("toolbox_utxo_no_signer");if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=f||(await bT(G))[o||Py.Fast],{psbt:_}=await R0({assetValue:l,feeRate:L,memo:x,recipient:y,sender:C}),X=await T.signTransaction(_);return X.finalizeAllInputs(),ny(G).broadcastTx(X.extractTransaction().toHex())}}async function bT(T){let n=await ny(T).getSuggestedTxFee();return{[Py.Average]:n,[Py.Fast]:U0(n,Py.Fast),[Py.Fastest]:U0(n,Py.Fastest)}}async function S0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:o=!1}){let f=T.chain,l=(await bT(f))[Py.Fastest],C=o||KT.includes(f),G=T.getBaseValue("number"),L=Math.ceil(G+l*5000);return{inputs:await ny(f).getUtxos({address:y,fetchTxHex:C,targetValue:L}),outputs:[{address:n,value:G},...x?[{address:"",script:await _y(x),value:0}]:[]]}}var KT;var $T=D(()=>{BT();GT();tT();KT=[fy.Dash,fy.Dogecoin,fy.Zcash,fy.BitcoinCash]});import{address as XC,Transaction as NC,TransactionBuilder as _C}from"@psf/bitcoincashjs-lib";import{Chain as wC,derivationPathToString as ZC,FeeOption as BC,NetworkDerivationPath as JC,SwapKitError as XT,updateDerivationPath as qC}from"@swapkit/helpers";import{Psbt as QC}from"bitcoinjs-lib";function gy(T){return my(uT(T))}function MC(T){function n({builder:y,utxos:o}){return o.forEach((f,l)=>{y.sign(l,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(gy(y))},signTransaction:n}}async function mf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=ZC("derivationPath"in T&&T.derivationPath?T.derivationPath:qC(JC[Gy],{index:x})),o=n?(await VT(Gy))({derivationPath:y,phrase:n}):void 0,f=o?MC(o):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:L,..._}=await iy({chain:Gy});function X(N,w=!0){return C(my(uT(N)))}return{..._,broadcastTx:L,buildTx:PC,createTransaction:I0,getAddress:l,getAddressFromKeys:zC,getBalance:X,getFeeRates:G,stripPrefix:my,stripToCashAddress:gy,transfer:WC({broadcastTx:L,getFeeRates:G,signer:f}),validateAddress:uy}}async function I0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o}){if(!uy(n))throw new XT("toolbox_utxo_invalid_address",{address:n});let f=Math.ceil(T.getBaseValue("number")+y*7500),l=await ny(Gy).getUtxos({address:gy(o),fetchTxHex:!0,targetValue:f}),C=x?await _y(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:L,outputs:_}=wy({chain:Gy,feeRate:y,inputs:l,outputs:G});if(!(L&&_))throw new XT("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let X=await Ny(),N=new _C(X(Gy));await Promise.all(L.map(async(w)=>{let Z=await ny(Gy).getRawTx(w.hash);N.addInput(NC.fromBuffer(Buffer.from(Z,"hex")),w.index)}));for(let w of _){let Z="address"in w&&w.address?w.address:lT(o),J=await Ny(),W=XC.toOutputScript(lT(Z),J(Gy));N.addOutput(W,w.value)}if(C)N.addOutput(C,0);return{builder:N,utxos:L}}function WC({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:o,assetValue:f,feeOptionKey:l=BC.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new XT("toolbox_utxo_no_signer");if(!o)throw new XT("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=C.feeRate||(await n())[l],{builder:_,utxos:X}=await I0({...C,assetValue:f,feeRate:L,recipient:o,sender:G}),w=(await x.signTransaction({builder:_,utxos:X})).toHex();return T(w)}}async function PC({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,setSigHashType:f}){let l=uT(n);if(!uy(l))throw new XT("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await ny(Gy).getUtxos({address:gy(o),fetchTxHex:!1,targetValue:C}),L=Number(y.toFixed(0)),_=x?await _y(x):null,X=[];if(X.push({address:lT(n),value:T.getBaseValue("number")}),_)X.push({script:_,value:0});let{inputs:N,outputs:w}=wy({chain:Gy,feeRate:L,inputs:G,outputs:X});if(!(N&&w))throw new XT("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let Z=await Ny(),J=new QC({network:Z(Gy)});for(let{hash:W,index:M,witnessUtxo:H}of N)J.addInput({hash:W,index:M,sighashType:f?65:void 0,witnessUtxo:H});for(let W of w){let M="address"in W&&W.address?W.address:lT(o),H=W.script?_?{script:_,value:0}:void 0:{address:M,value:W.value};if(H)J.addOutput(H)}return{inputs:N,psbt:J,utxos:G}}function zC(T){let n=T.getAddress(0);return gy(n)}var Gy;var Sn=D(()=>{GT();$T();tT();Gy=wC.BitcoinCash});import{bitgo as UC,crypto as HC,ECPair as u0,networks as YC,address as DC}from"@bitgo/utxo-lib";import{HDKey as F0}from"@scure/bip32";import{mnemonicToSeedSync as E0}from"@scure/bip39";import{Chain as In,derivationPathToString as RC,FeeOption as OC,NetworkDerivationPath as kC,SKConfig as SC,SwapKitError as vn,updateDerivationPath as IC}from"@swapkit/helpers";import vC from"bs58check";import{match as uC,P as gf}from"ts-pattern";function A0(){return YC.zcash}function t0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function FC({phrase:T,derivationPath:n}){let x=E0(T),o=F0.fromMasterSeed(x).derive(n);if(!o.privateKey)throw new vn("toolbox_utxo_invalid_params");let f=t0(),l=u0.fromPrivateKey(Buffer.from(o.privateKey),{network:f}),C=HC.hash160(l.publicKey),{isStagenet:G}=SC.get("envs"),L=G?Buffer.from([29,37]):Buffer.from([28,184]),_=Buffer.concat([L,C]),X=vC.encode(_);return{getAddress:()=>Promise.resolve(X),signTransaction:(N)=>{let w=N.signAllInputs(l);return Promise.resolve(w)}}}function EC({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:o}){for(let f of T){let l=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},C=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};x.addInput({hash:f.hash,index:f.index,...l,...C})}for(let f of n){let l="address"in f&&f.address?f.address:y,C=f.script;if(C&&!o)continue;let G=C?{script:o,value:0n}:{script:DC.toOutputScript(l,A0()),value:BigInt(f.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function v0(T){let{assetValue:n,recipient:x,memo:y,feeRate:o,sender:f,fetchTxHex:l}=T,C=y?_y(y):null,G=await ny(In.Zcash).getUtxos({address:f,fetchTxHex:l!==!1}),L=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:_,outputs:X}=wy({chain:In.Zcash,changeAddress:f,feeRate:o,inputs:G,outputs:L});if(!(_&&X))throw new vn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let N=UC.createPsbtForNetwork({network:A0()},{version:455}),Z=3268858036,J=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=Buffer.allocUnsafe(4);W.writeUInt32LE(Z>>>0,0),N.addUnknownKeyValToGlobal({key:J,value:W});let{psbt:M,inputs:H}=await EC({compiledMemo:C,inputs:_,outputs:X,psbt:N,sender:f});return{inputs:H,outputs:X,psbt:M}}async function df(T){let n=await uC(T).with({signer:gf.not(gf.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:gf.string},({phrase:l,derivationPath:C,index:G=0})=>{let L=C||kC[In.Zcash]||[44,133,0,0,0],_=IC(L,{index:G}),X=RC(_);return FC({derivationPath:X,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await iy({chain:In.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=OC.Fast,...L}){let _=await n?.getAddress();if(!(n&&_))throw new vn("toolbox_utxo_no_signer");let X=L.feeRate||(await x.getFeeRates())[G],{psbt:N}=await v0({...L,assetValue:C,feeRate:X,recipient:l,sender:_}),w=await n.signTransaction(N);return w.finalizeAllInputs(),x.broadcastTx(w.extractTransaction().toHex())}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=E0(l),_=F0.fromMasterSeed(G).derive(C);if(!_.privateKey)throw new vn("toolbox_utxo_invalid_params");let X=t0();return u0.fromPrivateKey(Buffer.from(_.privateKey),{network:X})}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return o({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:o,createTransaction:v0,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:LT}}var rf=D(()=>{GT();$T();tT()});import{Chain as NT,SwapKitError as AC}from"@swapkit/helpers";async function tC(T,n){switch(T){case NT.BitcoinCash:return await mf(n||{});case NT.Zcash:return await df(n);case NT.Bitcoin:case NT.Dogecoin:case NT.Litecoin:case NT.Dash:return await iy({chain:T,...n});default:throw new AC("toolbox_utxo_not_supported",{chain:T})}}var K0=D(()=>{Sn();$T();rf();Sn();tT()});var af={};e(af,{validateZcashAddress:()=>LT,toLegacyAddress:()=>lT,toCashAddress:()=>uT,stripToCashAddress:()=>gy,stripPrefix:()=>my,nonSegwitChains:()=>KT,isValidAddress:()=>bf,getUtxoToolbox:()=>tC,getUtxoNetwork:()=>Ny,getUtxoApi:()=>ny,getUTXOAddressValidator:()=>O0,getScriptTypeForAddress:()=>ET,getOutputSize:()=>AT,getInputSize:()=>vy,getDustThreshold:()=>kn,getCreateKeysForPath:()=>VT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>F5,createBCHToolbox:()=>mf,compileMemo:()=>_y,calculateTxSize:()=>CT,bchValidateAddress:()=>uy,addressFromKeysGetter:()=>cf,addInputsAndOutputs:()=>D0,accumulative:()=>wy,UtxoNetwork:()=>Vf,UTXOScriptType:()=>On,TX_OVERHEAD:()=>Rn,OutputSizes:()=>FT,OP_RETURN_OVERHEAD:()=>W0,MIN_TX_FEE:()=>p5,InputSizes:()=>Dn});var sf=D(()=>{GT();K0();Sn();$T();rf()});import{derivationPathToString as KC,SwapKitError as VC}from"@swapkit/helpers";import{KeyPairSigner as bC}from"near-api-js";async function un(){let{validateAccountId:T}=await import("near-sdk-js");return(n)=>{try{return T(n)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return n.length>=2&&n.length<=64&&x.test(n)}}}async function Fn(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,o=T.derivationPath?KC(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=n(T.phrase,o),l=x.fromString(f);return b0(l)}async function ef(T){let{KeyPair:n}=await import("near-api-js/lib/utils"),x=n.fromString(T);return b0(x)}function b0(T){return new V0(T)}async function En(T,n){let y=(await T.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((C)=>C.access_key.permission==="FullAccess");if(!y)throw new VC("toolbox_near_no_public_key_found");let{utils:o}=await import("near-api-js"),f=o.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var V0;var yo=D(()=>{V0=class V0 extends bC{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),n=Buffer.from(T.data).toString("hex");return Promise.resolve(n)}}});function To(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function no(T){return"contractId"in T&&"methodName"in T}function fo(T){return"actions"in T}function oo(T){return"newAccountId"in T}function xo(T){return"contractCode"in T}function lo(T){return"customEstimator"in T}function Co(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(r.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(r.CONTRACT_CALL);break;case"createAccount":n+=Number(r.ACCOUNT_CREATION);break;case"deployContract":n+=Number(r.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(r.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(r.ACCESS_KEY_DELETION);break;case"stake":n+=Number(r.STAKE);break;default:n+=Number(r.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return r.TOKEN_TRANSFER;if(T==="storage_deposit")return r.STORAGE_DEPOSIT;return r.CONTRACT_CALL}function $C(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function pC(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var r;var Lo=D(()=>{r={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function An({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:o}=await import("near-api-js");return new o(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function Xo({contractId:T,account:n}){let x=(await import("bn.js")).default,y=await An({account:n,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),o=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let G=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new x("100000000000000"),new x(G))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:o,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,l)=>y.storage_deposit({account_id:f},new x("100000000000000"),new x(l||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,l,C)=>{return await o(f),y.ft_transfer({amount:l,memo:C,receiver_id:f},new x("100000000000000"),new x("1"))},transferCall:async(f,l,C,G)=>{return await o(f),y.ft_transfer_call({amount:l,memo:G,msg:C,receiver_id:f},new x("100000000000000"),new x("1"))}}}import{AssetValue as $0,Chain as _T,getChainConfig as p0,getRPCUrl as hC,SwapKitError as oy}from"@swapkit/helpers";async function jC(T){let{P:n,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),o=await x(T).with({phrase:n.string},async(B)=>{return await Fn(B)}).with({signer:n.any},({signer:B})=>B).otherwise(()=>{return}),f=await hC(_T.Near),l=new y.JsonRpcProvider({url:f});async function C(B){let{Account:P}=await import("near-api-js"),U=B||await G();return new P(U,l,o)}async function G(){if(!o)throw new oy("toolbox_near_no_signer");return await o.getAddress()}async function L(B){if(!o)throw new oy("toolbox_near_no_signer");let P=await _({...B,sender:await G()});return J(await Z(P))}async function _(B){let{recipient:P,assetValue:U,memo:R,attachedDeposit:O,sender:I,functionCall:t}=B,b=await un();if(!b(P))throw new oy("toolbox_near_invalid_address",{recipient:P});if(!b(I))throw new oy("toolbox_near_invalid_address",{signerId:I});if(t)return N({...t,sender:I});if(!U.isGasAsset){let ty=U.address;if(!ty)throw new oy("toolbox_near_missing_contract_address");return N({args:{amount:U.getBaseValue("string"),memo:R||null,receiver_id:P},attachedDeposit:O||"1",contractId:ty,gas:"250000000000000",methodName:"ft_transfer",sender:I})}let{publicKey:A,nonce:xy}=await En(l,I),ly=U.getBaseValue("bigint"),{transactions:s,utils:By}=await import("near-api-js"),Ay=[s.transfer(ly)];if(R&&O)Ay.push(s.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(O)));let pT=await l.block({finality:"final"}),tn=By.serialize.base_decode(pT.header.hash);return s.createTransaction(I,A,P,xy+1,Ay,tn)}async function X(B){let{SCHEMA:P}=await import("near-api-js/lib/transaction"),{utils:U}=await import("near-api-js"),R=U.serialize.serialize(P.Transaction,B);return Buffer.from(R).toString("base64")}async function N(B){let{sender:P}=B,{publicKey:U,nonce:R}=await En(l,P),{transactions:O,utils:I}=await import("near-api-js"),t=await l.block({finality:"final"}),b=I.serialize.base_decode(t.header.hash),A=[O.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))];return O.createTransaction(P,U,B.contractId,R+1,A,b)}async function w(B){let{transactions:P}=await import("near-api-js");return P.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))}async function Z(B){if(!o)throw new oy("toolbox_near_no_signer");let[P,U]=await o.signTransaction(B);return U}async function J(B){return(await l.sendTransaction(B)).transaction.hash}async function W(B){if("assetValue"in B){let O=BigInt("115123062500")+BigInt("108059500000"),I=await M(),t=O*BigInt(I.toString()),{baseDecimal:b}=p0(_T.Near);return $0.from({chain:_T.Near,fromBaseDecimal:b,value:t.toString()})}let P=o?await C():void 0;return a(B,P)}async function M(){try{return await l.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function H(B,P,U){if(!o)throw new oy("toolbox_near_no_signer");let R=await C(),{utils:O}=await import("near-api-js"),I=O.format.parseNearAmount(U)||"0";return(await R.createAccount(B,O.PublicKey.fromString(P),BigInt(I))).transaction.hash}async function v(B){try{if(!o)throw new oy("toolbox_near_no_signer");let{transactions:P}=await import("near-api-js"),{contractId:U,methodName:R,args:O,deposit:I}=B,t=await C(),b=await a({args:O||{},contractId:U,methodName:R}),A=P.functionCall(R,O||{},b.getBaseValue("bigint"),BigInt(I||"1"));return(await t.signAndSendTransaction({actions:[A],receiverId:U})).transaction_outcome.id}catch(P){throw new oy("toolbox_near_transfer_failed",{error:P})}}async function S(B){let P=await C();return An({account:P,changeMethods:B.changeMethods,contractId:B.contractId,viewMethods:B.viewMethods})}async function u(B){if(!o)throw new oy("toolbox_near_no_signer");if(B.actions.length===0)throw new oy("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:B.actions,receiverId:B.receiverId})).transaction.hash}async function V(B){let P=await C();return Xo({account:P,contractId:B})}async function a(B,P){let{baseDecimal:U}=p0(_T.Near),R=await x(B).when(To,()=>r.SIMPLE_TRANSFER).when(no,(t)=>Go(t.methodName)).when(fo,(t)=>Co(t.actions)).when(oo,()=>r.ACCOUNT_CREATION).when(xo,()=>r.CONTRACT_DEPLOYMENT).when(lo,(t)=>{if(!P)throw new oy("toolbox_near_no_account");return t.customEstimator(P)}).otherwise(()=>{throw new oy("toolbox_near_invalid_gas_params")}),I=BigInt(R)*BigInt(1000000000000);return $0.from({chain:_T.Near,fromBaseDecimal:U,value:I})}async function Hy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:J,callFunction:v,createAction:w,createContract:S,createContractFunctionCall:N,createSubAccount:H,createTransaction:_,estimateGas:a,estimateTransactionFee:W,executeBatchTransaction:u,getAddress:G,getBalance:dy(_T.Near),getGasPrice:Hy,getPublicKey:async()=>o?(await o.getPublicKey()).toString():"",getSignerFromPhrase:(B)=>Fn(B),getSignerFromPrivateKey:ef,nep141:V,provider:l,serializeTransaction:X,signTransaction:Z,transfer:L,validateAddress:await un()}}var No=D(()=>{BT();yo();Lo()});var h0=D(()=>{No()});var _o={};e(_o,{tgasToGas:()=>$C,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>un,getNearToolbox:()=>jC,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>Fn,getFullAccessPublicKey:()=>En,getContractMethodGas:()=>Go,gasToTGas:()=>pC,estimateBatchGas:()=>Co,createNearContract:()=>An,createNEP141Token:()=>Xo,GAS_COSTS:()=>r});var wo=D(()=>{yo();Lo();No();h0()});var Zo={};e(Zo,{radixValidateAddress:()=>c0,RadixToolbox:()=>sC});import{AssetValue as cC,Chain as j0,SKConfig as mC,SwapKitError as iC}from"@swapkit/helpers";function c0(T){return T.startsWith("account_rdx1")&&T.length===66}function gC({networkApi:T}){return async function(x){let y=await dC({address:x,networkApi:T});return rC({networkApi:T,resources:y})}}async function dC({address:T,networkApi:n}){let x=!0,y,o=[],f=await aC(n);while(x){let l={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(o=o.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return o}async function rC({resources:T,networkApi:n}){let x=[],y=50,o=[];for(let f=0;f<T.length;f+=50)o.push(T.slice(f,f+50));for(let f of o){let l=f.map((L)=>L.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let L of C)if(L.details!==void 0){let _=L.metadata?.items.find((N)=>N.key==="symbol"),X=_?.value.typed.type==="String"?_.value.typed.value:"?";if(L.details.type==="FungibleResource")G.set(L.address,{decimals:L.details.divisibility,symbol:X})}for(let L of f)if(L.aggregation_level==="Global"){let _=G.get(L.resource_address)||{decimals:0,symbol:"?"},X=cC.from({asset:_.symbol!==j0.Radix?`${j0.Radix}.${_.symbol}-${L.resource_address}`:"XRD.XRD",value:L.amount});x.push(X)}}return x}function aC(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var sC=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||mC.get("integrations").radix,o=n({...y,networkId:y.network?.networkId||1}),f=x.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:gC({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new iC("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c0}};var Bo=()=>{};var Qo={};e(Qo,{rippleValidateAddress:()=>qo,hashes:()=>C2,getRippleToolbox:()=>l2});import{AssetValue as Jo,Chain as Uy,getChainConfig as m0,getRPCUrl as eC,SwapKitError as Fy,SwapKitNumber as y2}from"@swapkit/helpers";import{Client as T2,isValidAddress as n2,Wallet as f2,xrpToDrops as o2}from"xrpl";import{hashes as C2}from"xrpl";function i0(T){let n=f2.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function qo(T){return n2(T)}var x2,l2=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?i0(T.phrase):void 0,x=await eC(Uy.Ripple);if(!x)throw new Fy({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Uy.Ripple}});let y=new T2(x);await y.connect();let o=()=>{if(!n)throw new Fy({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},f=async(N)=>{let w=N||await o(),{baseDecimal:Z}=m0(Uy.Ripple);try{let W=(await y.request({account:w,command:"account_info"})).result.account_data.Balance;return[Jo.from({chain:Uy.Ripple,fromBaseDecimal:Z,value:W})]}catch(J){if(J.data.error_code===x2.ACCOUNT_NOT_FOUND)return[Jo.from({chain:Uy.Ripple,value:0})];throw new Fy("toolbox_ripple_get_balance_error",{info:{address:w,error:J}})}},l=async()=>{let w=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Z}=m0(Uy.Ripple);return Jo.from({chain:Uy.Ripple,fromBaseDecimal:Z,value:y2.fromBigInt(BigInt(w),Z)})},C=async({assetValue:N,recipient:w,memo:Z,sender:J})=>{if(!qo(w))throw new Fy({errorKey:"core_transaction_invalid_recipient_address"});let W=J||await o();if(!N.isGasAsset||N.chain!==Uy.Ripple)throw new Fy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:N.toString()}});let M={Account:W,Amount:o2(N.getValue("string")),Destination:w,TransactionType:"Payment"};if(Z)M.Memos=[{Memo:{MemoData:Buffer.from(Z).toString("hex")}}];return await y.autofill(M)},G=(N)=>{if(!n)throw new Fy({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(N)},L=async(N)=>{let Z=(await y.submitAndWait(N)).result;if(Z.validated)return Z.hash;throw new Fy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Uy.Ripple}})};return{broadcastTransaction:L,createSigner:i0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:o,getBalance:f,signer:n,signTransaction:G,transfer:async(N)=>{if(!n)throw new Fy({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),Z=await C({...N,sender:w}),J=await G(Z);return L(J.tx_blob)},validateAddress:qo}};var Mo=D(()=>{x2={ACCOUNT_NOT_FOUND:19}});import{AssetValue as G2,Chain as L2,SwapKitNumber as g0}from"@swapkit/helpers";async function X2(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:o}}=y,f=g0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function N2(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let o=y.balance||y.data?.balance;if(!o||o.isEmpty)return[n.set(0)];let f=g0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function d0(T,n){return function(y){let o=G2.from({chain:T});switch(T){case L2.Chainflip:return N2(n,o,y);default:return X2(n,o,y)}}}var r0=()=>{};var _2,w2,Z2,Ey;var Wo=D(()=>{_2={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},w2={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},Z2={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Ey={DOT:_2,FLIP:w2,GENERIC:Z2}});import{hexToU8a as B2,isHex as J2,u8aToHex as q2}from"@polkadot/util";import{decodeAddress as s0,encodeAddress as e0}from"@polkadot/util-crypto";import{AssetValue as Q2,Chain as ZT,getRPCUrl as M2,SwapKitError as Zy,SwapKitNumber as W2}from"@swapkit/helpers";import{match as P2,P as a0}from"ts-pattern";function z2(T,n){switch(T){case ZT.Chainflip:return Tl(n);case ZT.Polkadot:return yl(n);default:throw new Zy("toolbox_substrate_not_supported",{chain:T})}}function wT(T){return"address"in T}async function zo(T,n){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:n,type:"sr25519"}).addFromUri(T)}function k2(T,n){let x=s0(T);return e0(x,n)}function nl(T,n){return J2(T)?B2(T):s0(T,void 0,n)}function fl(T,n="ss58",x){if(n==="hex")return q2(T);return e0(T,x)}async function Yo({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:o}=await import("@polkadot/api"),f=await M2(n),l=new o(f),C=await y.create({provider:l}),G=Q2.from({chain:n}),L=T?Ey.GENERIC:Ey[n],_=await P2(x).with({phrase:a0.string},({phrase:X})=>zo(X,Ey[n].prefix)).with({signer:a0.any},({signer:X})=>X).otherwise(()=>{return});return ol({api:C,chain:n,gasAsset:G,network:L,signer:_})}var yl=({generic:T=!1,...n}={})=>{return Yo({chain:ZT.Polkadot,generic:T,...n})},Tl=async({generic:T=!1,...n}={})=>{return{...await Yo({chain:ZT.Chainflip,generic:T,...n})}},Uo=(T,n)=>T.rpc.system.accountNextIndex(n),Po=(T,n)=>{try{let x=nl(T,n);return fl(x,"ss58",n),!0}catch{return!1}},Ho=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),U2=async(T,n,{recipient:x,assetValue:y,sender:o})=>{let f=Ho(T,{assetValue:y,recipient:x});if(!f)throw new Zy("toolbox_substrate_transfer_error");let l=wT(n),C=l?n.address:o;if(!C)throw new Zy("core_transaction_invalid_sender_address");let G=await Uo(T,C);return(await f.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},H2=async(T,n,x,{recipient:y,assetValue:o,sender:f})=>{let l=Ho(T,{assetValue:o,recipient:y}),C=wT(n)?n.address:f;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Uo(T,C)})||{partialFee:0};return x.set(W2.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},Y2=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},D2=async(T,n)=>{return await n.signAsync(T)},R2=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},O2=async({signer:T,address:n,tx:x,callback:y,api:o})=>{let f=await Uo(o,n);if(y)x.signAndSend(n,{nonce:f,signer:T},y);return x.signAndSend(n,{nonce:f,signer:T}).toString()},ol=({api:T,network:n,gasAsset:x,signer:y,chain:o})=>({api:T,broadcast:Y2,convertAddress:k2,createKeyring:(f)=>zo(f,n.prefix),createTransaction:(f)=>Ho(T,f),decodeAddress:nl,encodeAddress:fl,estimateTransactionFee:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return H2(T,y,x,f)},gasAsset:x,getAddress:(f)=>{let l=f||y;if(!l)throw new Zy("core_wallet_not_keypair_wallet");return wT(l)?l.address:void 0},getBalance:d0(o||ZT.Polkadot,T),network:n,sign:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(wT(y))return D2(y,f);throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:l,address:C})=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(wT(y))return R2(y,f,l);if(C)return O2({address:C,api:T,callback:l,signer:y,tx:f});throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return U2(T,y,f)},validateAddress:(f)=>Po(f,n.prefix)}),S2=({address:T,chain:n})=>{let{prefix:x}=n===ZT.Polkadot?Ey.DOT:Ey.FLIP;return Po(T,x)||Po(T,Ey.GENERIC.prefix)};var xl=D(()=>{r0();Wo()});var Do={};e(Do,{substrateValidateAddress:()=>S2,isKeyringPair:()=>wT,getSubstrateToolbox:()=>z2,createSubstrateToolbox:()=>Yo,createKeyring:()=>zo,SubstrateNetwork:()=>Ey,PolkadotToolbox:()=>yl,ChainflipToolbox:()=>Tl,BaseSubstrateToolbox:()=>ol});var Ro=D(()=>{xl();Wo()});import{AssetValue as I2,Chain as F,CosmosChains as Cl,EVMChains as Oo,FeeOption as v2,SubstrateChains as u2,SwapKitError as F2,UTXOChains as Gl}from"@swapkit/helpers";async function K8(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (fx(),nx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (nf(),Tf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Bn(),Zn)),{getSolanaAddressValidator:o}=await Promise.resolve().then(() => (If(),Sf)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (Mn(),Qn)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (zn(),Pn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (tf(),Af)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:L}=await Promise.resolve().then(() => (wo(),_o)),{radixValidateAddress:_}=await Promise.resolve().then(() => (Bo(),Zo)),{rippleValidateAddress:X}=await Promise.resolve().then(() => (Mo(),Qo)),{substrateValidateAddress:N}=await Promise.resolve().then(() => (Ro(),Do)),w=await x(),Z=await L(),J=await o(),W=await f(),M=await l(),H=await C(),v=await G();return function({address:u,chain:V}){return T(V).with(...Oo,()=>n({address:u})).with(...Gl,()=>v({address:u,chain:V})).with(F.Cosmos,F.Kujira,F.Noble,F.Maya,F.THORChain,(Hy)=>{return y(Hy)(u)}).with(F.Chainflip,F.Polkadot,()=>N({address:u,chain:V})).with(F.Radix,()=>_(u)).with(F.Near,()=>Z(u)).with(F.Ripple,()=>X(u)).with(F.Solana,()=>J(u)).with(F.Sui,()=>W(u)).with(F.Ton,()=>M(u)).with(F.Tron,()=>H(u)).with(F.Cardano,()=>w(u)).otherwise(()=>!1)}}function V8(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...Oo,async(o)=>{let f=await ll(o),l=await f.createTransaction(x);return f.estimateTransactionFee({...l,chain:o,feeOption:x.feeOptionKey||v2.Fast})}).with(F.Bitcoin,F.BitcoinCash,F.Dogecoin,F.Dash,F.Litecoin,F.Polkadot,F.Solana,F.Ripple,F.Tron,F.Near,F.Cardano,async(o)=>{return(await ll(o)).estimateTransactionFee(x)}).with(F.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Mn(),Qn));return(await o()).estimateTransactionFee(x)}).with(F.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (zn(),Pn));return(await o()).estimateTransactionFee()}).with(...Cl,async()=>{let{estimateTransactionFee:o}=await Promise.resolve().then(() => (Bn(),Zn));return o(x)}).otherwise(async()=>I2.from({chain:T}))}}async function ll(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...Oo,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (en(),eo));return await y(T,n)}).with(...Gl,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (sf(),af));return await y(T,n)}).with(...Cl,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Bn(),Zn));return await y(T,n)}).with(...u2,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Ro(),Do));return await y(T,n)}).with(F.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Bo(),Zo));return await y(n)}).with(F.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Mo(),Qo));return await y(n)}).with(F.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (If(),Sf));return await y(n)}).with(F.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Mn(),Qn));return await y(n)}).with(F.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (tf(),Af));return await y(n)}).with(F.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (wo(),_o));return await y(n)}).with(F.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (nf(),Tf));return await y(n)}).with(F.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (zn(),Pn));return await y(n)}).otherwise(()=>{throw new F2("toolbox_not_supported",{chain:T})})}export{ll as getToolbox,V8 as getFeeEstimator,K8 as getAddressValidator};
3
3
 
4
- //# debugId=8C7E2FE819868A6E64756E2164756E21
4
+ //# debugId=FA6F34BD23D0A1A764756E2164756E21
5
5
  //# sourceMappingURL=index.js.map