@swapkit/toolboxes 4.1.8 → 4.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/evm/index.cjs +2 -2
- package/dist/src/evm/index.cjs.map +3 -3
- package/dist/src/evm/index.js +2 -2
- package/dist/src/evm/index.js.map +3 -3
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +3 -3
- package/package.json +3 -3
package/dist/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var _l=Object.create;var{getPrototypeOf:Ll,defineProperty:Vn,getOwnPropertyNames:Bl}=Object;var Xl=Object.prototype.hasOwnProperty;var q=(T,n,x)=>{x=T!=null?_l(Ll(T)):{};let y=n||!T||!T.__esModule?Vn(x,"default",{value:T,enumerable:!0}):x;for(let f of Bl(T))if(!Xl.call(y,f))Vn(y,f,{get:()=>T[f],enumerable:!0});return y};var a=(T,n)=>{for(var x in n)Vn(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var R=(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 wl,getChainConfig as Zl}from"@swapkit/helpers";import{SwapKitApi as Jl}from"@swapkit/helpers/api";function So(){function T(){let n=Date.now(),x=Kn||n;return Kn=x,n>Kn?n:x+1}return ql+T().toString(36)}function ry(T){return async function(x,y=!0){let f=await Jl.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:o}=Zl(T);return f.map(({identifier:l,value:C,decimal:G})=>{return new wl({decimal:G||o,identifier:l,value:C})})}}var ql,Kn=0;var qT=R(()=>{ql=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as Ql,warnOnce as Wl}from"@swapkit/helpers";function QT(T){let n=Ql.get("apis")[T];if(n)return Wl({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return Yl(T)}function zl(T){return T}function Yl(T){return{getBalance:ry(T)}}var hT=R(()=>{qT()});import{Chain as p,getChainConfig as uo,getRPCUrl as Ml,SwapKitError as Hl}from"@swapkit/helpers";async function ty(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await Ml(T))}function WT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function bn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=uo(T);return()=>T===p.Ethereum?void 0:{...Ul({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function $n(T){return![p.Arbitrum,p.BinanceSmartChain].includes(T)}function Ul({chain:T}){let{baseDecimal:n}=uo(T);switch(T){case p.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case p.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case p.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case p.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case p.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:p.Polygon}};default:throw new Hl("toolbox_evm_not_supported",{chain:T})}}var ay=()=>{};var ko;var vo=R(()=>{ko=[{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 Pl,applyFeeMultiplierToBigInt as ly,Chain as Ny,EVMChains as Rl,FeeOption as V,isGasAsset as Il,SwapKitError as $,SwapKitNumber as jT}from"@swapkit/helpers";import{erc20ABI as zT}from"@swapkit/helpers/contracts";import{BrowserProvider as Dl,Contract as Eo,getAddress as cT,Interface as Fo}from"ethers";import{match as Ol}from"ts-pattern";function sy({chain:T=Ny.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:El({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:Vl({chain:T,provider:n,signer:x}),createContract:jn({chain:T,provider:n}),createContractTxObject:Ay({chain:T,provider:n}),createTransaction:pn({chain:T,provider:n,signer:x}),createTransferTx:pn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:yT(n),estimateCall:Ko({provider:n,signer:x}),estimateGasLimit:tl({chain:T,provider:n,signer:x}),estimateGasPrices:Vy({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:bo({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:Fl({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(f)=>hn({address:f})}}function hn({address:T}){try{return cT(T),!0}catch{return!1}}function ey(T){return T instanceof Dl}function MT(T,n,x){return new Eo(T,Fo.from(n),x)}function jn({provider:T}){return function(x,y){return new Eo(x,Fo.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&&Sl.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:f,gasPrice:o,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:WT(BigInt(x||0))}])}}function Ao(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 f=T===Ny.BinanceSmartChain&&n==="BNB"&&x==="BNB",o=T===y&&n===y&&x===y,l=kl.includes(T)&&n==="ETH"&&x==="ETH";if(o||f||l)return mn[y];return cT(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function Ay({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:f=[],txOverrides:o})=>MT(n,x,T).getFunction(y).populateTransaction(...f.concat(o).filter((l)=>typeof l<"u"))}function Vy({chain:T,provider:n,isEIP1559Compatible:x=!0}){return Ol(T).with(Ny.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:o}=await n.getFeeData();if(!f||o===null)throw new $("toolbox_evm_no_fee_data");return{[V.Average]:{maxFeePerGas:ly(f,V.Average),maxPriorityFeePerGas:ly(o,V.Average)},[V.Fast]:{maxFeePerGas:ly(f,V.Fast),maxPriorityFeePerGas:ly(o,V.Fast)},[V.Fastest]:{maxFeePerGas:ly(f,V.Fastest),maxPriorityFeePerGas:ly(o,V.Fastest)}}}catch(f){throw new $("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(Ny.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await n.getFeeData();if(!f)throw new $("toolbox_evm_no_fee_data");return{[V.Average]:{gasPrice:f},[V.Fast]:{gasPrice:f},[V.Fastest]:{gasPrice:f}}}catch(f){throw new $("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:o,gasPrice:l}=await n.getFeeData();if(x){if(f===null||o===null)throw new $("toolbox_evm_no_fee_data");return{[V.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:o},[V.Fast]:{maxFeePerGas:ly(f,V.Fast),maxPriorityFeePerGas:ly(o,V.Fast)},[V.Fastest]:{maxFeePerGas:ly(f,V.Fastest),maxPriorityFeePerGas:ly(o,V.Fastest)}}}if(!l)throw new $("toolbox_evm_no_gas_price");return{[V.Average]:{gasPrice:l},[V.Fast]:{gasPrice:ly(l,V.Fast)},[V.Fastest]:{gasPrice:ly(l,V.Fastest)}}}catch(f){throw new $("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function gn({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:o,contractAddress:l,abi:C,funcName:G,funcParams:N=[],txOverrides:B={},feeOption:_=V.Fast}){let L=o||T;if(!l)throw new $("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=cn({abi:C,funcName:G});if(X&&ey(L)&&x){let z=Ay({chain:y,provider:L}),W=B?.from||await x?.getAddress(),U=await z({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...B,from:W}});return yT(L)(U)}let w=MT(l,C,L);if(X){if(!x)throw new $("toolbox_evm_no_signer");let z=B?.from||await x.getAddress();if(!z)throw new $("toolbox_evm_no_signer_address");let W=w.connect(x),U=Vy({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:k,maxPriorityFeePerGas:S,gasPrice:v}=(await U())[_],K=await w.getFunction(G).estimateGas(...N,B),r=await W[G](...N,{...B,gasLimit:K,gasPrice:v,maxFeePerGas:k,maxPriorityFeePerGas:S,nonce:B?.nonce||await L.getTransactionCount(z)});return typeof r?.hash==="string"?r?.hash:r}let J=await w[G]?.(...N);return typeof J?.hash==="string"?J?.hash:J}}function Vo({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:f,from:o}){return gn({chain:n,isEIP1559Compatible:!0,provider:T})({abi:zT,contractAddress:y,funcName:"allowance",funcParams:[o,f]})}}function vl({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:f,from:o,amount:l=YT}){let C=await Vo({chain:n,provider:T})({assetAddress:y,from:o,spenderAddress:f});return jT.fromBigInt(C).gte(jT.fromBigInt(BigInt(l)))}}function El({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:o,spenderAddress:l,feeOptionKey:C=V.Fast,amount:G,gasLimitFallback:N,from:B,nonce:_}){let L=[l,BigInt(G||YT)],X=await T?.getAddress()||B,w={abi:zT,contractAddress:o,funcName:"approve",funcParams:L,signer:T,txOverrides:{from:X}};if(ey(x)){let z=Ay({chain:y,provider:x}),W=yT(x),U=await z(w);return W(U)}return gn({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:L,txOverrides:{from:X,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function Fl({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:f,memo:o,recipient:l,feeOptionKey:C=V.Fast,sender:G,...N}){let{hexlify:B,toUtf8Bytes:_}=await import("ethers"),L=f.getBaseValue("bigint"),X=f.chain,w=G||await T?.getAddress(),J=bo({chain:X,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new $("toolbox_evm_no_from_address");if(f.isGasAsset){let v={...N,data:B(_(o||"")),feeOptionKey:C,from:w,to:l,value:L};return J(v)}if(!TT(f,X))throw new $("toolbox_evm_no_contract_address");let{maxFeePerGas:W,maxPriorityFeePerGas:U,gasPrice:k}=(await Vy({chain:X,isEIP1559Compatible:n,provider:x})())[C],S=await pn({chain:X,provider:x,signer:T})({assetValue:f,data:B(_(o||"")),gasPrice:k,maxFeePerGas:W,maxPriorityFeePerGas:U,memo:o,recipient:l,sender:w});return J(S)}}function Ko({provider:T,signer:n}){return function({contractAddress:y,abi:f,funcName:o,funcParams:l=[],txOverrides:C}){if(!y)throw new $("toolbox_evm_no_contract_address");let G=MT(y,f,T);return n?G.connect(n).getFunction(o).estimateGas(...l,C):G.getFunction(o).estimateGas(...l,C)}}function tl({provider:T,signer:n}){return async function({assetValue:y,recipient:f,memo:o,data:l,sender:C,funcName:G,funcParams:N,txOverrides:B}){let _=y.bigIntValue,L=y.isGasAsset?null:TT(y,y.chain);if(L&&G)return Ko({provider:T,signer:n})({abi:zT,contractAddress:L,funcName:G,funcParams:N,txOverrides:B});let{hexlify:X,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:o?X(w(o)):void 0,from:C,to:f,value:_})}}function bo({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:o=V.Fast,...l}){let{from:C,to:G,data:N,value:B,..._}=l;if(!n)throw new $("toolbox_evm_no_signer");if(!G)throw new $("toolbox_evm_no_to_address");let L={..._,data:N||"0x",from:C,to:G,value:BigInt(B||0)};if(ey(T))return yT(T)(L);let X=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(X),J=(await T.getNetwork()).chainId,z=Al(L)||x,W=Vy({chain:y,isEIP1559Compatible:x,provider:T}),U=z&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await W())[o]).reduce((S,[v,K])=>({...S,[v]:WT(BigInt(K))}),{}):{},k;try{k=WT(L.gasLimit||await T.estimateGas(L)*11n/10n)}catch(S){throw new $("toolbox_evm_error_estimating_gas_limit",{error:S})}try{let S={...L,chainId:J,gasLimit:k,nonce:w,type:z?2:0,...U};try{return(await n.sendTransaction(S)).hash}catch{let v=await n.signTransaction({...S,from:X});return(await T.broadcastTransaction(v)).hash}}catch(S){throw new $("toolbox_evm_error_sending_transaction",{error:S})}}}function pn({provider:T,signer:n}){return async function({assetValue:y,memo:f,recipient:o,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:B,..._}){let L=y.getBaseValue("bigint"),X=y.chain,w=C||await n?.getAddress();if(!w)throw new $("toolbox_evm_no_from_address");if(Il(y)){let{hexlify:W,toUtf8Bytes:U}=await import("ethers");return{..._,data:l||W(U(f||"")),from:w,to:o,value:L}}let J=TT(y,X);if(!J)throw new $("toolbox_evm_no_contract_address");return Ay({chain:y.chain,provider:T})({abi:zT,contractAddress:J,funcName:"transfer",funcParams:[o,L],txOverrides:{from:w,gasPrice:B,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function Vl({provider:T,signer:n,chain:x}){return async function({assetAddress:f,spenderAddress:o,amount:l,from:C}){let G=await n?.getAddress()||C,N=Ay({chain:x,provider:T}),B=["bigint","number"].includes(typeof l)?l:l||YT;return await N({abi:zT,contractAddress:f,funcName:"approve",funcParams:[o,BigInt(B)],txOverrides:{from:G}})}}function Kl({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=V.Fast,chain:f,...o}){let C=await Vy({chain:f,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(o),N=Pl.from({chain:f}),{gasPrice:B,maxFeePerGas:_,maxPriorityFeePerGas:L}=C[y];if(!n&&B)return N.set(jT.fromBigInt(B*G,N.decimal));if(_&&L){let X=(_+L)*G;return N.set(jT.fromBigInt(X,N.decimal))}throw new $("toolbox_evm_no_gas_price")}}var YT,Sl,ul,mn,kl,Al=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var mT=R(()=>{ay();YT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Sl=["payable","nonpayable"];ul=Rl.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),mn={...ul,[Ny.Optimism]:"0x4200000000000000000000000000000000000042",[Ny.Polygon]:"0x0000000000000000000000000000000000001010"},kl=[Ny.Arbitrum,Ny.Aurora,Ny.Base,Ny.Optimism]});import{Chain as j,FeeOption as bl,getRPCUrl as $l}from"@swapkit/helpers";import{match as pl,P as $o}from"ts-pattern";async function iT({provider:T,...n}){let x=await c(j.Ethereum)({provider:T,...n});async function y(f,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=bl.Fast){let G=await x.createContractTxObject({abi:ko,contractAddress:o,funcName:l,funcParams:[f]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function c(T){return async function({provider:x,...y}){let{HDNodeWallet:f}=await import("ethers"),o=await $l(T),l=x||await ty(T,o),C=$n(T),G=pl(y).with({phrase:$o.string},({phrase:B})=>f.fromPhrase(B).connect(l)).with({signer:$o.any},({signer:B})=>B).otherwise(()=>{return});return{...sy({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:QT(T).getBalance,getNetworkParams:bn(T)}}}var gT,dT,rT,aT,sT,eT,po,yn,Tn,nn,fn,on,xn,HT,ln,Cn;var dn=R(()=>{hT();vo();ay();mT();gT=c(j.Arbitrum),dT=c(j.Aurora),rT=c(j.Avalanche),aT=c(j.Base),sT=c(j.Berachain),eT=c(j.BinanceSmartChain),po=c(j.Botanix),yn=c(j.Core),Tn=c(j.Corn),nn=c(j.Cronos),fn=c(j.Gnosis),on=c(j.Hyperevm),xn=c(j.Polygon),HT=c(j.Sonic),ln=c(j.Unichain),Cn=c(j.XLayer)});var ho;var jo=R(()=>{ho=[{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 jl,getRPCUrl as cl,SwapKitError as rn}from"@swapkit/helpers";import{Contract as ml,HDNodeWallet as il}from"ethers";import{match as gl,P as co}from"ts-pattern";function an(T){return new ml(dl,ho,T)}function mo(T){return async function(){let x=an(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function io(T){return async function({from:x,to:y,nonce:f,...o}){let{Transaction:l}=await import("ethers");if(!y)throw new rn("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...o,authorizationList:o.authorizationList,nonce:f?f:x?await T.getTransactionCount(x):0,to:y}).serialized}}function go(T){return async function(x){let y=an(T),f=await io(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function ro(T){return async function(x){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(x);return y.mul(f)}}function rl(T){return async function(x){let y=await go(T)(x),f=await ro(T)(x);return y.add(f)}}function al(T){return async function(x){let y=an(T),f=await io(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}function sl(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:f}=jl(Gn.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:Gn.Ethereum},rpcUrls:f}}async function el(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),f=await mo(T)(),o=y;if(!(n&&x))throw new rn("toolbox_evm_no_fee_data");return{[qy.Average]:{gasPrice:o,l1GasPrice:f,maxFeePerGas:n,maxPriorityFeePerGas:x},[qy.Fast]:{gasPrice:nT(o,qy.Fast),l1GasPrice:nT(f||0n,qy.Fast),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,qy.Fast)},[qy.Fastest]:{gasPrice:nT(o,qy.Fastest),l1GasPrice:nT(f||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 Nn({provider:T,...n}){let x=Gn.Optimism,y=await cl(x),f=T||await ty(x,y),o=gl(n).with({phrase:co.string},({phrase:G})=>il.fromPhrase(G).connect(f)).with({signer:co.any},({signer:G})=>G).otherwise(()=>{return}),l=sy({provider:f,signer:o}),C=mo(f);return{...l,estimateGasPrices:el(f),estimateL1Gas:al(f),estimateL1GasCost:go(f),estimateL2GasCost:ro(f),estimateTotalGasCost:rl(f),getBalance:QT(Gn.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:sl}}var dl="0x420000000000000000000000000000000000000f";var sn=R(()=>{hT();jo();ay();mT()});var so={};a(so,{toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getEvmToolbox:()=>ao,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Ay,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ao,evmValidateAddress:()=>hn,createContract:()=>MT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>HT,OPToolbox:()=>Nn,MAX_APPROVAL:()=>YT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});import{Chain as h}from"@swapkit/helpers";import{match as y1}from"ts-pattern";async function ao(T,n){let x={...n,provider:n?.provider||await ty(T)};return y1(T).returnType().with(h.Arbitrum,()=>gT(x)).with(h.Aurora,()=>dT(x)).with(h.Avalanche,()=>rT(x)).with(h.Base,()=>aT(x)).with(h.Berachain,()=>sT(x)).with(h.BinanceSmartChain,()=>eT(x)).with(h.Botanix,()=>HT(x)).with(h.Core,()=>yn(x)).with(h.Corn,()=>Tn(x)).with(h.Cronos,()=>nn(x)).with(h.Ethereum,()=>iT(x)).with(h.Gnosis,()=>fn(x)).with(h.Hyperevm,()=>on(x)).with(h.Optimism,()=>Nn(x)).with(h.Polygon,()=>xn(x)).with(h.Sonic,()=>HT(x)).with(h.Unichain,()=>ln(x)).with(h.XLayer,()=>Cn(x)).exhaustive()}var en=R(()=>{ay();dn();sn();mT();dn();sn()});var eo;var yx=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(eo||={})});var Tx={};a(Tx,{toHexString:()=>WT,toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>ty,getNetworkParams:()=>bn,getIsEIP1559Compatible:()=>$n,getEvmToolbox:()=>ao,getEvmApi:()=>QT,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Ay,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ao,evmValidateAddress:()=>hn,createCustomEvmApi:()=>zl,createContract:()=>MT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>HT,OPToolbox:()=>Nn,MAX_APPROVAL:()=>YT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,EthNetwork:()=>eo,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});var nx=R(()=>{hT();ay();en();yx()});import{AssetValue as PT,Chain as fT,getChainConfig as T1,SwapKitError as UT}from"@swapkit/helpers";import{match as n1,P as fx}from"ts-pattern";async function yf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function o1(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 f=await y.getBalance(),o=[];for(let l of f)if(l.unit===f1){let{baseDecimal:C}=T1(fT.Cardano);o.push(PT.from({chain:fT.Cardano,fromBaseDecimal:C,value:l.quantity}))}else o.push(PT.from({asset:`${fT.Cardano}.${l.unit}`,value:l.quantity}));if(o.length===0)return[PT.from({chain:fT.Cardano})];return o}catch(n){return console.error("Cardano balance fetch error:",n),[PT.from({chain:fT.Cardano})]}}async function ox(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function x1(T){let n=await ox(),x=await n1(T).with({phrase:fx.string},async({phrase:B})=>{let{MeshWallet:_}=await import("@meshsdk/core"),L=await yf(),X=new _({fetcher:L,key:{type:"mnemonic",words:B.split(" ")},networkId:1,submitter:L});return await X.init(),X}).with({signer:fx.any},({signer:B})=>B).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function f(){return y||""}function o(B){let _=B||f();if(!_)throw new UT("core_wallet_connection_not_found");return o1(_)}function l(){return Promise.resolve(PT.from({chain:fT.Cardano,value:"0.01"}))}async function C({recipient:B,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new UT("core_wallet_connection_not_found");let{Transaction:X}=await import("@meshsdk/core"),[,w]=_.symbol.split("-");if(!_.isGasAsset&&!w)throw new UT("core_wallet_connection_not_found");let J=new X({initiator:x});if(J.sendAssets({address:B},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),L)J.setMetadata(0,L);let z=await J.build();return{tx:J,unsignedTx:z}}function G(B){if(!x||!("getChangeAddress"in x))throw new UT("core_wallet_connection_not_found");return x.signTx(B)}async function N({recipient:B,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new UT("core_wallet_connection_not_found");let{unsignedTx:X}=await C({assetValue:_,memo:L,recipient:B}),w=await G(X);return await(await yf()).submitTx(w)}return{createTransaction:C,estimateTransactionFee:l,getAddress:f,getBalance:o,signTransaction:G,transfer:N,validateAddress:n}}var f1="lovelace";var xx=()=>{};var Tf={};a(Tf,{getCardanoToolbox:()=>x1,getCardanoAddressValidator:()=>ox});var nf=R(()=>{xx()});import{base64 as lx,bech32 as _n}from"@scure/base";import{SwapKitError as l1}from"@swapkit/helpers";import{fromByteArray as C1,toByteArray as G1}from"base64-js";function RT(T){return lx.encode(Uint8Array.from(_n.fromWords(_n.decode(T).words)))}function IT(T,n="thor"){return _n.encode(n,_n.toWords(lx.decode(T)))}function N1(T){return C1(T)}function _1(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new l1("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return G1(T)}var ff=()=>{};import{AssetValue as of,Chain as F,getChainConfig as _y,getRPCUrl as L1,SwapKitError as Cx}from"@swapkit/helpers";function Qy(T){switch(T){case F.Maya:return{amount:[],gas:"10000000000"};case F.THORChain:return{amount:[],gas:"500000000"};case F.Kujira:return _x;case F.Noble:return Lx;default:return Nx}}async function Wy(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 OT(T,n,x={}){let y=await import("@cosmjs/stargate"),f=y.SigningStargateClient??y.default?.SigningStargateClient,o=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return f.connectWithSigner(T,n,{gasPrice:o.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:f,sequence:o,accountNumber:l}){let{chain:C,chainId:G}=x,N=await L1(C),_=await(await Wy(N)).getAccount(T);if(!_)throw new Cx("toolbox_cosmos_account_not_found",{sender:T});let L=of.from({chain:C}),X=Py(L.symbol),w=Qy(C),J=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:w.gas}:w,z={amount:[{amount:x.getBaseValue("string"),denom:Py(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??_.accountNumber,chainId:G,fee:J,memo:y,msgs:[{typeUrl:B1(C),value:z}],sequence:o??_.sequence}}var xf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Gx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Nx,_x,Lx,Py=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return xf;case"uYUM":case"YUM":return Gx;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===F.Maya)return(T.toUpperCase()!=="CACAO"?T:`${F.Maya}.${T}`).toUpperCase();if(n===F.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${F.THORChain}.${T}`:T).toUpperCase();return Py(T,!1)},B1=(T)=>{switch(T){case F.Maya:case F.THORChain:return"/types.MsgSend";case F.Cosmos:case F.Kujira:case F.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Cx("toolbox_cosmos_not_supported",{chain:T})}},X1,Gf=(T,n)=>{let x=X1[T.toLowerCase()];if(!x)return of.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:f,decimals:o}=x,l=y?{chain:y}:{asset:f};return of.from({...l,fromBaseDecimal:o,value:n})};var ST=R(()=>{Nx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},_x={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Lx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};X1={atom:{chain:F.Cosmos,decimals:_y(F.Cosmos).baseDecimal},cacao:{chain:F.Maya,decimals:10},kuji:{chain:F.Kujira,decimals:_y(F.Kujira).baseDecimal},maya:{asset:`${F.Maya}.${F.Maya}`,decimals:4},rune:{chain:F.THORChain,decimals:_y(F.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:_y(F.THORChain).baseDecimal},uatom:{chain:F.Cosmos,decimals:_y(F.Cosmos).baseDecimal},ukuji:{chain:F.Kujira,decimals:_y(F.Kujira).baseDecimal},usdc:{chain:F.Noble,decimals:_y(F.Noble).baseDecimal},uusdc:{chain:F.Noble,decimals:_y(F.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:_y(F.THORChain).baseDecimal},[xf.toLowerCase()]:{asset:`${F.Kujira}.USK`,decimals:_y(F.Kujira).baseDecimal}}});var Bx={};a(Bx,{$root:()=>M});import i from"protobufjs/minimal.js";var O,Cy,P,M;var Xx=R(()=>{O=i.Reader,Cy=i.Writer,P=i.util,M=i.roots.default||(i.roots.default={});M.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}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,f){if(!f)f=Cy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))f.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))f.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))f.uint32(32).bool(y.synth);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Asset;while(y.pos<o){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 O))y=new O(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(!P.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!P.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!P.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 M.common.Asset)return y;let f=new M.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.chain="",o.symbol="",o.ticker="",o.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))o.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))o.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))o.synth=y.synth;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=P.Long?P.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))M.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Coin;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.asset=M.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 O))y=new O(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 f=M.common.Asset.verify(y.asset);if(f)return"asset."+f}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!P.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!P.isInteger(y.decimals)&&!(y.decimals&&P.isInteger(y.decimals.low)&&P.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Coin)return y;let f=new M.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=M.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(P.Long)(f.decimals=P.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)if(o.asset=null,o.amount="",P.Long){let l=new P.Long(0,0,!1);o.decimals=f.longs===String?l.toString():f.longs===Number?l.toNumber():l}else o.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))o.asset=M.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))o.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")o.decimals=f.longs===String?String(y.decimals):y.decimals;else o.decimals=f.longs===String?P.Long.prototype.toString.call(y.decimals):f.longs===Number?new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))f.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))f.uint32(18).string(y.ed25519);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.PubKeySet;while(y.pos<o){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 O))y=new O(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(!P.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!P.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.PubKeySet)return y;let f=new M.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.secp256k1="",o.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))o.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))o.ed25519=y.ed25519;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=P.emptyArray,n.prototype.gas=P.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))f.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(34).string(y.toAddress);if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let o=0;o<y.gas.length;++o)M.common.Coin.encode(y.gas[o],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Tx;while(y.pos<o){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(M.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(M.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 O))y=new O(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(!P.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!P.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!P.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!P.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 f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let o=M.common.Coin.verify(y.gas[f]);if(o)return"gas."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Tx)return y;let f=new M.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let o=0;o<y.gas.length;++o){if(typeof y.gas[o]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[o]=M.common.Coin.fromObject(y.gas[o])}}if(y.memo!=null)f.memo=String(y.memo);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[],o.gas=[];if(f.defaults)o.id="",o.chain="",o.fromAddress="",o.toAddress="",o.memo="";if(y.id!=null&&y.hasOwnProperty("id"))o.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=y.toAddress;if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.gas?.length){o.gas=[];for(let l=0;l<y.gas.length;++l)o.gas[l]=M.common.Coin.toObject(y.gas[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=P.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Fee;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.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 O))y=new O(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 f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!P.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Fee)return y;let f=new M.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults)o.poolDeduct="";if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))o.poolDeduct=y.poolDeduct;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))f.uint32(10).string(y.value);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.ProtoUint;while(y.pos<o){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 O))y=new O(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(!P.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.ProtoUint)return y;let f=new M.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.value="";if(y.value!=null&&y.hasOwnProperty("value"))o.value=y.value;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();M.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=P.emptyArray,n.prototype.memo="",n.prototype.signer=P.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgDeposit;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.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 O))y=new O(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 f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||P.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof M.types.MsgDeposit)return y;let f=new M.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")P.base64.decode(y.signer,f.signer=P.newBuffer(P.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults){if(o.memo="",f.bytes===String)o.signer="";else if(o.signer=[],f.bytes!==Array)o.signer=P.newBuffer(o.signer)}if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))o.signer=f.bytes===String?P.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.fromAddress=P.newBuffer([]),n.prototype.toAddress=P.newBuffer([]),n.prototype.amount=P.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let o=0;o<y.amount.length;++o)M.cosmos.base.v1beta1.Coin.encode(y.amount[o],f.uint32(26).fork()).ldelim();return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof O))y=O.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgSend;while(y.pos<o){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(M.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof O))y=new O(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"||P.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||P.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 f=0;f<y.amount.length;++f){let o=M.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(o)return"amount."+o}}return null},n.fromObject=function(y){if(y instanceof M.types.MsgSend)return y;let f=new M.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")P.base64.decode(y.fromAddress,f.fromAddress=P.newBuffer(P.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")P.base64.decode(y.toAddress,f.toAddress=P.newBuffer(P.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let o=0;o<y.amount.length;++o){if(typeof y.amount[o]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[o]=M.cosmos.base.v1beta1.Coin.fromObject(y.amount[o])}}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.amount=[];if(f.defaults){if(f.bytes===String)o.fromAddress="";else if(o.fromAddress=[],f.bytes!==Array)o.fromAddress=P.newBuffer(o.fromAddress);if(f.bytes===String)o.toAddress="";else if(o.toAddress=[],f.bytes!==Array)o.toAddress=P.newBuffer(o.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=f.bytes===String?P.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=f.bytes===String?P.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){o.amount=[];for(let l=0;l<y.amount.length;++l)o.amount[l]=M.cosmos.base.v1beta1.Coin.toObject(y.amount[l],f)}return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();M.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))l.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))l.uint32(18).string(o.amount);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof O))o=O.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.Coin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof O))o=new O(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.Coin)return o;let l=new M.cosmos.base.v1beta1.Coin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))l.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))l.uint32(18).string(o.amount);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof O))o=O.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.DecCoin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof O))o=new O(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecCoin)return o;let l=new M.cosmos.base.v1beta1.DecCoin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.int="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.int!=null&&Object.hasOwnProperty.call(o,"int"))l.uint32(10).string(o.int);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof O))o=O.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.IntProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.int=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof O))o=new O(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.int!=null&&o.hasOwnProperty("int")){if(!P.isString(o.int))return"int: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.IntProto)return o;let l=new M.cosmos.base.v1beta1.IntProto;if(o.int!=null)l.int=String(o.int);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(o.int!=null&&o.hasOwnProperty("int"))C.int=o.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.dec="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.dec!=null&&Object.hasOwnProperty.call(o,"dec"))l.uint32(10).string(o.dec);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof O))o=O.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.DecProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.dec=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof O))o=new O(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.dec!=null&&o.hasOwnProperty("dec")){if(!P.isString(o.dec))return"dec: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecProto)return o;let l=new M.cosmos.base.v1beta1.DecProto;if(o.dec!=null)l.dec=String(o.dec);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(o.dec!=null&&o.hasOwnProperty("dec"))C.dec=o.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x})(),n})(),T})()});import{Chain as w1}from"@swapkit/helpers";async function Ky(){let{$root:T}=await Promise.resolve().then(() => (Xx(),Bx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),f=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...f,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Ry(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:f,...o})=>({...o,signer:RT(f)}),toAmino:({signer:f,...o})=>({...o,signer:IT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:o,...l})=>({...l,fromAddress:RT(f),toAddress:RT(o)}),toAmino:({fromAddress:f,toAddress:o,...l})=>({...l,from_address:IT(f),to_address:IT(o)})}})}var Nf=R(()=>{ff()});import{AssetValue as Z1,Chain as Ln,getChainConfig as wx,SwapKitError as J1}from"@swapkit/helpers";function Bf(T){return function(x){let{assetValue:y,recipient:f,memo:o,sender:l,asSignable:C,asAminoMessage:G}=x;if(f)return Jx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,recipient:f,sender:l});return qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,sender:l})}}function Dy(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(),f=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:f,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function uT({chain:T,memo:n,msgs:x}){let y=await Ky(),f=await Ry(T),o={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>f.fromAmino(l))}};return y.encode(o)}var q1,Q1,_f=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===Ln.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:Py(x.symbol,!0)}],from_address:T,to_address:n}}},Lf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===Ln.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:DT(n)}],memo:x,signer:T}}},Bn=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Lf({assetValue:x,memo:y,sender:T}):_f({assetValue:x,recipient:n,sender:T})},Iy=async(T,n)=>{return(await Ry(n)).fromAmino(T)},Zx=async({rpcUrl:T,sender:n})=>{let y=await(await Wy(T)).getAccount(n);if(!y)throw new J1("toolbox_cosmos_account_not_found",{sender:n});return y},Jx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:f="",asSignable:o=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await Zx({rpcUrl:T,sender:n}),B=y.chain,{chainId:_}=wx(B),L=_f({assetValue:y,recipient:x,sender:n}),X=o?await Iy(l?L:Dy(L),B):L;return{accountNumber:G||N.accountNumber,chainId:_,fee:Qy(B),memo:f,msgs:[X],sequence:C||N.sequence}},qx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:f=!0,asAminoMessage:o=!1,sequence:l,accountNumber:C})=>{let G=await Zx({rpcUrl:T,sender:n}),N=x.chain,{chainId:B}=wx(N),_=Lf({assetValue:x,memo:y,sender:n}),L=f?await Iy(o?_:Dy(_),N):_;return{accountNumber:C||G.accountNumber,chainId:B,fee:Qy(N),memo:y,msgs:[L],sequence:l||G.sequence}};var Qx=R(()=>{ST();Nf();q1=Qy(Ln.THORChain).gas,Q1=Qy(Ln.Maya).gas});var Wx=()=>{};var zx=R(()=>{Wx()});var Xf=R(()=>{ff();Qx();Nf();zx()});import{base64 as Jf,bech32 as wf}from"@scure/base";import{AssetValue as qf,applyFeeMultiplier as Yx,Chain as s,CosmosChainPrefixes as Ix,DerivationPath as W1,derivationPathToString as Mx,FeeOption as Qf,getChainConfig as z1,getRPCUrl as Y1,NetworkDerivationPath as M1,SwapKitError as Wf,SwapKitNumber as Zf,updateDerivationPath as H1}from"@swapkit/helpers";import{SwapKitApi as Dx}from"@swapkit/helpers/api";import{match as U1,P as Hx}from"ts-pattern";async function Yf(T,n){try{let y=(await Dx.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function zf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),f=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,o=await import("@cosmjs/crypto"),l=o.stringToPath??o.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${W1[x.chain]}/${x.index}`;return f.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function P1({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function Ox(T){return async function({signature:x,message:y,address:f}){let o=await T(f);if(!o?.pubkey)throw new Wf("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,N=C.fromFixedLength(Jf.decode(x));return G.verifySignature(N,Jf.decode(y),o.pubkey.value)}}async function kT({chain:T,...n}){let x=await Y1(T),y=Ix[T],f="index"in n?n.index||0:0,o=Mx("derivationPath"in n&&n.derivationPath?n.derivationPath:H1(M1[T],{index:f})),l=await U1(n).with({phrase:Hx.string},({phrase:_})=>zf({derivationPath:o,phrase:_,prefix:y})).with({signer:Hx.any},({signer:_})=>_).otherwise(()=>{return});async function C(_){return(await Wy(x)).getAccount(_)}async function G(){let[_]=await l?.getAccounts()||[];return _?.address}async function N(){let[_]=await l?.getAccounts()||[];if(!_?.pubkey)throw new Wf("toolbox_cosmos_signer_not_defined");return Jf.encode(_?.pubkey)}async function B({recipient:_,assetValue:L,memo:X="",feeRate:w,feeOptionKey:J=Qf.Fast}){let z=await G();if(!(l&&z))throw new Wf("toolbox_cosmos_signer_not_defined");let W=qf.from({chain:T}),U=DT(W),k=w||D1((await Px(T,Ux[T]))[J],U),S=await OT(x,l),v=[{amount:L.getBaseValue("string"),denom:Py(`u${L.symbol}`).toLowerCase()}],{transactionHash:K}=await S.sendTokens(z,_,v,k,X);return K}return{createPrivateKeyFromPhrase:S1(o),createTransaction:Cf,fetchFeeRateFromSwapKit:Yf,getAccount:C,getAddress:G,getBalance:async(_,L)=>{let X=await Rx(x)(_),w=await Promise.all(X.filter(({denom:J})=>J&&!J.includes("IBC/")).map(({denom:J,amount:z})=>{let W=[s.THORChain,s.Maya].includes(T)&&(J.includes("/")||J.includes("˜"))?`${T}.${J}`:J;return Gf(W,z)}));if(w.length===0)return[qf.from({chain:T})];return w},getBalanceAsDenoms:Rx(x),getFees:()=>Px(T,Ux[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:L})=>zf({derivationPath:Mx(L),index:f,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:B,validateAddress:Sx(T),verifySignature:Ox(C)}}async function R1(T,n){try{let y=(await Dx.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function I1({assetValue:{chain:T}}){return qf.from({chain:T,value:O1(T)})}async function Px(T,n){let{chainId:x,baseDecimal:y}=z1(T),f=await Yf(x,n);return{average:Zf.fromBigInt(BigInt(f),y),fast:Zf.fromBigInt(BigInt(Yx(f,Qf.Fast,!0)),y),fastest:Zf.fromBigInt(BigInt(Yx(f,Qf.Fastest,!0)),y)}}function D1(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function O1(T){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}[T]||0}function Sx(T){let n=Ix[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:f,words:o}=wf.decode(y);return wf.encode(f,o)===y.toLocaleLowerCase()}catch{return!1}}}function Rx(T){return async function(x){return(await(await Wy(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"),f=y.stringToPath??y.default?.stringToPath,o=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),B=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(o.Secp256k1,B,f(T));return _}}var Ux;var Xn=R(()=>{ST();Ux={[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 u1,CosmosChainPrefixes as k1,derivationPathToString as v1,FeeOption as Mf,getChainConfig as ux,getRPCUrl as E1,NetworkDerivationPath as F1,RequestClient as t1,SKConfig as A1,SwapKitError as kx,SwapKitNumber as vx,updateDerivationPath as V1}from"@swapkit/helpers";import{match as K1,P as Ex}from"ts-pattern";function b1({prefix:T,derivationPath:n}){return async function(y,f=0){let o=await import("@cosmjs/amino"),l=o.Secp256k1HdWallet??o.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${f}`)],prefix:T})}}function $1(T){return by.encode(T)}function p1(T){return async function({wallet:x,tx:y}){let{msgs:f,accountNumber:o,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,B=(await x.getAccounts())?.[0]?.address||"",_=await Ry(T),L=await Ky(),X=await lf(x,{aminoTypes:_,registry:L}),w=[];for(let W of f){let U=await Iy(W,T);w.push(U)}let{signatures:[J]}=await X.sign(B,w,G,N,{accountNumber:o,chainId:C,sequence:l});return{bodyBytes:await uT({chain:T,memo:N,msgs:f.map(Dy)}),signature:$1(J)}}}function h1({prefix:T,rpcUrl:n}){return async function(y,f,o,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:L}=JSON.parse(y),X=await Fx(o,l),w=f.map((W)=>[N(G(by.decode(W.pubKey)),T),by.decode(W.signature)]),J=await Wy(n),{transactionHash:z}=await J.broadcastTx(B(X,_,L,C,new Map(w)));return z}}async function Fx(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((o)=>f(by.decode(o))),n,x)}function j1(T){return by.decode(T)}async function c1({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(by.decode(n),T);return by.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Hf({chain:T,...n}){let x=await E1(T),{nodeUrl:y}=ux(T),{isStagenet:f}=A1.get("envs"),o=T===u1.THORChain,l=`${f?"s":""}${k1[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:V1(F1[T],{index:C}),N=await kT({chain:T,...n}),B=await K1(n).with({phrase:Ex.string},({phrase:w})=>N.getSignerFromPhrase({derivationPath:G,phrase:w})).with({signer:Ex.any},({signer:w})=>w).otherwise(()=>{return}),_=Qy(T);async function L(){let w,J=`${y}/${o?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:z}}=await t1.get(J);if(!z||Number.isNaN(z)||z<0)throw new kx("toolbox_cosmos_invalid_fee",{nativeFee:z.toString()});w=new vx(z)}catch{w=new vx({decimal:ux(T).baseDecimal,value:o?0.02:1})}return{[Mf.Average]:w,[Mf.Fast]:w,[Mf.Fastest]:w}}async function X({assetValue:w,memo:J="",recipient:z}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),U=(await B?.getAccounts())?.[0]?.address;if(!(U&&B))throw new kx("toolbox_cosmos_no_signer");let k="signAmino"in B,S=await Ky(),v=await Ry(T),K=await OT(x,B,{aminoTypes:v,registry:S}),r=Bn({assetValue:w,memo:J,recipient:z,sender:U});if(k){let H=await Iy(r,T),{signatures:I,authInfoBytes:D}=await K.sign(U,[H],_,J),u=W.encode({authInfoBytes:D,bodyBytes:await uT({chain:T,memo:J,msgs:[r].map(Dy)}),signatures:I}).finish();return(await K.broadcastTx(u)).transactionHash}let Uy=Dy(r),Z=await Iy(Uy,T);return(await K.signAndBroadcast(U,[Z],_,J)).transactionHash}return{...N,broadcastMultisigTx:h1({prefix:l,rpcUrl:x}),buildAminoMsg:Bn,buildEncodedTxBody:uT,convertToSignable:Iy,createDefaultAminoTypes:()=>Ry(T),createDefaultRegistry:Ky,createMultisig:Fx,createTransaction:Bf(x),deposit:X,getFees:L,importSignature:j1,parseAminoMessageForDirectSigning:Dy,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(w,l)},secp256k1HdWalletFromMnemonic:b1({derivationPath:v1(G),prefix:l}),signMultisigTx:p1(T),signWithPrivateKey:c1,transfer:X}}var Uf=R(()=>{Xf();ST();Xn()});import{Chain as vT,SwapKitError as m1}from"@swapkit/helpers";var i1=(T,n)=>{switch(T){case vT.Cosmos:case vT.Kujira:case vT.Noble:return kT({chain:T,...n});case vT.Maya:case vT.THORChain:return Hf({chain:T,...n});default:throw new m1("toolbox_cosmos_not_supported",{chain:T})}};var tx=R(()=>{Xn();Uf();Xn();Uf()});var wn={};a(wn,{verifySignature:()=>Ox,transferMsgAmino:()=>_f,toBase64:()=>N1,parseAminoMessageForDirectSigning:()=>Dy,getSignerFromPrivateKey:()=>P1,getSignerFromPhrase:()=>zf,getMsgSendDenom:()=>Py,getFeeRateFromSwapKit:()=>R1,getDenomWithChain:()=>DT,getDefaultChainFee:()=>Qy,getCreateTransaction:()=>Bf,getCosmosValidateAddress:()=>Sx,getCosmosToolbox:()=>i1,getAssetFromDenom:()=>Gf,fromBase64:()=>_1,fetchFeeRateFromSwapKit:()=>Yf,estimateTransactionFee:()=>I1,depositMsgAmino:()=>Lf,createThorchainToolbox:()=>Hf,createStargateClient:()=>Wy,createSigningStargateClient:()=>OT,createOfflineStargateClient:()=>lf,createDefaultRegistry:()=>Ky,createDefaultAminoTypes:()=>Ry,createCosmosToolbox:()=>kT,cosmosCreateTransaction:()=>Cf,convertToSignable:()=>Iy,buildTransferTx:()=>Jx,buildEncodedTxBody:()=>uT,buildDepositTx:()=>qx,buildAminoMsg:()=>Bn,bech32ToBase64:()=>RT,base64ToBech32:()=>IT,YUM_KUJIRA_FACTORY_DENOM:()=>Gx,USK_KUJIRA_FACTORY_DENOM:()=>xf,THORCHAIN_GAS_VALUE:()=>q1,MAYA_GAS_VALUE:()=>Q1,DEFAULT_NOBLE_FEE_MAINNET:()=>Lx,DEFAULT_KUJI_FEE_MAINNET:()=>_x,DEFAULT_COSMOS_FEE_MAINNET:()=>Nx});var Zn=R(()=>{Xf();tx();ST()});import{AssetValue as Jn,Chain as Oy,DerivationPath as g1,derivationPathToString as d1,getChainConfig as Kx,getRPCUrl as r1,NetworkDerivationPath as a1,SwapKitError as py,updateDerivationPath as s1}from"@swapkit/helpers";import{match as e1,P as Ax}from"ts-pattern";async function bx(T){let n=Jn.from({address:T,chain:Oy.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 f=await y.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((l)=>l.id===T)||null}catch{return null}}async function y5(T){let n=await $y(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),f=new x(T),o=[],l=await n.getBalance(f);if(l>0){let{baseDecimal:G}=Kx(Oy.Solana);o.push(Jn.from({chain:Oy.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(f,{programId:y});for(let{account:G}of C.value){let N=G.data.parsed.info,B=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let L=await bx(B),X=L?.symbol||"UNKNOWN",w=L?.decimals||N.tokenAmount.decimals;o.push(Jn.from({asset:`${Oy.Solana}.${X}-${B}`,fromBaseDecimal:w,value:_}))}return o}async function If(){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[Oy.Solana],{index:n})),y=await e1(T).with({phrase:Ax.string},({phrase:l})=>Rf({derivationPath:x,phrase:l})).with({signer:Ax.any},({signer:l})=>l).otherwise(()=>{return});function f(){return y?.publicKey?Vx(y.publicKey):""}function o(l){let C=l||f();if(!C)throw new py("core_wallet_connection_not_found");return y5(C)}return{broadcastTransaction:Pf($y),createKeysForPath:Rf,createTransaction:Df($y),createTransactionFromInstructions:x5,estimateTransactionFee:n5($y),getAddress:f,getAddressFromPubKey:Vx,getAddressValidator:If,getBalance:o,getConnection:$y,getPubkeyFromAddress:Of,signTransaction:C5($y,y),transfer:l5($y,y)}}function n5(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let l=await T(),G=(await Df(T)({assetValue:x,isProgramDerivedAddress:f,memo:y,recipient:n,sender:o})).compileMessage(),N=await l.getFeeForMessage(G);if(N.value===null)throw new py("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:B}=Kx(Oy.Solana);return Jn.from({chain:Oy.Solana,fromBaseDecimal:B,value:N.value})}}async function $y(){let{Connection:T}=await import("@solana/web3.js"),n=await r1(Oy.Solana);return new T(n,"confirmed")}function f5(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:f})=>{let o=await T(),l=await Of(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:N}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new N(x)}))}if(n.address)return o5({amount:n.getBaseValue("number"),connection:o,decimals:n.decimal,from:l,isProgramDerivedAddress:f,recipient:x,tokenAddress:n.address});return}}async function o5({tokenAddress:T,recipient:n,from:x,connection:y,amount:f,decimals:o,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:B}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),X=new _,w=new L(T),J=await C(w,x),z=new L(n),W=await C(w,z,l),U=!1;try{await G(y,W),U=!0}catch{}if(!U)X.add(N(x,W,z,w));return X.add(B(J,w,W,x,f,o)),X}function Df(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Of(o),G=await If();if(!(f||G(n)))throw new py("core_transaction_invalid_recipient_address");let N=await T(),B=await f5(T)({assetValue:x,isProgramDerivedAddress:f,recipient:n,sender:o});if(!B)throw new py("core_transaction_invalid_sender_address");if(y)B.add(l(y));let _=await N.getLatestBlockhash();return B.recentBlockhash=_.blockhash,B.feePayer=C,B}}async function x5({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new py("core_transaction_invalid_sender_address");return x}function l5(T,n){return async({recipient:x,assetValue:y,memo:f,isProgramDerivedAddress:o})=>{if(!n)throw new py("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Df(T)({assetValue:y,isProgramDerivedAddress:o,memo:f,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Pf(T)(G)}return C.sign(n),Pf(T)(C)}}function Pf(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 py("toolbox_solana_no_signer");if(!(x instanceof y)){let o=await(await T()).getLatestBlockhash();x.recentBlockhash=o.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Rf({phrase:T,derivationPath:n=g1.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),o=y(T),l=x.fromMasterSeed(o);return f.fromSeed(l.derive(n,!0).privateKey)}function Vx(T){return T.toString()}async function Of(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var $x=()=>{};var Sf={};a(Sf,{getSolanaToolbox:()=>T5,getSolanaAddressValidator:()=>If,fetchTokenMetaData:()=>bx,createKeysForPath:()=>Rf});var uf=R(()=>{$x()});import{AssetValue as qn,Chain as kf,getChainConfig as G5,SwapKitError as Sy}from"@swapkit/helpers";import{match as N5,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 _5({provider:T,...n}={}){let x=await hx(),y=await N5(n).with({phrase:px.string},async({phrase:_})=>{let{Ed25519Keypair:L}=await import("@mysten/sui/keypairs/ed25519");return L.deriveKeypair(_)}).with({signer:px.any},({signer:_})=>_).otherwise(()=>{return});async function f(_=T){let{SuiClient:L,getFullnodeUrl:X}=await import("@mysten/sui/client");return new L({url:_||X("mainnet")})}function o(){return y?.toSuiAddress()||""}async function l(_){let L=_||o();if(!L)throw new Sy("toolbox_sui_address_required");try{let X=await f(),{totalBalance:w}=await X.getBalance({owner:L}),{baseDecimal:J,chain:z}=G5(kf.Sui),W=[qn.from({chain:z,fromBaseDecimal:J,value:w})],U=await X.getAllBalances({owner:L});for(let{coinType:k,totalBalance:S}of U){if(k==="0x2::sui::SUI")continue;if(Number(S)>0){let v=k.split("::").pop()?.toUpperCase()||"UNKNOWN",K=`${z}.${v}-${k}`;W.push(qn.from({asset:K,fromBaseDecimal:J,value:S}))}}return W}catch(X){throw new Sy("toolbox_sui_balance_error",{error:X})}}async function C(_){let L=qn.from({chain:kf.Sui,value:"0.01"});if(!_)return L;try{let X=await f(),{txBytes:w}=await G(_),{effects:{status:J,gasUsed:z}}=await X.dryRunTransactionBlock({transactionBlock:w});if(J.status!=="success")return L;let W=Number(z.computationCost)+Number(z.storageCost)-Number(z.storageRebate);return qn.from({chain:kf.Sui,value:W.toString()})}catch{return L}}async function G({recipient:_,assetValue:L,gasBudget:X,sender:w}){let{Transaction:J}=await import("@mysten/sui/transactions"),z=w||o();if(!z)throw new Sy("toolbox_sui_no_sender");try{let W=new J;if(W.setSender(z),L.isGasAsset||L.symbol==="SUI"){let[S]=W.splitCoins(W.gas,[L.getBaseValue("string")]);W.transferObjects([S],_)}else throw new Sy("toolbox_sui_custom_token_transfer_not_implemented");if(X)W.setGasBudget(X);let U=await f(),k=await W.build({client:U});return{tx:W,txBytes:k}}catch(W){throw new Sy("toolbox_sui_transaction_creation_error",{error:W})}}async function N(_){if(!y)throw new Sy("toolbox_sui_no_signer");if(_ instanceof Uint8Array)return y.signTransaction(_);let{txBytes:L}="tx"in _?_:await G(_);return y.signTransaction(L)}async function B({assetValue:_,gasBudget:L,recipient:X}){if(!y)throw new Sy("toolbox_sui_no_signer");let w=y.toSuiAddress()||o();if(!w)throw new Sy("toolbox_sui_no_sender");let{txBytes:J}=await G({assetValue:_,gasBudget:L,recipient:X,sender:w}),z=await f(),{digest:W}=await z.signAndExecuteTransaction({signer:y,transaction:J});return W}return{createTransaction:G,estimateTransactionFee:C,getAddress:o,getBalance:l,signTransaction:N,transfer:B,validateAddress:x}}var jx=()=>{};var Qn={};a(Qn,{getSuiToolbox:()=>_5,getSuiAddressValidator:()=>hx});var Wn=R(()=>{jx()});import{AssetValue as cx,Chain as zn,getChainConfig as mx,SwapKitError as oT,SwapKitNumber as L5}from"@swapkit/helpers";import{match as B5,P as ix}from"ts-pattern";async function X5(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),o=await gx(),l,C,G=await B5(T).with({phrase:ix.string},async({phrase:W})=>n(W.split(" "))).with({signer:ix.any},({signer:W})=>W).otherwise(()=>{return});function N(){let{rpcUrls:W}=mx(zn.Ton),[U]=W;if(!l||l.parameters.endpoint!==U)l=new y({endpoint:U});return l}function B(W){if(!C||W){let U=N(),k=W||G;if(!k)throw new oT("core_wallet_connection_not_found");let S=f.create({publicKey:k.publicKey,workchain:0});C=U.open(S)}return C}async function _(W){let U=N(),{baseDecimal:k}=mx(zn.Ton);try{let S=await U.getBalance(x.parse(W));return[cx.from({chain:zn.Ton,value:L5.fromBigInt(S,k)})]}catch(S){throw new oT("core_wallet_connection_not_found",{error:S})}}async function L({assetValue:W,recipient:U,memo:k}){let S=B();if(!S||!G)throw new oT("core_wallet_connection_not_found");let{toNano:v,comment:K,internal:r}=await import("@ton/ton"),Uy=await S.getSeqno(),Z=v(W.getValue("string")),Y=k?K(k):void 0;return S.createTransfer({messages:[r({body:Y,to:U,value:Z})],secretKey:G.secretKey,seqno:Uy})}async function X({assetValue:W,recipient:U,memo:k}){let S=B();if(!S||!G)throw new oT("core_wallet_connection_not_found");let v=await L({assetValue:W,memo:k,recipient:U});return await S.send(v),v.hash().toString()}async function w(W){let U=B();if(!U)throw new oT("core_wallet_connection_not_found");try{return await U.send(W),W.hash().toString("hex")}catch(k){throw new oT("core_wallet_connection_not_found",{error:k})}}function J(){return B().address.toString()}function z(){return Promise.resolve(cx.from({chain:zn.Ton,value:"0.0001"}))}return{createTransaction:L,estimateTransactionFee:z,getAddress:J,getBalance:_,sendTransaction:w,transfer:X,validateAddress:o}}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 Yn={};a(Yn,{getTONToolbox:()=>X5,getTONAddressValidator:()=>gx});var Mn=R(()=>{dx()});var xT;var vf=R(()=>{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 w5}from"@swapkit/helpers";async function rx(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${Z5}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let f=await y.json();if(!(f.success&&f.data)||f.data.length===0)throw Error("Invalid response from TronGrid API");let o;try{o=x.address.toHex(T).toLowerCase()}catch{o=T.toLowerCase()}let l=f.data.find((C)=>{return C.address.toLowerCase()===o});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new w5("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var Z5="https://api.trongrid.io";var ax=()=>{};import{AssetValue as zy,BaseDecimal as sx,Chain as Ly,derivationPathToString as T0,getRPCUrl as J5,NetworkDerivationPath as n0,SwapKitError as e,updateDerivationPath as f0,warnOnce as Ef}from"@swapkit/helpers";import{match as q5,P as ex}from"ts-pattern";async function Ff(){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[Ly.Tron],{index:x||0})),{HDKey:f}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),l=o(T),G=f.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new e("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function M5({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),o=f(T),C=y.fromMasterSeed(o).derive(n);if(!C.privateKey)throw new e("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let N=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof N==="string"?N:""),signTransaction:async(B)=>{return await x.trx.sign(B,G)}}}var Q5=268,W5=13000,z5=345,y0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Y5="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",x0=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await J5(Ly.Tron),f=void 0,o=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[Ly.Tron],{index:l})),G=await q5(T).with({phrase:ex.string},async({phrase:Z})=>M5({derivationPath:C,phrase:Z,tronWeb:o})).with({signer:ex.any},({signer:Z})=>Promise.resolve(Z)).otherwise(()=>Promise.resolve(void 0)),N=async()=>{if(!G)throw new e("toolbox_tron_no_signer");return await G.getAddress()},B=()=>{return 1e8},_=async()=>{try{let Z=await o.trx.getChainParameters(),Y={};for(let H of Z)Y[H.key]=H.value;return{bandwidthFee:Y.getTransactionFee||1000,createAccountFee:Y.getCreateAccountFee||1e5,energyFee:Y.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},L=async(Z)=>{try{let Y=await o.trx.getAccount(Z);return Y&&Object.keys(Y).length>0}catch{return!1}},X=async(Z)=>{try{let Y=await o.trx.getAccountResources(Z);return{bandwidth:{free:Y.freeNetLimit-Y.freeNetUsed,total:Y.NetLimit||0,used:Y.NetUsed||0},energy:{total:Y.EnergyLimit||0,used:Y.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(Z,Y)=>{try{let H=o.contract(xT,Y);if(!H.methods?.balanceOf)return 0n;let[I]=await H.methods.balanceOf(Z).call();return I?typeof I==="bigint"?I:BigInt(I):0n}catch(H){return console.warn(`balanceOf() failed for ${Y}:`,H),0n}},J=async(Z,Y)=>{try{o.setAddress(Y);let H=o.contract(xT,Z),[I,D]=await Promise.all([H.symbol().call().catch(()=>"UNKNOWN"),H.decimals().call().catch(()=>"18")]);return{decimals:Number(D??18),symbol:I??"UNKNOWN"}}catch(H){return Ef({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Z}: ${H instanceof Error?H.message:H}`}),null}},z=async(Z,Y=!0)=>{let H=[zy.from({chain:Ly.Tron})];try{let I=await rx(Z);if(I){let D=[];D.push(zy.from({chain:Ly.Tron,fromBaseDecimal:6,value:I.balance}));for(let u of I.trc20){let[A,b]=Object.entries(u)[0]||[];if(!(A&&b))continue;let t=await J(A,Z);if(!t)continue;D.push(zy.from({asset:`TRON.${t.symbol}-${A}`,fromBaseDecimal:t.decimals,value:BigInt(b||0)}))}return D}return H}catch(I){Ef({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${I instanceof Error?I.message:I}`});try{let D=[],u=await o.trx.getBalance(Z);if(u&&Number(u)>0)D.push(zy.from({chain:Ly.Tron,fromBaseDecimal:6,value:u}));let A=await w(Z,y0);if(A)D.push(zy.from({asset:`TRON.USDT-${y0}`,fromBaseDecimal:6,value:A}));if(D.length===0)return H;return D}catch(D){return console.error("Tron balance fetch failed:",D),H}}},W=async({recipient:Z,assetValue:Y,memo:H})=>{if(!G)throw new e("toolbox_tron_no_signer");let I=await N();if(o.setAddress(I),Y.isGasAsset){let t=await o.transactionBuilder.sendTrx(Z,Y.getBaseValue("number"),I);if(H){let fy=await o.transactionBuilder.addUpdateData(t,H,"utf8"),Jy=await G.signTransaction(fy),{txid:gy}=await o.trx.sendRawTransaction(Jy);return gy}let Ty=await G.signTransaction(t),{txid:ny}=await o.trx.sendRawTransaction(Ty);return ny}let u=await k({assetValue:Y,memo:H,recipient:Z,sender:I}),A=await G.signTransaction(u),{txid:b}=await o.trx.sendRawTransaction(A);if(!b)throw new e("toolbox_tron_token_transfer_failed");return b},U=async({assetValue:Z,recipient:Y,sender:H})=>{let I=Z.isGasAsset;try{let D=H?H:G?await N():void 0;if(!D)return I?zy.from({chain:Ly.Tron,fromBaseDecimal:0,value:0.1}):zy.from({chain:Ly.Tron,fromBaseDecimal:0,value:15});let u=await _(),b=await L(Y)?0:u.createAccountFee,t=await X(D);if(I){let dy=Q5,JT=t.bandwidth.free+(t.bandwidth.total-t.bandwidth.used),Oo=0;if(dy>JT)Oo=(dy-JT)*u.bandwidthFee;let Nl=b+Oo;return zy.from({chain:Ly.Tron,fromBaseDecimal:sx.TRON,value:Nl})}let Ty=z5,ny=W5,fy=t.bandwidth.free+(t.bandwidth.total-t.bandwidth.used),Jy=t.energy.total-t.energy.used,gy=0;if(Ty>fy)gy=(Ty-fy)*u.bandwidthFee;let ZT=0;if(ny>Jy)ZT=(ny-Jy)*u.energyFee;let An=b+gy+ZT;return zy.from({chain:Ly.Tron,fromBaseDecimal:sx.TRON,value:An})}catch(D){throw Ef({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${D instanceof Error?D.message:D}`}),new e("toolbox_tron_fee_estimation_failed",{error:D})}},k=async(Z)=>{let{recipient:Y,assetValue:H,memo:I,sender:D,expiration:u}=Z;if(H.isGasAsset){let t=await o.transactionBuilder.sendTrx(Y,H.getBaseValue("number"),D);if(I)return o.transactionBuilder.addUpdateData(t,I,"utf8");if(u)o.transactionBuilder.extendExpiration(t,u);return t}o.setAddress(D);let b=H.address;if(!b)throw new e("toolbox_tron_invalid_token_identifier",{identifier:H.toString()});try{let Ty=[{type:"address",value:Y},{type:"uint256",value:H.getBaseValue("string")}],ny={callValue:0,feeLimit:B()},fy=await o.transactionBuilder.triggerSmartContract(b,"transfer(address,uint256)",ny,Ty,D);if(I)return o.transactionBuilder.addUpdateData(fy.transaction,I,"utf8");if(u)o.transactionBuilder.extendExpiration(fy.transaction,u);return fy.transaction}catch(t){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:t instanceof Error?t.message:String(t)})}},S=async(Z)=>{if(!G)throw new e("toolbox_tron_no_signer");return await G.signTransaction(Z)},v=async(Z)=>{let{txid:Y}=await o.trx.sendRawTransaction(Z);return Y},K=async({assetAddress:Z,spenderAddress:Y,from:H})=>{try{let I=o.contract(xT,Z);if(!I.methods?.allowance)throw new e("toolbox_tron_invalid_token_contract");let[D]=await I.methods.allowance(H,Y).call();return D?typeof D==="bigint"?D:BigInt(D):0n}catch(I){throw new e("toolbox_tron_allowance_check_failed",{error:I})}};return{approve:async({assetAddress:Z,spenderAddress:Y,amount:H,from:I})=>{if(!G)throw new e("toolbox_tron_no_signer");let D=I||await N(),u=H!==void 0?BigInt(H).toString():Y5,A="approve(address,uint256)",b=[{type:"address",value:Y},{type:"uint256",value:u}],Ty={callValue:0,feeLimit:B()};try{let{transaction:ny}=await o.transactionBuilder.triggerSmartContract(Z,A,Ty,b,D),fy=await G.signTransaction(ny),{txid:Jy}=await o.trx.sendRawTransaction(fy);if(!Jy)throw new e("toolbox_tron_approve_failed");return Jy}catch(ny){throw new e("toolbox_tron_approve_failed",{error:ny})}},broadcastTransaction:v,createTransaction:k,estimateTransactionFee:U,getAddress:N,getApprovedAmount:K,getBalance:z,isApproved:async({assetAddress:Z,spenderAddress:Y,from:H,amount:I})=>{let D=await K({assetAddress:Z,from:H,spenderAddress:Y});if(!I)return D>0n;let u=BigInt(I);return D>=u},signTransaction:S,transfer:W,tronWeb:o,validateAddress:await Ff()}};var l0=R(()=>{vf();ax()});var tf={};a(tf,{trc20ABI:()=>xT,getTronPrivateKeyFromMnemonic:()=>o0,getTronAddressValidator:()=>Ff,createTronToolbox:()=>x0});var Af=R(()=>{vf();l0()});import{networks as H5}from"@bitgo/utxo-lib";import{Chain as g,getRPCUrl as U5,RequestClient as Hn,SKConfig as N0,SwapKitError as uy,warnOnce as _0}from"@swapkit/helpers";import{networks as P5}from"bitcoinjs-lib";import ET from"coininfo";async function R5({chain:T,txHash:n}){let x=`${Un(T)}/push/transaction`,y=JSON.stringify({data:n});try{let f=await Hn.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new uy("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||n}catch(f){let o=await U5(T);if(o){let l=JSON.stringify({id:So(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await Hn.post(o,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new uy("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new uy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw f}}function Un(T){return`https://api.blockchair.com/${I5(T)}`}function C0(T){switch(T){case g.Bitcoin:return 5;case g.Dogecoin:return 1e4;case g.Litecoin:return 1;case g.Zcash:return 1;default:return 2}}function I5(T){switch(T){case g.BitcoinCash:return"bitcoin-cash";case g.Litecoin:return"litecoin";case g.Dash:return"dash";case g.Dogecoin:return"dogecoin";case g.Zcash:return"zcash";case g.Polkadot:return"polkadot";default:return"bitcoin"}}async function D5(T){try{let{feePerKb:n}=await Hn.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 Vf(T,n){let x=await Hn.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new uy("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function L0({address:T,chain:n,apiKey:x}){if(!T)throw new uy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Vf(`${Un(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function O5({address:T,chain:n,apiKey:x}){return(await L0({address:T,apiKey:x,chain:n}))?.address.balance||0}async function B0({chain:T,apiKey:n,txHash:x}){if(!x)throw new uy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Vf(`${Un(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:f=30}){return(await Vf(`${Un(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=${f}&offset=${y}`,x)).map(({is_spent:G,script_hex:N,block_id:B,transaction_hash:_,index:L,value:X,spending_signature_hex:w})=>({hash:_,index:L,is_confirmed:B!==-1,is_spent:G,script_hex:N,txHex:w,value:X}))}function u5(T){return T.reduce((n,x)=>n+x.value,0)}function G0(T,n){let x=[...T].sort((y,f)=>f.value-y.value);if(n){let y=[],f=0;for(let o of x)if(y.push(o),f+=o.value,f>=n)break;return y}return x}async function X0({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:f=0,offset:o=0,limit:l=30}){if(!n)throw new uy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await S5({address:n,apiKey:x,chain:T,limit:l,offset:o,targetValue:y}),N=C.length<l,B=C.filter(({is_spent:z})=>!z),_=u5(B),L=f+_,X=y&&L>=y;if(N||X)return G0(B,y);let w=await X0({accumulativeValue:L,address:n,apiKey:x,chain:T,limit:l,offset:o+l,targetValue:y}),J=[...B,...w];return G0(J,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function k5({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:f}){let o=await X0({address:T,apiKey:x,chain:n,targetValue:f}),l=[];for(let{hash:C,index:G,script_hex:N,value:B}of o){let _;if(y)_=await B0({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:B,witnessUtxo:{script:Buffer.from(N,"hex"),value:B}})}return l}function v5(T){let n=N0.get("apiKeys").blockchair||"";return _0({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>R5({chain:T,txHash:x}),getAddressData:(x)=>L0({address:x,apiKey:n,chain:T}),getBalance:(x)=>O5({address:x,apiKey:n,chain:T}),getRawTx:(x)=>B0({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>D5(T),getUtxos:(x)=>k5({...x,apiKey:n,chain:T})}}function E5(T){return T}function oy(T){let n=N0.get("apis")[T];if(n)return _0({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return v5(T)}function By(){return function(n){switch(n){case g.Bitcoin:return P5.bitcoin;case g.BitcoinCash:return ET.bitcoincash.main.toBitcoinJS();case g.Dash:return ET.dash.main.toBitcoinJS();case g.Litecoin:return ET.litecoin.main.toBitcoinJS();case g.Dogecoin:{let x={private:70615956,public:70617039},y=ET.dogecoin.test;return y.versions.bip32=x,ET.dogecoin.main.toBitcoinJS()}case g.Zcash:return H5.zcash;default:throw new uy("toolbox_utxo_not_supported",{chain:n})}}}var w0=R(()=>{qT()});import{SwapKitError as J0}from"@swapkit/helpers";import q0 from"bs58check";import Q0 from"cashaddrjs";function bf(T){try{return Pn(T),!0}catch{return!1}}function $f(T){return Pn(T)?.network}function lT(T){let n=Pn(T);if(n?.format==="legacy")return T;return A5(n)}function FT(T){let n=Pn(T);return V5(n)}function Pn(T){try{let n=F5(T);if(n)return n}catch{}try{let n=t5(T);if(n)return n}catch{}throw new J0("toolbox_utxo_invalid_address",{address:T})}function F5(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 hy.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case hy.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case hy.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case hy.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case hy.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case hy.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function t5(T){if(T.indexOf(":")!==-1)try{return Z0(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return Z0(`${x}:${T}`)}catch{}}return}function Z0(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 A5(T){let n=hy.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 V5(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 Kf,hy;var W0=R(()=>{((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Kf||={});hy={["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 K5}from"@swapkit/helpers";import{opcodes as b5,script as $5}from"bitcoinjs-lib";function Xy(T){let n=Buffer.from(T,"utf8");return $5.compile([b5.OP_RETURN,n])}var p5=1000,Dn=10,z0=10,h5=41,j5=107,On,Rn,In,tT=(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 K5("toolbox_utxo_invalid_address",{address:T})},CT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",f=T.filter((l)=>l.value>=Rn["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+ky(C),0),o=n?.reduce((l,C)=>l+AT(C),0)||In[y];return Dn+f+o},ky=(T)=>{if("type"in T)return Rn[T.type];if("address"in T&&T.address)return Rn[tT(T.address)];return h5+j5},AT=(T,n)=>{if(T?.script)return z0+T.script.length+(T.script.length>=74?2:1);if(n)return In[n];return In.P2PKH};var pf=R(()=>{((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(On||={});Rn={["P2PKH"]:148,["P2WPKH"]:68},In={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as jy,SwapKitError as c5}from"@swapkit/helpers";function Sn(T){switch(T){case jy.Bitcoin:case jy.BitcoinCash:return 550;case jy.Dash:case jy.Litecoin:return 5500;case jy.Dogecoin:return 1e5;case jy.Zcash:return 546;default:throw new c5("toolbox_utxo_not_supported",{chain:T})}}function wy({inputs:T,outputs:n,feeRate:x=1,chain:y=jy.Bitcoin,changeAddress:f=""}){let o=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",C=T.filter((X)=>ky(X)*o<=X.value),G=Dn+n.reduce((X,w)=>X+AT(w,l),0),N=n.reduce((X,w)=>X+w.value,0),B=G*o,_=0,L=[];for(let X of C){let w=ky(X),J=o*w;B+=J,_+=X.value,L.push(X);let z=B+N;if(_<z)continue;let W=_-z,U=o*AT({address:"",value:0},l);if(W>U){let k=U+B,S=_-(N+k);if(S>Math.max(ky({})*o,Sn(y)))return{fee:k,inputs:L,outputs:n.concat({address:f,value:S})}}return{fee:B,inputs:L,outputs:n}}return{fee:o*CT({feeRate:o,inputs:T,outputs:n})}}var Y0=R(()=>{pf()});var GT=R(()=>{w0();W0();Y0();pf()});import{networks as m5,address as i5}from"@bitgo/utxo-lib";import g5 from"bs58check";function cy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function vy(T){let n=cy(T);return bf(n)&&$f(n)==="mainnet"}function NT(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 VT=R(()=>{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 M0}from"@scure/bip39";import{AssetValue as hf,applyFeeMultiplier as H0,Chain as xy,DerivationPath as s5,derivationPathToString as e5,FeeOption as Yy,NetworkDerivationPath as y2,SwapKitError as My,SwapKitNumber as T2,updateDerivationPath as n2}from"@swapkit/helpers";import{address as f2,initEccLib as P0,Psbt as o2,payments as U0}from"bitcoinjs-lib";import{ECPairFactory as x2}from"ecpair";function R0({inputs:T,outputs:n,chain:x,psbt:y,sender:f,compiledMemo:o}){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:f,G=l.script;if(G&&!o)continue;let N=G?{script:o,value:0}:{address:C,value:l.value};P0(jf),y.addOutput(N)}return{inputs:T,psbt:y}}async function I0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,fetchTxHex:o=!1}){let l=T.chain,C=x?await Xy(x):null,G=await S0({assetValue:T,fetchTxHex:o,memo:x,recipient:n,sender:f}),{inputs:N,outputs:B}=wy({...G,chain:l,feeRate:y});if(!(N&&B))throw new My("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await By(),L=new o2({network:_(l)});if(l===xy.Dogecoin)L.setMaximumFeeRate(650000000);let{psbt:X,inputs:w}=await R0({chain:l,compiledMemo:C,inputs:N,outputs:B,psbt:L,sender:f});return{inputs:w,psbt:X,utxos:G.inputs}}async function D0(){let T=await By();return function({address:x,chain:y}){if(y===xy.BitcoinCash)return vy(x);if(y===xy.Zcash)return NT(x);try{return P0(jf),f2.toOutputScript(x,T(y)),!0}catch{return!1}}}async function l2({chain:T,phrase:n,derivationPath:x}){let y=(await bT(T))({derivationPath:x,phrase:n});async function f(l){return await l.signAllInputs(y),l}function o(){return cf(T)(y)}return{getAddress:o,signTransaction:f}}async function my({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,f=e5("derivationPath"in n&&n.derivationPath?n.derivationPath:n2(y2[T],{index:y})),o=x?await l2({chain:T,derivationPath:f,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let C=await D0(),G=await bT(T);return{accumulative:wy,broadcastTx:(N)=>oy(T).broadcastTx(N),calculateTxSize:CT,createKeysForPath:G,createTransaction:I0,estimateMaxSendableAmount:C2(T),estimateTransactionFee:G2(T),getAddress:l,getAddressFromKeys:cf(T),getBalance:ry(T),getFeeRates:()=>$T(T),getInputsOutputsFee:O0,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:N2(o),validateAddress:(N)=>C({address:N,chain:T})}}async function O0({assetValue:T,feeOptionKey:n=Yy.Fast,feeRate:x,memo:y,sender:f,recipient:o}){let l=T.chain,C=await S0({assetValue:T,memo:y,recipient:o,sender:f}),G=x?Math.floor(x):(await $T(l))[n];return wy({...C,chain:l,feeRate:G})}function C2(T){return async function({from:x,memo:y,feeRate:f,feeOptionKey:o=Yy.Fast,recipients:l=1}){let C=await oy(T).getAddressData(x),G=f?Math.ceil(f):(await $T(T))[o],N=C?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Sn(T),ky(w)*G));if(!N?.length)return hf.from({chain:T});let B=hf.from({chain:T,value:N.reduce((w,J)=>w+J.value,0)}),_=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let w=await Xy(y);_.push({address:x,script:w,value:0})}let X=CT({feeRate:G,inputs:N,outputs:_})*G;return B.sub(X)}}function G2(T){return async(n)=>{let x=await O0(n);return hf.from({chain:T,value:T2.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function bT(T){let n=await By();switch(T){case xy.BitcoinCash:return function({phrase:y,derivationPath:f=`${s5.BCH}/0`,wif:o}){let l=n(T);if(o)return d5.fromWIF(o,l);if(!y)throw new My("toolbox_utxo_invalid_params",{error:"No phrase provided"});return r5.fromSeedBuffer(Buffer.from(M0(y)),l).derivePath(f).keyPair};case xy.Bitcoin:case xy.Dogecoin:case xy.Litecoin:case xy.Zcash:case xy.Dash:return function({phrase:y,wif:f,derivationPath:o}){if(!(f||y))throw new My("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=x2(jf),C=n(T);if(f)return l.fromWIF(f,C);let G=M0(y),N=a5.fromMasterSeed(G,C).derive(o);if(!N.privateKey)throw new My("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(N.privateKey),{network:C})};default:throw new My("toolbox_utxo_not_supported",{chain:T})}}function cf(T){let n=By();return function(y){if(!y)throw new My("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=KT.includes(T)?U0.p2pkh:U0.p2wpkh,{address:o}=f({network:n(T),pubkey:y.publicKey});if(!o)throw new My("toolbox_utxo_invalid_address",{error:"Address not defined"});return o}}function N2(T){return async function({memo:x,recipient:y,feeOptionKey:f,feeRate:o,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new My("toolbox_utxo_no_signer");if(!y)throw new My("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=o||(await $T(G))[f||Yy.Fast],{psbt:B}=await I0({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(B);return _.finalizeAllInputs(),oy(G).broadcastTx(_.extractTransaction().toHex())}}async function $T(T){let n=await oy(T).getSuggestedTxFee();return{[Yy.Average]:n,[Yy.Fast]:H0(n,Yy.Fast),[Yy.Fastest]:H0(n,Yy.Fastest)}}async function S0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:f=!1}){let o=T.chain,l=(await $T(o))[Yy.Fastest],C=f||KT.includes(o),G=T.getBaseValue("number"),N=Math.ceil(G+l*5000);return{inputs:await oy(o).getUtxos({address:y,fetchTxHex:C,targetValue:N}),outputs:[{address:n,value:G},...x?[{address:"",script:await Xy(x),value:0}]:[]]}}var KT;var pT=R(()=>{qT();GT();VT();KT=[xy.Dash,xy.Dogecoin,xy.Zcash,xy.BitcoinCash]});import{address as _2,Transaction as L2,TransactionBuilder as B2}from"@psf/bitcoincashjs-lib";import{Chain as X2,derivationPathToString as w2,FeeOption as Z2,NetworkDerivationPath as J2,SwapKitError as _T,updateDerivationPath as q2}from"@swapkit/helpers";import{Psbt as Q2}from"bitcoinjs-lib";function iy(T){return cy(FT(T))}function W2(T){function n({builder:y,utxos:f}){return f.forEach((o,l)=>{y.sign(l,T,void 0,65,o.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(iy(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=w2("derivationPath"in T&&T.derivationPath?T.derivationPath:q2(J2[Gy],{index:x})),f=n?(await bT(Gy))({derivationPath:y,phrase:n}):void 0,o=f?W2(f):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...B}=await my({chain:Gy});function _(L,X=!0){return C(cy(FT(L)))}return{...B,broadcastTx:N,buildTx:Y2,createTransaction:u0,getAddress:l,getAddressFromKeys:M2,getBalance:_,getFeeRates:G,stripPrefix:cy,stripToCashAddress:iy,transfer:z2({broadcastTx:N,getFeeRates:G,signer:o}),validateAddress:vy}}async function u0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f}){if(!vy(n))throw new _T("toolbox_utxo_invalid_address",{address:n});let o=Math.ceil(T.getBaseValue("number")+y*7500),l=await oy(Gy).getUtxos({address:iy(f),fetchTxHex:!0,targetValue:o}),C=x?await Xy(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:B}=wy({chain:Gy,feeRate:y,inputs:l,outputs:G});if(!(N&&B))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await By(),L=new B2(_(Gy));await Promise.all(N.map(async(X)=>{let w=await oy(Gy).getRawTx(X.hash);L.addInput(L2.fromBuffer(Buffer.from(w,"hex")),X.index)}));for(let X of B){let w="address"in X&&X.address?X.address:lT(f),J=await By(),z=_2.toOutputScript(lT(w),J(Gy));L.addOutput(z,X.value)}if(C)L.addOutput(C,0);return{builder:L,utxos:N}}function z2({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:f,assetValue:o,feeOptionKey:l=Z2.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new _T("toolbox_utxo_no_signer");if(!f)throw new _T("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=C.feeRate||(await n())[l],{builder:B,utxos:_}=await u0({...C,assetValue:o,feeRate:N,recipient:f,sender:G}),X=(await x.signTransaction({builder:B,utxos:_})).toHex();return T(X)}}async function Y2({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,setSigHashType:o}){let l=FT(n);if(!vy(l))throw new _T("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await oy(Gy).getUtxos({address:iy(f),fetchTxHex:!1,targetValue:C}),N=Number(y.toFixed(0)),B=x?await Xy(x):null,_=[];if(_.push({address:lT(n),value:T.getBaseValue("number")}),B)_.push({script:B,value:0});let{inputs:L,outputs:X}=wy({chain:Gy,feeRate:N,inputs:G,outputs:_});if(!(L&&X))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let w=await By(),J=new Q2({network:w(Gy)});for(let{hash:z,index:W,witnessUtxo:U}of L)J.addInput({hash:z,index:W,sighashType:o?65:void 0,witnessUtxo:U});for(let z of X){let W="address"in z&&z.address?z.address:lT(f),U=z.script?B?{script:B,value:0}:void 0:{address:W,value:z.value};if(U)J.addOutput(U)}return{inputs:L,psbt:J,utxos:G}}function M2(T){let n=T.getAddress(0);return iy(n)}var Gy;var un=R(()=>{GT();pT();VT();Gy=X2.BitcoinCash});import{bitgo as H2,crypto as U2,ECPair as v0,networks as P2,address as R2}from"@bitgo/utxo-lib";import{HDKey as E0}from"@scure/bip32";import{mnemonicToSeedSync as F0}from"@scure/bip39";import{Chain as kn,derivationPathToString as I2,FeeOption as D2,NetworkDerivationPath as O2,SKConfig as S2,SwapKitError as vn,updateDerivationPath as u2}from"@swapkit/helpers";import k2 from"bs58check";import{match as v2,P as gf}from"ts-pattern";function t0(){return P2.zcash}function A0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function E2({phrase:T,derivationPath:n}){let x=F0(T),f=E0.fromMasterSeed(x).derive(n);if(!f.privateKey)throw new vn("toolbox_utxo_invalid_params");let o=A0(),l=v0.fromPrivateKey(Buffer.from(f.privateKey),{network:o}),C=U2.hash160(l.publicKey),{isStagenet:G}=S2.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),B=Buffer.concat([N,C]),_=k2.encode(B);return{getAddress:()=>Promise.resolve(_),signTransaction:(L)=>{let X=L.signAllInputs(l);return Promise.resolve(X)}}}function F2({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:f}){for(let o of T){let l=!!o.witnessUtxo&&{witnessUtxo:{...o.witnessUtxo,value:BigInt(o.value)}},C=!o.witnessUtxo&&{nonWitnessUtxo:o.txHex?Buffer.from(o.txHex,"hex"):void 0};x.addInput({hash:o.hash,index:o.index,...l,...C})}for(let o of n){let l="address"in o&&o.address?o.address:y,C=o.script;if(C&&!f)continue;let G=C?{script:f,value:0n}:{script:R2.toOutputScript(l,t0()),value:BigInt(o.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function k0(T){let{assetValue:n,recipient:x,memo:y,feeRate:f,sender:o,fetchTxHex:l}=T,C=y?Xy(y):null,G=await oy(kn.Zcash).getUtxos({address:o,fetchTxHex:l!==!1}),N=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:B,outputs:_}=wy({chain:kn.Zcash,changeAddress:o,feeRate:f,inputs:G,outputs:N});if(!(B&&_))throw new vn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:o});let L=H2.createPsbtForNetwork({network:t0()},{version:455}),w=3268858036,J=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),z=Buffer.allocUnsafe(4);z.writeUInt32LE(w>>>0,0),L.addUnknownKeyValToGlobal({key:J,value:z});let{psbt:W,inputs:U}=await F2({compiledMemo:C,inputs:B,outputs:_,psbt:L,sender:o});return{inputs:U,outputs:_,psbt:W}}async function df(T){let n=await v2(T).with({signer:gf.not(gf.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:gf.string},({phrase:l,derivationPath:C,index:G=0})=>{let N=C||O2[kn.Zcash]||[44,133,0,0,0],B=u2(N,{index:G}),_=I2(B);return E2({derivationPath:_,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await my({chain:kn.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=D2.Fast,...N}){let B=await n?.getAddress();if(!(n&&B))throw new vn("toolbox_utxo_no_signer");let _=N.feeRate||(await x.getFeeRates())[G],{psbt:L}=await k0({...N,assetValue:C,feeRate:_,recipient:l,sender:B}),X=await n.signTransaction(L);return X.finalizeAllInputs(),x.broadcastTx(X.extractTransaction().toHex())}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=F0(l),B=E0.fromMasterSeed(G).derive(C);if(!B.privateKey)throw new vn("toolbox_utxo_invalid_params");let _=A0();return v0.fromPrivateKey(Buffer.from(B.privateKey),{network:_})}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return f({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:f,createTransaction:k0,getPrivateKeyFromMnemonic:o,transfer:y,validateAddress:NT}}var rf=R(()=>{GT();pT();VT()});import{Chain as LT,SwapKitError as t2}from"@swapkit/helpers";async function A2(T,n){switch(T){case LT.BitcoinCash:return await mf(n||{});case LT.Zcash:return await df(n);case LT.Bitcoin:case LT.Dogecoin:case LT.Litecoin:case LT.Dash:return await my({chain:T,...n});default:throw new t2("toolbox_utxo_not_supported",{chain:T})}}var V0=R(()=>{un();pT();rf();un();VT()});var af={};a(af,{validateZcashAddress:()=>NT,toLegacyAddress:()=>lT,toCashAddress:()=>FT,stripToCashAddress:()=>iy,stripPrefix:()=>cy,nonSegwitChains:()=>KT,isValidAddress:()=>bf,getUtxoToolbox:()=>A2,getUtxoNetwork:()=>By,getUtxoApi:()=>oy,getUTXOAddressValidator:()=>D0,getScriptTypeForAddress:()=>tT,getOutputSize:()=>AT,getInputSize:()=>ky,getDustThreshold:()=>Sn,getCreateKeysForPath:()=>bT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>my,createCustomUtxoApi:()=>E5,createBCHToolbox:()=>mf,compileMemo:()=>Xy,calculateTxSize:()=>CT,bchValidateAddress:()=>vy,addressFromKeysGetter:()=>cf,addInputsAndOutputs:()=>R0,accumulative:()=>wy,UtxoNetwork:()=>Kf,UTXOScriptType:()=>On,TX_OVERHEAD:()=>Dn,OutputSizes:()=>In,OP_RETURN_OVERHEAD:()=>z0,MIN_TX_FEE:()=>p5,InputSizes:()=>Rn});var sf=R(()=>{GT();V0();un();pT();rf()});import{KeyPairSigner as V2}from"@near-js/signers";import{derivationPathToString as K2,SwapKitError as b2}from"@swapkit/helpers";async function En(){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-js/crypto"),y=T.index||0,f=T.derivationPath?K2(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:o}=n(T.phrase,f),l=x.fromString(o);return b0(l)}async function ef(T){let{KeyPair:n}=await import("@near-js/crypto"),x=n.fromString(T);return b0(x)}function b0(T){return new K0(T)}async function tn(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 b2("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),o=f.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:o}}var K0;var yo=R(()=>{K0=class K0 extends V2{#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(d.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(d.CONTRACT_CALL);break;case"createAccount":n+=Number(d.ACCOUNT_CREATION);break;case"deployContract":n+=Number(d.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(d.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(d.ACCESS_KEY_DELETION);break;case"stake":n+=Number(d.STAKE);break;default:n+=Number(d.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return d.TOKEN_TRANSFER;if(T==="storage_deposit")return d.STORAGE_DEPOSIT;return d.CONTRACT_CALL}function $2(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function p2(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var d;var No=R(()=>{d={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 _o({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:f}=await import("@near-js/accounts");return new f(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}import{AssetValue as $0,Chain as BT,getChainConfig as p0,getRPCUrl as h2,SwapKitError as yy}from"@swapkit/helpers";async function j2(T){let{P:n,match:x}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),f=await x(T).with({phrase:n.string},async(Z)=>{return await Fn(Z)}).with({signer:n.any},({signer:Z})=>Z).otherwise(()=>{return}),o=await h2(BT.Near),l=new y({url:o});async function C(Z){let{Account:Y}=await import("@near-js/accounts"),H=Z||await G();return new Y(H,l,f)}async function G(){if(!f)throw new yy("toolbox_near_no_signer");return await f.getAddress()}async function N(Z){if(!f)throw new yy("toolbox_near_no_signer");let Y=await B({...Z,sender:await G()});return z(Y)}async function B(Z){let{recipient:Y,assetValue:H,memo:I,attachedDeposit:D,sender:u,functionCall:A}=Z,b=await En();if(!b(Y))throw new yy("toolbox_near_invalid_address",{recipient:Y});if(!b(u))throw new yy("toolbox_near_invalid_address",{signerId:u});if(A)return L({...A,sender:u});if(!H.isGasAsset){let JT=H.address;if(!JT)throw new yy("toolbox_near_missing_contract_address");return L({args:{amount:H.getBaseValue("string"),memo:I||null,receiver_id:Y},attachedDeposit:D||"1",contractId:JT,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:t,nonce:Ty}=await tn(l,u),ny=H.getBaseValue("bigint"),{actionCreators:fy,createTransaction:Jy}=await import("@near-js/transactions"),{baseDecode:gy}=await import("@near-js/utils"),ZT=[fy.transfer(ny)];if(I&&D)ZT.push(fy.functionCall("memo",{memo:I},BigInt("250000000000000"),BigInt(D)));let An=await l.block({finality:"final"}),dy=gy(An.header.hash);return Jy(u,t,Y,Ty+1,ZT,dy)}function _(Z){let Y=Z.encode();return Buffer.from(Y).toString("base64")}async function L(Z){let{sender:Y}=Z,{publicKey:H,nonce:I}=await tn(l,Y),{createTransaction:D,actionCreators:u}=await import("@near-js/transactions"),{baseDecode:A}=await import("@near-js/utils"),b=await l.block({finality:"final"}),t=A(b.header.hash),Ty=[u.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return D(Y,H,Z.contractId,I+1,Ty,t)}async function X(Z){let{actionCreators:Y}=await import("@near-js/transactions");return Y.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function w(Z){if(!f)throw new yy("toolbox_near_no_signer");let[Y,H]=await f.signTransaction(Z);return H}async function J(Z){return(await l.sendTransaction(Z)).transaction.hash}async function z(Z){if(!f)throw new yy("toolbox_near_no_signer");try{let Y=await w(Z);return await J(Y)}catch{return f.signAndSendTransactions?.({transactions:[Z]})}}async function W(Z){if("assetValue"in Z){let D=BigInt("115123062500")+BigInt("108059500000"),u=await U(),A=D*BigInt(u.toString()),{baseDecimal:b}=p0(BT.Near);return $0.from({chain:BT.Near,fromBaseDecimal:b,value:A.toString()})}let Y=f?await C():void 0;return r(Z,Y)}async function U(){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 k(Z,Y,H){if(!f)throw new yy("toolbox_near_no_signer");let I=await C(),{formatNearAmount:D}=await import("@near-js/utils"),{PublicKey:u}=await import("@near-js/crypto"),A=D(H)||"0";return(await I.createAccount(Z,u.fromString(Y),BigInt(A))).transaction.hash}async function S(Z){try{if(!f)throw new yy("toolbox_near_no_signer");let{actionCreators:Y}=await import("@near-js/transactions"),{contractId:H,methodName:I,args:D,deposit:u}=Z,A=await C(),b=await r({args:D||{},contractId:H,methodName:I}),t=Y.functionCall(I,D||{},b.getBaseValue("bigint"),BigInt(u||"1"));return(await A.signAndSendTransaction({actions:[t],receiverId:H})).transaction_outcome.id}catch(Y){throw new yy("toolbox_near_transfer_failed",{error:Y})}}async function v(Z){let Y=await C();return _o({account:Y,changeMethods:Z.changeMethods,contractId:Z.contractId,viewMethods:Z.viewMethods})}async function K(Z){if(!f)throw new yy("toolbox_near_no_signer");if(Z.actions.length===0)throw new yy("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:Z.actions,receiverId:Z.receiverId})).transaction.hash}async function r(Z,Y){let{baseDecimal:H}=p0(BT.Near),I=await x(Z).when(To,()=>d.SIMPLE_TRANSFER).when(no,(A)=>Go(A.methodName)).when(fo,(A)=>Co(A.actions)).when(oo,()=>d.ACCOUNT_CREATION).when(xo,()=>d.CONTRACT_DEPLOYMENT).when(lo,(A)=>{if(!Y)throw new yy("toolbox_near_no_account");return A.customEstimator(Y)}).otherwise(()=>{throw new yy("toolbox_near_invalid_gas_params")}),u=BigInt(I)*BigInt(1000000000000);return $0.from({chain:BT.Near,fromBaseDecimal:H,value:u})}async function Uy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:J,callFunction:S,createAction:X,createContract:v,createContractFunctionCall:L,createSubAccount:k,createTransaction:B,estimateGas:r,estimateTransactionFee:W,executeBatchTransaction:K,getAddress:G,getBalance:ry(BT.Near),getGasPrice:Uy,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(Z)=>Fn(Z),getSignerFromPrivateKey:ef,provider:l,serializeTransaction:_,signAndSendTransaction:z,signTransaction:w,transfer:N,validateAddress:await En()}}var Lo=R(()=>{qT();yo();No()});var h0=R(()=>{Lo()});var Bo={};a(Bo,{tgasToGas:()=>$2,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>En,getNearToolbox:()=>j2,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>Fn,getFullAccessPublicKey:()=>tn,getContractMethodGas:()=>Go,gasToTGas:()=>p2,estimateBatchGas:()=>Co,createNearContract:()=>_o,GAS_COSTS:()=>d});var Xo=R(()=>{yo();No();Lo();h0()});var wo={};a(wo,{radixValidateAddress:()=>c0,RadixToolbox:()=>s2});import{AssetValue as c2,Chain as j0,SKConfig as m2,SwapKitError as i2}from"@swapkit/helpers";function c0(T){return T.startsWith("account_rdx1")&&T.length===66}function g2({networkApi:T}){return async function(x){let y=await d2({address:x,networkApi:T});return r2({networkApi:T,resources:y})}}async function d2({address:T,networkApi:n}){let x=!0,y,f=[],o=await a2(n);while(x){let l={address:T,at_ledger_state:{state_version:o},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(f=f.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return f}async function r2({resources:T,networkApi:n}){let x=[],y=50,f=[];for(let o=0;o<T.length;o+=50)f.push(T.slice(o,o+50));for(let o of f){let l=o.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let B=N.metadata?.items.find((L)=>L.key==="symbol"),_=B?.value.typed.type==="String"?B.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of o)if(N.aggregation_level==="Global"){let B=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=c2.from({asset:B.symbol!==j0.Radix?`${j0.Radix}.${B.symbol}-${N.resource_address}`:"XRD.XRD",value:N.amount});x.push(_)}}return x}function a2(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var s2=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||m2.get("integrations").radix,f=n({...y,networkId:y.network?.networkId||1}),o=x.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:g2({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new i2("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c0}};var Zo=()=>{};var Qo={};a(Qo,{rippleValidateAddress:()=>qo,hashes:()=>CC,getRippleToolbox:()=>lC});import{AssetValue as Jo,Chain as Hy,getChainConfig as m0,getRPCUrl as e2,SwapKitError as Ey,SwapKitNumber as yC}from"@swapkit/helpers";import{Client as TC,isValidAddress as nC,Wallet as fC,xrpToDrops as oC}from"xrpl";import{hashes as CC}from"xrpl";function i0(T){let n=fC.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function qo(T){return nC(T)}var xC,lC=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?i0(T.phrase):void 0,x=await e2(Hy.Ripple);if(!x)throw new Ey({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Hy.Ripple}});let y=new TC(x);await y.connect();let f=()=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},o=async(L)=>{let X=L||await f(),{baseDecimal:w}=m0(Hy.Ripple);try{let z=(await y.request({account:X,command:"account_info"})).result.account_data.Balance;return[Jo.from({chain:Hy.Ripple,fromBaseDecimal:w,value:z})]}catch(J){if(J.data.error_code===xC.ACCOUNT_NOT_FOUND)return[Jo.from({chain:Hy.Ripple,value:0})];throw new Ey("toolbox_ripple_get_balance_error",{info:{address:X,error:J}})}},l=async()=>{let X=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:w}=m0(Hy.Ripple);return Jo.from({chain:Hy.Ripple,fromBaseDecimal:w,value:yC.fromBigInt(BigInt(X),w)})},C=async({assetValue:L,recipient:X,memo:w,sender:J})=>{if(!qo(X))throw new Ey({errorKey:"core_transaction_invalid_recipient_address"});let z=J||await f();if(!L.isGasAsset||L.chain!==Hy.Ripple)throw new Ey({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let W={Account:z,Amount:oC(L.getValue("string")),Destination:X,TransactionType:"Payment"};if(w)W.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(W)},G=(L)=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)},N=async(L)=>{let w=(await y.submitAndWait(L)).result;if(w.validated)return w.hash;throw new Ey({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Hy.Ripple}})};return{broadcastTransaction:N,createSigner:i0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:f,getBalance:o,signer:n,signTransaction:G,transfer:async(L)=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});let X=await n.getAddress(),w=await C({...L,sender:X}),J=await G(w);return N(J.tx_blob)},validateAddress:qo}};var Wo=R(()=>{xC={ACCOUNT_NOT_FOUND:19}});import{AssetValue as GC,Chain as NC,SwapKitNumber as g0}from"@swapkit/helpers";async function _C(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:f}}=y,o=g0.fromBigInt(BigInt(f.toString()),n.decimal).getValue("string");return[n.set(o)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function LC(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let f=y.balance||y.data?.balance;if(!f||f.isEmpty)return[n.set(0)];let o=g0.fromBigInt(BigInt(f.toString()),n.decimal).getValue("string");return[n.set(o)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function d0(T,n){return function(y){let f=GC.from({chain:T});switch(T){case NC.Chainflip:return LC(n,f,y);default:return _C(n,f,y)}}}var r0=()=>{};var BC,XC,wC,Fy;var zo=R(()=>{BC={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},XC={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},wC={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Fy={DOT:BC,FLIP:XC,GENERIC:wC}});import{hexToU8a as ZC,isHex as JC,u8aToHex as qC}from"@polkadot/util";import{decodeAddress as s0,encodeAddress as e0}from"@polkadot/util-crypto";import{AssetValue as QC,Chain as wT,getRPCUrl as WC,SwapKitError as Zy,SwapKitNumber as zC}from"@swapkit/helpers";import{match as YC,P as a0}from"ts-pattern";function MC(T,n){switch(T){case wT.Chainflip:return Tl(n);case wT.Polkadot:return yl(n);default:throw new Zy("toolbox_substrate_not_supported",{chain:T})}}function XT(T){return"address"in T}async function Mo(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 OC(T,n){let x=s0(T);return e0(x,n)}function nl(T,n){return JC(T)?ZC(T):s0(T,void 0,n)}function fl(T,n="ss58",x){if(n==="hex")return qC(T);return e0(T,x)}async function Po({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),o=await WC(n),l=new f(o),C=await y.create({provider:l}),G=QC.from({chain:n}),N=T?Fy.GENERIC:Fy[n],B=await YC(x).with({phrase:a0.string},({phrase:_})=>Mo(_,Fy[n].prefix)).with({signer:a0.any},({signer:_})=>_).otherwise(()=>{return});return ol({api:C,chain:n,gasAsset:G,network:N,signer:B})}var yl=({generic:T=!1,...n}={})=>{return Po({chain:wT.Polkadot,generic:T,...n})},Tl=async({generic:T=!1,...n}={})=>{return{...await Po({chain:wT.Chainflip,generic:T,...n})}},Ho=(T,n)=>T.rpc.system.accountNextIndex(n),Yo=(T,n)=>{try{let x=nl(T,n);return fl(x,"ss58",n),!0}catch{return!1}},Uo=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),HC=async(T,n,{recipient:x,assetValue:y,sender:f})=>{let o=Uo(T,{assetValue:y,recipient:x});if(!o)throw new Zy("toolbox_substrate_transfer_error");let l=XT(n),C=l?n.address:f;if(!C)throw new Zy("core_transaction_invalid_sender_address");let G=await Ho(T,C);return(await o.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},UC=async(T,n,x,{recipient:y,assetValue:f,sender:o})=>{let l=Uo(T,{assetValue:f,recipient:y}),C=XT(n)?n.address:o;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Ho(T,C)})||{partialFee:0};return x.set(zC.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},PC=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},RC=async(T,n)=>{return await n.signAsync(T)},IC=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},DC=async({signer:T,address:n,tx:x,callback:y,api:f})=>{let o=await Ho(f,n);if(y)x.signAndSend(n,{nonce:o,signer:T},y);return x.signAndSend(n,{nonce:o,signer:T}).toString()},ol=({api:T,network:n,gasAsset:x,signer:y,chain:f})=>({api:T,broadcast:PC,convertAddress:OC,createKeyring:(o)=>Mo(o,n.prefix),createTransaction:(o)=>Uo(T,o),decodeAddress:nl,encodeAddress:fl,estimateTransactionFee:(o)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return UC(T,y,x,o)},gasAsset:x,getAddress:(o)=>{let l=o||y;if(!l)throw new Zy("core_wallet_not_keypair_wallet");return XT(l)?l.address:void 0},getBalance:d0(f||wT.Polkadot,T),network:n,sign:(o)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(XT(y))return RC(y,o);throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:o,callback:l,address:C})=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(XT(y))return IC(y,o,l);if(C)return DC({address:C,api:T,callback:l,signer:y,tx:o});throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return HC(T,y,o)},validateAddress:(o)=>Yo(o,n.prefix)}),SC=({address:T,chain:n})=>{let{prefix:x}=n===wT.Polkadot?Fy.DOT:Fy.FLIP;return Yo(T,x)||Yo(T,Fy.GENERIC.prefix)};var xl=R(()=>{r0();zo()});var Ro={};a(Ro,{substrateValidateAddress:()=>SC,isKeyringPair:()=>XT,getSubstrateToolbox:()=>MC,createSubstrateToolbox:()=>Po,createKeyring:()=>Mo,SubstrateNetwork:()=>Fy,PolkadotToolbox:()=>yl,ChainflipToolbox:()=>Tl,BaseSubstrateToolbox:()=>ol});var Io=R(()=>{xl();zo()});import{AssetValue as uC,Chain as E,CosmosChains as Cl,EVMChains as Do,FeeOption as kC,SubstrateChains as vC,SwapKitError as EC,UTXOChains as Gl}from"@swapkit/helpers";async function KL(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (nx(),Tx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (nf(),Tf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Zn(),wn)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (uf(),Sf)),{getSuiAddressValidator:o}=await Promise.resolve().then(() => (Wn(),Qn)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (Mn(),Yn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (Af(),tf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:N}=await Promise.resolve().then(() => (Xo(),Bo)),{radixValidateAddress:B}=await Promise.resolve().then(() => (Zo(),wo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (Wo(),Qo)),{substrateValidateAddress:L}=await Promise.resolve().then(() => (Io(),Ro)),X=await x(),w=await N(),J=await f(),z=await o(),W=await l(),U=await C(),k=await G();return function({address:v,chain:K}){return T(K).with(...Do,()=>n({address:v})).with(...Gl,()=>k({address:v,chain:K})).with(E.Cosmos,E.Kujira,E.Noble,E.Maya,E.THORChain,(Uy)=>{return y(Uy)(v)}).with(E.Chainflip,E.Polkadot,()=>L({address:v,chain:K})).with(E.Radix,()=>B(v)).with(E.Near,()=>w(v)).with(E.Ripple,()=>_(v)).with(E.Solana,()=>J(v)).with(E.Sui,()=>z(v)).with(E.Ton,()=>W(v)).with(E.Tron,()=>U(v)).with(E.Cardano,()=>X(v)).otherwise(()=>!1)}}function bL(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...Do,async(f)=>{let o=await ll(f),l=await o.createTransaction(x);return o.estimateTransactionFee({...l,chain:f,feeOption:x.feeOptionKey||kC.Fast})}).with(E.Bitcoin,E.BitcoinCash,E.Dogecoin,E.Dash,E.Litecoin,E.Polkadot,E.Solana,E.Ripple,E.Tron,E.Near,E.Cardano,async(f)=>{return(await ll(f)).estimateTransactionFee(x)}).with(E.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Wn(),Qn));return(await f()).estimateTransactionFee(x)}).with(E.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Mn(),Yn));return(await f()).estimateTransactionFee()}).with(...Cl,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Zn(),wn));return f(x)}).otherwise(async()=>uC.from({chain:T}))}}async function ll(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...Do,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (en(),so));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(() => (Zn(),wn));return await y(T,n)}).with(...vC,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Io(),Ro));return await y(T,n)}).with(E.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Zo(),wo));return await y(n)}).with(E.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Wo(),Qo));return await y(n)}).with(E.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (uf(),Sf));return await y(n)}).with(E.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Wn(),Qn));return await y(n)}).with(E.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Af(),tf));return await y(n)}).with(E.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (Xo(),Bo));return await y(n)}).with(E.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (nf(),Tf));return await y(n)}).with(E.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (Mn(),Yn));return await y(n)}).otherwise(()=>{throw new EC("toolbox_not_supported",{chain:T})})}export{ll as getToolbox,bL as getFeeEstimator,KL as getAddressValidator};
|
|
1
|
+
var _l=Object.create;var{getPrototypeOf:Ll,defineProperty:Vn,getOwnPropertyNames:Bl}=Object;var Xl=Object.prototype.hasOwnProperty;var q=(T,n,x)=>{x=T!=null?_l(Ll(T)):{};let y=n||!T||!T.__esModule?Vn(x,"default",{value:T,enumerable:!0}):x;for(let f of Bl(T))if(!Xl.call(y,f))Vn(y,f,{get:()=>T[f],enumerable:!0});return y};var a=(T,n)=>{for(var x in n)Vn(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var R=(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 wl,getChainConfig as Zl}from"@swapkit/helpers";import{SwapKitApi as Jl}from"@swapkit/helpers/api";function So(){function T(){let n=Date.now(),x=Kn||n;return Kn=x,n>Kn?n:x+1}return ql+T().toString(36)}function ry(T){return async function(x,y=!0){let f=await Jl.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:o}=Zl(T);return f.map(({identifier:l,value:C,decimal:G})=>{return new wl({decimal:G||o,identifier:l,value:C})})}}var ql,Kn=0;var qT=R(()=>{ql=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as Ql,warnOnce as Wl}from"@swapkit/helpers";function QT(T){let n=Ql.get("apis")[T];if(n)return Wl({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return Yl(T)}function zl(T){return T}function Yl(T){return{getBalance:ry(T)}}var hT=R(()=>{qT()});import{Chain as p,getChainConfig as uo,getRPCUrl as Ml,SwapKitError as Hl}from"@swapkit/helpers";async function ty(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await Ml(T))}function WT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function bn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=uo(T);return()=>T===p.Ethereum?void 0:{...Ul({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function $n(T){return![p.Arbitrum,p.BinanceSmartChain].includes(T)}function Ul({chain:T}){let{baseDecimal:n}=uo(T);switch(T){case p.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case p.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case p.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:n,name:"OKB",symbol:"OKB"}};case p.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case p.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case p.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:p.Polygon}};default:throw new Hl("toolbox_evm_not_supported",{chain:T})}}var ay=()=>{};var ko;var vo=R(()=>{ko=[{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 Pl,applyFeeMultiplierToBigInt as ly,Chain as Ny,EVMChains as Rl,FeeOption as V,isGasAsset as Il,SwapKitError as $,SwapKitNumber as jT}from"@swapkit/helpers";import{erc20ABI as zT}from"@swapkit/helpers/contracts";import{BrowserProvider as Ol,Contract as Eo,getAddress as cT,Interface as Fo}from"ethers";import{match as Dl}from"ts-pattern";function sy({chain:T=Ny.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:El({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:Vl({chain:T,provider:n,signer:x}),createContract:jn({chain:T,provider:n}),createContractTxObject:Ay({chain:T,provider:n}),createTransaction:pn({chain:T,provider:n,signer:x}),createTransferTx:pn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:yT(n),estimateCall:Ko({provider:n,signer:x}),estimateGasLimit:tl({chain:T,provider:n,signer:x}),estimateGasPrices:Vy({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:bo({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:Fl({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(f)=>hn({address:f})}}function hn({address:T}){try{return cT(T),!0}catch{return!1}}function ey(T){return T instanceof Ol}function MT(T,n,x){return new Eo(T,Fo.from(n),x)}function jn({provider:T}){return function(x,y){return new Eo(x,Fo.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&&Sl.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:f,gasPrice:o,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:WT(BigInt(x||0))}])}}function Ao(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 f=T===Ny.BinanceSmartChain&&n==="BNB"&&x==="BNB",o=T===y&&n===y&&x===y,l=kl.includes(T)&&n==="ETH"&&x==="ETH";if(o||f||l)return mn[y];return cT(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function Ay({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:f=[],txOverrides:o})=>MT(n,x,T).getFunction(y).populateTransaction(...f.concat(o).filter((l)=>typeof l<"u"))}function Vy({chain:T,provider:n,isEIP1559Compatible:x=!0}){return Dl(T).with(Ny.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:o}=await n.getFeeData();if(!f||o===null)throw new $("toolbox_evm_no_fee_data");return{[V.Average]:{maxFeePerGas:ly(f,V.Average),maxPriorityFeePerGas:ly(o,V.Average)},[V.Fast]:{maxFeePerGas:ly(f,V.Fast),maxPriorityFeePerGas:ly(o,V.Fast)},[V.Fastest]:{maxFeePerGas:ly(f,V.Fastest),maxPriorityFeePerGas:ly(o,V.Fastest)}}}catch(f){throw new $("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(Ny.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await n.getFeeData();if(!f)throw new $("toolbox_evm_no_fee_data");return{[V.Average]:{gasPrice:f},[V.Fast]:{gasPrice:f},[V.Fastest]:{gasPrice:f}}}catch(f){throw new $("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:o,gasPrice:l}=await n.getFeeData();if(x){if(f===null||o===null)throw new $("toolbox_evm_no_fee_data");return{[V.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:o},[V.Fast]:{maxFeePerGas:ly(f,V.Fast),maxPriorityFeePerGas:ly(o,V.Fast)},[V.Fastest]:{maxFeePerGas:ly(f,V.Fastest),maxPriorityFeePerGas:ly(o,V.Fastest)}}}if(!l)throw new $("toolbox_evm_no_gas_price");return{[V.Average]:{gasPrice:l},[V.Fast]:{gasPrice:ly(l,V.Fast)},[V.Fastest]:{gasPrice:ly(l,V.Fastest)}}}catch(f){throw new $("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function gn({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:o,contractAddress:l,abi:C,funcName:G,funcParams:N=[],txOverrides:B={},feeOption:_=V.Fast}){let L=o||T;if(!l)throw new $("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=cn({abi:C,funcName:G});if(X&&ey(L)&&x){let z=Ay({chain:y,provider:L}),W=B?.from||await x?.getAddress(),U=await z({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...B,from:W}});return yT(L)(U)}let w=MT(l,C,L);if(X){if(!x)throw new $("toolbox_evm_no_signer");let z=B?.from||await x.getAddress();if(!z)throw new $("toolbox_evm_no_signer_address");let W=w.connect(x),U=Vy({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:k,maxPriorityFeePerGas:S,gasPrice:v}=(await U())[_],K=await w.getFunction(G).estimateGas(...N,B),r=await W[G](...N,{...B,gasLimit:K,gasPrice:v,maxFeePerGas:k,maxPriorityFeePerGas:S,nonce:B?.nonce||await L.getTransactionCount(z)});return typeof r?.hash==="string"?r?.hash:r}let J=await w[G]?.(...N);return typeof J?.hash==="string"?J?.hash:J}}function Vo({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:f,from:o}){return gn({chain:n,isEIP1559Compatible:!0,provider:T})({abi:zT,contractAddress:y,funcName:"allowance",funcParams:[o,f]})}}function vl({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:f,from:o,amount:l=YT}){let C=await Vo({chain:n,provider:T})({assetAddress:y,from:o,spenderAddress:f});return jT.fromBigInt(C).gte(jT.fromBigInt(BigInt(l)))}}function El({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:o,spenderAddress:l,feeOptionKey:C=V.Fast,amount:G,gasLimitFallback:N,from:B,nonce:_}){let L=[l,BigInt(G||YT)],X=await T?.getAddress()||B,w={abi:zT,contractAddress:o,funcName:"approve",funcParams:L,signer:T,txOverrides:{from:X}};if(ey(x)){let z=Ay({chain:y,provider:x}),W=yT(x),U=await z(w);return W(U)}return gn({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:L,txOverrides:{from:X,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function Fl({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:f,memo:o,recipient:l,feeOptionKey:C=V.Fast,sender:G,...N}){let{hexlify:B,toUtf8Bytes:_}=await import("ethers"),L=f.getBaseValue("bigint"),X=f.chain,w=G||await T?.getAddress(),J=bo({chain:X,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new $("toolbox_evm_no_from_address");if(f.isGasAsset){let v={...N,data:B(_(o||"")),feeOptionKey:C,from:w,to:l,value:L};return J(v)}if(!TT(f,X))throw new $("toolbox_evm_no_contract_address");let{maxFeePerGas:W,maxPriorityFeePerGas:U,gasPrice:k}=(await Vy({chain:X,isEIP1559Compatible:n,provider:x})())[C],S=await pn({chain:X,provider:x,signer:T})({assetValue:f,data:B(_(o||"")),gasPrice:k,maxFeePerGas:W,maxPriorityFeePerGas:U,memo:o,recipient:l,sender:w});return J(S)}}function Ko({provider:T,signer:n}){return function({contractAddress:y,abi:f,funcName:o,funcParams:l=[],txOverrides:C}){if(!y)throw new $("toolbox_evm_no_contract_address");let G=MT(y,f,T);return n?G.connect(n).getFunction(o).estimateGas(...l,C):G.getFunction(o).estimateGas(...l,C)}}function tl({provider:T,signer:n}){return async function({assetValue:y,recipient:f,memo:o,data:l,sender:C,funcName:G,funcParams:N,txOverrides:B}){let _=y.bigIntValue,L=y.isGasAsset?null:TT(y,y.chain);if(L&&G)return Ko({provider:T,signer:n})({abi:zT,contractAddress:L,funcName:G,funcParams:N,txOverrides:B});let{hexlify:X,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:o?X(w(o)):void 0,from:C,to:f,value:_})}}function bo({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:o=V.Fast,...l}){let{from:C,to:G,data:N,value:B,..._}=l;if(!n)throw new $("toolbox_evm_no_signer");if(!G)throw new $("toolbox_evm_no_to_address");let L={..._,data:N||"0x",from:C,to:G,value:BigInt(B||0)};if(ey(T))return yT(T)(L);let X=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(X),J=(await T.getNetwork()).chainId,z=Al(L)||x,W=Vy({chain:y,isEIP1559Compatible:x,provider:T}),U=z&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await W())[o]).reduce((S,[v,K])=>({...S,[v]:WT(BigInt(K))}),{}):{},k;try{k=WT(L.gasLimit||await T.estimateGas(L)*11n/10n)}catch(S){throw new $("toolbox_evm_error_estimating_gas_limit",{error:S})}try{let S={...L,chainId:J,gasLimit:k,nonce:w,type:z?2:0,...U};try{return(await n.sendTransaction(S)).hash}catch{let v=await n.signTransaction({...S,from:X});return(await T.broadcastTransaction(v)).hash}}catch(S){throw new $("toolbox_evm_error_sending_transaction",{error:S})}}}function pn({provider:T,signer:n}){return async function({assetValue:y,memo:f,recipient:o,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:B,..._}){let L=y.getBaseValue("bigint"),X=y.chain,w=C||await n?.getAddress();if(!w)throw new $("toolbox_evm_no_from_address");if(Il(y)){let{hexlify:W,toUtf8Bytes:U}=await import("ethers");return{..._,data:l||W(U(f||"")),from:w,to:o,value:L}}let J=TT(y,X);if(!J)throw new $("toolbox_evm_no_contract_address");return Ay({chain:y.chain,provider:T})({abi:zT,contractAddress:J,funcName:"transfer",funcParams:[o,L],txOverrides:{from:w,gasPrice:B,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function Vl({provider:T,signer:n,chain:x}){return async function({assetAddress:f,spenderAddress:o,amount:l,from:C}){let G=await n?.getAddress()||C,N=Ay({chain:x,provider:T}),B=["bigint","number"].includes(typeof l)?l:l||YT;return await N({abi:zT,contractAddress:f,funcName:"approve",funcParams:[o,BigInt(B)],txOverrides:{from:G}})}}function Kl({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=V.Fast,chain:f,...o}){let C=await Vy({chain:f,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(o),N=Pl.from({chain:f}),{gasPrice:B,maxFeePerGas:_,maxPriorityFeePerGas:L}=C[y];if(!n&&B)return N.set(jT.fromBigInt(B*G,N.decimal));if(_&&L){let X=(_+L)*G;return N.set(jT.fromBigInt(X,N.decimal))}throw new $("toolbox_evm_no_gas_price")}}var YT,Sl,ul,mn,kl,Al=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var mT=R(()=>{ay();YT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Sl=["payable","nonpayable"];ul=Rl.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),mn={...ul,[Ny.Optimism]:"0x4200000000000000000000000000000000000042",[Ny.Polygon]:"0x0000000000000000000000000000000000001010"},kl=[Ny.Arbitrum,Ny.Aurora,Ny.Base,Ny.Optimism]});import{Chain as j,FeeOption as bl,getRPCUrl as $l}from"@swapkit/helpers";import{match as pl,P as $o}from"ts-pattern";async function iT({provider:T,...n}){let x=await c(j.Ethereum)({provider:T,...n});async function y(f,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=bl.Fast){let G=await x.createContractTxObject({abi:ko,contractAddress:o,funcName:l,funcParams:[f]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function c(T){return async function({provider:x,...y}){let{HDNodeWallet:f}=await import("ethers"),o=await $l(T),l=x||await ty(T,o),C=$n(T),G=pl(y).with({phrase:$o.string},({phrase:B})=>f.fromPhrase(B).connect(l)).with({signer:$o.any},({signer:B})=>B).otherwise(()=>{return});return{...sy({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:QT(T).getBalance,getNetworkParams:bn(T)}}}var gT,dT,rT,aT,sT,eT,po,yn,Tn,nn,fn,on,xn,HT,ln,Cn;var dn=R(()=>{hT();vo();ay();mT();gT=c(j.Arbitrum),dT=c(j.Aurora),rT=c(j.Avalanche),aT=c(j.Base),sT=c(j.Berachain),eT=c(j.BinanceSmartChain),po=c(j.Botanix),yn=c(j.Core),Tn=c(j.Corn),nn=c(j.Cronos),fn=c(j.Gnosis),on=c(j.Hyperevm),xn=c(j.Polygon),HT=c(j.Sonic),ln=c(j.Unichain),Cn=c(j.XLayer)});var ho;var jo=R(()=>{ho=[{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 jl,getRPCUrl as cl,SwapKitError as rn}from"@swapkit/helpers";import{Contract as ml,HDNodeWallet as il}from"ethers";import{match as gl,P as co}from"ts-pattern";function an(T){return new ml(dl,ho,T)}function mo(T){return async function(){let x=an(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function io(T){return async function({from:x,to:y,nonce:f,...o}){let{Transaction:l}=await import("ethers");if(!y)throw new rn("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...o,authorizationList:o.authorizationList,nonce:f?f:x?await T.getTransactionCount(x):0,to:y}).serialized}}function go(T){return async function(x){let y=an(T),f=await io(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function ro(T){return async function(x){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(x);return y.mul(f)}}function rl(T){return async function(x){let y=await go(T)(x),f=await ro(T)(x);return y.add(f)}}function al(T){return async function(x){let y=an(T),f=await io(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}function sl(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:f}=jl(Gn.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:Gn.Ethereum},rpcUrls:f}}async function el(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),f=await mo(T)(),o=y;if(!(n&&x))throw new rn("toolbox_evm_no_fee_data");return{[qy.Average]:{gasPrice:o,l1GasPrice:f,maxFeePerGas:n,maxPriorityFeePerGas:x},[qy.Fast]:{gasPrice:nT(o,qy.Fast),l1GasPrice:nT(f||0n,qy.Fast),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,qy.Fast)},[qy.Fastest]:{gasPrice:nT(o,qy.Fastest),l1GasPrice:nT(f||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 Nn({provider:T,...n}){let x=Gn.Optimism,y=await cl(x),f=T||await ty(x,y),o=gl(n).with({phrase:co.string},({phrase:G})=>il.fromPhrase(G).connect(f)).with({signer:co.any},({signer:G})=>G).otherwise(()=>{return}),l=sy({provider:f,signer:o}),C=mo(f);return{...l,estimateGasPrices:el(f),estimateL1Gas:al(f),estimateL1GasCost:go(f),estimateL2GasCost:ro(f),estimateTotalGasCost:rl(f),getBalance:QT(Gn.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:sl}}var dl="0x420000000000000000000000000000000000000f";var sn=R(()=>{hT();jo();ay();mT()});var so={};a(so,{toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getEvmToolbox:()=>ao,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Ay,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ao,evmValidateAddress:()=>hn,createContract:()=>MT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>HT,OPToolbox:()=>Nn,MAX_APPROVAL:()=>YT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});import{Chain as h}from"@swapkit/helpers";import{match as y1}from"ts-pattern";async function ao(T,n){let x={...n,provider:n?.provider||await ty(T)};return y1(T).returnType().with(h.Arbitrum,()=>gT(x)).with(h.Aurora,()=>dT(x)).with(h.Avalanche,()=>rT(x)).with(h.Base,()=>aT(x)).with(h.Berachain,()=>sT(x)).with(h.BinanceSmartChain,()=>eT(x)).with(h.Botanix,()=>HT(x)).with(h.Core,()=>yn(x)).with(h.Corn,()=>Tn(x)).with(h.Cronos,()=>nn(x)).with(h.Ethereum,()=>iT(x)).with(h.Gnosis,()=>fn(x)).with(h.Hyperevm,()=>on(x)).with(h.Optimism,()=>Nn(x)).with(h.Polygon,()=>xn(x)).with(h.Sonic,()=>HT(x)).with(h.Unichain,()=>ln(x)).with(h.XLayer,()=>Cn(x)).exhaustive()}var en=R(()=>{ay();dn();sn();mT();dn();sn()});var eo;var yx=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(eo||={})});var Tx={};a(Tx,{toHexString:()=>WT,toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>ty,getNetworkParams:()=>bn,getIsEIP1559Compatible:()=>$n,getEvmToolbox:()=>ao,getEvmApi:()=>QT,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Ay,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ao,evmValidateAddress:()=>hn,createCustomEvmApi:()=>zl,createContract:()=>MT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>HT,OPToolbox:()=>Nn,MAX_APPROVAL:()=>YT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,EthNetwork:()=>eo,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});var nx=R(()=>{hT();ay();en();yx()});import{AssetValue as PT,Chain as fT,getChainConfig as T1,SwapKitError as UT}from"@swapkit/helpers";import{match as n1,P as fx}from"ts-pattern";async function yf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function o1(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 f=await y.getBalance(),o=[];for(let l of f)if(l.unit===f1){let{baseDecimal:C}=T1(fT.Cardano);o.push(PT.from({chain:fT.Cardano,fromBaseDecimal:C,value:l.quantity}))}else o.push(PT.from({asset:`${fT.Cardano}.${l.unit}`,value:l.quantity}));if(o.length===0)return[PT.from({chain:fT.Cardano})];return o}catch(n){return console.error("Cardano balance fetch error:",n),[PT.from({chain:fT.Cardano})]}}async function ox(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function x1(T){let n=await ox(),x=await n1(T).with({phrase:fx.string},async({phrase:B})=>{let{MeshWallet:_}=await import("@meshsdk/core"),L=await yf(),X=new _({fetcher:L,key:{type:"mnemonic",words:B.split(" ")},networkId:1,submitter:L});return await X.init(),X}).with({signer:fx.any},({signer:B})=>B).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function f(){return y||""}function o(B){let _=B||f();if(!_)throw new UT("core_wallet_connection_not_found");return o1(_)}function l(){return Promise.resolve(PT.from({chain:fT.Cardano,value:"0.01"}))}async function C({recipient:B,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new UT("core_wallet_connection_not_found");let{Transaction:X}=await import("@meshsdk/core"),[,w]=_.symbol.split("-");if(!_.isGasAsset&&!w)throw new UT("core_wallet_connection_not_found");let J=new X({initiator:x});if(J.sendAssets({address:B},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),L)J.setMetadata(0,L);let z=await J.build();return{tx:J,unsignedTx:z}}function G(B){if(!x||!("getChangeAddress"in x))throw new UT("core_wallet_connection_not_found");return x.signTx(B)}async function N({recipient:B,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new UT("core_wallet_connection_not_found");let{unsignedTx:X}=await C({assetValue:_,memo:L,recipient:B}),w=await G(X);return await(await yf()).submitTx(w)}return{createTransaction:C,estimateTransactionFee:l,getAddress:f,getBalance:o,signTransaction:G,transfer:N,validateAddress:n}}var f1="lovelace";var xx=()=>{};var Tf={};a(Tf,{getCardanoToolbox:()=>x1,getCardanoAddressValidator:()=>ox});var nf=R(()=>{xx()});import{base64 as lx,bech32 as _n}from"@scure/base";import{SwapKitError as l1}from"@swapkit/helpers";import{fromByteArray as C1,toByteArray as G1}from"base64-js";function RT(T){return lx.encode(Uint8Array.from(_n.fromWords(_n.decode(T).words)))}function IT(T,n="thor"){return _n.encode(n,_n.toWords(lx.decode(T)))}function N1(T){return C1(T)}function _1(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new l1("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return G1(T)}var ff=()=>{};import{AssetValue as of,Chain as F,getChainConfig as _y,getRPCUrl as L1,SwapKitError as Cx}from"@swapkit/helpers";function Qy(T){switch(T){case F.Maya:return{amount:[],gas:"10000000000"};case F.THORChain:return{amount:[],gas:"500000000"};case F.Kujira:return _x;case F.Noble:return Lx;default:return Nx}}async function Wy(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 DT(T,n,x={}){let y=await import("@cosmjs/stargate"),f=y.SigningStargateClient??y.default?.SigningStargateClient,o=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return f.connectWithSigner(T,n,{gasPrice:o.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:f,sequence:o,accountNumber:l}){let{chain:C,chainId:G}=x,N=await L1(C),_=await(await Wy(N)).getAccount(T);if(!_)throw new Cx("toolbox_cosmos_account_not_found",{sender:T});let L=of.from({chain:C}),X=Py(L.symbol),w=Qy(C),J=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:w.gas}:w,z={amount:[{amount:x.getBaseValue("string"),denom:Py(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??_.accountNumber,chainId:G,fee:J,memo:y,msgs:[{typeUrl:B1(C),value:z}],sequence:o??_.sequence}}var xf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Gx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Nx,_x,Lx,Py=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return xf;case"uYUM":case"YUM":return Gx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},OT=({symbol:T,chain:n})=>{if(n===F.Maya)return(T.toUpperCase()!=="CACAO"?T:`${F.Maya}.${T}`).toUpperCase();if(n===F.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${F.THORChain}.${T}`:T).toUpperCase();return Py(T,!1)},B1=(T)=>{switch(T){case F.Maya:case F.THORChain:return"/types.MsgSend";case F.Cosmos:case F.Kujira:case F.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Cx("toolbox_cosmos_not_supported",{chain:T})}},X1,Gf=(T,n)=>{let x=X1[T.toLowerCase()];if(!x)return of.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:f,decimals:o}=x,l=y?{chain:y}:{asset:f};return of.from({...l,fromBaseDecimal:o,value:n})};var ST=R(()=>{Nx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},_x={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Lx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};X1={atom:{chain:F.Cosmos,decimals:_y(F.Cosmos).baseDecimal},cacao:{chain:F.Maya,decimals:10},kuji:{chain:F.Kujira,decimals:_y(F.Kujira).baseDecimal},maya:{asset:`${F.Maya}.${F.Maya}`,decimals:4},rune:{chain:F.THORChain,decimals:_y(F.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:_y(F.THORChain).baseDecimal},uatom:{chain:F.Cosmos,decimals:_y(F.Cosmos).baseDecimal},ukuji:{chain:F.Kujira,decimals:_y(F.Kujira).baseDecimal},usdc:{chain:F.Noble,decimals:_y(F.Noble).baseDecimal},uusdc:{chain:F.Noble,decimals:_y(F.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:_y(F.THORChain).baseDecimal},[xf.toLowerCase()]:{asset:`${F.Kujira}.USK`,decimals:_y(F.Kujira).baseDecimal}}});var Bx={};a(Bx,{$root:()=>M});import i from"protobufjs/minimal.js";var D,Cy,P,M;var Xx=R(()=>{D=i.Reader,Cy=i.Writer,P=i.util,M=i.roots.default||(i.roots.default={});M.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}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,f){if(!f)f=Cy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))f.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))f.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))f.uint32(32).bool(y.synth);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Asset;while(y.pos<o){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 D))y=new D(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(!P.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!P.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!P.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 M.common.Asset)return y;let f=new M.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.chain="",o.symbol="",o.ticker="",o.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))o.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))o.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))o.synth=y.synth;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=P.Long?P.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))M.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Coin;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.asset=M.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 D))y=new D(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 f=M.common.Asset.verify(y.asset);if(f)return"asset."+f}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!P.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!P.isInteger(y.decimals)&&!(y.decimals&&P.isInteger(y.decimals.low)&&P.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Coin)return y;let f=new M.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=M.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(P.Long)(f.decimals=P.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)if(o.asset=null,o.amount="",P.Long){let l=new P.Long(0,0,!1);o.decimals=f.longs===String?l.toString():f.longs===Number?l.toNumber():l}else o.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))o.asset=M.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))o.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")o.decimals=f.longs===String?String(y.decimals):y.decimals;else o.decimals=f.longs===String?P.Long.prototype.toString.call(y.decimals):f.longs===Number?new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))f.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))f.uint32(18).string(y.ed25519);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.PubKeySet;while(y.pos<o){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 D))y=new D(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(!P.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!P.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.PubKeySet)return y;let f=new M.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.secp256k1="",o.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))o.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))o.ed25519=y.ed25519;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=P.emptyArray,n.prototype.gas=P.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))f.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(34).string(y.toAddress);if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let o=0;o<y.gas.length;++o)M.common.Coin.encode(y.gas[o],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Tx;while(y.pos<o){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(M.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(M.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 D))y=new D(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(!P.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!P.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!P.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!P.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 f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let o=M.common.Coin.verify(y.gas[f]);if(o)return"gas."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Tx)return y;let f=new M.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let o=0;o<y.gas.length;++o){if(typeof y.gas[o]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[o]=M.common.Coin.fromObject(y.gas[o])}}if(y.memo!=null)f.memo=String(y.memo);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[],o.gas=[];if(f.defaults)o.id="",o.chain="",o.fromAddress="",o.toAddress="",o.memo="";if(y.id!=null&&y.hasOwnProperty("id"))o.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=y.toAddress;if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.gas?.length){o.gas=[];for(let l=0;l<y.gas.length;++l)o.gas[l]=M.common.Coin.toObject(y.gas[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=P.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Fee;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.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 D))y=new D(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 f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!P.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Fee)return y;let f=new M.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults)o.poolDeduct="";if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))o.poolDeduct=y.poolDeduct;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))f.uint32(10).string(y.value);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.ProtoUint;while(y.pos<o){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 D))y=new D(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(!P.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.ProtoUint)return y;let f=new M.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.value="";if(y.value!=null&&y.hasOwnProperty("value"))o.value=y.value;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();M.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=P.emptyArray,n.prototype.memo="",n.prototype.signer=P.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgDeposit;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.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 D))y=new D(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 f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||P.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof M.types.MsgDeposit)return y;let f=new M.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")P.base64.decode(y.signer,f.signer=P.newBuffer(P.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults){if(o.memo="",f.bytes===String)o.signer="";else if(o.signer=[],f.bytes!==Array)o.signer=P.newBuffer(o.signer)}if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))o.signer=f.bytes===String?P.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.fromAddress=P.newBuffer([]),n.prototype.toAddress=P.newBuffer([]),n.prototype.amount=P.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Cy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let o=0;o<y.amount.length;++o)M.cosmos.base.v1beta1.Coin.encode(y.amount[o],f.uint32(26).fork()).ldelim();return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof D))y=D.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgSend;while(y.pos<o){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(M.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(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"||P.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||P.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 f=0;f<y.amount.length;++f){let o=M.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(o)return"amount."+o}}return null},n.fromObject=function(y){if(y instanceof M.types.MsgSend)return y;let f=new M.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")P.base64.decode(y.fromAddress,f.fromAddress=P.newBuffer(P.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")P.base64.decode(y.toAddress,f.toAddress=P.newBuffer(P.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let o=0;o<y.amount.length;++o){if(typeof y.amount[o]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[o]=M.cosmos.base.v1beta1.Coin.fromObject(y.amount[o])}}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.amount=[];if(f.defaults){if(f.bytes===String)o.fromAddress="";else if(o.fromAddress=[],f.bytes!==Array)o.fromAddress=P.newBuffer(o.fromAddress);if(f.bytes===String)o.toAddress="";else if(o.toAddress=[],f.bytes!==Array)o.toAddress=P.newBuffer(o.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=f.bytes===String?P.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=f.bytes===String?P.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){o.amount=[];for(let l=0;l<y.amount.length;++l)o.amount[l]=M.cosmos.base.v1beta1.Coin.toObject(y.amount[l],f)}return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();M.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))l.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))l.uint32(18).string(o.amount);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof D))o=D.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.Coin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof D))o=new D(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.Coin)return o;let l=new M.cosmos.base.v1beta1.Coin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))l.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))l.uint32(18).string(o.amount);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof D))o=D.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.DecCoin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof D))o=new D(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecCoin)return o;let l=new M.cosmos.base.v1beta1.DecCoin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.int="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.int!=null&&Object.hasOwnProperty.call(o,"int"))l.uint32(10).string(o.int);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof D))o=D.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.IntProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.int=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof D))o=new D(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.int!=null&&o.hasOwnProperty("int")){if(!P.isString(o.int))return"int: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.IntProto)return o;let l=new M.cosmos.base.v1beta1.IntProto;if(o.int!=null)l.int=String(o.int);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(o.int!=null&&o.hasOwnProperty("int"))C.int=o.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.dec="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Cy.create();if(o.dec!=null&&Object.hasOwnProperty.call(o,"dec"))l.uint32(10).string(o.dec);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof D))o=D.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.DecProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.dec=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof D))o=new D(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.dec!=null&&o.hasOwnProperty("dec")){if(!P.isString(o.dec))return"dec: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecProto)return o;let l=new M.cosmos.base.v1beta1.DecProto;if(o.dec!=null)l.dec=String(o.dec);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(o.dec!=null&&o.hasOwnProperty("dec"))C.dec=o.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x})(),n})(),T})()});import{Chain as w1}from"@swapkit/helpers";async function Ky(){let{$root:T}=await Promise.resolve().then(() => (Xx(),Bx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),f=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...f,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Ry(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:f,...o})=>({...o,signer:RT(f)}),toAmino:({signer:f,...o})=>({...o,signer:IT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:o,...l})=>({...l,fromAddress:RT(f),toAddress:RT(o)}),toAmino:({fromAddress:f,toAddress:o,...l})=>({...l,from_address:IT(f),to_address:IT(o)})}})}var Nf=R(()=>{ff()});import{AssetValue as Z1,Chain as Ln,getChainConfig as wx,SwapKitError as J1}from"@swapkit/helpers";function Bf(T){return function(x){let{assetValue:y,recipient:f,memo:o,sender:l,asSignable:C,asAminoMessage:G}=x;if(f)return Jx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,recipient:f,sender:l});return qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,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(),f=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:f,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function uT({chain:T,memo:n,msgs:x}){let y=await Ky(),f=await Ry(T),o={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>f.fromAmino(l))}};return y.encode(o)}var q1,Q1,_f=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===Ln.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:Py(x.symbol,!0)}],from_address:T,to_address:n}}},Lf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===Ln.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:OT(n)}],memo:x,signer:T}}},Bn=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Lf({assetValue:x,memo:y,sender:T}):_f({assetValue:x,recipient:n,sender:T})},Iy=async(T,n)=>{return(await Ry(n)).fromAmino(T)},Zx=async({rpcUrl:T,sender:n})=>{let y=await(await Wy(T)).getAccount(n);if(!y)throw new J1("toolbox_cosmos_account_not_found",{sender:n});return y},Jx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:f="",asSignable:o=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await Zx({rpcUrl:T,sender:n}),B=y.chain,{chainId:_}=wx(B),L=_f({assetValue:y,recipient:x,sender:n}),X=o?await Iy(l?L:Oy(L),B):L;return{accountNumber:G||N.accountNumber,chainId:_,fee:Qy(B),memo:f,msgs:[X],sequence:C||N.sequence}},qx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:f=!0,asAminoMessage:o=!1,sequence:l,accountNumber:C})=>{let G=await Zx({rpcUrl:T,sender:n}),N=x.chain,{chainId:B}=wx(N),_=Lf({assetValue:x,memo:y,sender:n}),L=f?await Iy(o?_:Oy(_),N):_;return{accountNumber:C||G.accountNumber,chainId:B,fee:Qy(N),memo:y,msgs:[L],sequence:l||G.sequence}};var Qx=R(()=>{ST();Nf();q1=Qy(Ln.THORChain).gas,Q1=Qy(Ln.Maya).gas});var Wx=()=>{};var zx=R(()=>{Wx()});var Xf=R(()=>{ff();Qx();Nf();zx()});import{base64 as Jf,bech32 as wf}from"@scure/base";import{AssetValue as qf,applyFeeMultiplier as Yx,Chain as s,CosmosChainPrefixes as Ix,DerivationPath as W1,derivationPathToString as Mx,FeeOption as Qf,getChainConfig as z1,getRPCUrl as Y1,NetworkDerivationPath as M1,SwapKitError as Wf,SwapKitNumber as Zf,updateDerivationPath as H1}from"@swapkit/helpers";import{SwapKitApi as Ox}from"@swapkit/helpers/api";import{match as U1,P as Hx}from"ts-pattern";async function Yf(T,n){try{let y=(await Ox.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function zf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),f=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,o=await import("@cosmjs/crypto"),l=o.stringToPath??o.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${W1[x.chain]}/${x.index}`;return f.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function P1({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function Dx(T){return async function({signature:x,message:y,address:f}){let o=await T(f);if(!o?.pubkey)throw new Wf("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,N=C.fromFixedLength(Jf.decode(x));return G.verifySignature(N,Jf.decode(y),o.pubkey.value)}}async function kT({chain:T,...n}){let x=await Y1(T),y=Ix[T],f="index"in n?n.index||0:0,o=Mx("derivationPath"in n&&n.derivationPath?n.derivationPath:H1(M1[T],{index:f})),l=await U1(n).with({phrase:Hx.string},({phrase:_})=>zf({derivationPath:o,phrase:_,prefix:y})).with({signer:Hx.any},({signer:_})=>_).otherwise(()=>{return});async function C(_){return(await Wy(x)).getAccount(_)}async function G(){let[_]=await l?.getAccounts()||[];return _?.address}async function N(){let[_]=await l?.getAccounts()||[];if(!_?.pubkey)throw new Wf("toolbox_cosmos_signer_not_defined");return Jf.encode(_?.pubkey)}async function B({recipient:_,assetValue:L,memo:X="",feeRate:w,feeOptionKey:J=Qf.Fast}){let z=await G();if(!(l&&z))throw new Wf("toolbox_cosmos_signer_not_defined");let W=qf.from({chain:T}),U=OT(W),k=w||O1((await Px(T,Ux[T]))[J],U),S=await DT(x,l),v=[{amount:L.getBaseValue("string"),denom:Py(`u${L.symbol}`).toLowerCase()}],{transactionHash:K}=await S.sendTokens(z,_,v,k,X);return K}return{createPrivateKeyFromPhrase:S1(o),createTransaction:Cf,fetchFeeRateFromSwapKit:Yf,getAccount:C,getAddress:G,getBalance:async(_,L)=>{let X=await Rx(x)(_),w=await Promise.all(X.filter(({denom:J})=>J&&!J.includes("IBC/")).map(({denom:J,amount:z})=>{let W=[s.THORChain,s.Maya].includes(T)&&(J.includes("/")||J.includes("˜"))?`${T}.${J}`:J;return Gf(W,z)}));if(w.length===0)return[qf.from({chain:T})];return w},getBalanceAsDenoms:Rx(x),getFees:()=>Px(T,Ux[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:L})=>zf({derivationPath:Mx(L),index:f,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:B,validateAddress:Sx(T),verifySignature:Dx(C)}}async function R1(T,n){try{let y=(await Ox.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function I1({assetValue:{chain:T}}){return qf.from({chain:T,value:D1(T)})}async function Px(T,n){let{chainId:x,baseDecimal:y}=z1(T),f=await Yf(x,n);return{average:Zf.fromBigInt(BigInt(f),y),fast:Zf.fromBigInt(BigInt(Yx(f,Qf.Fast,!0)),y),fastest:Zf.fromBigInt(BigInt(Yx(f,Qf.Fastest,!0)),y)}}function O1(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function D1(T){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}[T]||0}function Sx(T){let n=Ix[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:f,words:o}=wf.decode(y);return wf.encode(f,o)===y.toLocaleLowerCase()}catch{return!1}}}function Rx(T){return async function(x){return(await(await Wy(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"),f=y.stringToPath??y.default?.stringToPath,o=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),B=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(o.Secp256k1,B,f(T));return _}}var Ux;var Xn=R(()=>{ST();Ux={[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 u1,CosmosChainPrefixes as k1,derivationPathToString as v1,FeeOption as Mf,getChainConfig as ux,getRPCUrl as E1,NetworkDerivationPath as F1,RequestClient as t1,SKConfig as A1,SwapKitError as kx,SwapKitNumber as vx,updateDerivationPath as V1}from"@swapkit/helpers";import{match as K1,P as Ex}from"ts-pattern";function b1({prefix:T,derivationPath:n}){return async function(y,f=0){let o=await import("@cosmjs/amino"),l=o.Secp256k1HdWallet??o.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${f}`)],prefix:T})}}function $1(T){return by.encode(T)}function p1(T){return async function({wallet:x,tx:y}){let{msgs:f,accountNumber:o,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,B=(await x.getAccounts())?.[0]?.address||"",_=await Ry(T),L=await Ky(),X=await lf(x,{aminoTypes:_,registry:L}),w=[];for(let W of f){let U=await Iy(W,T);w.push(U)}let{signatures:[J]}=await X.sign(B,w,G,N,{accountNumber:o,chainId:C,sequence:l});return{bodyBytes:await uT({chain:T,memo:N,msgs:f.map(Oy)}),signature:$1(J)}}}function h1({prefix:T,rpcUrl:n}){return async function(y,f,o,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:L}=JSON.parse(y),X=await Fx(o,l),w=f.map((W)=>[N(G(by.decode(W.pubKey)),T),by.decode(W.signature)]),J=await Wy(n),{transactionHash:z}=await J.broadcastTx(B(X,_,L,C,new Map(w)));return z}}async function Fx(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((o)=>f(by.decode(o))),n,x)}function j1(T){return by.decode(T)}async function c1({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(by.decode(n),T);return by.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Hf({chain:T,...n}){let x=await E1(T),{nodeUrl:y}=ux(T),{isStagenet:f}=A1.get("envs"),o=T===u1.THORChain,l=`${f?"s":""}${k1[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:V1(F1[T],{index:C}),N=await kT({chain:T,...n}),B=await K1(n).with({phrase:Ex.string},({phrase:w})=>N.getSignerFromPhrase({derivationPath:G,phrase:w})).with({signer:Ex.any},({signer:w})=>w).otherwise(()=>{return}),_=Qy(T);async function L(){let w,J=`${y}/${o?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:z}}=await t1.get(J);if(!z||Number.isNaN(z)||z<0)throw new kx("toolbox_cosmos_invalid_fee",{nativeFee:z.toString()});w=new vx(z)}catch{w=new vx({decimal:ux(T).baseDecimal,value:o?0.02:1})}return{[Mf.Average]:w,[Mf.Fast]:w,[Mf.Fastest]:w}}async function X({assetValue:w,memo:J="",recipient:z}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),U=(await B?.getAccounts())?.[0]?.address;if(!(U&&B))throw new kx("toolbox_cosmos_no_signer");let k="signAmino"in B,S=await Ky(),v=await Ry(T),K=await DT(x,B,{aminoTypes:v,registry:S}),r=Bn({assetValue:w,memo:J,recipient:z,sender:U});if(k){let H=await Iy(r,T),{signatures:I,authInfoBytes:O}=await K.sign(U,[H],_,J),u=W.encode({authInfoBytes:O,bodyBytes:await uT({chain:T,memo:J,msgs:[r].map(Oy)}),signatures:I}).finish();return(await K.broadcastTx(u)).transactionHash}let Uy=Oy(r),Z=await Iy(Uy,T);return(await K.signAndBroadcast(U,[Z],_,J)).transactionHash}return{...N,broadcastMultisigTx:h1({prefix:l,rpcUrl:x}),buildAminoMsg:Bn,buildEncodedTxBody:uT,convertToSignable:Iy,createDefaultAminoTypes:()=>Ry(T),createDefaultRegistry:Ky,createMultisig:Fx,createTransaction:Bf(x),deposit:X,getFees:L,importSignature:j1,parseAminoMessageForDirectSigning:Oy,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(w,l)},secp256k1HdWalletFromMnemonic:b1({derivationPath:v1(G),prefix:l}),signMultisigTx:p1(T),signWithPrivateKey:c1,transfer:X}}var Uf=R(()=>{Xf();ST();Xn()});import{Chain as vT,SwapKitError as m1}from"@swapkit/helpers";var i1=(T,n)=>{switch(T){case vT.Cosmos:case vT.Kujira:case vT.Noble:return kT({chain:T,...n});case vT.Maya:case vT.THORChain:return Hf({chain:T,...n});default:throw new m1("toolbox_cosmos_not_supported",{chain:T})}};var tx=R(()=>{Xn();Uf();Xn();Uf()});var wn={};a(wn,{verifySignature:()=>Dx,transferMsgAmino:()=>_f,toBase64:()=>N1,parseAminoMessageForDirectSigning:()=>Oy,getSignerFromPrivateKey:()=>P1,getSignerFromPhrase:()=>zf,getMsgSendDenom:()=>Py,getFeeRateFromSwapKit:()=>R1,getDenomWithChain:()=>OT,getDefaultChainFee:()=>Qy,getCreateTransaction:()=>Bf,getCosmosValidateAddress:()=>Sx,getCosmosToolbox:()=>i1,getAssetFromDenom:()=>Gf,fromBase64:()=>_1,fetchFeeRateFromSwapKit:()=>Yf,estimateTransactionFee:()=>I1,depositMsgAmino:()=>Lf,createThorchainToolbox:()=>Hf,createStargateClient:()=>Wy,createSigningStargateClient:()=>DT,createOfflineStargateClient:()=>lf,createDefaultRegistry:()=>Ky,createDefaultAminoTypes:()=>Ry,createCosmosToolbox:()=>kT,cosmosCreateTransaction:()=>Cf,convertToSignable:()=>Iy,buildTransferTx:()=>Jx,buildEncodedTxBody:()=>uT,buildDepositTx:()=>qx,buildAminoMsg:()=>Bn,bech32ToBase64:()=>RT,base64ToBech32:()=>IT,YUM_KUJIRA_FACTORY_DENOM:()=>Gx,USK_KUJIRA_FACTORY_DENOM:()=>xf,THORCHAIN_GAS_VALUE:()=>q1,MAYA_GAS_VALUE:()=>Q1,DEFAULT_NOBLE_FEE_MAINNET:()=>Lx,DEFAULT_KUJI_FEE_MAINNET:()=>_x,DEFAULT_COSMOS_FEE_MAINNET:()=>Nx});var Zn=R(()=>{Xf();tx();ST()});import{AssetValue as Jn,Chain as Dy,DerivationPath as g1,derivationPathToString as d1,getChainConfig as Kx,getRPCUrl as r1,NetworkDerivationPath as a1,SwapKitError as py,updateDerivationPath as s1}from"@swapkit/helpers";import{match as e1,P as Ax}from"ts-pattern";async function bx(T){let n=Jn.from({address:T,chain:Dy.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 f=await y.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((l)=>l.id===T)||null}catch{return null}}async function y5(T){let n=await $y(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),f=new x(T),o=[],l=await n.getBalance(f);if(l>0){let{baseDecimal:G}=Kx(Dy.Solana);o.push(Jn.from({chain:Dy.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(f,{programId:y});for(let{account:G}of C.value){let N=G.data.parsed.info,B=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let L=await bx(B),X=L?.symbol||"UNKNOWN",w=L?.decimals||N.tokenAmount.decimals;o.push(Jn.from({asset:`${Dy.Solana}.${X}-${B}`,fromBaseDecimal:w,value:_}))}return o}async function If(){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[Dy.Solana],{index:n})),y=await e1(T).with({phrase:Ax.string},({phrase:l})=>Rf({derivationPath:x,phrase:l})).with({signer:Ax.any},({signer:l})=>l).otherwise(()=>{return});function f(){return y?.publicKey?Vx(y.publicKey):""}function o(l){let C=l||f();if(!C)throw new py("core_wallet_connection_not_found");return y5(C)}return{broadcastTransaction:Pf($y),createKeysForPath:Rf,createTransaction:Of($y),createTransactionFromInstructions:x5,estimateTransactionFee:n5($y),getAddress:f,getAddressFromPubKey:Vx,getAddressValidator:If,getBalance:o,getConnection:$y,getPubkeyFromAddress:Df,signTransaction:C5($y,y),transfer:l5($y,y)}}function n5(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let l=await T(),G=(await Of(T)({assetValue:x,isProgramDerivedAddress:f,memo:y,recipient:n,sender:o})).compileMessage(),N=await l.getFeeForMessage(G);if(N.value===null)throw new py("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:B}=Kx(Dy.Solana);return Jn.from({chain:Dy.Solana,fromBaseDecimal:B,value:N.value})}}async function $y(){let{Connection:T}=await import("@solana/web3.js"),n=await r1(Dy.Solana);return new T(n,"confirmed")}function f5(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:f})=>{let o=await T(),l=await Df(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:N}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new N(x)}))}if(n.address)return o5({amount:n.getBaseValue("number"),connection:o,decimals:n.decimal,from:l,isProgramDerivedAddress:f,recipient:x,tokenAddress:n.address});return}}async function o5({tokenAddress:T,recipient:n,from:x,connection:y,amount:f,decimals:o,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:B}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),X=new _,w=new L(T),J=await C(w,x),z=new L(n),W=await C(w,z,l),U=!1;try{await G(y,W),U=!0}catch{}if(!U)X.add(N(x,W,z,w));return X.add(B(J,w,W,x,f,o)),X}function Of(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Df(o),G=await If();if(!(f||G(n)))throw new py("core_transaction_invalid_recipient_address");let N=await T(),B=await f5(T)({assetValue:x,isProgramDerivedAddress:f,recipient:n,sender:o});if(!B)throw new py("core_transaction_invalid_sender_address");if(y)B.add(l(y));let _=await N.getLatestBlockhash();return B.recentBlockhash=_.blockhash,B.feePayer=C,B}}async function x5({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new py("core_transaction_invalid_sender_address");return x}function l5(T,n){return async({recipient:x,assetValue:y,memo:f,isProgramDerivedAddress:o})=>{if(!n)throw new py("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Of(T)({assetValue:y,isProgramDerivedAddress:o,memo:f,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Pf(T)(G)}return C.sign(n),Pf(T)(C)}}function Pf(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 py("toolbox_solana_no_signer");if(!(x instanceof y)){let o=await(await T()).getLatestBlockhash();x.recentBlockhash=o.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Rf({phrase:T,derivationPath:n=g1.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),o=y(T),l=x.fromMasterSeed(o);return f.fromSeed(l.derive(n,!0).privateKey)}function Vx(T){return T.toString()}async function Df(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var $x=()=>{};var Sf={};a(Sf,{getSolanaToolbox:()=>T5,getSolanaAddressValidator:()=>If,fetchTokenMetaData:()=>bx,createKeysForPath:()=>Rf});var uf=R(()=>{$x()});import{AssetValue as qn,Chain as kf,getChainConfig as G5,SwapKitError as Sy}from"@swapkit/helpers";import{match as N5,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 _5({provider:T,...n}={}){let x=await hx(),y=await N5(n).with({phrase:px.string},async({phrase:_})=>{let{Ed25519Keypair:L}=await import("@mysten/sui/keypairs/ed25519");return L.deriveKeypair(_)}).with({signer:px.any},({signer:_})=>_).otherwise(()=>{return});async function f(_=T){let{SuiClient:L,getFullnodeUrl:X}=await import("@mysten/sui/client");return new L({url:_||X("mainnet")})}function o(){return y?.toSuiAddress()||""}async function l(_){let L=_||o();if(!L)throw new Sy("toolbox_sui_address_required");try{let X=await f(),{totalBalance:w}=await X.getBalance({owner:L}),{baseDecimal:J,chain:z}=G5(kf.Sui),W=[qn.from({chain:z,fromBaseDecimal:J,value:w})],U=await X.getAllBalances({owner:L});for(let{coinType:k,totalBalance:S}of U){if(k==="0x2::sui::SUI")continue;if(Number(S)>0){let v=k.split("::").pop()?.toUpperCase()||"UNKNOWN",K=`${z}.${v}-${k}`;W.push(qn.from({asset:K,fromBaseDecimal:J,value:S}))}}return W}catch(X){throw new Sy("toolbox_sui_balance_error",{error:X})}}async function C(_){let L=qn.from({chain:kf.Sui,value:"0.01"});if(!_)return L;try{let X=await f(),{txBytes:w}=await G(_),{effects:{status:J,gasUsed:z}}=await X.dryRunTransactionBlock({transactionBlock:w});if(J.status!=="success")return L;let W=Number(z.computationCost)+Number(z.storageCost)-Number(z.storageRebate);return qn.from({chain:kf.Sui,value:W.toString()})}catch{return L}}async function G({recipient:_,assetValue:L,gasBudget:X,sender:w}){let{Transaction:J}=await import("@mysten/sui/transactions"),z=w||o();if(!z)throw new Sy("toolbox_sui_no_sender");try{let W=new J;if(W.setSender(z),L.isGasAsset||L.symbol==="SUI"){let[S]=W.splitCoins(W.gas,[L.getBaseValue("string")]);W.transferObjects([S],_)}else throw new Sy("toolbox_sui_custom_token_transfer_not_implemented");if(X)W.setGasBudget(X);let U=await f(),k=await W.build({client:U});return{tx:W,txBytes:k}}catch(W){throw new Sy("toolbox_sui_transaction_creation_error",{error:W})}}async function N(_){if(!y)throw new Sy("toolbox_sui_no_signer");if(_ instanceof Uint8Array)return y.signTransaction(_);let{txBytes:L}="tx"in _?_:await G(_);return y.signTransaction(L)}async function B({assetValue:_,gasBudget:L,recipient:X}){if(!y)throw new Sy("toolbox_sui_no_signer");let w=y.toSuiAddress()||o();if(!w)throw new Sy("toolbox_sui_no_sender");let{txBytes:J}=await G({assetValue:_,gasBudget:L,recipient:X,sender:w}),z=await f(),{digest:W}=await z.signAndExecuteTransaction({signer:y,transaction:J});return W}return{createTransaction:G,estimateTransactionFee:C,getAddress:o,getBalance:l,signTransaction:N,transfer:B,validateAddress:x}}var jx=()=>{};var Qn={};a(Qn,{getSuiToolbox:()=>_5,getSuiAddressValidator:()=>hx});var Wn=R(()=>{jx()});import{AssetValue as cx,Chain as zn,getChainConfig as mx,SwapKitError as oT,SwapKitNumber as L5}from"@swapkit/helpers";import{match as B5,P as ix}from"ts-pattern";async function X5(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),o=await gx(),l,C,G=await B5(T).with({phrase:ix.string},async({phrase:W})=>n(W.split(" "))).with({signer:ix.any},({signer:W})=>W).otherwise(()=>{return});function N(){let{rpcUrls:W}=mx(zn.Ton),[U]=W;if(!l||l.parameters.endpoint!==U)l=new y({endpoint:U});return l}function B(W){if(!C||W){let U=N(),k=W||G;if(!k)throw new oT("core_wallet_connection_not_found");let S=f.create({publicKey:k.publicKey,workchain:0});C=U.open(S)}return C}async function _(W){let U=N(),{baseDecimal:k}=mx(zn.Ton);try{let S=await U.getBalance(x.parse(W));return[cx.from({chain:zn.Ton,value:L5.fromBigInt(S,k)})]}catch(S){throw new oT("core_wallet_connection_not_found",{error:S})}}async function L({assetValue:W,recipient:U,memo:k}){let S=B();if(!S||!G)throw new oT("core_wallet_connection_not_found");let{toNano:v,comment:K,internal:r}=await import("@ton/ton"),Uy=await S.getSeqno(),Z=v(W.getValue("string")),Y=k?K(k):void 0;return S.createTransfer({messages:[r({body:Y,to:U,value:Z})],secretKey:G.secretKey,seqno:Uy})}async function X({assetValue:W,recipient:U,memo:k}){let S=B();if(!S||!G)throw new oT("core_wallet_connection_not_found");let v=await L({assetValue:W,memo:k,recipient:U});return await S.send(v),v.hash().toString()}async function w(W){let U=B();if(!U)throw new oT("core_wallet_connection_not_found");try{return await U.send(W),W.hash().toString("hex")}catch(k){throw new oT("core_wallet_connection_not_found",{error:k})}}function J(){return B().address.toString()}function z(){return Promise.resolve(cx.from({chain:zn.Ton,value:"0.0001"}))}return{createTransaction:L,estimateTransactionFee:z,getAddress:J,getBalance:_,sendTransaction:w,transfer:X,validateAddress:o}}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 Yn={};a(Yn,{getTONToolbox:()=>X5,getTONAddressValidator:()=>gx});var Mn=R(()=>{dx()});var xT;var vf=R(()=>{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 w5}from"@swapkit/helpers";async function rx(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${Z5}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let f=await y.json();if(!(f.success&&f.data)||f.data.length===0)throw Error("Invalid response from TronGrid API");let o;try{o=x.address.toHex(T).toLowerCase()}catch{o=T.toLowerCase()}let l=f.data.find((C)=>{return C.address.toLowerCase()===o});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new w5("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var Z5="https://api.trongrid.io";var ax=()=>{};import{AssetValue as zy,BaseDecimal as sx,Chain as Ly,derivationPathToString as T0,getRPCUrl as J5,NetworkDerivationPath as n0,SwapKitError as e,updateDerivationPath as f0,warnOnce as Ef}from"@swapkit/helpers";import{match as q5,P as ex}from"ts-pattern";async function Ff(){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[Ly.Tron],{index:x||0})),{HDKey:f}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),l=o(T),G=f.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new e("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function M5({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),o=f(T),C=y.fromMasterSeed(o).derive(n);if(!C.privateKey)throw new e("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let N=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof N==="string"?N:""),signTransaction:async(B)=>{return await x.trx.sign(B,G)}}}var Q5=268,W5=13000,z5=345,y0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Y5="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",x0=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await J5(Ly.Tron),f=void 0,o=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[Ly.Tron],{index:l})),G=await q5(T).with({phrase:ex.string},async({phrase:Z})=>M5({derivationPath:C,phrase:Z,tronWeb:o})).with({signer:ex.any},({signer:Z})=>Promise.resolve(Z)).otherwise(()=>Promise.resolve(void 0)),N=async()=>{if(!G)throw new e("toolbox_tron_no_signer");return await G.getAddress()},B=()=>{return 1e8},_=async()=>{try{let Z=await o.trx.getChainParameters(),Y={};for(let H of Z)Y[H.key]=H.value;return{bandwidthFee:Y.getTransactionFee||1000,createAccountFee:Y.getCreateAccountFee||1e5,energyFee:Y.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},L=async(Z)=>{try{let Y=await o.trx.getAccount(Z);return Y&&Object.keys(Y).length>0}catch{return!1}},X=async(Z)=>{try{let Y=await o.trx.getAccountResources(Z);return{bandwidth:{free:Y.freeNetLimit-Y.freeNetUsed,total:Y.NetLimit||0,used:Y.NetUsed||0},energy:{total:Y.EnergyLimit||0,used:Y.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(Z,Y)=>{try{let H=o.contract(xT,Y);if(!H.methods?.balanceOf)return 0n;let[I]=await H.methods.balanceOf(Z).call();return I?typeof I==="bigint"?I:BigInt(I):0n}catch(H){return console.warn(`balanceOf() failed for ${Y}:`,H),0n}},J=async(Z,Y)=>{try{o.setAddress(Y);let H=o.contract(xT,Z),[I,O]=await Promise.all([H.symbol().call().catch(()=>"UNKNOWN"),H.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:I??"UNKNOWN"}}catch(H){return Ef({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Z}: ${H instanceof Error?H.message:H}`}),null}},z=async(Z,Y=!0)=>{let H=[zy.from({chain:Ly.Tron})];try{let I=await rx(Z);if(I){let O=[];O.push(zy.from({chain:Ly.Tron,fromBaseDecimal:6,value:I.balance}));for(let u of I.trc20){let[A,b]=Object.entries(u)[0]||[];if(!(A&&b))continue;let t=await J(A,Z);if(!t)continue;O.push(zy.from({asset:`TRON.${t.symbol}-${A}`,fromBaseDecimal:t.decimals,value:BigInt(b||0)}))}return O}return H}catch(I){Ef({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${I instanceof Error?I.message:I}`});try{let O=[],u=await o.trx.getBalance(Z);if(u&&Number(u)>0)O.push(zy.from({chain:Ly.Tron,fromBaseDecimal:6,value:u}));let A=await w(Z,y0);if(A)O.push(zy.from({asset:`TRON.USDT-${y0}`,fromBaseDecimal:6,value:A}));if(O.length===0)return H;return O}catch(O){return console.error("Tron balance fetch failed:",O),H}}},W=async({recipient:Z,assetValue:Y,memo:H})=>{if(!G)throw new e("toolbox_tron_no_signer");let I=await N();if(o.setAddress(I),Y.isGasAsset){let t=await o.transactionBuilder.sendTrx(Z,Y.getBaseValue("number"),I);if(H){let fy=await o.transactionBuilder.addUpdateData(t,H,"utf8"),Jy=await G.signTransaction(fy),{txid:gy}=await o.trx.sendRawTransaction(Jy);return gy}let Ty=await G.signTransaction(t),{txid:ny}=await o.trx.sendRawTransaction(Ty);return ny}let u=await k({assetValue:Y,memo:H,recipient:Z,sender:I}),A=await G.signTransaction(u),{txid:b}=await o.trx.sendRawTransaction(A);if(!b)throw new e("toolbox_tron_token_transfer_failed");return b},U=async({assetValue:Z,recipient:Y,sender:H})=>{let I=Z.isGasAsset;try{let O=H?H:G?await N():void 0;if(!O)return I?zy.from({chain:Ly.Tron,fromBaseDecimal:0,value:0.1}):zy.from({chain:Ly.Tron,fromBaseDecimal:0,value:15});let u=await _(),b=await L(Y)?0:u.createAccountFee,t=await X(O);if(I){let dy=Q5,JT=t.bandwidth.free+(t.bandwidth.total-t.bandwidth.used),Do=0;if(dy>JT)Do=(dy-JT)*u.bandwidthFee;let Nl=b+Do;return zy.from({chain:Ly.Tron,fromBaseDecimal:sx.TRON,value:Nl})}let Ty=z5,ny=W5,fy=t.bandwidth.free+(t.bandwidth.total-t.bandwidth.used),Jy=t.energy.total-t.energy.used,gy=0;if(Ty>fy)gy=(Ty-fy)*u.bandwidthFee;let ZT=0;if(ny>Jy)ZT=(ny-Jy)*u.energyFee;let An=b+gy+ZT;return zy.from({chain:Ly.Tron,fromBaseDecimal:sx.TRON,value:An})}catch(O){throw Ef({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})}},k=async(Z)=>{let{recipient:Y,assetValue:H,memo:I,sender:O,expiration:u}=Z;if(H.isGasAsset){let t=await o.transactionBuilder.sendTrx(Y,H.getBaseValue("number"),O);if(I)return o.transactionBuilder.addUpdateData(t,I,"utf8");if(u)o.transactionBuilder.extendExpiration(t,u);return t}o.setAddress(O);let b=H.address;if(!b)throw new e("toolbox_tron_invalid_token_identifier",{identifier:H.toString()});try{let Ty=[{type:"address",value:Y},{type:"uint256",value:H.getBaseValue("string")}],ny={callValue:0,feeLimit:B()},fy=await o.transactionBuilder.triggerSmartContract(b,"transfer(address,uint256)",ny,Ty,O);if(I)return o.transactionBuilder.addUpdateData(fy.transaction,I,"utf8");if(u)o.transactionBuilder.extendExpiration(fy.transaction,u);return fy.transaction}catch(t){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:t instanceof Error?t.message:String(t)})}},S=async(Z)=>{if(!G)throw new e("toolbox_tron_no_signer");return await G.signTransaction(Z)},v=async(Z)=>{let{txid:Y}=await o.trx.sendRawTransaction(Z);return Y},K=async({assetAddress:Z,spenderAddress:Y,from:H})=>{try{let I=o.contract(xT,Z);if(!I.methods?.allowance)throw new e("toolbox_tron_invalid_token_contract");let[O]=await I.methods.allowance(H,Y).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(I){throw new e("toolbox_tron_allowance_check_failed",{error:I})}};return{approve:async({assetAddress:Z,spenderAddress:Y,amount:H,from:I})=>{if(!G)throw new e("toolbox_tron_no_signer");let O=I||await N(),u=H!==void 0?BigInt(H).toString():Y5,A="approve(address,uint256)",b=[{type:"address",value:Y},{type:"uint256",value:u}],Ty={callValue:0,feeLimit:B()};try{let{transaction:ny}=await o.transactionBuilder.triggerSmartContract(Z,A,Ty,b,O),fy=await G.signTransaction(ny),{txid:Jy}=await o.trx.sendRawTransaction(fy);if(!Jy)throw new e("toolbox_tron_approve_failed");return Jy}catch(ny){throw new e("toolbox_tron_approve_failed",{error:ny})}},broadcastTransaction:v,createTransaction:k,estimateTransactionFee:U,getAddress:N,getApprovedAmount:K,getBalance:z,isApproved:async({assetAddress:Z,spenderAddress:Y,from:H,amount:I})=>{let O=await K({assetAddress:Z,from:H,spenderAddress:Y});if(!I)return O>0n;let u=BigInt(I);return O>=u},signTransaction:S,transfer:W,tronWeb:o,validateAddress:await Ff()}};var l0=R(()=>{vf();ax()});var tf={};a(tf,{trc20ABI:()=>xT,getTronPrivateKeyFromMnemonic:()=>o0,getTronAddressValidator:()=>Ff,createTronToolbox:()=>x0});var Af=R(()=>{vf();l0()});import{networks as H5}from"@bitgo/utxo-lib";import{Chain as g,getRPCUrl as U5,RequestClient as Hn,SKConfig as N0,SwapKitError as uy,warnOnce as _0}from"@swapkit/helpers";import{networks as P5}from"bitcoinjs-lib";import ET from"coininfo";async function R5({chain:T,txHash:n}){let x=`${Un(T)}/push/transaction`,y=JSON.stringify({data:n});try{let f=await Hn.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new uy("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||n}catch(f){let o=await U5(T);if(o){let l=JSON.stringify({id:So(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await Hn.post(o,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new uy("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new uy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw f}}function Un(T){return`https://api.blockchair.com/${I5(T)}`}function C0(T){switch(T){case g.Bitcoin:return 5;case g.Dogecoin:return 1e4;case g.Litecoin:return 1;case g.Zcash:return 1;default:return 2}}function I5(T){switch(T){case g.BitcoinCash:return"bitcoin-cash";case g.Litecoin:return"litecoin";case g.Dash:return"dash";case g.Dogecoin:return"dogecoin";case g.Zcash:return"zcash";case g.Polkadot:return"polkadot";default:return"bitcoin"}}async function O5(T){try{let{feePerKb:n}=await Hn.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 Vf(T,n){let x=await Hn.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new uy("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function L0({address:T,chain:n,apiKey:x}){if(!T)throw new uy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Vf(`${Un(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function D5({address:T,chain:n,apiKey:x}){return(await L0({address:T,apiKey:x,chain:n}))?.address.balance||0}async function B0({chain:T,apiKey:n,txHash:x}){if(!x)throw new uy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Vf(`${Un(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:f=30}){return(await Vf(`${Un(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=${f}&offset=${y}`,x)).map(({is_spent:G,script_hex:N,block_id:B,transaction_hash:_,index:L,value:X,spending_signature_hex:w})=>({hash:_,index:L,is_confirmed:B!==-1,is_spent:G,script_hex:N,txHex:w,value:X}))}function u5(T){return T.reduce((n,x)=>n+x.value,0)}function G0(T,n){let x=[...T].sort((y,f)=>f.value-y.value);if(n){let y=[],f=0;for(let o of x)if(y.push(o),f+=o.value,f>=n)break;return y}return x}async function X0({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:f=0,offset:o=0,limit:l=30}){if(!n)throw new uy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await S5({address:n,apiKey:x,chain:T,limit:l,offset:o,targetValue:y}),N=C.length<l,B=C.filter(({is_spent:z})=>!z),_=u5(B),L=f+_,X=y&&L>=y;if(N||X)return G0(B,y);let w=await X0({accumulativeValue:L,address:n,apiKey:x,chain:T,limit:l,offset:o+l,targetValue:y}),J=[...B,...w];return G0(J,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function k5({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:f}){let o=await X0({address:T,apiKey:x,chain:n,targetValue:f}),l=[];for(let{hash:C,index:G,script_hex:N,value:B}of o){let _;if(y)_=await B0({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:B,witnessUtxo:{script:Buffer.from(N,"hex"),value:B}})}return l}function v5(T){let n=N0.get("apiKeys").blockchair||"";return _0({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>R5({chain:T,txHash:x}),getAddressData:(x)=>L0({address:x,apiKey:n,chain:T}),getBalance:(x)=>D5({address:x,apiKey:n,chain:T}),getRawTx:(x)=>B0({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>O5(T),getUtxos:(x)=>k5({...x,apiKey:n,chain:T})}}function E5(T){return T}function oy(T){let n=N0.get("apis")[T];if(n)return _0({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return v5(T)}function By(){return function(n){switch(n){case g.Bitcoin:return P5.bitcoin;case g.BitcoinCash:return ET.bitcoincash.main.toBitcoinJS();case g.Dash:return ET.dash.main.toBitcoinJS();case g.Litecoin:return ET.litecoin.main.toBitcoinJS();case g.Dogecoin:{let x={private:70615956,public:70617039},y=ET.dogecoin.test;return y.versions.bip32=x,ET.dogecoin.main.toBitcoinJS()}case g.Zcash:return H5.zcash;default:throw new uy("toolbox_utxo_not_supported",{chain:n})}}}var w0=R(()=>{qT()});import{SwapKitError as J0}from"@swapkit/helpers";import q0 from"bs58check";import Q0 from"cashaddrjs";function bf(T){try{return Pn(T),!0}catch{return!1}}function $f(T){return Pn(T)?.network}function lT(T){let n=Pn(T);if(n?.format==="legacy")return T;return A5(n)}function FT(T){let n=Pn(T);return V5(n)}function Pn(T){try{let n=F5(T);if(n)return n}catch{}try{let n=t5(T);if(n)return n}catch{}throw new J0("toolbox_utxo_invalid_address",{address:T})}function F5(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 hy.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case hy.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case hy.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case hy.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case hy.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case hy.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function t5(T){if(T.indexOf(":")!==-1)try{return Z0(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return Z0(`${x}:${T}`)}catch{}}return}function Z0(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 A5(T){let n=hy.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 V5(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 Kf,hy;var W0=R(()=>{((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Kf||={});hy={["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 K5}from"@swapkit/helpers";import{opcodes as b5,script as $5}from"bitcoinjs-lib";function Xy(T){let n=Buffer.from(T,"utf8");return $5.compile([b5.OP_RETURN,n])}var p5=1000,On=10,z0=10,h5=41,j5=107,Dn,Rn,In,tT=(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 K5("toolbox_utxo_invalid_address",{address:T})},CT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",f=T.filter((l)=>l.value>=Rn["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+ky(C),0),o=n?.reduce((l,C)=>l+AT(C),0)||In[y];return On+f+o},ky=(T)=>{if("type"in T)return Rn[T.type];if("address"in T&&T.address)return Rn[tT(T.address)];return h5+j5},AT=(T,n)=>{if(T?.script)return z0+T.script.length+(T.script.length>=74?2:1);if(n)return In[n];return In.P2PKH};var pf=R(()=>{((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(Dn||={});Rn={["P2PKH"]:148,["P2WPKH"]:68},In={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as jy,SwapKitError as c5}from"@swapkit/helpers";function Sn(T){switch(T){case jy.Bitcoin:case jy.BitcoinCash:return 550;case jy.Dash:case jy.Litecoin:return 5500;case jy.Dogecoin:return 1e5;case jy.Zcash:return 546;default:throw new c5("toolbox_utxo_not_supported",{chain:T})}}function wy({inputs:T,outputs:n,feeRate:x=1,chain:y=jy.Bitcoin,changeAddress:f=""}){let o=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?tT(T[0].address):"P2PKH",C=T.filter((X)=>ky(X)*o<=X.value),G=On+n.reduce((X,w)=>X+AT(w,l),0),N=n.reduce((X,w)=>X+w.value,0),B=G*o,_=0,L=[];for(let X of C){let w=ky(X),J=o*w;B+=J,_+=X.value,L.push(X);let z=B+N;if(_<z)continue;let W=_-z,U=o*AT({address:"",value:0},l);if(W>U){let k=U+B,S=_-(N+k);if(S>Math.max(ky({})*o,Sn(y)))return{fee:k,inputs:L,outputs:n.concat({address:f,value:S})}}return{fee:B,inputs:L,outputs:n}}return{fee:o*CT({feeRate:o,inputs:T,outputs:n})}}var Y0=R(()=>{pf()});var GT=R(()=>{w0();W0();Y0();pf()});import{networks as m5,address as i5}from"@bitgo/utxo-lib";import g5 from"bs58check";function cy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function vy(T){let n=cy(T);return bf(n)&&$f(n)==="mainnet"}function NT(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 VT=R(()=>{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 M0}from"@scure/bip39";import{AssetValue as hf,applyFeeMultiplier as H0,Chain as xy,DerivationPath as s5,derivationPathToString as e5,FeeOption as Yy,NetworkDerivationPath as y2,SwapKitError as My,SwapKitNumber as T2,updateDerivationPath as n2}from"@swapkit/helpers";import{address as f2,initEccLib as P0,Psbt as o2,payments as U0}from"bitcoinjs-lib";import{ECPairFactory as x2}from"ecpair";function R0({inputs:T,outputs:n,chain:x,psbt:y,sender:f,compiledMemo:o}){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:f,G=l.script;if(G&&!o)continue;let N=G?{script:o,value:0}:{address:C,value:l.value};P0(jf),y.addOutput(N)}return{inputs:T,psbt:y}}async function I0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,fetchTxHex:o=!1}){let l=T.chain,C=x?await Xy(x):null,G=await S0({assetValue:T,fetchTxHex:o,memo:x,recipient:n,sender:f}),{inputs:N,outputs:B}=wy({...G,chain:l,feeRate:y});if(!(N&&B))throw new My("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await By(),L=new o2({network:_(l)});if(l===xy.Dogecoin)L.setMaximumFeeRate(650000000);let{psbt:X,inputs:w}=await R0({chain:l,compiledMemo:C,inputs:N,outputs:B,psbt:L,sender:f});return{inputs:w,psbt:X,utxos:G.inputs}}async function O0(){let T=await By();return function({address:x,chain:y}){if(y===xy.BitcoinCash)return vy(x);if(y===xy.Zcash)return NT(x);try{return P0(jf),f2.toOutputScript(x,T(y)),!0}catch{return!1}}}async function l2({chain:T,phrase:n,derivationPath:x}){let y=(await bT(T))({derivationPath:x,phrase:n});async function f(l){return await l.signAllInputs(y),l}function o(){return cf(T)(y)}return{getAddress:o,signTransaction:f}}async function my({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,f=e5("derivationPath"in n&&n.derivationPath?n.derivationPath:n2(y2[T],{index:y})),o=x?await l2({chain:T,derivationPath:f,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let C=await O0(),G=await bT(T);return{accumulative:wy,broadcastTx:(N)=>oy(T).broadcastTx(N),calculateTxSize:CT,createKeysForPath:G,createTransaction:I0,estimateMaxSendableAmount:C2(T),estimateTransactionFee:G2(T),getAddress:l,getAddressFromKeys:cf(T),getBalance:ry(T),getFeeRates:()=>$T(T),getInputsOutputsFee:D0,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:N2(o),validateAddress:(N)=>C({address:N,chain:T})}}async function D0({assetValue:T,feeOptionKey:n=Yy.Fast,feeRate:x,memo:y,sender:f,recipient:o}){let l=T.chain,C=await S0({assetValue:T,memo:y,recipient:o,sender:f}),G=x?Math.floor(x):(await $T(l))[n];return wy({...C,chain:l,feeRate:G})}function C2(T){return async function({from:x,memo:y,feeRate:f,feeOptionKey:o=Yy.Fast,recipients:l=1}){let C=await oy(T).getAddressData(x),G=f?Math.ceil(f):(await $T(T))[o],N=C?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Sn(T),ky(w)*G));if(!N?.length)return hf.from({chain:T});let B=hf.from({chain:T,value:N.reduce((w,J)=>w+J.value,0)}),_=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let w=await Xy(y);_.push({address:x,script:w,value:0})}let X=CT({feeRate:G,inputs:N,outputs:_})*G;return B.sub(X)}}function G2(T){return async(n)=>{let x=await D0(n);return hf.from({chain:T,value:T2.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function bT(T){let n=await By();switch(T){case xy.BitcoinCash:return function({phrase:y,derivationPath:f=`${s5.BCH}/0`,wif:o}){let l=n(T);if(o)return d5.fromWIF(o,l);if(!y)throw new My("toolbox_utxo_invalid_params",{error:"No phrase provided"});return r5.fromSeedBuffer(Buffer.from(M0(y)),l).derivePath(f).keyPair};case xy.Bitcoin:case xy.Dogecoin:case xy.Litecoin:case xy.Zcash:case xy.Dash:return function({phrase:y,wif:f,derivationPath:o}){if(!(f||y))throw new My("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=x2(jf),C=n(T);if(f)return l.fromWIF(f,C);let G=M0(y),N=a5.fromMasterSeed(G,C).derive(o);if(!N.privateKey)throw new My("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(N.privateKey),{network:C})};default:throw new My("toolbox_utxo_not_supported",{chain:T})}}function cf(T){let n=By();return function(y){if(!y)throw new My("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=KT.includes(T)?U0.p2pkh:U0.p2wpkh,{address:o}=f({network:n(T),pubkey:y.publicKey});if(!o)throw new My("toolbox_utxo_invalid_address",{error:"Address not defined"});return o}}function N2(T){return async function({memo:x,recipient:y,feeOptionKey:f,feeRate:o,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new My("toolbox_utxo_no_signer");if(!y)throw new My("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=o||(await $T(G))[f||Yy.Fast],{psbt:B}=await I0({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(B);return _.finalizeAllInputs(),oy(G).broadcastTx(_.extractTransaction().toHex())}}async function $T(T){let n=await oy(T).getSuggestedTxFee();return{[Yy.Average]:n,[Yy.Fast]:H0(n,Yy.Fast),[Yy.Fastest]:H0(n,Yy.Fastest)}}async function S0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:f=!1}){let o=T.chain,l=(await $T(o))[Yy.Fastest],C=f||KT.includes(o),G=T.getBaseValue("number"),N=Math.ceil(G+l*5000);return{inputs:await oy(o).getUtxos({address:y,fetchTxHex:C,targetValue:N}),outputs:[{address:n,value:G},...x?[{address:"",script:await Xy(x),value:0}]:[]]}}var KT;var pT=R(()=>{qT();GT();VT();KT=[xy.Dash,xy.Dogecoin,xy.Zcash,xy.BitcoinCash]});import{address as _2,Transaction as L2,TransactionBuilder as B2}from"@psf/bitcoincashjs-lib";import{Chain as X2,derivationPathToString as w2,FeeOption as Z2,NetworkDerivationPath as J2,SwapKitError as _T,updateDerivationPath as q2}from"@swapkit/helpers";import{Psbt as Q2}from"bitcoinjs-lib";function iy(T){return cy(FT(T))}function W2(T){function n({builder:y,utxos:f}){return f.forEach((o,l)=>{y.sign(l,T,void 0,65,o.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(iy(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=w2("derivationPath"in T&&T.derivationPath?T.derivationPath:q2(J2[Gy],{index:x})),f=n?(await bT(Gy))({derivationPath:y,phrase:n}):void 0,o=f?W2(f):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...B}=await my({chain:Gy});function _(L,X=!0){return C(cy(FT(L)))}return{...B,broadcastTx:N,buildTx:Y2,createTransaction:u0,getAddress:l,getAddressFromKeys:M2,getBalance:_,getFeeRates:G,stripPrefix:cy,stripToCashAddress:iy,transfer:z2({broadcastTx:N,getFeeRates:G,signer:o}),validateAddress:vy}}async function u0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f}){if(!vy(n))throw new _T("toolbox_utxo_invalid_address",{address:n});let o=Math.ceil(T.getBaseValue("number")+y*7500),l=await oy(Gy).getUtxos({address:iy(f),fetchTxHex:!0,targetValue:o}),C=x?await Xy(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:B}=wy({chain:Gy,feeRate:y,inputs:l,outputs:G});if(!(N&&B))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await By(),L=new B2(_(Gy));await Promise.all(N.map(async(X)=>{let w=await oy(Gy).getRawTx(X.hash);L.addInput(L2.fromBuffer(Buffer.from(w,"hex")),X.index)}));for(let X of B){let w="address"in X&&X.address?X.address:lT(f),J=await By(),z=_2.toOutputScript(lT(w),J(Gy));L.addOutput(z,X.value)}if(C)L.addOutput(C,0);return{builder:L,utxos:N}}function z2({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:f,assetValue:o,feeOptionKey:l=Z2.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new _T("toolbox_utxo_no_signer");if(!f)throw new _T("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=C.feeRate||(await n())[l],{builder:B,utxos:_}=await u0({...C,assetValue:o,feeRate:N,recipient:f,sender:G}),X=(await x.signTransaction({builder:B,utxos:_})).toHex();return T(X)}}async function Y2({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,setSigHashType:o}){let l=FT(n);if(!vy(l))throw new _T("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await oy(Gy).getUtxos({address:iy(f),fetchTxHex:!1,targetValue:C}),N=Number(y.toFixed(0)),B=x?await Xy(x):null,_=[];if(_.push({address:lT(n),value:T.getBaseValue("number")}),B)_.push({script:B,value:0});let{inputs:L,outputs:X}=wy({chain:Gy,feeRate:N,inputs:G,outputs:_});if(!(L&&X))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let w=await By(),J=new Q2({network:w(Gy)});for(let{hash:z,index:W,witnessUtxo:U}of L)J.addInput({hash:z,index:W,sighashType:o?65:void 0,witnessUtxo:U});for(let z of X){let W="address"in z&&z.address?z.address:lT(f),U=z.script?B?{script:B,value:0}:void 0:{address:W,value:z.value};if(U)J.addOutput(U)}return{inputs:L,psbt:J,utxos:G}}function M2(T){let n=T.getAddress(0);return iy(n)}var Gy;var un=R(()=>{GT();pT();VT();Gy=X2.BitcoinCash});import{bitgo as H2,crypto as U2,ECPair as v0,networks as P2,address as R2}from"@bitgo/utxo-lib";import{HDKey as E0}from"@scure/bip32";import{mnemonicToSeedSync as F0}from"@scure/bip39";import{Chain as kn,derivationPathToString as I2,FeeOption as O2,NetworkDerivationPath as D2,SKConfig as S2,SwapKitError as vn,updateDerivationPath as u2}from"@swapkit/helpers";import k2 from"bs58check";import{match as v2,P as gf}from"ts-pattern";function t0(){return P2.zcash}function A0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function E2({phrase:T,derivationPath:n}){let x=F0(T),f=E0.fromMasterSeed(x).derive(n);if(!f.privateKey)throw new vn("toolbox_utxo_invalid_params");let o=A0(),l=v0.fromPrivateKey(Buffer.from(f.privateKey),{network:o}),C=U2.hash160(l.publicKey),{isStagenet:G}=S2.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),B=Buffer.concat([N,C]),_=k2.encode(B);return{getAddress:()=>Promise.resolve(_),signTransaction:(L)=>{let X=L.signAllInputs(l);return Promise.resolve(X)}}}function F2({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:f}){for(let o of T){let l=!!o.witnessUtxo&&{witnessUtxo:{...o.witnessUtxo,value:BigInt(o.value)}},C=!o.witnessUtxo&&{nonWitnessUtxo:o.txHex?Buffer.from(o.txHex,"hex"):void 0};x.addInput({hash:o.hash,index:o.index,...l,...C})}for(let o of n){let l="address"in o&&o.address?o.address:y,C=o.script;if(C&&!f)continue;let G=C?{script:f,value:0n}:{script:R2.toOutputScript(l,t0()),value:BigInt(o.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function k0(T){let{assetValue:n,recipient:x,memo:y,feeRate:f,sender:o,fetchTxHex:l}=T,C=y?Xy(y):null,G=await oy(kn.Zcash).getUtxos({address:o,fetchTxHex:l!==!1}),N=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:B,outputs:_}=wy({chain:kn.Zcash,changeAddress:o,feeRate:f,inputs:G,outputs:N});if(!(B&&_))throw new vn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:o});let L=H2.createPsbtForNetwork({network:t0()},{version:455}),w=3268858036,J=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),z=Buffer.allocUnsafe(4);z.writeUInt32LE(w>>>0,0),L.addUnknownKeyValToGlobal({key:J,value:z});let{psbt:W,inputs:U}=await F2({compiledMemo:C,inputs:B,outputs:_,psbt:L,sender:o});return{inputs:U,outputs:_,psbt:W}}async function df(T){let n=await v2(T).with({signer:gf.not(gf.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:gf.string},({phrase:l,derivationPath:C,index:G=0})=>{let N=C||D2[kn.Zcash]||[44,133,0,0,0],B=u2(N,{index:G}),_=I2(B);return E2({derivationPath:_,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await my({chain:kn.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=O2.Fast,...N}){let B=await n?.getAddress();if(!(n&&B))throw new vn("toolbox_utxo_no_signer");let _=N.feeRate||(await x.getFeeRates())[G],{psbt:L}=await k0({...N,assetValue:C,feeRate:_,recipient:l,sender:B}),X=await n.signTransaction(L);return X.finalizeAllInputs(),x.broadcastTx(X.extractTransaction().toHex())}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=F0(l),B=E0.fromMasterSeed(G).derive(C);if(!B.privateKey)throw new vn("toolbox_utxo_invalid_params");let _=A0();return v0.fromPrivateKey(Buffer.from(B.privateKey),{network:_})}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return f({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:f,createTransaction:k0,getPrivateKeyFromMnemonic:o,transfer:y,validateAddress:NT}}var rf=R(()=>{GT();pT();VT()});import{Chain as LT,SwapKitError as t2}from"@swapkit/helpers";async function A2(T,n){switch(T){case LT.BitcoinCash:return await mf(n||{});case LT.Zcash:return await df(n);case LT.Bitcoin:case LT.Dogecoin:case LT.Litecoin:case LT.Dash:return await my({chain:T,...n});default:throw new t2("toolbox_utxo_not_supported",{chain:T})}}var V0=R(()=>{un();pT();rf();un();VT()});var af={};a(af,{validateZcashAddress:()=>NT,toLegacyAddress:()=>lT,toCashAddress:()=>FT,stripToCashAddress:()=>iy,stripPrefix:()=>cy,nonSegwitChains:()=>KT,isValidAddress:()=>bf,getUtxoToolbox:()=>A2,getUtxoNetwork:()=>By,getUtxoApi:()=>oy,getUTXOAddressValidator:()=>O0,getScriptTypeForAddress:()=>tT,getOutputSize:()=>AT,getInputSize:()=>ky,getDustThreshold:()=>Sn,getCreateKeysForPath:()=>bT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>my,createCustomUtxoApi:()=>E5,createBCHToolbox:()=>mf,compileMemo:()=>Xy,calculateTxSize:()=>CT,bchValidateAddress:()=>vy,addressFromKeysGetter:()=>cf,addInputsAndOutputs:()=>R0,accumulative:()=>wy,UtxoNetwork:()=>Kf,UTXOScriptType:()=>Dn,TX_OVERHEAD:()=>On,OutputSizes:()=>In,OP_RETURN_OVERHEAD:()=>z0,MIN_TX_FEE:()=>p5,InputSizes:()=>Rn});var sf=R(()=>{GT();V0();un();pT();rf()});import{KeyPairSigner as V2}from"@near-js/signers";import{derivationPathToString as K2,SwapKitError as b2}from"@swapkit/helpers";async function En(){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-js/crypto"),y=T.index||0,f=T.derivationPath?K2(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:o}=n(T.phrase,f),l=x.fromString(o);return b0(l)}async function ef(T){let{KeyPair:n}=await import("@near-js/crypto"),x=n.fromString(T);return b0(x)}function b0(T){return new K0(T)}async function tn(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 b2("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),o=f.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:o}}var K0;var yo=R(()=>{K0=class K0 extends V2{#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(d.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(d.CONTRACT_CALL);break;case"createAccount":n+=Number(d.ACCOUNT_CREATION);break;case"deployContract":n+=Number(d.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(d.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(d.ACCESS_KEY_DELETION);break;case"stake":n+=Number(d.STAKE);break;default:n+=Number(d.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return d.TOKEN_TRANSFER;if(T==="storage_deposit")return d.STORAGE_DEPOSIT;return d.CONTRACT_CALL}function $2(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function p2(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var d;var No=R(()=>{d={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 _o({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:f}=await import("@near-js/accounts");return new f(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}import{AssetValue as $0,Chain as BT,getChainConfig as p0,getRPCUrl as h2,SwapKitError as yy}from"@swapkit/helpers";async function j2(T){let{P:n,match:x}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),f=await x(T).with({phrase:n.string},async(Z)=>{return await Fn(Z)}).with({signer:n.any},({signer:Z})=>Z).otherwise(()=>{return}),o=await h2(BT.Near),l=new y({url:o});async function C(Z){let{Account:Y}=await import("@near-js/accounts"),H=Z||await G();return new Y(H,l,f)}async function G(){if(!f)throw new yy("toolbox_near_no_signer");return await f.getAddress()}async function N(Z){if(!f)throw new yy("toolbox_near_no_signer");let Y=await B({...Z,sender:await G()});return z(Y)}async function B(Z){let{recipient:Y,assetValue:H,memo:I,attachedDeposit:O,sender:u,functionCall:A}=Z,b=await En();if(!b(Y))throw new yy("toolbox_near_invalid_address",{recipient:Y});if(!b(u))throw new yy("toolbox_near_invalid_address",{signerId:u});if(A)return L({...A,sender:u});if(!H.isGasAsset){let JT=H.address;if(!JT)throw new yy("toolbox_near_missing_contract_address");return L({args:{amount:H.getBaseValue("string"),memo:I||null,receiver_id:Y},attachedDeposit:O||"1",contractId:JT,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:t,nonce:Ty}=await tn(l,u),ny=H.getBaseValue("bigint"),{actionCreators:fy,createTransaction:Jy}=await import("@near-js/transactions"),{baseDecode:gy}=await import("@near-js/utils"),ZT=[fy.transfer(ny)];if(I&&O)ZT.push(fy.functionCall("memo",{memo:I},BigInt("250000000000000"),BigInt(O)));let An=await l.block({finality:"final"}),dy=gy(An.header.hash);return Jy(u,t,Y,Ty+1,ZT,dy)}function _(Z){let Y=Z.encode();return Buffer.from(Y).toString("base64")}async function L(Z){let{sender:Y}=Z,{publicKey:H,nonce:I}=await tn(l,Y),{createTransaction:O,actionCreators:u}=await import("@near-js/transactions"),{baseDecode:A}=await import("@near-js/utils"),b=await l.block({finality:"final"}),t=A(b.header.hash),Ty=[u.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return O(Y,H,Z.contractId,I+1,Ty,t)}async function X(Z){let{actionCreators:Y}=await import("@near-js/transactions");return Y.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function w(Z){if(!f)throw new yy("toolbox_near_no_signer");let[Y,H]=await f.signTransaction(Z);return H}async function J(Z){return(await l.sendTransaction(Z)).transaction.hash}async function z(Z){if(!f)throw new yy("toolbox_near_no_signer");try{let Y=await w(Z);return await J(Y)}catch{return f.signAndSendTransactions?.({transactions:[Z]})}}async function W(Z){if("assetValue"in Z){let O=BigInt("115123062500")+BigInt("108059500000"),u=await U(),A=O*BigInt(u.toString()),{baseDecimal:b}=p0(BT.Near);return $0.from({chain:BT.Near,fromBaseDecimal:b,value:A.toString()})}let Y=f?await C():void 0;return r(Z,Y)}async function U(){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 k(Z,Y,H){if(!f)throw new yy("toolbox_near_no_signer");let I=await C(),{formatNearAmount:O}=await import("@near-js/utils"),{PublicKey:u}=await import("@near-js/crypto"),A=O(H)||"0";return(await I.createAccount(Z,u.fromString(Y),BigInt(A))).transaction.hash}async function S(Z){try{if(!f)throw new yy("toolbox_near_no_signer");let{actionCreators:Y}=await import("@near-js/transactions"),{contractId:H,methodName:I,args:O,deposit:u}=Z,A=await C(),b=await r({args:O||{},contractId:H,methodName:I}),t=Y.functionCall(I,O||{},b.getBaseValue("bigint"),BigInt(u||"1"));return(await A.signAndSendTransaction({actions:[t],receiverId:H})).transaction_outcome.id}catch(Y){throw new yy("toolbox_near_transfer_failed",{error:Y})}}async function v(Z){let Y=await C();return _o({account:Y,changeMethods:Z.changeMethods,contractId:Z.contractId,viewMethods:Z.viewMethods})}async function K(Z){if(!f)throw new yy("toolbox_near_no_signer");if(Z.actions.length===0)throw new yy("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:Z.actions,receiverId:Z.receiverId})).transaction.hash}async function r(Z,Y){let{baseDecimal:H}=p0(BT.Near),I=await x(Z).when(To,()=>d.SIMPLE_TRANSFER).when(no,(A)=>Go(A.methodName)).when(fo,(A)=>Co(A.actions)).when(oo,()=>d.ACCOUNT_CREATION).when(xo,()=>d.CONTRACT_DEPLOYMENT).when(lo,(A)=>{if(!Y)throw new yy("toolbox_near_no_account");return A.customEstimator(Y)}).otherwise(()=>{throw new yy("toolbox_near_invalid_gas_params")}),u=BigInt(I)*BigInt(1000000000000);return $0.from({chain:BT.Near,fromBaseDecimal:H,value:u})}async function Uy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:J,callFunction:S,createAction:X,createContract:v,createContractFunctionCall:L,createSubAccount:k,createTransaction:B,estimateGas:r,estimateTransactionFee:W,executeBatchTransaction:K,getAddress:G,getBalance:ry(BT.Near),getGasPrice:Uy,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(Z)=>Fn(Z),getSignerFromPrivateKey:ef,provider:l,serializeTransaction:_,signAndSendTransaction:z,signTransaction:w,transfer:N,validateAddress:await En()}}var Lo=R(()=>{qT();yo();No()});var h0=R(()=>{Lo()});var Bo={};a(Bo,{tgasToGas:()=>$2,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>En,getNearToolbox:()=>j2,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>Fn,getFullAccessPublicKey:()=>tn,getContractMethodGas:()=>Go,gasToTGas:()=>p2,estimateBatchGas:()=>Co,createNearContract:()=>_o,GAS_COSTS:()=>d});var Xo=R(()=>{yo();No();Lo();h0()});var wo={};a(wo,{radixValidateAddress:()=>c0,RadixToolbox:()=>s2});import{AssetValue as c2,Chain as j0,SKConfig as m2,SwapKitError as i2}from"@swapkit/helpers";function c0(T){return T.startsWith("account_rdx1")&&T.length===66}function g2({networkApi:T}){return async function(x){let y=await d2({address:x,networkApi:T});return r2({networkApi:T,resources:y})}}async function d2({address:T,networkApi:n}){let x=!0,y,f=[],o=await a2(n);while(x){let l={address:T,at_ledger_state:{state_version:o},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(f=f.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return f}async function r2({resources:T,networkApi:n}){let x=[],y=50,f=[];for(let o=0;o<T.length;o+=50)f.push(T.slice(o,o+50));for(let o of f){let l=o.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let B=N.metadata?.items.find((L)=>L.key==="symbol"),_=B?.value.typed.type==="String"?B.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of o)if(N.aggregation_level==="Global"){let B=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=c2.from({asset:B.symbol!==j0.Radix?`${j0.Radix}.${B.symbol}-${N.resource_address}`:"XRD.XRD",value:N.amount});x.push(_)}}return x}function a2(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var s2=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||m2.get("integrations").radix,f=n({...y,networkId:y.network?.networkId||1}),o=x.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:g2({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new i2("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c0}};var Zo=()=>{};var Qo={};a(Qo,{rippleValidateAddress:()=>qo,hashes:()=>CC,getRippleToolbox:()=>lC});import{AssetValue as Jo,Chain as Hy,getChainConfig as m0,getRPCUrl as e2,SwapKitError as Ey,SwapKitNumber as yC}from"@swapkit/helpers";import{Client as TC,isValidAddress as nC,Wallet as fC,xrpToDrops as oC}from"xrpl";import{hashes as CC}from"xrpl";function i0(T){let n=fC.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function qo(T){return nC(T)}var xC,lC=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?i0(T.phrase):void 0,x=await e2(Hy.Ripple);if(!x)throw new Ey({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Hy.Ripple}});let y=new TC(x);await y.connect();let f=()=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},o=async(L)=>{let X=L||await f(),{baseDecimal:w}=m0(Hy.Ripple);try{let z=(await y.request({account:X,command:"account_info"})).result.account_data.Balance;return[Jo.from({chain:Hy.Ripple,fromBaseDecimal:w,value:z})]}catch(J){if(J.data.error_code===xC.ACCOUNT_NOT_FOUND)return[Jo.from({chain:Hy.Ripple,value:0})];throw new Ey("toolbox_ripple_get_balance_error",{info:{address:X,error:J}})}},l=async()=>{let X=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:w}=m0(Hy.Ripple);return Jo.from({chain:Hy.Ripple,fromBaseDecimal:w,value:yC.fromBigInt(BigInt(X),w)})},C=async({assetValue:L,recipient:X,memo:w,sender:J})=>{if(!qo(X))throw new Ey({errorKey:"core_transaction_invalid_recipient_address"});let z=J||await f();if(!L.isGasAsset||L.chain!==Hy.Ripple)throw new Ey({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let W={Account:z,Amount:oC(L.getValue("string")),Destination:X,TransactionType:"Payment"};if(w)W.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(W)},G=(L)=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)},N=async(L)=>{let w=(await y.submitAndWait(L)).result;if(w.validated)return w.hash;throw new Ey({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Hy.Ripple}})};return{broadcastTransaction:N,createSigner:i0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:f,getBalance:o,signer:n,signTransaction:G,transfer:async(L)=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});let X=await n.getAddress(),w=await C({...L,sender:X}),J=await G(w);return N(J.tx_blob)},validateAddress:qo}};var Wo=R(()=>{xC={ACCOUNT_NOT_FOUND:19}});import{AssetValue as GC,Chain as NC,SwapKitNumber as g0}from"@swapkit/helpers";async function _C(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:f}}=y,o=g0.fromBigInt(BigInt(f.toString()),n.decimal).getValue("string");return[n.set(o)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function LC(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let f=y.balance||y.data?.balance;if(!f||f.isEmpty)return[n.set(0)];let o=g0.fromBigInt(BigInt(f.toString()),n.decimal).getValue("string");return[n.set(o)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function d0(T,n){return function(y){let f=GC.from({chain:T});switch(T){case NC.Chainflip:return LC(n,f,y);default:return _C(n,f,y)}}}var r0=()=>{};var BC,XC,wC,Fy;var zo=R(()=>{BC={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},XC={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},wC={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Fy={DOT:BC,FLIP:XC,GENERIC:wC}});import{hexToU8a as ZC,isHex as JC,u8aToHex as qC}from"@polkadot/util";import{decodeAddress as s0,encodeAddress as e0}from"@polkadot/util-crypto";import{AssetValue as QC,Chain as wT,getRPCUrl as WC,SwapKitError as Zy,SwapKitNumber as zC}from"@swapkit/helpers";import{match as YC,P as a0}from"ts-pattern";function MC(T,n){switch(T){case wT.Chainflip:return Tl(n);case wT.Polkadot:return yl(n);default:throw new Zy("toolbox_substrate_not_supported",{chain:T})}}function XT(T){return"address"in T}async function Mo(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 DC(T,n){let x=s0(T);return e0(x,n)}function nl(T,n){return JC(T)?ZC(T):s0(T,void 0,n)}function fl(T,n="ss58",x){if(n==="hex")return qC(T);return e0(T,x)}async function Po({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),o=await WC(n),l=new f(o),C=await y.create({provider:l}),G=QC.from({chain:n}),N=T?Fy.GENERIC:Fy[n],B=await YC(x).with({phrase:a0.string},({phrase:_})=>Mo(_,Fy[n].prefix)).with({signer:a0.any},({signer:_})=>_).otherwise(()=>{return});return ol({api:C,chain:n,gasAsset:G,network:N,signer:B})}var yl=({generic:T=!1,...n}={})=>{return Po({chain:wT.Polkadot,generic:T,...n})},Tl=async({generic:T=!1,...n}={})=>{return{...await Po({chain:wT.Chainflip,generic:T,...n})}},Ho=(T,n)=>T.rpc.system.accountNextIndex(n),Yo=(T,n)=>{try{let x=nl(T,n);return fl(x,"ss58",n),!0}catch{return!1}},Uo=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),HC=async(T,n,{recipient:x,assetValue:y,sender:f})=>{let o=Uo(T,{assetValue:y,recipient:x});if(!o)throw new Zy("toolbox_substrate_transfer_error");let l=XT(n),C=l?n.address:f;if(!C)throw new Zy("core_transaction_invalid_sender_address");let G=await Ho(T,C);return(await o.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},UC=async(T,n,x,{recipient:y,assetValue:f,sender:o})=>{let l=Uo(T,{assetValue:f,recipient:y}),C=XT(n)?n.address:o;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Ho(T,C)})||{partialFee:0};return x.set(zC.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},PC=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},RC=async(T,n)=>{return await n.signAsync(T)},IC=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},OC=async({signer:T,address:n,tx:x,callback:y,api:f})=>{let o=await Ho(f,n);if(y)x.signAndSend(n,{nonce:o,signer:T},y);return x.signAndSend(n,{nonce:o,signer:T}).toString()},ol=({api:T,network:n,gasAsset:x,signer:y,chain:f})=>({api:T,broadcast:PC,convertAddress:DC,createKeyring:(o)=>Mo(o,n.prefix),createTransaction:(o)=>Uo(T,o),decodeAddress:nl,encodeAddress:fl,estimateTransactionFee:(o)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return UC(T,y,x,o)},gasAsset:x,getAddress:(o)=>{let l=o||y;if(!l)throw new Zy("core_wallet_not_keypair_wallet");return XT(l)?l.address:void 0},getBalance:d0(f||wT.Polkadot,T),network:n,sign:(o)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(XT(y))return RC(y,o);throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:o,callback:l,address:C})=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(XT(y))return IC(y,o,l);if(C)return OC({address:C,api:T,callback:l,signer:y,tx:o});throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return HC(T,y,o)},validateAddress:(o)=>Yo(o,n.prefix)}),SC=({address:T,chain:n})=>{let{prefix:x}=n===wT.Polkadot?Fy.DOT:Fy.FLIP;return Yo(T,x)||Yo(T,Fy.GENERIC.prefix)};var xl=R(()=>{r0();zo()});var Ro={};a(Ro,{substrateValidateAddress:()=>SC,isKeyringPair:()=>XT,getSubstrateToolbox:()=>MC,createSubstrateToolbox:()=>Po,createKeyring:()=>Mo,SubstrateNetwork:()=>Fy,PolkadotToolbox:()=>yl,ChainflipToolbox:()=>Tl,BaseSubstrateToolbox:()=>ol});var Io=R(()=>{xl();zo()});import{AssetValue as uC,Chain as E,CosmosChains as Cl,EVMChains as Oo,FeeOption as kC,SubstrateChains as vC,SwapKitError as EC,UTXOChains as Gl}from"@swapkit/helpers";async function KL(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (nx(),Tx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (nf(),Tf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Zn(),wn)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (uf(),Sf)),{getSuiAddressValidator:o}=await Promise.resolve().then(() => (Wn(),Qn)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (Mn(),Yn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (Af(),tf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:N}=await Promise.resolve().then(() => (Xo(),Bo)),{radixValidateAddress:B}=await Promise.resolve().then(() => (Zo(),wo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (Wo(),Qo)),{substrateValidateAddress:L}=await Promise.resolve().then(() => (Io(),Ro)),X=await x(),w=await N(),J=await f(),z=await o(),W=await l(),U=await C(),k=await G();return function({address:v,chain:K}){return T(K).with(...Oo,()=>n({address:v})).with(...Gl,()=>k({address:v,chain:K})).with(E.Cosmos,E.Kujira,E.Noble,E.Maya,E.THORChain,(Uy)=>{return y(Uy)(v)}).with(E.Chainflip,E.Polkadot,()=>L({address:v,chain:K})).with(E.Radix,()=>B(v)).with(E.Near,()=>w(v)).with(E.Ripple,()=>_(v)).with(E.Solana,()=>J(v)).with(E.Sui,()=>z(v)).with(E.Ton,()=>W(v)).with(E.Tron,()=>U(v)).with(E.Cardano,()=>X(v)).otherwise(()=>!1)}}function bL(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...Oo,async(f)=>{let o=await ll(f),l=await o.createTransaction(x);return o.estimateTransactionFee({...l,chain:f,feeOption:x.feeOptionKey||kC.Fast})}).with(E.Bitcoin,E.BitcoinCash,E.Dogecoin,E.Dash,E.Litecoin,E.Polkadot,E.Solana,E.Ripple,E.Tron,E.Near,E.Cardano,async(f)=>{return(await ll(f)).estimateTransactionFee(x)}).with(E.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Wn(),Qn));return(await f()).estimateTransactionFee(x)}).with(E.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Mn(),Yn));return(await f()).estimateTransactionFee()}).with(...Cl,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Zn(),wn));return f(x)}).otherwise(async()=>uC.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(),so));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(() => (Zn(),wn));return await y(T,n)}).with(...vC,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Io(),Ro));return await y(T,n)}).with(E.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Zo(),wo));return await y(n)}).with(E.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Wo(),Qo));return await y(n)}).with(E.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (uf(),Sf));return await y(n)}).with(E.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Wn(),Qn));return await y(n)}).with(E.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Af(),tf));return await y(n)}).with(E.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (Xo(),Bo));return await y(n)}).with(E.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (nf(),Tf));return await y(n)}).with(E.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (Mn(),Yn));return await y(n)}).otherwise(()=>{throw new EC("toolbox_not_supported",{chain:T})})}export{ll as getToolbox,bL as getFeeEstimator,KL as getAddressValidator};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=AE77EE038402E03264756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.js.map
|