@swapkit/toolboxes 4.1.4 → 4.1.6
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/cosmos/index.cjs +2 -2
- package/dist/src/cosmos/index.cjs.map +3 -3
- package/dist/src/cosmos/index.js +2 -2
- package/dist/src/cosmos/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/dist/src/utxo/index.cjs +3 -3
- package/dist/src/utxo/index.cjs.map +2 -2
- package/dist/src/utxo/index.js +3 -3
- package/dist/src/utxo/index.js.map +2 -2
- package/dist/types/cosmos/toolbox/cosmos.d.ts +2 -2
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var Xl=Object.create;var{getPrototypeOf:Nl,defineProperty:Kn,getOwnPropertyNames:_l}=Object;var wl=Object.prototype.hasOwnProperty;var q=(T,n,x)=>{x=T!=null?Xl(Nl(T)):{};let y=n||!T||!T.__esModule?Kn(x,"default",{value:T,enumerable:!0}):x;for(let o of _l(T))if(!wl.call(y,o))Kn(y,o,{get:()=>T[o],enumerable:!0});return y};var e=(T,n)=>{for(var x in n)Kn(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var D=(T,n)=>()=>(T&&(n=T(T=0)),n);var Q=((T)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(T,{get:(n,x)=>(typeof require<"u"?require:n)[x]}):T)(function(T){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+T+'" is not supported')});import{AssetValue as Zl,getChainConfig as Bl}from"@swapkit/helpers";import{SwapKitApi as Jl}from"@swapkit/helpers/api";function Io(){function T(){let n=Date.now(),x=Vn||n;return Vn=x,n>Vn?n:x+1}return ql+T().toString(36)}function dy(T){return async function(x,y=!0){let o=await Jl.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:f}=Bl(T);return o.map(({identifier:l,value:C,decimal:G})=>{return new Zl({decimal:G||f,identifier:l,value:C})})}}var ql,Vn=0;var BT=D(()=>{ql=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as Ql,warnOnce as Ml}from"@swapkit/helpers";function JT(T){let n=Ql.get("apis")[T];if(n)return Ml({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return Pl(T)}function Wl(T){return T}function Pl(T){return{getBalance:dy(T)}}var hT=D(()=>{BT()});import{Chain as h,getChainConfig as vo,getRPCUrl as zl,SwapKitError as Ul}from"@swapkit/helpers";async function Ky(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await zl(T))}function qT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function bn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=vo(T);return()=>T===h.Ethereum?void 0:{...Hl({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function $n(T){return![h.Arbitrum,h.BinanceSmartChain].includes(T)}function Hl({chain:T}){let{baseDecimal:n}=vo(T);switch(T){case h.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case h.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case h.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case h.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case h.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:h.Ethereum}};case h.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:h.Polygon}};default:throw new Ul("toolbox_evm_not_supported",{chain:T})}}var ry=()=>{};var uo;var Fo=D(()=>{uo=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as Yl,applyFeeMultiplierToBigInt as ay,Chain as Jy,EVMChains as Dl,FeeOption as p,isGasAsset as Rl,SwapKitError as $,SwapKitNumber as jT}from"@swapkit/helpers";import{erc20ABI as QT}from"@swapkit/helpers/contracts";import{BrowserProvider as Ol,Contract as Eo,getAddress as cT,Interface as Ao}from"ethers";function sy({chain:T=Jy.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:ul({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:Vo({chain:T,provider:n}),broadcastTransaction:n.broadcastTransaction,call:gn({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),createApprovalTx:tl({chain:T,provider:n,signer:x}),createContract:jn({chain:T,provider:n}),createContractTxObject:Vy({chain:T,provider:n}),createTransaction:pn({chain:T,provider:n,signer:x}),createTransferTx:pn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:yT(n),estimateCall:bo({provider:n,signer:x}),estimateGasLimit:El({chain:T,provider:n,signer:x}),estimateGasPrices:by({chain:T,isEIP1559Compatible:y,provider:n}),estimateTransactionFee:Kl({chain:T,isEIP1559Compatible:y,provider:n}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:vl({chain:T,provider:n}),sendTransaction:$o({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:Fl({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(o)=>hn({address:o})}}function hn({address:T}){try{return cT(T),!0}catch{return!1}}function ey(T){return T instanceof Ol}function WT(T,n,x){return new Eo(T,Ao.from(n),x)}function jn({provider:T}){return function(x,y){return new Eo(x,Ao.from(y),T)}}function cn({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new $("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&kl.includes(x.stateMutability)}function to(T){return cT(T)}function yT(T){return function({value:x,...y}){if(!ey(T))throw new $("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:f,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:qT(BigInt(x||0))}])}}function Ko(T,n){let x=TT(T,n);if(x)return cT(x.toLowerCase());throw new $("toolbox_evm_invalid_gas_asset_address")}function TT({chain:T,symbol:n,ticker:x},y){try{let o=T===Jy.BinanceSmartChain&&n==="BNB"&&x==="BNB",f=T===y&&n===y&&x===y,l=Il.includes(T)&&n==="ETH"&&x==="ETH";if(f||o||l)return mn[y];return cT(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function Vy({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:o=[],txOverrides:f})=>WT(n,x,T).getFunction(y).populateTransaction(...o.concat(f).filter((l)=>typeof l<"u"))}function by({chain:T,provider:n,isEIP1559Compatible:x=!0}){if(T===Jy.Arbitrum)return async function(){try{let{gasPrice:o}=await n.getFeeData();if(!o)throw new $("toolbox_evm_no_fee_data");return{[p.Average]:{gasPrice:o},[p.Fast]:{gasPrice:o},[p.Fastest]:{gasPrice:o}}}catch(o){throw new $("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}};return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:l}=await n.getFeeData();if(x){if(o===null||f===null)throw new $("toolbox_evm_no_fee_data");return{[p.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:f},[p.Fast]:{maxFeePerGas:ay(o,p.Fast),maxPriorityFeePerGas:ay(f,p.Fast)},[p.Fastest]:{maxFeePerGas:ay(o,p.Fastest),maxPriorityFeePerGas:ay(f,p.Fastest)}}}if(!l)throw new $("toolbox_evm_no_gas_price");return{[p.Average]:{gasPrice:l},[p.Fast]:{gasPrice:ay(l,p.Fast)},[p.Fastest]:{gasPrice:ay(l,p.Fastest)}}}catch(o){throw new $("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function gn({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:f,contractAddress:l,abi:C,funcName:G,funcParams:L=[],txOverrides:_={},feeOption:X=p.Fast}){let N=f||T;if(!l)throw new $("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let w=cn({abi:C,funcName:G});if(w&&ey(N)&&x){let W=Vy({chain:y,provider:N}),M=_?.from||await x?.getAddress(),H=await W({abi:C,contractAddress:l,funcName:G,funcParams:L,txOverrides:{..._,from:M}});return yT(N)(H)}let Z=WT(l,C,N);if(w){if(!x)throw new $("toolbox_evm_no_signer");let W=_?.from||await x.getAddress();if(!W)throw new $("toolbox_evm_no_signer_address");let M=Z.connect(x),H=by({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:v,maxPriorityFeePerGas:S,gasPrice:u}=(await H())[X],V=await Z.getFunction(G).estimateGas(...L,_),a=await M[G](...L,{..._,gasLimit:V,gasPrice:u,maxFeePerGas:v,maxPriorityFeePerGas:S,nonce:_?.nonce||await N.getTransactionCount(W)});return typeof a?.hash==="string"?a?.hash:a}let J=await Z[G]?.(...L);return typeof J?.hash==="string"?J?.hash:J}}function Vo({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:o,from:f}){return gn({chain:n,isEIP1559Compatible:!0,provider:T})({abi:QT,contractAddress:y,funcName:"allowance",funcParams:[f,o]})}}function vl({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:o,from:f,amount:l=MT}){let C=await Vo({chain:n,provider:T})({assetAddress:y,from:f,spenderAddress:o});return jT.fromBigInt(C).gte(jT.fromBigInt(BigInt(l)))}}function ul({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:f,spenderAddress:l,feeOptionKey:C=p.Fast,amount:G,gasLimitFallback:L,from:_,nonce:X}){let N=[l,BigInt(G||MT)],w=await T?.getAddress()||_,Z={abi:QT,contractAddress:f,funcName:"approve",funcParams:N,signer:T,txOverrides:{from:w}};if(ey(x)){let W=Vy({chain:y,provider:x}),M=yT(x),H=await W(Z);return M(H)}return gn({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...Z,feeOption:C,funcParams:N,txOverrides:{from:w,gasLimit:L?BigInt(L.toString()):void 0,nonce:X}})}}function Fl({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:o,memo:f,recipient:l,feeOptionKey:C=p.Fast,sender:G,...L}){let{hexlify:_,toUtf8Bytes:X}=await import("ethers"),N=o.getBaseValue("bigint"),w=o.chain,Z=G||await T?.getAddress(),J=$o({chain:w,isEIP1559Compatible:n,provider:x,signer:T});if(!Z)throw new $("toolbox_evm_no_from_address");if(o.isGasAsset){let u={...L,data:_(X(f||"")),feeOptionKey:C,from:Z,to:l,value:N};return J(u)}if(!TT(o,w))throw new $("toolbox_evm_no_contract_address");let{maxFeePerGas:M,maxPriorityFeePerGas:H,gasPrice:v}=(await by({chain:w,isEIP1559Compatible:n,provider:x})())[C],S=await pn({chain:w,provider:x,signer:T})({assetValue:o,data:_(X(f||"")),gasPrice:v,maxFeePerGas:M,maxPriorityFeePerGas:H,memo:f,recipient:l,sender:Z});return J(S)}}function bo({provider:T,signer:n}){return function({contractAddress:y,abi:o,funcName:f,funcParams:l=[],txOverrides:C}){if(!y)throw new $("toolbox_evm_no_contract_address");let G=WT(y,o,T);return n?G.connect(n).getFunction(f).estimateGas(...l,C):G.getFunction(f).estimateGas(...l,C)}}function El({provider:T,signer:n}){return async function({assetValue:y,recipient:o,memo:f,data:l,sender:C,funcName:G,funcParams:L,txOverrides:_}){let X=y.bigIntValue,N=y.isGasAsset?null:TT(y,y.chain);if(N&&G)return bo({provider:T,signer:n})({abi:QT,contractAddress:N,funcName:G,funcParams:L,txOverrides:_});let{hexlify:w,toUtf8Bytes:Z}=await import("ethers");return T.estimateGas({data:l?l:f?w(Z(f)):void 0,from:C,to:o,value:X})}}function $o({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:f=p.Fast,...l}){let{from:C,to:G,data:L,value:_,...X}=l;if(!n)throw new $("toolbox_evm_no_signer");if(!G)throw new $("toolbox_evm_no_to_address");let N={...X,data:L||"0x",from:C,to:G,value:BigInt(_||0)};if(ey(T))return yT(T)(N);let w=C||await n.getAddress(),Z=l.nonce||await T.getTransactionCount(w),J=(await T.getNetwork()).chainId,W=Al(N)||x,M=by({chain:y,isEIP1559Compatible:x,provider:T}),H=W&&!(N.maxFeePerGas&&N.maxPriorityFeePerGas)||!N.gasPrice?Object.entries((await M())[f]).reduce((S,[u,V])=>({...S,[u]:qT(BigInt(V))}),{}):{},v;try{v=qT(N.gasLimit||await T.estimateGas(N)*11n/10n)}catch(S){throw new $("toolbox_evm_error_estimating_gas_limit",{error:S})}try{let S={...N,chainId:J,gasLimit:v,nonce:Z,type:W?2:0,...H};try{return(await n.sendTransaction(S)).hash}catch{let u=await n.signTransaction({...S,from:w});return(await T.broadcastTransaction(u)).hash}}catch(S){throw new $("toolbox_evm_error_sending_transaction",{error:S})}}}function pn({provider:T,signer:n}){return async function({assetValue:y,memo:o,recipient:f,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:L,gasPrice:_,...X}){let N=y.getBaseValue("bigint"),w=y.chain,Z=C||await n?.getAddress();if(!Z)throw new $("toolbox_evm_no_from_address");if(Rl(y)){let{hexlify:M,toUtf8Bytes:H}=await import("ethers");return{...X,data:l||M(H(o||"")),from:Z,to:f,value:N}}let J=TT(y,w);if(!J)throw new $("toolbox_evm_no_contract_address");return Vy({chain:y.chain,provider:T})({abi:QT,contractAddress:J,funcName:"transfer",funcParams:[f,N],txOverrides:{from:Z,gasPrice:_,maxFeePerGas:G,maxPriorityFeePerGas:L}})}}function tl({provider:T,signer:n,chain:x}){return async function({assetAddress:o,spenderAddress:f,amount:l,from:C}){let G=await n?.getAddress()||C,L=Vy({chain:x,provider:T}),_=["bigint","number"].includes(typeof l)?l:l||MT;return await L({abi:QT,contractAddress:o,funcName:"approve",funcParams:[f,BigInt(_)],txOverrides:{from:G}})}}function Kl({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=p.Fast,chain:o,...f}){let C=await by({chain:o,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(f),L=Yl.from({chain:o}),{gasPrice:_,maxFeePerGas:X,maxPriorityFeePerGas:N}=C[y];if(!n&&_)return L.set(jT.fromBigInt(_*G,L.decimal));if(X&&N){let w=(X+N)*G;return L.set(jT.fromBigInt(w,L.decimal))}throw new $("toolbox_evm_no_gas_price")}}var MT,kl,Sl,mn,Il,Al=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var mT=D(()=>{ry();MT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");kl=["payable","nonpayable"];Sl=Dl.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),mn={...Sl,[Jy.Optimism]:"0x4200000000000000000000000000000000000042",[Jy.Polygon]:"0x0000000000000000000000000000000000001010"},Il=[Jy.Arbitrum,Jy.Aurora,Jy.Base,Jy.Optimism]});import{Chain as c,FeeOption as Vl,getRPCUrl as bl}from"@swapkit/helpers";import{match as $l,P as po}from"ts-pattern";async function iT({provider:T,...n}){let x=await m(c.Ethereum)({provider:T,...n});async function y(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=Vl.Fast){let G=await x.createContractTxObject({abi:uo,contractAddress:f,funcName:l,funcParams:[o]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function m(T){return async function({provider:x,...y}){let{HDNodeWallet:o}=await import("ethers"),f=await bl(T),l=x||await Ky(T,f),C=$n(T),G=$l(y).with({phrase:po.string},({phrase:_})=>o.fromPhrase(_).connect(l)).with({signer:po.any},({signer:_})=>_).otherwise(()=>{return});return{...sy({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:JT(T).getBalance,getNetworkParams:bn(T)}}}var gT,dT,rT,aT,sT,eT,ho,yn,Tn,nn,fn,on,xn,PT,ln,Cn;var dn=D(()=>{hT();Fo();ry();mT();gT=m(c.Arbitrum),dT=m(c.Aurora),rT=m(c.Avalanche),aT=m(c.Base),sT=m(c.Berachain),eT=m(c.BinanceSmartChain),ho=m(c.Botanix),yn=m(c.Core),Tn=m(c.Corn),nn=m(c.Cronos),fn=m(c.Gnosis),on=m(c.Hyperevm),xn=m(c.Polygon),PT=m(c.Sonic),ln=m(c.Unichain),Cn=m(c.XLayer)});var jo;var co=D(()=>{jo=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as nT,Chain as Gn,FeeOption as qy,getChainConfig as hl,getRPCUrl as jl,SwapKitError as rn}from"@swapkit/helpers";import{Contract as cl,HDNodeWallet as ml}from"ethers";import{match as il,P as mo}from"ts-pattern";function an(T){return new cl(gl,jo,T)}function io(T){return async function(){let x=an(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function go(T){return async function({from:x,to:y,nonce:o,...f}){let{Transaction:l}=await import("ethers");if(!y)throw new rn("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...f,authorizationList:f.authorizationList,nonce:o?o:x?await T.getTransactionCount(x):0,to:y}).serialized}}function ro(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(o)}}function ao(T){return async function(x){let y=await T.send("eth_gasPrice",[]),o=await T.estimateGas(x);return y.mul(o)}}function dl(T){return async function(x){let y=await ro(T)(x),o=await ao(T)(x);return y.add(o)}}function rl(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(o)}}function al(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:o}=hl(Gn.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:Gn.Ethereum},rpcUrls:o}}async function sl(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),o=await io(T)(),f=y;if(!(n&&x))throw new rn("toolbox_evm_no_fee_data");return{[qy.Average]:{gasPrice:f,l1GasPrice:o,maxFeePerGas:n,maxPriorityFeePerGas:x},[qy.Fast]:{gasPrice:nT(f,qy.Fast),l1GasPrice:nT(o||0n,qy.Fast),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,qy.Fast)},[qy.Fastest]:{gasPrice:nT(f,qy.Fastest),l1GasPrice:nT(o||0n,qy.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,qy.Fastest)}}}catch(n){throw new rn("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}async function Ln({provider:T,...n}){let x=Gn.Optimism,y=await jl(x),o=T||await Ky(x,y),f=il(n).with({phrase:mo.string},({phrase:G})=>ml.fromPhrase(G).connect(o)).with({signer:mo.any},({signer:G})=>G).otherwise(()=>{return}),l=sy({provider:o,signer:f}),C=io(o);return{...l,estimateGasPrices:sl(o),estimateL1Gas:rl(o),estimateL1GasCost:ro(o),estimateL2GasCost:ao(o),estimateTotalGasCost:dl(o),getBalance:JT(Gn.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:al}}var gl="0x420000000000000000000000000000000000000f";var sn=D(()=>{hT();co();ry();mT()});var eo={};e(eo,{toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getEvmToolbox:()=>so,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>hn,createContract:()=>WT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>PT,OPToolbox:()=>Ln,MAX_APPROVAL:()=>MT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});import{Chain as j}from"@swapkit/helpers";import{match as el}from"ts-pattern";async function so(T,n){let x={...n,provider:n?.provider||await Ky(T)};return el(T).returnType().with(j.Arbitrum,()=>gT(x)).with(j.Aurora,()=>dT(x)).with(j.Avalanche,()=>rT(x)).with(j.Base,()=>aT(x)).with(j.Berachain,()=>sT(x)).with(j.BinanceSmartChain,()=>eT(x)).with(j.Botanix,()=>PT(x)).with(j.Core,()=>yn(x)).with(j.Corn,()=>Tn(x)).with(j.Cronos,()=>nn(x)).with(j.Ethereum,()=>iT(x)).with(j.Gnosis,()=>fn(x)).with(j.Hyperevm,()=>on(x)).with(j.Optimism,()=>Ln(x)).with(j.Polygon,()=>xn(x)).with(j.Sonic,()=>PT(x)).with(j.Unichain,()=>ln(x)).with(j.XLayer,()=>Cn(x)).exhaustive()}var en=D(()=>{ry();dn();sn();mT();dn();sn()});var yx;var Tx=D(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(yx||={})});var nx={};e(nx,{toHexString:()=>qT,toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>Ky,getNetworkParams:()=>bn,getIsEIP1559Compatible:()=>$n,getEvmToolbox:()=>so,getEvmApi:()=>JT,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>hn,createCustomEvmApi:()=>Wl,createContract:()=>WT,XLayerToolbox:()=>Cn,UNIToolbox:()=>ln,SONICToolbox:()=>PT,OPToolbox:()=>Ln,MAX_APPROVAL:()=>MT,MATICToolbox:()=>xn,HYPEREVMToolbox:()=>on,GNOToolbox:()=>fn,EthNetwork:()=>yx,ETHToolbox:()=>iT,ContractAddress:()=>mn,CROToolbox:()=>nn,CORNToolbox:()=>Tn,COREToolbox:()=>yn,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>eT,BERAToolbox:()=>sT,BASEToolbox:()=>aT,AVAXToolbox:()=>rT,AURORAToolbox:()=>dT,ARBToolbox:()=>gT});var fx=D(()=>{hT();ry();en();Tx()});import{AssetValue as UT,Chain as fT,getChainConfig as y1,SwapKitError as zT}from"@swapkit/helpers";import{match as T1,P as ox}from"ts-pattern";async function yf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function f1(T){try{let{MeshWallet:n}=await import("@meshsdk/core"),x=await yf(),y=new n({fetcher:x,key:{address:T,type:"address"},networkId:1});await y.init();let o=await y.getBalance(),f=[];for(let l of o)if(l.unit===n1){let{baseDecimal:C}=y1(fT.Cardano);f.push(UT.from({chain:fT.Cardano,fromBaseDecimal:C,value:l.quantity}))}else f.push(UT.from({asset:`${fT.Cardano}.${l.unit}`,value:l.quantity}));if(f.length===0)return[UT.from({chain:fT.Cardano})];return f}catch(n){return console.error("Cardano balance fetch error:",n),[UT.from({chain:fT.Cardano})]}}async function xx(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function o1(T){let n=await xx(),x=await T1(T).with({phrase:ox.string},async({phrase:_})=>{let{MeshWallet:X}=await import("@meshsdk/core"),N=await yf(),w=new X({fetcher:N,key:{type:"mnemonic",words:_.split(" ")},networkId:1,submitter:N});return await w.init(),w}).with({signer:ox.any},({signer:_})=>_).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function o(){return y||""}function f(_){let X=_||o();if(!X)throw new zT("core_wallet_connection_not_found");return f1(X)}function l(){return Promise.resolve(UT.from({chain:fT.Cardano,value:"0.01"}))}async function C({recipient:_,assetValue:X,memo:N}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{Transaction:w}=await import("@meshsdk/core"),[,Z]=X.symbol.split("-");if(!X.isGasAsset&&!Z)throw new zT("core_wallet_connection_not_found");let J=new w({initiator:x});if(J.sendAssets({address:_},[{quantity:X.getBaseValue("string"),unit:X.isGasAsset?"lovelace":X.symbol}]),N)J.setMetadata(0,N);let W=await J.build();return{tx:J,unsignedTx:W}}function G(_){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");return x.signTx(_)}async function L({recipient:_,assetValue:X,memo:N}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{unsignedTx:w}=await C({assetValue:X,memo:N,recipient:_}),Z=await G(w);return await(await yf()).submitTx(Z)}return{createTransaction:C,estimateTransactionFee:l,getAddress:o,getBalance:f,signTransaction:G,transfer:L,validateAddress:n}}var n1="lovelace";var lx=()=>{};var Tf={};e(Tf,{getCardanoToolbox:()=>o1,getCardanoAddressValidator:()=>xx});var nf=D(()=>{lx()});import{base64 as Cx,bech32 as Xn}from"@scure/base";import{SwapKitError as x1}from"@swapkit/helpers";import{fromByteArray as l1,toByteArray as C1}from"base64-js";function HT(T){return Cx.encode(Uint8Array.from(Xn.fromWords(Xn.decode(T).words)))}function YT(T,n="thor"){return Xn.encode(n,Xn.toWords(Cx.decode(T)))}function G1(T){return l1(T)}function L1(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new x1("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return C1(T)}var ff=()=>{};import{AssetValue as of,Chain as E,getChainConfig as Ly,getRPCUrl as X1,SwapKitError as Gx}from"@swapkit/helpers";function Qy(T){switch(T){case E.Maya:return{amount:[],gas:"10000000000"};case E.THORChain:return{amount:[],gas:"500000000"};case E.Kujira:return Nx;case E.Noble:return _x;default:return Xx}}async function My(T){let n=await import("@cosmjs/stargate"),x=n.StargateClient??n.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return x.connect({headers:y,url:T})}async function RT(T,n,x={}){let y=await import("@cosmjs/stargate"),o=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return o.connectWithSigner(T,n,{gasPrice:f.fromString(l),...C})}async function lf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function Cf({sender:T,recipient:n,assetValue:x,memo:y="",feeRate:o,sequence:f,accountNumber:l}){let{chain:C,chainId:G}=x,L=await X1(C),X=await(await My(L)).getAccount(T);if(!X)throw new Gx("toolbox_cosmos_account_not_found",{sender:T});let N=of.from({chain:C}),w=Yy(N.symbol),Z=Qy(C),J=w&&o?{amount:[{amount:o.toString(),denom:w}],gas:Z.gas}:Z,W={amount:[{amount:x.getBaseValue("string"),denom:Yy(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??X.accountNumber,chainId:G,fee:J,memo:y,msgs:[{typeUrl:N1(C),value:W}],sequence:f??X.sequence}}var xf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Lx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Xx,Nx,_x,Yy=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return xf;case"uYUM":case"YUM":return Lx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},DT=({symbol:T,chain:n})=>{if(n===E.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Maya}.${T}`).toUpperCase();if(n===E.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.THORChain}.${T}`:T).toUpperCase();return Yy(T,!1)},N1=(T)=>{switch(T){case E.Maya:case E.THORChain:return"/types.MsgSend";case E.Cosmos:case E.Kujira:case E.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Gx("toolbox_cosmos_not_supported",{chain:T})}},_1,Gf=(T,n)=>{let x=_1[T.toLowerCase()];if(!x)return of.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:o,decimals:f}=x,l=y?{chain:y}:{asset:o};return of.from({...l,fromBaseDecimal:f,value:n})};var OT=D(()=>{Xx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Nx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},_x={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};_1={atom:{chain:E.Cosmos,decimals:Ly(E.Cosmos).baseDecimal},cacao:{chain:E.Maya,decimals:10},kuji:{chain:E.Kujira,decimals:Ly(E.Kujira).baseDecimal},maya:{asset:`${E.Maya}.${E.Maya}`,decimals:4},rune:{chain:E.THORChain,decimals:Ly(E.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Ly(E.THORChain).baseDecimal},uatom:{chain:E.Cosmos,decimals:Ly(E.Cosmos).baseDecimal},ukuji:{chain:E.Kujira,decimals:Ly(E.Kujira).baseDecimal},usdc:{chain:E.Noble,decimals:Ly(E.Noble).baseDecimal},uusdc:{chain:E.Noble,decimals:Ly(E.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Ly(E.THORChain).baseDecimal},[xf.toLowerCase()]:{asset:`${E.Kujira}.USK`,decimals:Ly(E.Kujira).baseDecimal}}});var wx={};e(wx,{$root:()=>z});import g from"protobufjs/minimal.js";var k,Cy,Y,z;var Zx=D(()=>{k=g.Reader,Cy=g.Writer,Y=g.util,z=g.roots.default||(g.roots.default={});z.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))o.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))o.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))o.uint32(32).bool(y.synth);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Asset;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!Y.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!Y.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!Y.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Asset)return y;let o=new z.common.Asset;if(y.chain!=null)o.chain=String(y.chain);if(y.symbol!=null)o.symbol=String(y.symbol);if(y.ticker!=null)o.ticker=String(y.ticker);if(y.synth!=null)o.synth=Boolean(y.synth);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=Y.Long?Y.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))z.common.Asset.encode(y.asset,o.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))o.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))o.uint32(24).int64(y.decimals);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Coin;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.asset=z.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let o=z.common.Asset.verify(y.asset);if(o)return"asset."+o}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Y.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!Y.isInteger(y.decimals)&&!(y.decimals&&Y.isInteger(y.decimals.low)&&Y.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Coin)return y;let o=new z.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");o.asset=z.common.Asset.fromObject(y.asset)}if(y.amount!=null)o.amount=String(y.amount);if(y.decimals!=null){if(Y.Long)(o.decimals=Y.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")o.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")o.decimals=y.decimals;else if(typeof y.decimals==="object")o.decimals=new Y.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)if(f.asset=null,f.amount="",Y.Long){let l=new Y.Long(0,0,!1);f.decimals=o.longs===String?l.toString():o.longs===Number?l.toNumber():l}else f.decimals=o.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=z.common.Asset.toObject(y.asset,o);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=o.longs===String?String(y.decimals):y.decimals;else f.decimals=o.longs===String?Y.Long.prototype.toString.call(y.decimals):o.longs===Number?new Y.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))o.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))o.uint32(18).string(y.ed25519);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.PubKeySet;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!Y.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!Y.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.PubKeySet)return y;let o=new z.common.PubKeySet;if(y.secp256k1!=null)o.secp256k1=String(y.secp256k1);if(y.ed25519!=null)o.ed25519=String(y.ed25519);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=Y.emptyArray,n.prototype.gas=Y.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))o.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)z.common.Coin.encode(y.gas[f],o.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(58).string(y.memo);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Tx;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(z.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!Y.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!Y.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!Y.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!Y.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let o=0;o<y.gas.length;++o){let f=z.common.Coin.verify(y.gas[o]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!Y.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Tx)return y;let o=new z.common.Tx;if(y.id!=null)o.id=String(y.id);if(y.chain!=null)o.chain=String(y.chain);if(y.fromAddress!=null)o.fromAddress=String(y.fromAddress);if(y.toAddress!=null)o.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");o.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");o.gas[f]=z.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)o.memo=String(y.memo);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[],f.gas=[];if(o.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.gas?.length){f.gas=[];for(let l=0;l<y.gas.length;++l)f.gas[l]=z.common.Coin.toObject(y.gas[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=Y.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))o.uint32(18).string(y.poolDeduct);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Fee;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!Y.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Fee)return y;let o=new z.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)o.poolDeduct=String(y.poolDeduct);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))o.uint32(10).string(y.value);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.ProtoUint;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!Y.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.ProtoUint)return y;let o=new z.common.ProtoUint;if(y.value!=null)o.value=String(y.value);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T})();z.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=Y.emptyArray,n.prototype.memo="",n.prototype.signer=Y.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))o.uint32(26).bytes(y.signer);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgDeposit;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!Y.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||Y.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof z.types.MsgDeposit)return y;let o=new z.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)o.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")Y.base64.decode(y.signer,o.signer=Y.newBuffer(Y.base64.length(y.signer)),0);else if(y.signer.length)o.signer=y.signer}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults){if(f.memo="",o.bytes===String)f.signer="";else if(f.signer=[],o.bytes!==Array)f.signer=Y.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=o.bytes===String?Y.base64.encode(y.signer,0,y.signer.length):o.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.fromAddress=Y.newBuffer([]),n.prototype.toAddress=Y.newBuffer([]),n.prototype.amount=Y.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Cy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)z.cosmos.base.v1beta1.Coin.encode(y.amount[f],o.uint32(26).fork()).ldelim();return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof k))y=k.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgSend;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(z.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof k))y=new k(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||Y.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||Y.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let o=0;o<y.amount.length;++o){let f=z.cosmos.base.v1beta1.Coin.verify(y.amount[o]);if(f)return"amount."+f}}return null},n.fromObject=function(y){if(y instanceof z.types.MsgSend)return y;let o=new z.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")Y.base64.decode(y.fromAddress,o.fromAddress=Y.newBuffer(Y.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)o.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")Y.base64.decode(y.toAddress,o.toAddress=Y.newBuffer(Y.base64.length(y.toAddress)),0);else if(y.toAddress.length)o.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");o.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");o.amount[f]=z.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.amount=[];if(o.defaults){if(o.bytes===String)f.fromAddress="";else if(f.fromAddress=[],o.bytes!==Array)f.fromAddress=Y.newBuffer(f.fromAddress);if(o.bytes===String)f.toAddress="";else if(f.toAddress=[],o.bytes!==Array)f.toAddress=Y.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=o.bytes===String?Y.base64.encode(y.fromAddress,0,y.fromAddress.length):o.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=o.bytes===String?Y.base64.encode(y.toAddress,0,y.toAddress.length):o.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let l=0;l<y.amount.length;++l)f.amount[l]=z.cosmos.base.v1beta1.Coin.toObject(y.amount[l],o)}return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},n})(),T})();z.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.Coin;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!Y.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Y.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.Coin)return f;let l=new z.cosmos.base.v1beta1.Coin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecCoin;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!Y.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Y.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecCoin)return f;let l=new z.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))l.uint32(10).string(f.int);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.IntProto;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.int=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!Y.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.IntProto)return f;let l=new z.cosmos.base.v1beta1.IntProto;if(f.int!=null)l.int=String(f.int);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(f.int!=null&&f.hasOwnProperty("int"))C.int=f.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Cy.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))l.uint32(10).string(f.dec);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof k))f=k.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecProto;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.dec=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof k))f=new k(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!Y.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecProto)return f;let l=new z.cosmos.base.v1beta1.DecProto;if(f.dec!=null)l.dec=String(f.dec);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))C.dec=f.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,g.util.toJSONOptions)},y})(),x})(),n})(),T})()});import{Chain as w1}from"@swapkit/helpers";async function $y(){let{$root:T}=await Promise.resolve().then(() => (Zx(),wx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),o=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...o,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Dy(T){let n=await import("@cosmjs/stargate"),x=n.AminoTypes??n.default?.AminoTypes,y=T===w1.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:o,...f})=>({...f,signer:HT(o)}),toAmino:({signer:o,...f})=>({...f,signer:YT(o)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:o,to_address:f,...l})=>({...l,fromAddress:HT(o),toAddress:HT(f)}),toAmino:({fromAddress:o,toAddress:f,...l})=>({...l,from_address:YT(o),to_address:YT(f)})}})}var Lf=D(()=>{ff()});import{AssetValue as Z1,Chain as Nn,getChainConfig as Bx,SwapKitError as B1}from"@swapkit/helpers";function _f(T){return function(x){let{assetValue:y,recipient:o,memo:f,sender:l,asSignable:C,asAminoMessage:G}=x;if(o)return qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,recipient:o,sender:l});return Qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,sender:l})}}function Oy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((n)=>{let x=Z1.from({asset:n.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),o=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:o,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function kT({chain:T,memo:n,msgs:x}){let y=await $y(),o=await Dy(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>o.fromAmino(l))}};return y.encode(f)}var J1,q1,Xf=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===Nn.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:Yy(x.symbol,!0)}],from_address:T,to_address:n}}},Nf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===Nn.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:DT(n)}],memo:x,signer:T}}},_n=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Nf({assetValue:x,memo:y,sender:T}):Xf({assetValue:x,recipient:n,sender:T})},Ry=async(T,n)=>{return(await Dy(n)).fromAmino(T)},Jx=async({rpcUrl:T,sender:n})=>{let y=await(await My(T)).getAccount(n);if(!y)throw new B1("toolbox_cosmos_account_not_found",{sender:n});return y},qx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:o="",asSignable:f=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let L=await Jx({rpcUrl:T,sender:n}),_=y.chain,{chainId:X}=Bx(_),N=Xf({assetValue:y,recipient:x,sender:n}),w=f?await Ry(l?N:Oy(N),_):N;return{accountNumber:G||L.accountNumber,chainId:X,fee:Qy(_),memo:o,msgs:[w],sequence:C||L.sequence}},Qx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:o=!0,asAminoMessage:f=!1,sequence:l,accountNumber:C})=>{let G=await Jx({rpcUrl:T,sender:n}),L=x.chain,{chainId:_}=Bx(L),X=Nf({assetValue:x,memo:y,sender:n}),N=o?await Ry(f?X:Oy(X),L):X;return{accountNumber:C||G.accountNumber,chainId:_,fee:Qy(L),memo:y,msgs:[N],sequence:l||G.sequence}};var Mx=D(()=>{OT();Lf();J1=Qy(Nn.THORChain).gas,q1=Qy(Nn.Maya).gas});var Wx=()=>{};var Px=D(()=>{Wx()});var wf=D(()=>{ff();Mx();Lf();Px()});import{base64 as Jf,bech32 as Zf}from"@scure/base";import{AssetValue as qf,applyFeeMultiplier as zx,Chain as yy,CosmosChainPrefixes as Q1,DerivationPath as M1,derivationPathToString as Ux,FeeOption as Qf,getChainConfig as W1,getRPCUrl as P1,NetworkDerivationPath as z1,SwapKitError as Mf,SwapKitNumber as Bf,updateDerivationPath as U1}from"@swapkit/helpers";import{SwapKitApi as Ox}from"@swapkit/helpers/api";import{match as H1,P as Hx}from"ts-pattern";async function Pf(T,n){try{let y=(await Ox.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Wf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),o=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),l=f.stringToPath??f.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${M1[x.chain]}/${x.index}`;return o.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function Y1({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function kx(T){return async function({signature:x,message:y,address:o}){let f=await T(o);if(!f?.pubkey)throw new Mf("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,L=C.fromFixedLength(Jf.decode(x));return G.verifySignature(L,Jf.decode(y),f.pubkey.value)}}async function ST({chain:T,...n}){let x=await P1(T),y=Q1[T],o="index"in n?n.index||0:0,f=Ux("derivationPath"in n&&n.derivationPath?n.derivationPath:U1(z1[T],{index:o})),l=await H1(n).with({phrase:Hx.string},({phrase:X})=>Wf({derivationPath:f,phrase:X,prefix:y})).with({signer:Hx.any},({signer:X})=>X).otherwise(()=>{return});async function C(X){return(await My(x)).getAccount(X)}async function G(){let[X]=await l?.getAccounts()||[];return X?.address}async function L(){let[X]=await l?.getAccounts()||[];if(!X?.pubkey)throw new Mf("toolbox_cosmos_signer_not_defined");return Jf.encode(X?.pubkey)}async function _({recipient:X,assetValue:N,memo:w="",feeRate:Z,feeOptionKey:J=Qf.Fast}){let W=await G();if(!(l&&W))throw new Mf("toolbox_cosmos_signer_not_defined");let M=qf.from({chain:T}),H=DT(M),v=Z||O1((await Dx(T,Yx[T]))[J],H),S=await RT(x,l),u=[{amount:N.getBaseValue("string"),denom:Yy(`u${N.symbol}`).toLowerCase()}],{transactionHash:V}=await S.sendTokens(W,X,u,v,w);return V}return{createPrivateKeyFromPhrase:S1(f),createTransaction:Cf,fetchFeeRateFromSwapKit:Pf,getAccount:C,getAddress:G,getBalance:async(X,N)=>{let w=await Rx(x)(X),Z=await Promise.all(w.filter(({denom:J})=>J&&!J.includes("IBC/")).map(({denom:J,amount:W})=>{let M=[yy.THORChain,yy.Maya].includes(T)&&(J.includes("/")||J.includes("˜"))?`${T}.${J}`:J;return Gf(M,W)}));if(Z.length===0)return[qf.from({chain:T})];return Z},getBalanceAsDenoms:Rx(x),getFees:()=>Dx(T,Yx[T]),getPubKey:L,getSignerFromPhrase:async({phrase:X,derivationPath:N})=>Wf({derivationPath:Ux(N),index:o,phrase:X,prefix:y}),getSignerFromPrivateKey:async(X)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(X,y)},transfer:_,validateAddress:Sx(y),verifySignature:kx(C)}}async function D1(T,n){try{let y=(await Ox.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function R1({assetValue:{chain:T}}){return qf.from({chain:T,value:k1(T)})}async function Dx(T,n){let{chainId:x,baseDecimal:y}=W1(T),o=await Pf(x,n);return{average:Bf.fromBigInt(BigInt(o),y),fast:Bf.fromBigInt(BigInt(zx(o,Qf.Fast,!0)),y),fastest:Bf.fromBigInt(BigInt(zx(o,Qf.Fastest,!0)),y)}}function O1(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function k1(T){return{[yy.Cosmos]:0.007,[yy.Kujira]:0.02,[yy.Noble]:0.01,[yy.THORChain]:0.02,[yy.Maya]:0.02,[yy.Harbor]:0.02}[T]||0}function Sx(T){return function(x){if(!x.startsWith(T))return!1;try{let{prefix:y,words:o}=Zf.decode(x);return Zf.encode(y,o)===x.toLocaleLowerCase()}catch{return!1}}}function Rx(T){return async function(x){return(await(await My(T)).getAllBalances(x)).map((l)=>({...l,denom:l.denom.includes("/")?l.denom.toUpperCase():l.denom}))}}function S1(T){return async function(x){let y=await import("@cosmjs/crypto"),o=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,L=new C(x),_=await G.mnemonicToSeed(L),{privkey:X}=l.derivePath(f.Secp256k1,_,o(T));return X}}var Yx;var wn=D(()=>{OT();Yx={[yy.Cosmos]:500,[yy.Kujira]:1000,[yy.Noble]:1000,[yy.THORChain]:5000000,[yy.Maya]:5000000,[yy.Harbor]:5000000}});import{base64 as py}from"@scure/base";import{Chain as I1,CosmosChainPrefixes as v1,derivationPathToString as u1,FeeOption as zf,getChainConfig as Ix,getRPCUrl as F1,NetworkDerivationPath as E1,RequestClient as A1,SKConfig as t1,SwapKitError as vx,SwapKitNumber as ux,updateDerivationPath as K1}from"@swapkit/helpers";import{match as V1,P as Fx}from"ts-pattern";function b1({prefix:T,derivationPath:n}){return async function(y,o=0){let f=await import("@cosmjs/amino"),l=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${o}`)],prefix:T})}}function $1(T){return py.encode(T)}function p1(T){return async function({wallet:x,tx:y}){let{msgs:o,accountNumber:f,sequence:l,chainId:C,fee:G,memo:L}=typeof y==="string"?JSON.parse(y):y,_=(await x.getAccounts())?.[0]?.address||"",X=await Dy(T),N=await $y(),w=await lf(x,{aminoTypes:X,registry:N}),Z=[];for(let M of o){let H=await Ry(M,T);Z.push(H)}let{signatures:[J]}=await w.sign(_,Z,G,L,{accountNumber:f,chainId:C,sequence:l});return{bodyBytes:await kT({chain:T,memo:L,msgs:o.map(Oy)}),signature:$1(J)}}}function h1({prefix:T,rpcUrl:n}){return async function(y,o,f,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:_}=(await import("@cosmjs/stargate")).default,{sequence:X,fee:N}=JSON.parse(y),w=await Ex(f,l),Z=o.map((M)=>[L(G(py.decode(M.pubKey)),T),py.decode(M.signature)]),J=await My(n),{transactionHash:W}=await J.broadcastTx(_(w,X,N,C,new Map(Z)));return W}}async function Ex(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:o}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>o(py.decode(f))),n,x)}function j1(T){return py.decode(T)}async function c1({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(py.decode(n),T);return py.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Uf({chain:T,...n}){let x=await F1(T),{nodeUrl:y}=Ix(T),{isStagenet:o}=t1.get("envs"),f=T===I1.THORChain,l=`${o?"s":""}${v1[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:K1(E1[T],{index:C}),L=await ST({chain:T,...n}),_=await V1(n).with({phrase:Fx.string},({phrase:Z})=>L.getSignerFromPhrase({derivationPath:G,phrase:Z})).with({signer:Fx.any},({signer:Z})=>Z).otherwise(()=>{return}),X=Qy(T);async function N(){let Z,J=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await A1.get(J);if(!W||Number.isNaN(W)||W<0)throw new vx("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});Z=new ux(W)}catch{Z=new ux({decimal:Ix(T).baseDecimal,value:f?0.02:1})}return{[zf.Average]:Z,[zf.Fast]:Z,[zf.Fastest]:Z}}async function w({assetValue:Z,memo:J="",recipient:W}){let{TxRaw:M}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await _?.getAccounts())?.[0]?.address;if(!(H&&_))throw new vx("toolbox_cosmos_no_signer");let v="signAmino"in _,S=await $y(),u=await Dy(T),V=await RT(x,_,{aminoTypes:u,registry:S}),a=_n({assetValue:Z,memo:J,recipient:W,sender:H});if(v){let U=await Ry(a,T),{signatures:R,authInfoBytes:O}=await V.sign(H,[U],X,J),I=M.encode({authInfoBytes:O,bodyBytes:await kT({chain:T,memo:J,msgs:[a].map(Oy)}),signatures:R}).finish();return(await V.broadcastTx(I)).transactionHash}let Hy=Oy(a),B=await Ry(Hy,T);return(await V.signAndBroadcast(H,[B],X,J)).transactionHash}return{...L,broadcastMultisigTx:h1({prefix:l,rpcUrl:x}),buildAminoMsg:_n,buildEncodedTxBody:kT,convertToSignable:Ry,createDefaultAminoTypes:()=>Dy(T),createDefaultRegistry:$y,createMultisig:Ex,createTransaction:_f(x),deposit:w,getFees:N,importSignature:j1,parseAminoMessageForDirectSigning:Oy,pubkeyToAddress:async(Z)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(Z,l)},secp256k1HdWalletFromMnemonic:b1({derivationPath:u1(G),prefix:l}),signMultisigTx:p1(T),signWithPrivateKey:c1,transfer:w}}var Hf=D(()=>{wf();OT();wn()});import{Chain as IT,SwapKitError as m1}from"@swapkit/helpers";var i1=(T,n)=>{switch(T){case IT.Cosmos:case IT.Kujira:case IT.Noble:return ST({chain:T,...n});case IT.Maya:case IT.THORChain:return Uf({chain:T,...n});default:throw new m1("toolbox_cosmos_not_supported",{chain:T})}};var Ax=D(()=>{wn();Hf();wn();Hf()});var Zn={};e(Zn,{verifySignature:()=>kx,transferMsgAmino:()=>Xf,toBase64:()=>G1,parseAminoMessageForDirectSigning:()=>Oy,getSignerFromPrivateKey:()=>Y1,getSignerFromPhrase:()=>Wf,getMsgSendDenom:()=>Yy,getFeeRateFromSwapKit:()=>D1,getDenomWithChain:()=>DT,getDefaultChainFee:()=>Qy,getCreateTransaction:()=>_f,getCosmosValidateAddress:()=>Sx,getCosmosToolbox:()=>i1,getAssetFromDenom:()=>Gf,fromBase64:()=>L1,fetchFeeRateFromSwapKit:()=>Pf,estimateTransactionFee:()=>R1,depositMsgAmino:()=>Nf,createThorchainToolbox:()=>Uf,createStargateClient:()=>My,createSigningStargateClient:()=>RT,createOfflineStargateClient:()=>lf,createDefaultRegistry:()=>$y,createDefaultAminoTypes:()=>Dy,createCosmosToolbox:()=>ST,cosmosCreateTransaction:()=>Cf,convertToSignable:()=>Ry,buildTransferTx:()=>qx,buildEncodedTxBody:()=>kT,buildDepositTx:()=>Qx,buildAminoMsg:()=>_n,bech32ToBase64:()=>HT,base64ToBech32:()=>YT,YUM_KUJIRA_FACTORY_DENOM:()=>Lx,USK_KUJIRA_FACTORY_DENOM:()=>xf,THORCHAIN_GAS_VALUE:()=>J1,MAYA_GAS_VALUE:()=>q1,DEFAULT_NOBLE_FEE_MAINNET:()=>_x,DEFAULT_KUJI_FEE_MAINNET:()=>Nx,DEFAULT_COSMOS_FEE_MAINNET:()=>Xx});var Bn=D(()=>{wf();Ax();OT()});import{AssetValue as Jn,Chain as ky,DerivationPath as g1,derivationPathToString as d1,getChainConfig as Vx,getRPCUrl as r1,NetworkDerivationPath as a1,SwapKitError as jy,updateDerivationPath as s1}from"@swapkit/helpers";import{match as e1,P as tx}from"ts-pattern";async function bx(T){let n=Jn.from({address:T,chain:ky.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:T,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let x=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(x);if(!y.ok)return null;let o=await y.json();if(!Array.isArray(o)||o.length===0)return null;return o.find((l)=>l.id===T)||null}catch{return null}}async function y5(T){let n=await hy(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),o=new x(T),f=[],l=await n.getBalance(o);if(l>0){let{baseDecimal:G}=Vx(ky.Solana);f.push(Jn.from({chain:ky.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(o,{programId:y});for(let{account:G}of C.value){let L=G.data.parsed.info,_=L.mint,X=L.tokenAmount.amount;if(Number(X)===0)continue;let N=await bx(_),w=N?.symbol||"UNKNOWN",Z=N?.decimals||L.tokenAmount.decimals;f.push(Jn.from({asset:`${ky.Solana}.${w}-${_}`,fromBaseDecimal:Z,value:X}))}return f}async function Rf(){let{PublicKey:T}=await import("@solana/web3.js");return(n)=>{try{let x=new T(n);return T.isOnCurve(x.toBytes())}catch{return!1}}}async function T5(T){let n=T&&"index"in T?T.index||0:0,x=d1(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:s1(a1[ky.Solana],{index:n})),y=await e1(T).with({phrase:tx.string},({phrase:l})=>Df({derivationPath:x,phrase:l})).with({signer:tx.any},({signer:l})=>l).otherwise(()=>{return});function o(){return y?.publicKey?Kx(y.publicKey):""}function f(l){let C=l||o();if(!C)throw new jy("core_wallet_connection_not_found");return y5(C)}return{broadcastTransaction:Yf(hy),createKeysForPath:Df,createTransaction:Of(hy),createTransactionFromInstructions:x5,estimateTransactionFee:n5(hy),getAddress:o,getAddressFromPubKey:Kx,getAddressValidator:Rf,getBalance:f,getConnection:hy,getPubkeyFromAddress:kf,signTransaction:C5(hy,y),transfer:l5(hy,y)}}function n5(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let l=await T(),G=(await Of(T)({assetValue:x,isProgramDerivedAddress:o,memo:y,recipient:n,sender:f})).compileMessage(),L=await l.getFeeForMessage(G);if(L.value===null)throw new jy("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:_}=Vx(ky.Solana);return Jn.from({chain:ky.Solana,fromBaseDecimal:_,value:L.value})}}async function hy(){let{Connection:T}=await import("@solana/web3.js"),n=await r1(ky.Solana);return new T(n,"confirmed")}function f5(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:o})=>{let f=await T(),l=await kf(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:L}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new L(x)}))}if(n.address)return o5({amount:n.getBaseValue("number"),connection:f,decimals:n.decimal,from:l,isProgramDerivedAddress:o,recipient:x,tokenAddress:n.address});return}}async function o5({tokenAddress:T,recipient:n,from:x,connection:y,amount:o,decimals:f,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:L,createTransferCheckedInstruction:_}=await import("@solana/spl-token"),{Transaction:X,PublicKey:N}=await import("@solana/web3.js"),w=new X,Z=new N(T),J=await C(Z,x),W=new N(n),M=await C(Z,W,l),H=!1;try{await G(y,M),H=!0}catch{}if(!H)w.add(L(x,M,W,Z));return w.add(_(J,Z,M,x,o,f)),w}function Of(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await kf(f),G=await Rf();if(!(o||G(n)))throw new jy("core_transaction_invalid_recipient_address");let L=await T(),_=await f5(T)({assetValue:x,isProgramDerivedAddress:o,recipient:n,sender:f});if(!_)throw new jy("core_transaction_invalid_sender_address");if(y)_.add(l(y));let X=await L.getLatestBlockhash();return _.recentBlockhash=X.blockhash,_.feePayer=C,_}}async function x5({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new jy("core_transaction_invalid_sender_address");return x}function l5(T,n){return async({recipient:x,assetValue:y,memo:o,isProgramDerivedAddress:f})=>{if(!n)throw new jy("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Of(T)({assetValue:y,isProgramDerivedAddress:f,memo:o,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Yf(T)(G)}return C.sign(n),Yf(T)(C)}}function Yf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function C5(T,n){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!n)throw new jy("toolbox_solana_no_signer");if(!(x instanceof y)){let f=await(await T()).getLatestBlockhash();x.recentBlockhash=f.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Df({phrase:T,derivationPath:n=g1.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:o}=await import("@solana/web3.js"),f=y(T),l=x.fromMasterSeed(f);return o.fromSeed(l.derive(n,!0).privateKey)}function Kx(T){return T.toString()}async function kf(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var $x=()=>{};var Sf={};e(Sf,{getSolanaToolbox:()=>T5,getSolanaAddressValidator:()=>Rf,fetchTokenMetaData:()=>bx,createKeysForPath:()=>Df});var If=D(()=>{$x()});import{AssetValue as qn,Chain as vf,getChainConfig as G5,SwapKitError as Sy}from"@swapkit/helpers";import{match as L5,P as px}from"ts-pattern";async function hx(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(x){try{return T(x)}catch{return!1}}}async function X5({provider:T,...n}={}){let x=await hx(),y=await L5(n).with({phrase:px.string},async({phrase:X})=>{let{Ed25519Keypair:N}=await import("@mysten/sui/keypairs/ed25519");return N.deriveKeypair(X)}).with({signer:px.any},({signer:X})=>X).otherwise(()=>{return});async function o(X=T){let{SuiClient:N,getFullnodeUrl:w}=await import("@mysten/sui/client");return new N({url:X||w("mainnet")})}function f(){return y?.toSuiAddress()||""}async function l(X){let N=X||f();if(!N)throw new Sy("toolbox_sui_address_required");try{let w=await o(),{totalBalance:Z}=await w.getBalance({owner:N}),{baseDecimal:J,chain:W}=G5(vf.Sui),M=[qn.from({chain:W,fromBaseDecimal:J,value:Z})],H=await w.getAllBalances({owner:N});for(let{coinType:v,totalBalance:S}of H){if(v==="0x2::sui::SUI")continue;if(Number(S)>0){let u=v.split("::").pop()?.toUpperCase()||"UNKNOWN",V=`${W}.${u}-${v}`;M.push(qn.from({asset:V,fromBaseDecimal:J,value:S}))}}return M}catch(w){throw new Sy("toolbox_sui_balance_error",{error:w})}}async function C(X){let N=qn.from({chain:vf.Sui,value:"0.01"});if(!X)return N;try{let w=await o(),{txBytes:Z}=await G(X),{effects:{status:J,gasUsed:W}}=await w.dryRunTransactionBlock({transactionBlock:Z});if(J.status!=="success")return N;let M=Number(W.computationCost)+Number(W.storageCost)-Number(W.storageRebate);return qn.from({chain:vf.Sui,value:M.toString()})}catch{return N}}async function G({recipient:X,assetValue:N,gasBudget:w,sender:Z}){let{Transaction:J}=await import("@mysten/sui/transactions"),W=Z||f();if(!W)throw new Sy("toolbox_sui_no_sender");try{let M=new J;if(M.setSender(W),N.isGasAsset||N.symbol==="SUI"){let[S]=M.splitCoins(M.gas,[N.getBaseValue("string")]);M.transferObjects([S],X)}else throw new Sy("toolbox_sui_custom_token_transfer_not_implemented");if(w)M.setGasBudget(w);let H=await o(),v=await M.build({client:H});return{tx:M,txBytes:v}}catch(M){throw new Sy("toolbox_sui_transaction_creation_error",{error:M})}}async function L(X){if(!y)throw new Sy("toolbox_sui_no_signer");if(X instanceof Uint8Array)return y.signTransaction(X);let{txBytes:N}="tx"in X?X:await G(X);return y.signTransaction(N)}async function _({assetValue:X,gasBudget:N,recipient:w}){if(!y)throw new Sy("toolbox_sui_no_signer");let Z=y.toSuiAddress()||f();if(!Z)throw new Sy("toolbox_sui_no_sender");let{txBytes:J}=await G({assetValue:X,gasBudget:N,recipient:w,sender:Z}),W=await o(),{digest:M}=await W.signAndExecuteTransaction({signer:y,transaction:J});return M}return{createTransaction:G,estimateTransactionFee:C,getAddress:f,getBalance:l,signTransaction:L,transfer:_,validateAddress:x}}var jx=()=>{};var Qn={};e(Qn,{getSuiToolbox:()=>X5,getSuiAddressValidator:()=>hx});var Mn=D(()=>{jx()});import{AssetValue as cx,Chain as Wn,getChainConfig as mx,SwapKitError as oT,SwapKitNumber as N5}from"@swapkit/helpers";import{match as _5,P as ix}from"ts-pattern";async function w5(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:o}=await import("@ton/ton"),f=await gx(),l,C,G=await _5(T).with({phrase:ix.string},async({phrase:M})=>n(M.split(" "))).with({signer:ix.any},({signer:M})=>M).otherwise(()=>{return});function L(){let{rpcUrls:M}=mx(Wn.Ton),[H]=M;if(!l||l.parameters.endpoint!==H)l=new y({endpoint:H});return l}function _(M){if(!C||M){let H=L(),v=M||G;if(!v)throw new oT("core_wallet_connection_not_found");let S=o.create({publicKey:v.publicKey,workchain:0});C=H.open(S)}return C}async function X(M){let H=L(),{baseDecimal:v}=mx(Wn.Ton);try{let S=await H.getBalance(x.parse(M));return[cx.from({chain:Wn.Ton,value:N5.fromBigInt(S,v)})]}catch(S){throw new oT("core_wallet_connection_not_found",{error:S})}}async function N({assetValue:M,recipient:H,memo:v}){let S=_();if(!S||!G)throw new oT("core_wallet_connection_not_found");let{toNano:u,comment:V,internal:a}=await import("@ton/ton"),Hy=await S.getSeqno(),B=u(M.getValue("string")),P=v?V(v):void 0;return S.createTransfer({messages:[a({body:P,to:H,value:B})],secretKey:G.secretKey,seqno:Hy})}async function w({assetValue:M,recipient:H,memo:v}){let S=_();if(!S||!G)throw new oT("core_wallet_connection_not_found");let u=await N({assetValue:M,memo:v,recipient:H});return await S.send(u),u.hash().toString()}async function Z(M){let H=_();if(!H)throw new oT("core_wallet_connection_not_found");try{return await H.send(M),M.hash().toString("hex")}catch(v){throw new oT("core_wallet_connection_not_found",{error:v})}}function J(){return _().address.toString()}function W(){return Promise.resolve(cx.from({chain:Wn.Ton,value:"0.0001"}))}return{createTransaction:N,estimateTransactionFee:W,getAddress:J,getBalance:X,sendTransaction:Z,transfer:w,validateAddress:f}}async function gx(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var dx=()=>{};var Pn={};e(Pn,{getTONToolbox:()=>w5,getTONAddressValidator:()=>gx});var zn=D(()=>{dx()});var xT;var uf=D(()=>{xT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});import{SwapKitError as Z5}from"@swapkit/helpers";async function rx(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${B5}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let o=await y.json();if(!(o.success&&o.data)||o.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=x.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let l=o.data.find((C)=>{return C.address.toLowerCase()===f});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new Z5("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var B5="https://api.trongrid.io";var ax=()=>{};import{AssetValue as Wy,BaseDecimal as sx,Chain as Xy,derivationPathToString as T0,getRPCUrl as J5,NetworkDerivationPath as n0,SwapKitError as Ty,updateDerivationPath as f0,warnOnce as Ff}from"@swapkit/helpers";import{match as q5,P as ex}from"ts-pattern";async function Ef(){let T=await import("tronweb"),n=T.TronWeb??T.default?.TronWeb;return(x)=>{return n.isAddress(x)}}async function o0({phrase:T,derivationPath:n,index:x}){let y=n||T0(f0(n0[Xy.Tron],{index:x||0})),{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),l=f(T),G=o.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new Ty("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function z5({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),f=o(T),C=y.fromMasterSeed(f).derive(n);if(!C.privateKey)throw new Ty("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let L=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof L==="string"?L:""),signTransaction:async(_)=>{return await x.trx.sign(_,G)}}}var Q5=268,M5=13000,W5=345,y0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",P5="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",x0=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await J5(Xy.Tron),o=void 0,f=new x({fullHost:y,headers:void 0}),l="index"in T?T.index||0:0,C=T0("derivationPath"in T&&T.derivationPath?T.derivationPath:f0(n0[Xy.Tron],{index:l})),G=await q5(T).with({phrase:ex.string},async({phrase:B})=>z5({derivationPath:C,phrase:B,tronWeb:f})).with({signer:ex.any},({signer:B})=>Promise.resolve(B)).otherwise(()=>Promise.resolve(void 0)),L=async()=>{if(!G)throw new Ty("toolbox_tron_no_signer");return await G.getAddress()},_=()=>{return 1e8},X=async()=>{try{let B=await f.trx.getChainParameters(),P={};for(let U of B)P[U.key]=U.value;return{bandwidthFee:P.getTransactionFee||1000,createAccountFee:P.getCreateAccountFee||1e5,energyFee:P.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},N=async(B)=>{try{let P=await f.trx.getAccount(B);return P&&Object.keys(P).length>0}catch{return!1}},w=async(B)=>{try{let P=await f.trx.getAccountResources(B);return{bandwidth:{free:P.freeNetLimit-P.freeNetUsed,total:P.NetLimit||0,used:P.NetUsed||0},energy:{total:P.EnergyLimit||0,used:P.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Z=async(B,P)=>{try{let U=f.contract(xT,P);if(!U.methods?.balanceOf)return 0n;let[R]=await U.methods.balanceOf(B).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(U){return console.warn(`balanceOf() failed for ${P}:`,U),0n}},J=async(B,P)=>{try{f.setAddress(P);let U=f.contract(xT,B),[R,O]=await Promise.all([U.symbol().call().catch(()=>"UNKNOWN"),U.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:R??"UNKNOWN"}}catch(U){return Ff({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${B}: ${U instanceof Error?U.message:U}`}),null}},W=async(B,P=!0)=>{let U=[Wy.from({chain:Xy.Tron})];try{let R=await rx(B);if(R){let O=[];O.push(Wy.from({chain:Xy.Tron,fromBaseDecimal:6,value:R.balance}));for(let I of R.trc20){let[t,b]=Object.entries(I)[0]||[];if(!(t&&b))continue;let A=await J(t,B);if(!A)continue;O.push(Wy.from({asset:`TRON.${A.symbol}-${t}`,fromBaseDecimal:A.decimals,value:BigInt(b||0)}))}return O}return U}catch(R){Ff({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let O=[],I=await f.trx.getBalance(B);if(I&&Number(I)>0)O.push(Wy.from({chain:Xy.Tron,fromBaseDecimal:6,value:I}));let t=await Z(B,y0);if(t)O.push(Wy.from({asset:`TRON.USDT-${y0}`,fromBaseDecimal:6,value:t}));if(O.length===0)return U;return O}catch(O){return console.error("Tron balance fetch failed:",O),U}}},M=async({recipient:B,assetValue:P,memo:U})=>{if(!G)throw new Ty("toolbox_tron_no_signer");let R=await L();if(f.setAddress(R),P.isGasAsset){let A=await f.transactionBuilder.sendTrx(B,P.getBaseValue("number"),R);if(U){let s=await f.transactionBuilder.addUpdateData(A,U,"utf8"),By=await G.signTransaction(s),{txid:Ay}=await f.trx.sendRawTransaction(By);return Ay}let xy=await G.signTransaction(A),{txid:ly}=await f.trx.sendRawTransaction(xy);return ly}let I=await v({assetValue:P,memo:U,recipient:B,sender:R}),t=await G.signTransaction(I),{txid:b}=await f.trx.sendRawTransaction(t);if(!b)throw new Ty("toolbox_tron_token_transfer_failed");return b},H=async({assetValue:B,recipient:P,sender:U})=>{let R=B.isGasAsset;try{let O=U?U:G?await L():void 0;if(!O)return R?Wy.from({chain:Xy.Tron,fromBaseDecimal:0,value:0.1}):Wy.from({chain:Xy.Tron,fromBaseDecimal:0,value:15});let I=await X(),b=await N(P)?0:I.createAccountFee,A=await w(O);if(R){let ty=Q5,ko=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),So=0;if(ty>ko)So=(ty-ko)*I.bandwidthFee;let Ll=b+So;return Wy.from({chain:Xy.Tron,fromBaseDecimal:sx.TRON,value:Ll})}let xy=W5,ly=M5,s=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),By=A.energy.total-A.energy.used,Ay=0;if(xy>s)Ay=(xy-s)*I.bandwidthFee;let pT=0;if(ly>By)pT=(ly-By)*I.energyFee;let tn=b+Ay+pT;return Wy.from({chain:Xy.Tron,fromBaseDecimal:sx.TRON,value:tn})}catch(O){throw Ff({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new Ty("toolbox_tron_fee_estimation_failed",{error:O})}},v=async(B)=>{let{recipient:P,assetValue:U,memo:R,sender:O,expiration:I}=B;if(U.isGasAsset){let A=await f.transactionBuilder.sendTrx(P,U.getBaseValue("number"),O);if(R)return f.transactionBuilder.addUpdateData(A,R,"utf8");if(I)f.transactionBuilder.extendExpiration(A,I);return A}f.setAddress(O);let b=U.address;if(!b)throw new Ty("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});try{let xy=[{type:"address",value:P},{type:"uint256",value:U.getBaseValue("string")}],ly={callValue:0,feeLimit:_()},s=await f.transactionBuilder.triggerSmartContract(b,"transfer(address,uint256)",ly,xy,O);if(R)return f.transactionBuilder.addUpdateData(s.transaction,R,"utf8");if(I)f.transactionBuilder.extendExpiration(s.transaction,I);return s.transaction}catch(A){throw new Ty("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:A instanceof Error?A.message:String(A)})}},S=async(B)=>{if(!G)throw new Ty("toolbox_tron_no_signer");return await G.signTransaction(B)},u=async(B)=>{let{txid:P}=await f.trx.sendRawTransaction(B);return P},V=async({assetAddress:B,spenderAddress:P,from:U})=>{try{let R=f.contract(xT,B);if(!R.methods?.allowance)throw new Ty("toolbox_tron_invalid_token_contract");let[O]=await R.methods.allowance(U,P).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(R){throw new Ty("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:B,spenderAddress:P,amount:U,from:R})=>{if(!G)throw new Ty("toolbox_tron_no_signer");let O=R||await L(),I=U!==void 0?BigInt(U).toString():P5,t="approve(address,uint256)",b=[{type:"address",value:P},{type:"uint256",value:I}],xy={callValue:0,feeLimit:_()};try{let{transaction:ly}=await f.transactionBuilder.triggerSmartContract(B,t,xy,b,O),s=await G.signTransaction(ly),{txid:By}=await f.trx.sendRawTransaction(s);if(!By)throw new Ty("toolbox_tron_approve_failed");return By}catch(ly){throw new Ty("toolbox_tron_approve_failed",{error:ly})}},broadcastTransaction:u,createTransaction:v,estimateTransactionFee:H,getAddress:L,getApprovedAmount:V,getBalance:W,isApproved:async({assetAddress:B,spenderAddress:P,from:U,amount:R})=>{let O=await V({assetAddress:B,from:U,spenderAddress:P});if(!R)return O>0n;let I=BigInt(R);return O>=I},signTransaction:S,transfer:M,tronWeb:f,validateAddress:await Ef()}};var l0=D(()=>{uf();ax()});var Af={};e(Af,{trc20ABI:()=>xT,getTronPrivateKeyFromMnemonic:()=>o0,getTronAddressValidator:()=>Ef,createTronToolbox:()=>x0});var tf=D(()=>{uf();l0()});import{networks as U5}from"@bitgo/utxo-lib";import{Chain as d,getRPCUrl as H5,RequestClient as Un,SKConfig as L0,SwapKitError as Iy,warnOnce as X0}from"@swapkit/helpers";import{networks as Y5}from"bitcoinjs-lib";import vT from"coininfo";async function D5({chain:T,txHash:n}){let x=`${Hn(T)}/push/transaction`,y=JSON.stringify({data:n});try{let o=await Un.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(o.context.code!==200)throw new Iy("toolbox_utxo_broadcast_failed",{error:o.context.error||"Transaction broadcast failed"});return o.data?.transaction_hash||n}catch(o){let f=await H5(T);if(f){let l=JSON.stringify({id:Io(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await Un.post(f,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new Iy("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new Iy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw o}}function Hn(T){return`https://api.blockchair.com/${R5(T)}`}function C0(T){switch(T){case d.Bitcoin:return 5;case d.Dogecoin:return 1e4;case d.Litecoin:return 1;case d.Zcash:return 1;default:return 2}}function R5(T){switch(T){case d.BitcoinCash:return"bitcoin-cash";case d.Litecoin:return"litecoin";case d.Dash:return"dash";case d.Dogecoin:return"dogecoin";case d.Zcash:return"zcash";case d.Polkadot:return"polkadot";default:return"bitcoin"}}async function O5(T){try{let{feePerKb:n}=await Un.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,C0(T))}catch{return C0(T)}}async function Kf(T,n){let x=await Un.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new Iy("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function N0({address:T,chain:n,apiKey:x}){if(!T)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Kf(`${Hn(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function k5({address:T,chain:n,apiKey:x}){return(await N0({address:T,apiKey:x,chain:n}))?.address.balance||0}async function _0({chain:T,apiKey:n,txHash:x}){if(!x)throw new Iy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Kf(`${Hn(T)}/raw/transaction/${x}`,n))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function S5({chain:T,address:n,apiKey:x,offset:y=0,limit:o=30}){return(await Kf(`${Hn(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${o}&offset=${y}`,x)).map(({is_spent:G,script_hex:L,block_id:_,transaction_hash:X,index:N,value:w,spending_signature_hex:Z})=>({hash:X,index:N,is_confirmed:_!==-1,is_spent:G,script_hex:L,txHex:Z,value:w}))}function I5(T){return T.reduce((n,x)=>n+x.value,0)}function G0(T,n){let x=[...T].sort((y,o)=>o.value-y.value);if(n){let y=[],o=0;for(let f of x)if(y.push(f),o+=f.value,o>=n)break;return y}return x}async function w0({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:o=0,offset:f=0,limit:l=30}){if(!n)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await S5({address:n,apiKey:x,chain:T,limit:l,offset:f,targetValue:y}),L=C.length<l,_=C.filter(({is_spent:W})=>!W),X=I5(_),N=o+X,w=y&&N>=y;if(L||w)return G0(_,y);let Z=await w0({accumulativeValue:N,address:n,apiKey:x,chain:T,limit:l,offset:f+l,targetValue:y}),J=[..._,...Z];return G0(J,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function v5({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:o}){let f=await w0({address:T,apiKey:x,chain:n,targetValue:o}),l=[];for(let{hash:C,index:G,script_hex:L,value:_}of f){let X;if(y)X=await _0({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:X,value:_,witnessUtxo:{script:Buffer.from(L,"hex"),value:_}})}return l}function u5(T){let n=L0.get("apiKeys").blockchair||"";return X0({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>D5({chain:T,txHash:x}),getAddressData:(x)=>N0({address:x,apiKey:n,chain:T}),getBalance:(x)=>k5({address:x,apiKey:n,chain:T}),getRawTx:(x)=>_0({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>O5(T),getUtxos:(x)=>v5({...x,apiKey:n,chain:T})}}function F5(T){return T}function ny(T){let n=L0.get("apis")[T];if(n)return X0({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return u5(T)}function Ny(){return function(n){switch(n){case d.Bitcoin:return Y5.bitcoin;case d.BitcoinCash:return vT.bitcoincash.main.toBitcoinJS();case d.Dash:return vT.dash.main.toBitcoinJS();case d.Litecoin:return vT.litecoin.main.toBitcoinJS();case d.Dogecoin:{let x={private:70615956,public:70617039},y=vT.dogecoin.test;return y.versions.bip32=x,vT.dogecoin.main.toBitcoinJS()}case d.Zcash:return U5.zcash;default:throw new Iy("toolbox_utxo_not_supported",{chain:n})}}}var Z0=D(()=>{BT()});import{SwapKitError as J0}from"@swapkit/helpers";import q0 from"bs58check";import Q0 from"cashaddrjs";function bf(T){try{return Yn(T),!0}catch{return!1}}function $f(T){return Yn(T)?.network}function lT(T){let n=Yn(T);if(n?.format==="legacy")return T;return t5(n)}function uT(T){let n=Yn(T);return K5(n)}function Yn(T){try{let n=E5(T);if(n)return n}catch{}try{let n=A5(T);if(n)return n}catch{}throw new J0("toolbox_utxo_invalid_address",{address:T})}function E5(T){try{let n=q0.decode(T);if(n.length!==21)throw new J0("toolbox_utxo_invalid_address",{address:T});let x=n[0],y=Array.prototype.slice.call(n,1);switch(x){case K.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case K.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case K.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case K.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case K.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case K.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function A5(T){if(T.indexOf(":")!==-1)try{return B0(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return B0(`${x}:${T}`)}catch{}}return}function B0(T){try{let{hash:n,prefix:x,type:y}=Q0.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t5(T){let n=K.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=n,x.set(T.hash,1),q0.encode(x)}function K5(T){let n=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Q0.encode(n,x,y)}var Vf,K;var M0=D(()=>{((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Vf||={});K={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as V5}from"@swapkit/helpers";import{opcodes as b5,script as $5}from"bitcoinjs-lib";function _y(T){let n=Buffer.from(T,"utf8");return $5.compile([b5.OP_RETURN,n])}var p5=1000,Rn=10,W0=10,h5=41,j5=107,On,Dn,FT,ET=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new V5("toolbox_utxo_invalid_address",{address:T})},CT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?ET(T[0].address):"P2PKH",o=T.filter((l)=>l.value>=Dn["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+vy(C),0),f=n?.reduce((l,C)=>l+AT(C),0)||FT[y];return Rn+o+f},vy=(T)=>{if("type"in T)return Dn[T.type];if("address"in T&&T.address)return Dn[ET(T.address)];return h5+j5},AT=(T,n)=>{if(T?.script)return W0+T.script.length+(T.script.length>=74?2:1);if(n)return FT[n];return FT.P2PKH};var pf=D(()=>{((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(On||={});Dn={["P2PKH"]:148,["P2WPKH"]:68},FT={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as cy,SwapKitError as c5}from"@swapkit/helpers";function kn(T){switch(T){case cy.Bitcoin:case cy.BitcoinCash:return 550;case cy.Dash:case cy.Litecoin:return 5500;case cy.Dogecoin:return 1e5;case cy.Zcash:return 546;default:throw new c5("toolbox_utxo_not_supported",{chain:T})}}function wy({inputs:T,outputs:n,feeRate:x=1,chain:y=cy.Bitcoin,changeAddress:o=""}){let f=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?ET(T[0].address):"P2PKH",C=T.filter((w)=>vy(w)*f<=w.value),G=Rn+n.reduce((w,Z)=>w+AT(Z,l),0),L=n.reduce((w,Z)=>w+Z.value,0),_=G*f,X=0,N=[];for(let w of C){let Z=vy(w),J=f*Z;_+=J,X+=w.value,N.push(w);let W=_+L;if(X<W)continue;let M=X-W,H=f*AT({address:"",value:0},l);if(M>H){let v=H+_,S=X-(L+v);if(S>Math.max(vy({})*f,kn(y)))return{fee:v,inputs:N,outputs:n.concat({address:o,value:S})}}return{fee:_,inputs:N,outputs:n}}return{fee:f*CT({feeRate:f,inputs:T,outputs:n})}}var P0=D(()=>{pf()});var GT=D(()=>{Z0();M0();P0();pf()});import{networks as m5,address as i5}from"@bitgo/utxo-lib";import g5 from"bs58check";function my(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function uy(T){let n=my(T);return bf(n)&&$f(n)==="mainnet"}function LT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let n=m5.zcash;try{return i5.toOutputScript(T,n),!0}catch{let x=g5.decode(T);if(x.length<21)return!1;let y=x[0];return y===n.pubKeyHash||y===n.scriptHash}}catch{return!1}}var tT=D(()=>{GT()});import jf from"@bitcoinerlab/secp256k1";import{ECPair as d5,HDNode as r5}from"@psf/bitcoincashjs-lib";import{HDKey as a5}from"@scure/bip32";import{mnemonicToSeedSync as z0}from"@scure/bip39";import{AssetValue as hf,applyFeeMultiplier as U0,Chain as fy,DerivationPath as s5,derivationPathToString as e5,FeeOption as Py,NetworkDerivationPath as yC,SwapKitError as zy,SwapKitNumber as TC,updateDerivationPath as nC}from"@swapkit/helpers";import{address as fC,initEccLib as Y0,Psbt as oC,payments as H0}from"bitcoinjs-lib";import{ECPairFactory as xC}from"ecpair";function D0({inputs:T,outputs:n,chain:x,psbt:y,sender:o,compiledMemo:f}){for(let l of T){let C=!!l.witnessUtxo&&!KT.includes(x)&&{witnessUtxo:l.witnessUtxo},G=KT.includes(x)&&{nonWitnessUtxo:l.txHex?Buffer.from(l.txHex,"hex"):void 0};y.addInput({hash:l.hash,index:l.index,...C,...G})}for(let l of n){let C="address"in l&&l.address?l.address:o,G=l.script;if(G&&!f)continue;let L=G?{script:f,value:0}:{address:C,value:l.value};Y0(jf),y.addOutput(L)}return{inputs:T,psbt:y}}async function R0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,fetchTxHex:f=!1}){let l=T.chain,C=x?await _y(x):null,G=await S0({assetValue:T,fetchTxHex:f,memo:x,recipient:n,sender:o}),{inputs:L,outputs:_}=wy({...G,chain:l,feeRate:y});if(!(L&&_))throw new zy("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let X=await Ny(),N=new oC({network:X(l)});if(l===fy.Dogecoin)N.setMaximumFeeRate(650000000);let{psbt:w,inputs:Z}=await D0({chain:l,compiledMemo:C,inputs:L,outputs:_,psbt:N,sender:o});return{inputs:Z,psbt:w,utxos:G.inputs}}async function O0(){let T=await Ny();return function({address:x,chain:y}){if(y===fy.BitcoinCash)return uy(x);if(y===fy.Zcash)return LT(x);try{return Y0(jf),fC.toOutputScript(x,T(y)),!0}catch{return!1}}}async function lC({chain:T,phrase:n,derivationPath:x}){let y=(await VT(T))({derivationPath:x,phrase:n});async function o(l){return await l.signAllInputs(y),l}function f(){return cf(T)(y)}return{getAddress:f,signTransaction:o}}async function iy({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,o=e5("derivationPath"in n&&n.derivationPath?n.derivationPath:nC(yC[T],{index:y})),f=x?await lC({chain:T,derivationPath:o,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let C=await O0(),G=await VT(T);return{accumulative:wy,broadcastTx:(L)=>ny(T).broadcastTx(L),calculateTxSize:CT,createKeysForPath:G,createTransaction:R0,estimateMaxSendableAmount:CC(T),estimateTransactionFee:GC(T),getAddress:l,getAddressFromKeys:cf(T),getBalance:dy(T),getFeeRates:()=>bT(T),getInputsOutputsFee:k0,getPrivateKeyFromMnemonic:(L)=>{return G(L).toWIF()},transfer:LC(f),validateAddress:(L)=>C({address:L,chain:T})}}async function k0({assetValue:T,feeOptionKey:n=Py.Fast,feeRate:x,memo:y,sender:o,recipient:f}){let l=T.chain,C=await S0({assetValue:T,memo:y,recipient:f,sender:o}),G=x?Math.floor(x):(await bT(l))[n];return wy({...C,chain:l,feeRate:G})}function CC(T){return async function({from:x,memo:y,feeRate:o,feeOptionKey:f=Py.Fast,recipients:l=1}){let C=await ny(T).getAddressData(x),G=o?Math.ceil(o):(await bT(T))[f],L=C?.utxo.map((Z)=>({...Z,hash:"",type:"P2PKH"})).filter((Z)=>Z.value>Math.max(kn(T),vy(Z)*G));if(!L?.length)return hf.from({chain:T});let _=hf.from({chain:T,value:L.reduce((Z,J)=>Z+J.value,0)}),X=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let Z=await _y(y);X.push({address:x,script:Z,value:0})}let w=CT({feeRate:G,inputs:L,outputs:X})*G;return _.sub(w)}}function GC(T){return async(n)=>{let x=await k0(n);return hf.from({chain:T,value:TC.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function VT(T){let n=await Ny();switch(T){case fy.BitcoinCash:return function({phrase:y,derivationPath:o=`${s5.BCH}/0`,wif:f}){let l=n(T);if(f)return d5.fromWIF(f,l);if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"No phrase provided"});return r5.fromSeedBuffer(Buffer.from(z0(y)),l).derivePath(o).keyPair};case fy.Bitcoin:case fy.Dogecoin:case fy.Litecoin:case fy.Zcash:case fy.Dash:return function({phrase:y,wif:o,derivationPath:f}){if(!(o||y))throw new zy("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=xC(jf),C=n(T);if(o)return l.fromWIF(o,C);let G=z0(y),L=a5.fromMasterSeed(G,C).derive(f);if(!L.privateKey)throw new zy("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(L.privateKey),{network:C})};default:throw new zy("toolbox_utxo_not_supported",{chain:T})}}function cf(T){let n=Ny();return function(y){if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let o=KT.includes(T)?H0.p2pkh:H0.p2wpkh,{address:f}=o({network:n(T),pubkey:y.publicKey});if(!f)throw new zy("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function LC(T){return async function({memo:x,recipient:y,feeOptionKey:o,feeRate:f,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new zy("toolbox_utxo_no_signer");if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=f||(await bT(G))[o||Py.Fast],{psbt:_}=await R0({assetValue:l,feeRate:L,memo:x,recipient:y,sender:C}),X=await T.signTransaction(_);return X.finalizeAllInputs(),ny(G).broadcastTx(X.extractTransaction().toHex())}}async function bT(T){let n=await ny(T).getSuggestedTxFee();return{[Py.Average]:n,[Py.Fast]:U0(n,Py.Fast),[Py.Fastest]:U0(n,Py.Fastest)}}async function S0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:o=!1}){let f=T.chain,l=(await bT(f))[Py.Fastest],C=o||KT.includes(f),G=T.getBaseValue("number"),L=Math.ceil(G+l*5000);return{inputs:await ny(f).getUtxos({address:y,fetchTxHex:C,targetValue:L}),outputs:[{address:n,value:G},...x?[{address:"",script:await _y(x),value:0}]:[]]}}var KT;var $T=D(()=>{BT();GT();tT();KT=[fy.Dash,fy.Dogecoin,fy.Zcash,fy.BitcoinCash]});import{address as XC,Transaction as NC,TransactionBuilder as _C}from"@psf/bitcoincashjs-lib";import{Chain as wC,derivationPathToString as ZC,FeeOption as BC,NetworkDerivationPath as JC,SwapKitError as XT,updateDerivationPath as qC}from"@swapkit/helpers";import{Psbt as QC}from"bitcoinjs-lib";function gy(T){return my(uT(T))}function MC(T){function n({builder:y,utxos:o}){return o.forEach((f,l)=>{y.sign(l,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(gy(y))},signTransaction:n}}async function mf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=ZC("derivationPath"in T&&T.derivationPath?T.derivationPath:qC(JC[Gy],{index:x})),o=n?(await VT(Gy))({derivationPath:y,phrase:n}):void 0,f=o?MC(o):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:L,..._}=await iy({chain:Gy});function X(N,w=!0){return C(my(uT(N)))}return{..._,broadcastTx:L,buildTx:PC,createTransaction:I0,getAddress:l,getAddressFromKeys:zC,getBalance:X,getFeeRates:G,stripPrefix:my,stripToCashAddress:gy,transfer:WC({broadcastTx:L,getFeeRates:G,signer:f}),validateAddress:uy}}async function I0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o}){if(!uy(n))throw new XT("toolbox_utxo_invalid_address",{address:n});let f=Math.ceil(T.getBaseValue("number")+y*7500),l=await ny(Gy).getUtxos({address:gy(o),fetchTxHex:!0,targetValue:f}),C=x?await _y(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:L,outputs:_}=wy({chain:Gy,feeRate:y,inputs:l,outputs:G});if(!(L&&_))throw new XT("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let X=await Ny(),N=new _C(X(Gy));await Promise.all(L.map(async(w)=>{let Z=await ny(Gy).getRawTx(w.hash);N.addInput(NC.fromBuffer(Buffer.from(Z,"hex")),w.index)}));for(let w of _){let Z="address"in w&&w.address?w.address:lT(o),J=await Ny(),W=XC.toOutputScript(lT(Z),J(Gy));N.addOutput(W,w.value)}if(C)N.addOutput(C,0);return{builder:N,utxos:L}}function WC({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:o,assetValue:f,feeOptionKey:l=BC.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new XT("toolbox_utxo_no_signer");if(!o)throw new XT("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=C.feeRate||(await n())[l],{builder:_,utxos:X}=await I0({...C,assetValue:f,feeRate:L,recipient:o,sender:G}),w=(await x.signTransaction({builder:_,utxos:X})).toHex();return T(w)}}async function PC({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,setSigHashType:f}){let l=uT(n);if(!uy(l))throw new XT("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await ny(Gy).getUtxos({address:gy(o),fetchTxHex:!1,targetValue:C}),L=Number(y.toFixed(0)),_=x?await _y(x):null,X=[];if(X.push({address:lT(n),value:T.getBaseValue("number")}),_)X.push({script:_,value:0});let{inputs:N,outputs:w}=wy({chain:Gy,feeRate:L,inputs:G,outputs:X});if(!(N&&w))throw new XT("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let Z=await Ny(),J=new QC({network:Z(Gy)});for(let{hash:W,index:M,witnessUtxo:H}of N)J.addInput({hash:W,index:M,sighashType:f?65:void 0,witnessUtxo:H});for(let W of w){let M="address"in W&&W.address?W.address:lT(o),H=W.script?_?{script:_,value:0}:void 0:{address:M,value:W.value};if(H)J.addOutput(H)}return{inputs:N,psbt:J,utxos:G}}function zC(T){let n=T.getAddress(0);return gy(n)}var Gy;var Sn=D(()=>{GT();$T();tT();Gy=wC.BitcoinCash});import{bitgo as UC,crypto as HC,ECPair as u0,networks as YC,address as DC}from"@bitgo/utxo-lib";import{HDKey as F0}from"@scure/bip32";import{mnemonicToSeedSync as E0}from"@scure/bip39";import{Chain as In,derivationPathToString as RC,FeeOption as OC,NetworkDerivationPath as kC,SKConfig as SC,SwapKitError as vn,updateDerivationPath as IC}from"@swapkit/helpers";import vC from"bs58check";import{match as uC,P as gf}from"ts-pattern";function A0(){return YC.zcash}function t0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function FC({phrase:T,derivationPath:n}){let x=E0(T),o=F0.fromMasterSeed(x).derive(n);if(!o.privateKey)throw new vn("toolbox_utxo_invalid_params");let f=t0(),l=u0.fromPrivateKey(Buffer.from(o.privateKey),{network:f}),C=HC.hash160(l.publicKey),{isStagenet:G}=SC.get("envs"),L=G?Buffer.from([29,37]):Buffer.from([28,184]),_=Buffer.concat([L,C]),X=vC.encode(_);return{getAddress:()=>Promise.resolve(X),signTransaction:(N)=>{let w=N.signAllInputs(l);return Promise.resolve(w)}}}function EC({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:o}){for(let f of T){let l=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},C=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};x.addInput({hash:f.hash,index:f.index,...l,...C})}for(let f of n){let l="address"in f&&f.address?f.address:y,C=f.script;if(C&&!o)continue;let G=C?{script:o,value:0n}:{script:DC.toOutputScript(l,A0()),value:BigInt(f.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function v0(T){let{assetValue:n,recipient:x,memo:y,feeRate:o,sender:f,fetchTxHex:l}=T,C=y?_y(y):null,G=await ny(In.Zcash).getUtxos({address:f,fetchTxHex:l!==!1}),L=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:_,outputs:X}=wy({chain:In.Zcash,changeAddress:f,feeRate:o,inputs:G,outputs:L});if(!(_&&X))throw new vn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let N=UC.createPsbtForNetwork({network:A0()},{version:455}),Z=3268858036,J=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=Buffer.allocUnsafe(4);W.writeUInt32LE(Z>>>0,0),N.addUnknownKeyValToGlobal({key:J,value:W});let{psbt:M,inputs:H}=await EC({compiledMemo:C,inputs:_,outputs:X,psbt:N,sender:f});return{inputs:H,outputs:X,psbt:M}}async function df(T){let n=await uC(T).with({signer:gf.not(gf.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:gf.string},({phrase:l,derivationPath:C,index:G=0})=>{let L=C||kC[In.Zcash]||[44,133,0,0,0],_=IC(L,{index:G}),X=RC(_);return FC({derivationPath:X,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await iy({chain:In.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=OC.Fast,...L}){let _=await n?.getAddress();if(!(n&&_))throw new vn("toolbox_utxo_no_signer");let X=L.feeRate||(await x.getFeeRates())[G],{psbt:N}=await v0({...L,assetValue:C,feeRate:X,recipient:l,sender:_}),w=await n.signTransaction(N);return w.finalizeAllInputs(),x.broadcastTx(w.extractTransaction().toHex())}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=E0(l),_=F0.fromMasterSeed(G).derive(C);if(!_.privateKey)throw new vn("toolbox_utxo_invalid_params");let X=t0();return u0.fromPrivateKey(Buffer.from(_.privateKey),{network:X})}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return o({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:o,createTransaction:v0,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:LT}}var rf=D(()=>{GT();$T();tT()});import{Chain as NT,SwapKitError as AC}from"@swapkit/helpers";async function tC(T,n){switch(T){case NT.BitcoinCash:return await mf(n||{});case NT.Zcash:return await df(n);case NT.Bitcoin:case NT.Dogecoin:case NT.Litecoin:case NT.Dash:return await iy({chain:T,...n});default:throw new AC("toolbox_utxo_not_supported",{chain:T})}}var K0=D(()=>{Sn();$T();rf();Sn();tT()});var af={};e(af,{validateZcashAddress:()=>LT,toLegacyAddress:()=>lT,toCashAddress:()=>uT,stripToCashAddress:()=>gy,stripPrefix:()=>my,nonSegwitChains:()=>KT,isValidAddress:()=>bf,getUtxoToolbox:()=>tC,getUtxoNetwork:()=>Ny,getUtxoApi:()=>ny,getUTXOAddressValidator:()=>O0,getScriptTypeForAddress:()=>ET,getOutputSize:()=>AT,getInputSize:()=>vy,getDustThreshold:()=>kn,getCreateKeysForPath:()=>VT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>F5,createBCHToolbox:()=>mf,compileMemo:()=>_y,calculateTxSize:()=>CT,bchValidateAddress:()=>uy,addressFromKeysGetter:()=>cf,addInputsAndOutputs:()=>D0,accumulative:()=>wy,UtxoNetwork:()=>Vf,UTXOScriptType:()=>On,TX_OVERHEAD:()=>Rn,OutputSizes:()=>FT,OP_RETURN_OVERHEAD:()=>W0,MIN_TX_FEE:()=>p5,InputSizes:()=>Dn});var sf=D(()=>{GT();K0();Sn();$T();rf()});import{derivationPathToString as KC,SwapKitError as VC}from"@swapkit/helpers";import{KeyPairSigner as bC}from"near-api-js";async function un(){let{validateAccountId:T}=await import("near-sdk-js");return(n)=>{try{return T(n)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return n.length>=2&&n.length<=64&&x.test(n)}}}async function Fn(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,o=T.derivationPath?KC(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=n(T.phrase,o),l=x.fromString(f);return b0(l)}async function ef(T){let{KeyPair:n}=await import("near-api-js/lib/utils"),x=n.fromString(T);return b0(x)}function b0(T){return new V0(T)}async function En(T,n){let y=(await T.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((C)=>C.access_key.permission==="FullAccess");if(!y)throw new VC("toolbox_near_no_public_key_found");let{utils:o}=await import("near-api-js"),f=o.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var V0;var yo=D(()=>{V0=class V0 extends bC{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),n=Buffer.from(T.data).toString("hex");return Promise.resolve(n)}}});function To(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function no(T){return"contractId"in T&&"methodName"in T}function fo(T){return"actions"in T}function oo(T){return"newAccountId"in T}function xo(T){return"contractCode"in T}function lo(T){return"customEstimator"in T}function Co(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(r.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(r.CONTRACT_CALL);break;case"createAccount":n+=Number(r.ACCOUNT_CREATION);break;case"deployContract":n+=Number(r.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(r.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(r.ACCESS_KEY_DELETION);break;case"stake":n+=Number(r.STAKE);break;default:n+=Number(r.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return r.TOKEN_TRANSFER;if(T==="storage_deposit")return r.STORAGE_DEPOSIT;return r.CONTRACT_CALL}function $C(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function pC(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var r;var Lo=D(()=>{r={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function An({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:o}=await import("near-api-js");return new o(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function Xo({contractId:T,account:n}){let x=(await import("bn.js")).default,y=await An({account:n,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),o=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let G=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new x("100000000000000"),new x(G))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:o,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,l)=>y.storage_deposit({account_id:f},new x("100000000000000"),new x(l||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,l,C)=>{return await o(f),y.ft_transfer({amount:l,memo:C,receiver_id:f},new x("100000000000000"),new x("1"))},transferCall:async(f,l,C,G)=>{return await o(f),y.ft_transfer_call({amount:l,memo:G,msg:C,receiver_id:f},new x("100000000000000"),new x("1"))}}}import{AssetValue as $0,Chain as _T,getChainConfig as p0,getRPCUrl as hC,SwapKitError as oy}from"@swapkit/helpers";async function jC(T){let{P:n,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),o=await x(T).with({phrase:n.string},async(B)=>{return await Fn(B)}).with({signer:n.any},({signer:B})=>B).otherwise(()=>{return}),f=await hC(_T.Near),l=new y.JsonRpcProvider({url:f});async function C(B){let{Account:P}=await import("near-api-js"),U=B||await G();return new P(U,l,o)}async function G(){if(!o)throw new oy("toolbox_near_no_signer");return await o.getAddress()}async function L(B){if(!o)throw new oy("toolbox_near_no_signer");let P=await _({...B,sender:await G()});return J(await Z(P))}async function _(B){let{recipient:P,assetValue:U,memo:R,attachedDeposit:O,sender:I,functionCall:t}=B,b=await un();if(!b(P))throw new oy("toolbox_near_invalid_address",{recipient:P});if(!b(I))throw new oy("toolbox_near_invalid_address",{signerId:I});if(t)return N({...t,sender:I});if(!U.isGasAsset){let ty=U.address;if(!ty)throw new oy("toolbox_near_missing_contract_address");return N({args:{amount:U.getBaseValue("string"),memo:R||null,receiver_id:P},attachedDeposit:O||"1",contractId:ty,gas:"250000000000000",methodName:"ft_transfer",sender:I})}let{publicKey:A,nonce:xy}=await En(l,I),ly=U.getBaseValue("bigint"),{transactions:s,utils:By}=await import("near-api-js"),Ay=[s.transfer(ly)];if(R&&O)Ay.push(s.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(O)));let pT=await l.block({finality:"final"}),tn=By.serialize.base_decode(pT.header.hash);return s.createTransaction(I,A,P,xy+1,Ay,tn)}async function X(B){let{SCHEMA:P}=await import("near-api-js/lib/transaction"),{utils:U}=await import("near-api-js"),R=U.serialize.serialize(P.Transaction,B);return Buffer.from(R).toString("base64")}async function N(B){let{sender:P}=B,{publicKey:U,nonce:R}=await En(l,P),{transactions:O,utils:I}=await import("near-api-js"),t=await l.block({finality:"final"}),b=I.serialize.base_decode(t.header.hash),A=[O.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))];return O.createTransaction(P,U,B.contractId,R+1,A,b)}async function w(B){let{transactions:P}=await import("near-api-js");return P.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))}async function Z(B){if(!o)throw new oy("toolbox_near_no_signer");let[P,U]=await o.signTransaction(B);return U}async function J(B){return(await l.sendTransaction(B)).transaction.hash}async function W(B){if("assetValue"in B){let O=BigInt("115123062500")+BigInt("108059500000"),I=await M(),t=O*BigInt(I.toString()),{baseDecimal:b}=p0(_T.Near);return $0.from({chain:_T.Near,fromBaseDecimal:b,value:t.toString()})}let P=o?await C():void 0;return a(B,P)}async function M(){try{return await l.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function H(B,P,U){if(!o)throw new oy("toolbox_near_no_signer");let R=await C(),{utils:O}=await import("near-api-js"),I=O.format.parseNearAmount(U)||"0";return(await R.createAccount(B,O.PublicKey.fromString(P),BigInt(I))).transaction.hash}async function v(B){try{if(!o)throw new oy("toolbox_near_no_signer");let{transactions:P}=await import("near-api-js"),{contractId:U,methodName:R,args:O,deposit:I}=B,t=await C(),b=await a({args:O||{},contractId:U,methodName:R}),A=P.functionCall(R,O||{},b.getBaseValue("bigint"),BigInt(I||"1"));return(await t.signAndSendTransaction({actions:[A],receiverId:U})).transaction_outcome.id}catch(P){throw new oy("toolbox_near_transfer_failed",{error:P})}}async function S(B){let P=await C();return An({account:P,changeMethods:B.changeMethods,contractId:B.contractId,viewMethods:B.viewMethods})}async function u(B){if(!o)throw new oy("toolbox_near_no_signer");if(B.actions.length===0)throw new oy("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:B.actions,receiverId:B.receiverId})).transaction.hash}async function V(B){let P=await C();return Xo({account:P,contractId:B})}async function a(B,P){let{baseDecimal:U}=p0(_T.Near),R=await x(B).when(To,()=>r.SIMPLE_TRANSFER).when(no,(t)=>Go(t.methodName)).when(fo,(t)=>Co(t.actions)).when(oo,()=>r.ACCOUNT_CREATION).when(xo,()=>r.CONTRACT_DEPLOYMENT).when(lo,(t)=>{if(!P)throw new oy("toolbox_near_no_account");return t.customEstimator(P)}).otherwise(()=>{throw new oy("toolbox_near_invalid_gas_params")}),I=BigInt(R)*BigInt(1000000000000);return $0.from({chain:_T.Near,fromBaseDecimal:U,value:I})}async function Hy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:J,callFunction:v,createAction:w,createContract:S,createContractFunctionCall:N,createSubAccount:H,createTransaction:_,estimateGas:a,estimateTransactionFee:W,executeBatchTransaction:u,getAddress:G,getBalance:dy(_T.Near),getGasPrice:Hy,getPublicKey:async()=>o?(await o.getPublicKey()).toString():"",getSignerFromPhrase:(B)=>Fn(B),getSignerFromPrivateKey:ef,nep141:V,provider:l,serializeTransaction:X,signTransaction:Z,transfer:L,validateAddress:await un()}}var No=D(()=>{BT();yo();Lo()});var h0=D(()=>{No()});var _o={};e(_o,{tgasToGas:()=>$C,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>un,getNearToolbox:()=>jC,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>Fn,getFullAccessPublicKey:()=>En,getContractMethodGas:()=>Go,gasToTGas:()=>pC,estimateBatchGas:()=>Co,createNearContract:()=>An,createNEP141Token:()=>Xo,GAS_COSTS:()=>r});var wo=D(()=>{yo();Lo();No();h0()});var Zo={};e(Zo,{radixValidateAddress:()=>c0,RadixToolbox:()=>sC});import{AssetValue as cC,Chain as j0,SKConfig as mC,SwapKitError as iC}from"@swapkit/helpers";function c0(T){return T.startsWith("account_rdx1")&&T.length===66}function gC({networkApi:T}){return async function(x){let y=await dC({address:x,networkApi:T});return rC({networkApi:T,resources:y})}}async function dC({address:T,networkApi:n}){let x=!0,y,o=[],f=await aC(n);while(x){let l={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(o=o.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return o}async function rC({resources:T,networkApi:n}){let x=[],y=50,o=[];for(let f=0;f<T.length;f+=50)o.push(T.slice(f,f+50));for(let f of o){let l=f.map((L)=>L.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let L of C)if(L.details!==void 0){let _=L.metadata?.items.find((N)=>N.key==="symbol"),X=_?.value.typed.type==="String"?_.value.typed.value:"?";if(L.details.type==="FungibleResource")G.set(L.address,{decimals:L.details.divisibility,symbol:X})}for(let L of f)if(L.aggregation_level==="Global"){let _=G.get(L.resource_address)||{decimals:0,symbol:"?"},X=cC.from({asset:_.symbol!==j0.Radix?`${j0.Radix}.${_.symbol}-${L.resource_address}`:"XRD.XRD",value:L.amount});x.push(X)}}return x}function aC(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var sC=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||mC.get("integrations").radix,o=n({...y,networkId:y.network?.networkId||1}),f=x.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:gC({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new iC("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c0}};var Bo=()=>{};var Qo={};e(Qo,{rippleValidateAddress:()=>qo,hashes:()=>C2,getRippleToolbox:()=>l2});import{AssetValue as Jo,Chain as Uy,getChainConfig as m0,getRPCUrl as eC,SwapKitError as Fy,SwapKitNumber as y2}from"@swapkit/helpers";import{Client as T2,isValidAddress as n2,Wallet as f2,xrpToDrops as o2}from"xrpl";import{hashes as C2}from"xrpl";function i0(T){let n=f2.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function qo(T){return n2(T)}var x2,l2=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?i0(T.phrase):void 0,x=await eC(Uy.Ripple);if(!x)throw new Fy({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Uy.Ripple}});let y=new T2(x);await y.connect();let o=()=>{if(!n)throw new Fy({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},f=async(N)=>{let w=N||await o(),{baseDecimal:Z}=m0(Uy.Ripple);try{let W=(await y.request({account:w,command:"account_info"})).result.account_data.Balance;return[Jo.from({chain:Uy.Ripple,fromBaseDecimal:Z,value:W})]}catch(J){if(J.data.error_code===x2.ACCOUNT_NOT_FOUND)return[Jo.from({chain:Uy.Ripple,value:0})];throw new Fy("toolbox_ripple_get_balance_error",{info:{address:w,error:J}})}},l=async()=>{let w=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Z}=m0(Uy.Ripple);return Jo.from({chain:Uy.Ripple,fromBaseDecimal:Z,value:y2.fromBigInt(BigInt(w),Z)})},C=async({assetValue:N,recipient:w,memo:Z,sender:J})=>{if(!qo(w))throw new Fy({errorKey:"core_transaction_invalid_recipient_address"});let W=J||await o();if(!N.isGasAsset||N.chain!==Uy.Ripple)throw new Fy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:N.toString()}});let M={Account:W,Amount:o2(N.getValue("string")),Destination:w,TransactionType:"Payment"};if(Z)M.Memos=[{Memo:{MemoData:Buffer.from(Z).toString("hex")}}];return await y.autofill(M)},G=(N)=>{if(!n)throw new Fy({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(N)},L=async(N)=>{let Z=(await y.submitAndWait(N)).result;if(Z.validated)return Z.hash;throw new Fy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Uy.Ripple}})};return{broadcastTransaction:L,createSigner:i0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:o,getBalance:f,signer:n,signTransaction:G,transfer:async(N)=>{if(!n)throw new Fy({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),Z=await C({...N,sender:w}),J=await G(Z);return L(J.tx_blob)},validateAddress:qo}};var Mo=D(()=>{x2={ACCOUNT_NOT_FOUND:19}});import{AssetValue as G2,Chain as L2,SwapKitNumber as g0}from"@swapkit/helpers";async function X2(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:o}}=y,f=g0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function N2(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let o=y.balance||y.data?.balance;if(!o||o.isEmpty)return[n.set(0)];let f=g0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function d0(T,n){return function(y){let o=G2.from({chain:T});switch(T){case L2.Chainflip:return N2(n,o,y);default:return X2(n,o,y)}}}var r0=()=>{};var _2,w2,Z2,Ey;var Wo=D(()=>{_2={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},w2={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},Z2={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Ey={DOT:_2,FLIP:w2,GENERIC:Z2}});import{hexToU8a as B2,isHex as J2,u8aToHex as q2}from"@polkadot/util";import{decodeAddress as s0,encodeAddress as e0}from"@polkadot/util-crypto";import{AssetValue as Q2,Chain as ZT,getRPCUrl as M2,SwapKitError as Zy,SwapKitNumber as W2}from"@swapkit/helpers";import{match as P2,P as a0}from"ts-pattern";function z2(T,n){switch(T){case ZT.Chainflip:return Tl(n);case ZT.Polkadot:return yl(n);default:throw new Zy("toolbox_substrate_not_supported",{chain:T})}}function wT(T){return"address"in T}async function zo(T,n){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:n,type:"sr25519"}).addFromUri(T)}function k2(T,n){let x=s0(T);return e0(x,n)}function nl(T,n){return J2(T)?B2(T):s0(T,void 0,n)}function fl(T,n="ss58",x){if(n==="hex")return q2(T);return e0(T,x)}async function Yo({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:o}=await import("@polkadot/api"),f=await M2(n),l=new o(f),C=await y.create({provider:l}),G=Q2.from({chain:n}),L=T?Ey.GENERIC:Ey[n],_=await P2(x).with({phrase:a0.string},({phrase:X})=>zo(X,Ey[n].prefix)).with({signer:a0.any},({signer:X})=>X).otherwise(()=>{return});return ol({api:C,chain:n,gasAsset:G,network:L,signer:_})}var yl=({generic:T=!1,...n}={})=>{return Yo({chain:ZT.Polkadot,generic:T,...n})},Tl=async({generic:T=!1,...n}={})=>{return{...await Yo({chain:ZT.Chainflip,generic:T,...n})}},Uo=(T,n)=>T.rpc.system.accountNextIndex(n),Po=(T,n)=>{try{let x=nl(T,n);return fl(x,"ss58",n),!0}catch{return!1}},Ho=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),U2=async(T,n,{recipient:x,assetValue:y,sender:o})=>{let f=Ho(T,{assetValue:y,recipient:x});if(!f)throw new Zy("toolbox_substrate_transfer_error");let l=wT(n),C=l?n.address:o;if(!C)throw new Zy("core_transaction_invalid_sender_address");let G=await Uo(T,C);return(await f.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},H2=async(T,n,x,{recipient:y,assetValue:o,sender:f})=>{let l=Ho(T,{assetValue:o,recipient:y}),C=wT(n)?n.address:f;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Uo(T,C)})||{partialFee:0};return x.set(W2.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},Y2=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},D2=async(T,n)=>{return await n.signAsync(T)},R2=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},O2=async({signer:T,address:n,tx:x,callback:y,api:o})=>{let f=await Uo(o,n);if(y)x.signAndSend(n,{nonce:f,signer:T},y);return x.signAndSend(n,{nonce:f,signer:T}).toString()},ol=({api:T,network:n,gasAsset:x,signer:y,chain:o})=>({api:T,broadcast:Y2,convertAddress:k2,createKeyring:(f)=>zo(f,n.prefix),createTransaction:(f)=>Ho(T,f),decodeAddress:nl,encodeAddress:fl,estimateTransactionFee:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return H2(T,y,x,f)},gasAsset:x,getAddress:(f)=>{let l=f||y;if(!l)throw new Zy("core_wallet_not_keypair_wallet");return wT(l)?l.address:void 0},getBalance:d0(o||ZT.Polkadot,T),network:n,sign:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(wT(y))return D2(y,f);throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:l,address:C})=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(wT(y))return R2(y,f,l);if(C)return O2({address:C,api:T,callback:l,signer:y,tx:f});throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return U2(T,y,f)},validateAddress:(f)=>Po(f,n.prefix)}),S2=({address:T,chain:n})=>{let{prefix:x}=n===ZT.Polkadot?Ey.DOT:Ey.FLIP;return Po(T,x)||Po(T,Ey.GENERIC.prefix)};var xl=D(()=>{r0();Wo()});var Do={};e(Do,{substrateValidateAddress:()=>S2,isKeyringPair:()=>wT,getSubstrateToolbox:()=>z2,createSubstrateToolbox:()=>Yo,createKeyring:()=>zo,SubstrateNetwork:()=>Ey,PolkadotToolbox:()=>yl,ChainflipToolbox:()=>Tl,BaseSubstrateToolbox:()=>ol});var Ro=D(()=>{xl();Wo()});import{AssetValue as I2,Chain as F,CosmosChains as Cl,EVMChains as Oo,FeeOption as v2,SubstrateChains as u2,SwapKitError as F2,UTXOChains as Gl}from"@swapkit/helpers";async function K8(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (fx(),nx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (nf(),Tf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Bn(),Zn)),{getSolanaAddressValidator:o}=await Promise.resolve().then(() => (If(),Sf)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (Mn(),Qn)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (zn(),Pn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (tf(),Af)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:L}=await Promise.resolve().then(() => (wo(),_o)),{radixValidateAddress:_}=await Promise.resolve().then(() => (Bo(),Zo)),{rippleValidateAddress:X}=await Promise.resolve().then(() => (Mo(),Qo)),{substrateValidateAddress:N}=await Promise.resolve().then(() => (Ro(),Do)),w=await x(),Z=await L(),J=await o(),W=await f(),M=await l(),H=await C(),v=await G();return function({address:u,chain:V}){return T(V).with(...Oo,()=>n({address:u})).with(...Gl,()=>v({address:u,chain:V})).with(F.Cosmos,F.Kujira,F.Noble,F.Maya,F.THORChain,(Hy)=>{return y(Hy)(u)}).with(F.Chainflip,F.Polkadot,()=>N({address:u,chain:V})).with(F.Radix,()=>_(u)).with(F.Near,()=>Z(u)).with(F.Ripple,()=>X(u)).with(F.Solana,()=>J(u)).with(F.Sui,()=>W(u)).with(F.Ton,()=>M(u)).with(F.Tron,()=>H(u)).with(F.Cardano,()=>w(u)).otherwise(()=>!1)}}function V8(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...Oo,async(o)=>{let f=await ll(o),l=await f.createTransaction(x);return f.estimateTransactionFee({...l,chain:o,feeOption:x.feeOptionKey||v2.Fast})}).with(F.Bitcoin,F.BitcoinCash,F.Dogecoin,F.Dash,F.Litecoin,F.Polkadot,F.Solana,F.Ripple,F.Tron,F.Near,F.Cardano,async(o)=>{return(await ll(o)).estimateTransactionFee(x)}).with(F.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Mn(),Qn));return(await o()).estimateTransactionFee(x)}).with(F.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (zn(),Pn));return(await o()).estimateTransactionFee()}).with(...Cl,async()=>{let{estimateTransactionFee:o}=await Promise.resolve().then(() => (Bn(),Zn));return o(x)}).otherwise(async()=>I2.from({chain:T}))}}async function ll(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...Oo,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (en(),eo));return await y(T,n)}).with(...Gl,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (sf(),af));return await y(T,n)}).with(...Cl,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Bn(),Zn));return await y(T,n)}).with(...u2,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Ro(),Do));return await y(T,n)}).with(F.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Bo(),Zo));return await y(n)}).with(F.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Mo(),Qo));return await y(n)}).with(F.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (If(),Sf));return await y(n)}).with(F.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Mn(),Qn));return await y(n)}).with(F.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (tf(),Af));return await y(n)}).with(F.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (wo(),_o));return await y(n)}).with(F.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (nf(),Tf));return await y(n)}).with(F.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (zn(),Pn));return await y(n)}).otherwise(()=>{throw new F2("toolbox_not_supported",{chain:T})})}export{ll as getToolbox,V8 as getFeeEstimator,K8 as getAddressValidator};
|
|
1
|
+
var Ll=Object.create;var{getPrototypeOf:Xl,defineProperty:Vn,getOwnPropertyNames:Bl}=Object;var wl=Object.prototype.hasOwnProperty;var q=(T,n,x)=>{x=T!=null?Ll(Xl(T)):{};let y=n||!T||!T.__esModule?Vn(x,"default",{value:T,enumerable:!0}):x;for(let o of Bl(T))if(!wl.call(y,o))Vn(y,o,{get:()=>T[o],enumerable:!0});return y};var s=(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 Zl,getChainConfig as Jl}from"@swapkit/helpers";import{SwapKitApi as ql}from"@swapkit/helpers/api";function ko(){function T(){let n=Date.now(),x=Kn||n;return Kn=x,n>Kn?n:x+1}return Ql+T().toString(36)}function dy(T){return async function(x,y=!0){let o=await ql.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:f}=Jl(T);return o.map(({identifier:l,value:C,decimal:G})=>{return new Zl({decimal:G||f,identifier:l,value:C})})}}var Ql,Kn=0;var ZT=R(()=>{Ql=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as Ml,warnOnce as Wl}from"@swapkit/helpers";function JT(T){let n=Ml.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 zl(T)}function Pl(T){return T}function zl(T){return{getBalance:dy(T)}}var pT=R(()=>{ZT()});import{Chain as p,getChainConfig as vo,getRPCUrl as Yl,SwapKitError as Ul}from"@swapkit/helpers";async function ty(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await Yl(T))}function qT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function bn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=vo(T);return()=>T===p.Ethereum?void 0:{...Hl({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function $n(T){return![p.Arbitrum,p.BinanceSmartChain].includes(T)}function Hl({chain:T}){let{baseDecimal:n}=vo(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 Ul("toolbox_evm_not_supported",{chain:T})}}var ry=()=>{};var Eo;var uo=R(()=>{Eo=[{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 Rl,applyFeeMultiplierToBigInt as ay,Chain as Zy,EVMChains as Ol,FeeOption as $,isGasAsset as Sl,SwapKitError as b,SwapKitNumber as hT}from"@swapkit/helpers";import{erc20ABI as QT}from"@swapkit/helpers/contracts";import{BrowserProvider as Dl,Contract as Fo,getAddress as jT,Interface as Ao}from"ethers";function sy({chain:T=Zy.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:ul({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:Ko({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:Vy({chain:T,provider:n}),createTransaction:pn({chain:T,provider:n,signer:x}),createTransferTx:pn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:yT(n),estimateCall:bo({provider:n,signer:x}),estimateGasLimit:Al({chain:T,provider:n,signer:x}),estimateGasPrices:Ky({chain:T,isEIP1559Compatible:y,provider:n}),estimateTransactionFee:Kl({chain:T,isEIP1559Compatible:y,provider:n}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:El({chain:T,provider:n}),sendTransaction:$o({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:Fl({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(o)=>hn({address:o})}}function hn({address:T}){try{return jT(T),!0}catch{return!1}}function ey(T){return T instanceof Dl}function WT(T,n,x){return new Fo(T,Ao.from(n),x)}function jn({provider:T}){return function(x,y){return new Fo(x,Ao.from(y),T)}}function cn({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new b("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&Il.includes(x.stateMutability)}function to(T){return jT(T)}function yT(T){return function({value:x,...y}){if(!ey(T))throw new b("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:f,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:qT(BigInt(x||0))}])}}function Vo(T,n){let x=TT(T,n);if(x)return jT(x.toLowerCase());throw new b("toolbox_evm_invalid_gas_asset_address")}function TT({chain:T,symbol:n,ticker:x},y){try{let o=T===Zy.BinanceSmartChain&&n==="BNB"&&x==="BNB",f=T===y&&n===y&&x===y,l=vl.includes(T)&&n==="ETH"&&x==="ETH";if(f||o||l)return mn[y];return jT(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function Vy({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:o=[],txOverrides:f})=>WT(n,x,T).getFunction(y).populateTransaction(...o.concat(f).filter((l)=>typeof l<"u"))}function Ky({chain:T,provider:n,isEIP1559Compatible:x=!0}){if(T===Zy.Arbitrum)return async function(){try{let{gasPrice:o}=await n.getFeeData();if(!o)throw new b("toolbox_evm_no_fee_data");return{[$.Average]:{gasPrice:o},[$.Fast]:{gasPrice:o},[$.Fastest]:{gasPrice:o}}}catch(o){throw new b("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}};return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:l}=await n.getFeeData();if(x){if(o===null||f===null)throw new b("toolbox_evm_no_fee_data");return{[$.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:f},[$.Fast]:{maxFeePerGas:ay(o,$.Fast),maxPriorityFeePerGas:ay(f,$.Fast)},[$.Fastest]:{maxFeePerGas:ay(o,$.Fastest),maxPriorityFeePerGas:ay(f,$.Fastest)}}}if(!l)throw new b("toolbox_evm_no_gas_price");return{[$.Average]:{gasPrice:l},[$.Fast]:{gasPrice:ay(l,$.Fast)},[$.Fastest]:{gasPrice:ay(l,$.Fastest)}}}catch(o){throw new b("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function gn({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:f,contractAddress:l,abi:C,funcName:G,funcParams:N=[],txOverrides:X={},feeOption:_=$.Fast}){let L=f||T;if(!l)throw new b("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=cn({abi:C,funcName:G});if(B&&ey(L)&&x){let W=Vy({chain:y,provider:L}),M=X?.from||await x?.getAddress(),U=await W({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...X,from:M}});return yT(L)(U)}let w=WT(l,C,L);if(B){if(!x)throw new b("toolbox_evm_no_signer");let W=X?.from||await x.getAddress();if(!W)throw new b("toolbox_evm_no_signer_address");let M=w.connect(x),U=Ky({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:v,maxPriorityFeePerGas:I,gasPrice:E}=(await U())[_],V=await w.getFunction(G).estimateGas(...N,X),r=await M[G](...N,{...X,gasLimit:V,gasPrice:E,maxFeePerGas:v,maxPriorityFeePerGas:I,nonce:X?.nonce||await L.getTransactionCount(W)});return typeof r?.hash==="string"?r?.hash:r}let J=await w[G]?.(...N);return typeof J?.hash==="string"?J?.hash:J}}function Ko({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:o,from:f}){return gn({chain:n,isEIP1559Compatible:!0,provider:T})({abi:QT,contractAddress:y,funcName:"allowance",funcParams:[f,o]})}}function El({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:o,from:f,amount:l=MT}){let C=await Ko({chain:n,provider:T})({assetAddress:y,from:f,spenderAddress:o});return hT.fromBigInt(C).gte(hT.fromBigInt(BigInt(l)))}}function ul({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:f,spenderAddress:l,feeOptionKey:C=$.Fast,amount:G,gasLimitFallback:N,from:X,nonce:_}){let L=[l,BigInt(G||MT)],B=await T?.getAddress()||X,w={abi:QT,contractAddress:f,funcName:"approve",funcParams:L,signer:T,txOverrides:{from:B}};if(ey(x)){let W=Vy({chain:y,provider:x}),M=yT(x),U=await W(w);return M(U)}return gn({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:L,txOverrides:{from:B,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function Fl({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:o,memo:f,recipient:l,feeOptionKey:C=$.Fast,sender:G,...N}){let{hexlify:X,toUtf8Bytes:_}=await import("ethers"),L=o.getBaseValue("bigint"),B=o.chain,w=G||await T?.getAddress(),J=$o({chain:B,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new b("toolbox_evm_no_from_address");if(o.isGasAsset){let E={...N,data:X(_(f||"")),feeOptionKey:C,from:w,to:l,value:L};return J(E)}if(!TT(o,B))throw new b("toolbox_evm_no_contract_address");let{maxFeePerGas:M,maxPriorityFeePerGas:U,gasPrice:v}=(await Ky({chain:B,isEIP1559Compatible:n,provider:x})())[C],I=await pn({chain:B,provider:x,signer:T})({assetValue:o,data:X(_(f||"")),gasPrice:v,maxFeePerGas:M,maxPriorityFeePerGas:U,memo:f,recipient:l,sender:w});return J(I)}}function bo({provider:T,signer:n}){return function({contractAddress:y,abi:o,funcName:f,funcParams:l=[],txOverrides:C}){if(!y)throw new b("toolbox_evm_no_contract_address");let G=WT(y,o,T);return n?G.connect(n).getFunction(f).estimateGas(...l,C):G.getFunction(f).estimateGas(...l,C)}}function Al({provider:T,signer:n}){return async function({assetValue:y,recipient:o,memo:f,data:l,sender:C,funcName:G,funcParams:N,txOverrides:X}){let _=y.bigIntValue,L=y.isGasAsset?null:TT(y,y.chain);if(L&&G)return bo({provider:T,signer:n})({abi:QT,contractAddress:L,funcName:G,funcParams:N,txOverrides:X});let{hexlify:B,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:f?B(w(f)):void 0,from:C,to:o,value:_})}}function $o({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:f=$.Fast,...l}){let{from:C,to:G,data:N,value:X,..._}=l;if(!n)throw new b("toolbox_evm_no_signer");if(!G)throw new b("toolbox_evm_no_to_address");let L={..._,data:N||"0x",from:C,to:G,value:BigInt(X||0)};if(ey(T))return yT(T)(L);let B=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(B),J=(await T.getNetwork()).chainId,W=tl(L)||x,M=Ky({chain:y,isEIP1559Compatible:x,provider:T}),U=W&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await M())[f]).reduce((I,[E,V])=>({...I,[E]:qT(BigInt(V))}),{}):{},v;try{v=qT(L.gasLimit||await T.estimateGas(L)*11n/10n)}catch(I){throw new b("toolbox_evm_error_estimating_gas_limit",{error:I})}try{let I={...L,chainId:J,gasLimit:v,nonce:w,type:W?2:0,...U};try{return(await n.sendTransaction(I)).hash}catch{let E=await n.signTransaction({...I,from:B});return(await T.broadcastTransaction(E)).hash}}catch(I){throw new b("toolbox_evm_error_sending_transaction",{error:I})}}}function pn({provider:T,signer:n}){return async function({assetValue:y,memo:o,recipient:f,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:X,..._}){let L=y.getBaseValue("bigint"),B=y.chain,w=C||await n?.getAddress();if(!w)throw new b("toolbox_evm_no_from_address");if(Sl(y)){let{hexlify:M,toUtf8Bytes:U}=await import("ethers");return{..._,data:l||M(U(o||"")),from:w,to:f,value:L}}let J=TT(y,B);if(!J)throw new b("toolbox_evm_no_contract_address");return Vy({chain:y.chain,provider:T})({abi:QT,contractAddress:J,funcName:"transfer",funcParams:[f,L],txOverrides:{from:w,gasPrice:X,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function Vl({provider:T,signer:n,chain:x}){return async function({assetAddress:o,spenderAddress:f,amount:l,from:C}){let G=await n?.getAddress()||C,N=Vy({chain:x,provider:T}),X=["bigint","number"].includes(typeof l)?l:l||MT;return await N({abi:QT,contractAddress:o,funcName:"approve",funcParams:[f,BigInt(X)],txOverrides:{from:G}})}}function Kl({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=$.Fast,chain:o,...f}){let C=await Ky({chain:o,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(f),N=Rl.from({chain:o}),{gasPrice:X,maxFeePerGas:_,maxPriorityFeePerGas:L}=C[y];if(!n&&X)return N.set(hT.fromBigInt(X*G,N.decimal));if(_&&L){let B=(_+L)*G;return N.set(hT.fromBigInt(B,N.decimal))}throw new b("toolbox_evm_no_gas_price")}}var MT,Il,kl,mn,vl,tl=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var cT=R(()=>{ry();MT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Il=["payable","nonpayable"];kl=Ol.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),mn={...kl,[Zy.Optimism]:"0x4200000000000000000000000000000000000042",[Zy.Polygon]:"0x0000000000000000000000000000000000001010"},vl=[Zy.Arbitrum,Zy.Aurora,Zy.Base,Zy.Optimism]});import{Chain as j,FeeOption as bl,getRPCUrl as $l}from"@swapkit/helpers";import{match as pl,P as po}from"ts-pattern";async function mT({provider:T,...n}){let x=await c(j.Ethereum)({provider:T,...n});async function y(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=bl.Fast){let G=await x.createContractTxObject({abi:Eo,contractAddress:f,funcName:l,funcParams:[o]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function c(T){return async function({provider:x,...y}){let{HDNodeWallet:o}=await import("ethers"),f=await $l(T),l=x||await ty(T,f),C=$n(T),G=pl(y).with({phrase:po.string},({phrase:X})=>o.fromPhrase(X).connect(l)).with({signer:po.any},({signer:X})=>X).otherwise(()=>{return});return{...sy({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:JT(T).getBalance,getNetworkParams:bn(T)}}}var iT,gT,dT,rT,aT,sT,ho,eT,yn,Tn,nn,fn,on,PT,xn,ln;var dn=R(()=>{pT();uo();ry();cT();iT=c(j.Arbitrum),gT=c(j.Aurora),dT=c(j.Avalanche),rT=c(j.Base),aT=c(j.Berachain),sT=c(j.BinanceSmartChain),ho=c(j.Botanix),eT=c(j.Core),yn=c(j.Corn),Tn=c(j.Cronos),nn=c(j.Gnosis),fn=c(j.Hyperevm),on=c(j.Polygon),PT=c(j.Sonic),xn=c(j.Unichain),ln=c(j.XLayer)});var jo;var co=R(()=>{jo=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as nT,Chain as Cn,FeeOption as Jy,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 mo}from"ts-pattern";function an(T){return new ml(dl,jo,T)}function io(T){return async function(){let x=an(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function go(T){return async function({from:x,to:y,nonce:o,...f}){let{Transaction:l}=await import("ethers");if(!y)throw new rn("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...f,authorizationList:f.authorizationList,nonce:o?o:x?await T.getTransactionCount(x):0,to:y}).serialized}}function ro(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(o)}}function ao(T){return async function(x){let y=await T.send("eth_gasPrice",[]),o=await T.estimateGas(x);return y.mul(o)}}function rl(T){return async function(x){let y=await ro(T)(x),o=await ao(T)(x);return y.add(o)}}function al(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(o)}}function sl(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:o}=jl(Cn.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:Cn.Ethereum},rpcUrls:o}}async function el(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),o=await io(T)(),f=y;if(!(n&&x))throw new rn("toolbox_evm_no_fee_data");return{[Jy.Average]:{gasPrice:f,l1GasPrice:o,maxFeePerGas:n,maxPriorityFeePerGas:x},[Jy.Fast]:{gasPrice:nT(f,Jy.Fast),l1GasPrice:nT(o||0n,Jy.Fast),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,Jy.Fast)},[Jy.Fastest]:{gasPrice:nT(f,Jy.Fastest),l1GasPrice:nT(o||0n,Jy.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,Jy.Fastest)}}}catch(n){throw new rn("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}async function Gn({provider:T,...n}){let x=Cn.Optimism,y=await cl(x),o=T||await ty(x,y),f=gl(n).with({phrase:mo.string},({phrase:G})=>il.fromPhrase(G).connect(o)).with({signer:mo.any},({signer:G})=>G).otherwise(()=>{return}),l=sy({provider:o,signer:f}),C=io(o);return{...l,estimateGasPrices:el(o),estimateL1Gas:al(o),estimateL1GasCost:ro(o),estimateL2GasCost:ao(o),estimateTotalGasCost:rl(o),getBalance:JT(Cn.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:sl}}var dl="0x420000000000000000000000000000000000000f";var sn=R(()=>{pT();co();ry();cT()});var eo={};s(eo,{toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getEvmToolbox:()=>so,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>hn,createContract:()=>WT,XLayerToolbox:()=>ln,UNIToolbox:()=>xn,SONICToolbox:()=>PT,OPToolbox:()=>Gn,MAX_APPROVAL:()=>MT,MATICToolbox:()=>on,HYPEREVMToolbox:()=>fn,GNOToolbox:()=>nn,ETHToolbox:()=>mT,ContractAddress:()=>mn,CROToolbox:()=>Tn,CORNToolbox:()=>yn,COREToolbox:()=>eT,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>sT,BERAToolbox:()=>aT,BASEToolbox:()=>rT,AVAXToolbox:()=>dT,AURORAToolbox:()=>gT,ARBToolbox:()=>iT});import{Chain as h}from"@swapkit/helpers";import{match as y1}from"ts-pattern";async function so(T,n){let x={...n,provider:n?.provider||await ty(T)};return y1(T).returnType().with(h.Arbitrum,()=>iT(x)).with(h.Aurora,()=>gT(x)).with(h.Avalanche,()=>dT(x)).with(h.Base,()=>rT(x)).with(h.Berachain,()=>aT(x)).with(h.BinanceSmartChain,()=>sT(x)).with(h.Botanix,()=>PT(x)).with(h.Core,()=>eT(x)).with(h.Corn,()=>yn(x)).with(h.Cronos,()=>Tn(x)).with(h.Ethereum,()=>mT(x)).with(h.Gnosis,()=>nn(x)).with(h.Hyperevm,()=>fn(x)).with(h.Optimism,()=>Gn(x)).with(h.Polygon,()=>on(x)).with(h.Sonic,()=>PT(x)).with(h.Unichain,()=>xn(x)).with(h.XLayer,()=>ln(x)).exhaustive()}var en=R(()=>{ry();dn();sn();cT();dn();sn()});var yx;var Tx=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(yx||={})});var nx={};s(nx,{toHexString:()=>qT,toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>ty,getNetworkParams:()=>bn,getIsEIP1559Compatible:()=>$n,getEvmToolbox:()=>so,getEvmApi:()=>JT,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>hn,createCustomEvmApi:()=>Pl,createContract:()=>WT,XLayerToolbox:()=>ln,UNIToolbox:()=>xn,SONICToolbox:()=>PT,OPToolbox:()=>Gn,MAX_APPROVAL:()=>MT,MATICToolbox:()=>on,HYPEREVMToolbox:()=>fn,GNOToolbox:()=>nn,EthNetwork:()=>yx,ETHToolbox:()=>mT,ContractAddress:()=>mn,CROToolbox:()=>Tn,CORNToolbox:()=>yn,COREToolbox:()=>eT,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>sT,BERAToolbox:()=>aT,BASEToolbox:()=>rT,AVAXToolbox:()=>dT,AURORAToolbox:()=>gT,ARBToolbox:()=>iT});var fx=R(()=>{pT();ry();en();Tx()});import{AssetValue as YT,Chain as fT,getChainConfig as T1,SwapKitError as zT}from"@swapkit/helpers";import{match as n1,P as ox}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 o=await y.getBalance(),f=[];for(let l of o)if(l.unit===f1){let{baseDecimal:C}=T1(fT.Cardano);f.push(YT.from({chain:fT.Cardano,fromBaseDecimal:C,value:l.quantity}))}else f.push(YT.from({asset:`${fT.Cardano}.${l.unit}`,value:l.quantity}));if(f.length===0)return[YT.from({chain:fT.Cardano})];return f}catch(n){return console.error("Cardano balance fetch error:",n),[YT.from({chain:fT.Cardano})]}}async function xx(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function x1(T){let n=await xx(),x=await n1(T).with({phrase:ox.string},async({phrase:X})=>{let{MeshWallet:_}=await import("@meshsdk/core"),L=await yf(),B=new _({fetcher:L,key:{type:"mnemonic",words:X.split(" ")},networkId:1,submitter:L});return await B.init(),B}).with({signer:ox.any},({signer:X})=>X).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function o(){return y||""}function f(X){let _=X||o();if(!_)throw new zT("core_wallet_connection_not_found");return o1(_)}function l(){return Promise.resolve(YT.from({chain:fT.Cardano,value:"0.01"}))}async function C({recipient:X,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{Transaction:B}=await import("@meshsdk/core"),[,w]=_.symbol.split("-");if(!_.isGasAsset&&!w)throw new zT("core_wallet_connection_not_found");let J=new B({initiator:x});if(J.sendAssets({address:X},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),L)J.setMetadata(0,L);let W=await J.build();return{tx:J,unsignedTx:W}}function G(X){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");return x.signTx(X)}async function N({recipient:X,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{unsignedTx:B}=await C({assetValue:_,memo:L,recipient:X}),w=await G(B);return await(await yf()).submitTx(w)}return{createTransaction:C,estimateTransactionFee:l,getAddress:o,getBalance:f,signTransaction:G,transfer:N,validateAddress:n}}var f1="lovelace";var lx=()=>{};var Tf={};s(Tf,{getCardanoToolbox:()=>x1,getCardanoAddressValidator:()=>xx});var nf=R(()=>{lx()});import{base64 as Cx,bech32 as Nn}from"@scure/base";import{SwapKitError as l1}from"@swapkit/helpers";import{fromByteArray as C1,toByteArray as G1}from"base64-js";function UT(T){return Cx.encode(Uint8Array.from(Nn.fromWords(Nn.decode(T).words)))}function HT(T,n="thor"){return Nn.encode(n,Nn.toWords(Cx.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 Gy,getRPCUrl as L1,SwapKitError as Gx}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 Lx;case F.Noble:return Xx;default:return _x}}async function Qy(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"),o=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return o.connectWithSigner(T,n,{gasPrice:f.fromString(l),...C})}async function lf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function Cf({sender:T,recipient:n,assetValue:x,memo:y="",feeRate:o,sequence:f,accountNumber:l}){let{chain:C,chainId:G}=x,N=await L1(C),_=await(await Qy(N)).getAccount(T);if(!_)throw new Gx("toolbox_cosmos_account_not_found",{sender:T});let L=of.from({chain:C}),B=Uy(L.symbol),w=qy(C),J=B&&o?{amount:[{amount:o.toString(),denom:B}],gas:w.gas}:w,W={amount:[{amount:x.getBaseValue("string"),denom:Uy(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??_.accountNumber,chainId:G,fee:J,memo:y,msgs:[{typeUrl:X1(C),value:W}],sequence:f??_.sequence}}var xf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Nx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",_x,Lx,Xx,Uy=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return xf;case"uYUM":case"YUM":return Nx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},RT=({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 Uy(T,!1)},X1=(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 Gx("toolbox_cosmos_not_supported",{chain:T})}},B1,Gf=(T,n)=>{let x=B1[T.toLowerCase()];if(!x)return of.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:o,decimals:f}=x,l=y?{chain:y}:{asset:o};return of.from({...l,fromBaseDecimal:f,value:n})};var ST=R(()=>{_x={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Lx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Xx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};B1={atom:{chain:F.Cosmos,decimals:Gy(F.Cosmos).baseDecimal},cacao:{chain:F.Maya,decimals:10},kuji:{chain:F.Kujira,decimals:Gy(F.Kujira).baseDecimal},maya:{asset:`${F.Maya}.${F.Maya}`,decimals:4},rune:{chain:F.THORChain,decimals:Gy(F.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Gy(F.THORChain).baseDecimal},uatom:{chain:F.Cosmos,decimals:Gy(F.Cosmos).baseDecimal},ukuji:{chain:F.Kujira,decimals:Gy(F.Kujira).baseDecimal},usdc:{chain:F.Noble,decimals:Gy(F.Noble).baseDecimal},uusdc:{chain:F.Noble,decimals:Gy(F.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Gy(F.THORChain).baseDecimal},[xf.toLowerCase()]:{asset:`${F.Kujira}.USK`,decimals:Gy(F.Kujira).baseDecimal}}});var Bx={};s(Bx,{$root:()=>z});import i from"protobufjs/minimal.js";var D,ly,H,z;var wx=R(()=>{D=i.Reader,ly=i.Writer,H=i.util,z=i.roots.default||(i.roots.default={});z.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))o.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))o.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))o.uint32(32).bool(y.synth);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Asset;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!H.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!H.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!H.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Asset)return y;let o=new z.common.Asset;if(y.chain!=null)o.chain=String(y.chain);if(y.symbol!=null)o.symbol=String(y.symbol);if(y.ticker!=null)o.ticker=String(y.ticker);if(y.synth!=null)o.synth=Boolean(y.synth);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=H.Long?H.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))z.common.Asset.encode(y.asset,o.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))o.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))o.uint32(24).int64(y.decimals);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Coin;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.asset=z.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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 o=z.common.Asset.verify(y.asset);if(o)return"asset."+o}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!H.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!H.isInteger(y.decimals)&&!(y.decimals&&H.isInteger(y.decimals.low)&&H.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Coin)return y;let o=new z.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");o.asset=z.common.Asset.fromObject(y.asset)}if(y.amount!=null)o.amount=String(y.amount);if(y.decimals!=null){if(H.Long)(o.decimals=H.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")o.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")o.decimals=y.decimals;else if(typeof y.decimals==="object")o.decimals=new H.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)if(f.asset=null,f.amount="",H.Long){let l=new H.Long(0,0,!1);f.decimals=o.longs===String?l.toString():o.longs===Number?l.toNumber():l}else f.decimals=o.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=z.common.Asset.toObject(y.asset,o);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=o.longs===String?String(y.decimals):y.decimals;else f.decimals=o.longs===String?H.Long.prototype.toString.call(y.decimals):o.longs===Number?new H.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},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),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))o.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))o.uint32(18).string(y.ed25519);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.PubKeySet;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!H.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!H.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.PubKeySet)return y;let o=new z.common.PubKeySet;if(y.secp256k1!=null)o.secp256k1=String(y.secp256k1);if(y.ed25519!=null)o.ed25519=String(y.ed25519);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=H.emptyArray,n.prototype.gas=H.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))o.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)z.common.Coin.encode(y.gas[f],o.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(58).string(y.memo);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Tx;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(z.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!H.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!H.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!H.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!H.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let o=0;o<y.gas.length;++o){let f=z.common.Coin.verify(y.gas[o]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!H.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Tx)return y;let o=new z.common.Tx;if(y.id!=null)o.id=String(y.id);if(y.chain!=null)o.chain=String(y.chain);if(y.fromAddress!=null)o.fromAddress=String(y.fromAddress);if(y.toAddress!=null)o.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");o.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");o.gas[f]=z.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)o.memo=String(y.memo);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[],f.gas=[];if(o.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.gas?.length){f.gas=[];for(let l=0;l<y.gas.length;++l)f.gas[l]=z.common.Coin.toObject(y.gas[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=H.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))o.uint32(18).string(y.poolDeduct);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Fee;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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 o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!H.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Fee)return y;let o=new z.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)o.poolDeduct=String(y.poolDeduct);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))o.uint32(10).string(y.value);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.ProtoUint;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!H.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.ProtoUint)return y;let o=new z.common.ProtoUint;if(y.value!=null)o.value=String(y.value);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();z.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=H.emptyArray,n.prototype.memo="",n.prototype.signer=H.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))o.uint32(26).bytes(y.signer);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgDeposit;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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 o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!H.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||H.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof z.types.MsgDeposit)return y;let o=new z.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)o.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")H.base64.decode(y.signer,o.signer=H.newBuffer(H.base64.length(y.signer)),0);else if(y.signer.length)o.signer=y.signer}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults){if(f.memo="",o.bytes===String)f.signer="";else if(f.signer=[],o.bytes!==Array)f.signer=H.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=o.bytes===String?H.base64.encode(y.signer,0,y.signer.length):o.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.fromAddress=H.newBuffer([]),n.prototype.toAddress=H.newBuffer([]),n.prototype.amount=H.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)z.cosmos.base.v1beta1.Coin.encode(y.amount[f],o.uint32(26).fork()).ldelim();return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgSend;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(z.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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"||H.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||H.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let o=0;o<y.amount.length;++o){let f=z.cosmos.base.v1beta1.Coin.verify(y.amount[o]);if(f)return"amount."+f}}return null},n.fromObject=function(y){if(y instanceof z.types.MsgSend)return y;let o=new z.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")H.base64.decode(y.fromAddress,o.fromAddress=H.newBuffer(H.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)o.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")H.base64.decode(y.toAddress,o.toAddress=H.newBuffer(H.base64.length(y.toAddress)),0);else if(y.toAddress.length)o.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");o.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");o.amount[f]=z.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.amount=[];if(o.defaults){if(o.bytes===String)f.fromAddress="";else if(f.fromAddress=[],o.bytes!==Array)f.fromAddress=H.newBuffer(f.fromAddress);if(o.bytes===String)f.toAddress="";else if(f.toAddress=[],o.bytes!==Array)f.toAddress=H.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=o.bytes===String?H.base64.encode(y.fromAddress,0,y.fromAddress.length):o.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=o.bytes===String?H.base64.encode(y.toAddress,0,y.toAddress.length):o.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let l=0;l<y.amount.length;++l)f.amount[l]=z.cosmos.base.v1beta1.Coin.toObject(y.amount[l],o)}return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();z.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.Coin;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!H.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!H.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.Coin)return f;let l=new z.cosmos.base.v1beta1.Coin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecCoin;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!H.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!H.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecCoin)return f;let l=new z.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))l.uint32(10).string(f.int);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.IntProto;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.int=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!H.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.IntProto)return f;let l=new z.cosmos.base.v1beta1.IntProto;if(f.int!=null)l.int=String(f.int);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(f.int!=null&&f.hasOwnProperty("int"))C.int=f.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))l.uint32(10).string(f.dec);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecProto;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.dec=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!H.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecProto)return f;let l=new z.cosmos.base.v1beta1.DecProto;if(f.dec!=null)l.dec=String(f.dec);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))C.dec=f.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x})(),n})(),T})()});import{Chain as w1}from"@swapkit/helpers";async function by(){let{$root:T}=await Promise.resolve().then(() => (wx(),Bx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),o=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...o,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Hy(T){let n=await import("@cosmjs/stargate"),x=n.AminoTypes??n.default?.AminoTypes,y=T===w1.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:o,...f})=>({...f,signer:UT(o)}),toAmino:({signer:o,...f})=>({...f,signer:HT(o)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:o,to_address:f,...l})=>({...l,fromAddress:UT(o),toAddress:UT(f)}),toAmino:({fromAddress:o,toAddress:f,...l})=>({...l,from_address:HT(o),to_address:HT(f)})}})}var Nf=R(()=>{ff()});import{AssetValue as Z1,Chain as _n,getChainConfig as Zx,SwapKitError as J1}from"@swapkit/helpers";function Xf(T){return function(x){let{assetValue:y,recipient:o,memo:f,sender:l,asSignable:C,asAminoMessage:G}=x;if(o)return qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,recipient:o,sender:l});return Qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,sender:l})}}function Oy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((n)=>{let x=Z1.from({asset:n.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),o=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:o,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function DT({chain:T,memo:n,msgs:x}){let y=await by(),o=await Hy(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>o.fromAmino(l))}};return y.encode(f)}var q1,Q1,_f=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===_n.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:Uy(x.symbol,!0)}],from_address:T,to_address:n}}},Lf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===_n.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:RT(n)}],memo:x,signer:T}}},Ln=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Lf({assetValue:x,memo:y,sender:T}):_f({assetValue:x,recipient:n,sender:T})},Ry=async(T,n)=>{return(await Hy(n)).fromAmino(T)},Jx=async({rpcUrl:T,sender:n})=>{let y=await(await Qy(T)).getAccount(n);if(!y)throw new J1("toolbox_cosmos_account_not_found",{sender:n});return y},qx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:o="",asSignable:f=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await Jx({rpcUrl:T,sender:n}),X=y.chain,{chainId:_}=Zx(X),L=_f({assetValue:y,recipient:x,sender:n}),B=f?await Ry(l?L:Oy(L),X):L;return{accountNumber:G||N.accountNumber,chainId:_,fee:qy(X),memo:o,msgs:[B],sequence:C||N.sequence}},Qx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:o=!0,asAminoMessage:f=!1,sequence:l,accountNumber:C})=>{let G=await Jx({rpcUrl:T,sender:n}),N=x.chain,{chainId:X}=Zx(N),_=Lf({assetValue:x,memo:y,sender:n}),L=o?await Ry(f?_:Oy(_),N):_;return{accountNumber:C||G.accountNumber,chainId:X,fee:qy(N),memo:y,msgs:[L],sequence:l||G.sequence}};var Mx=R(()=>{ST();Nf();q1=qy(_n.THORChain).gas,Q1=qy(_n.Maya).gas});var Wx=()=>{};var Px=R(()=>{Wx()});var Bf=R(()=>{ff();Mx();Nf();Px()});import{base64 as Jf,bech32 as wf}from"@scure/base";import{AssetValue as qf,applyFeeMultiplier as zx,Chain as e,CosmosChainPrefixes as Sx,DerivationPath as M1,derivationPathToString as Yx,FeeOption as Qf,getChainConfig as W1,getRPCUrl as P1,NetworkDerivationPath as z1,SwapKitError as Mf,SwapKitNumber as Zf,updateDerivationPath as Y1}from"@swapkit/helpers";import{SwapKitApi as Dx}from"@swapkit/helpers/api";import{match as U1,P as Ux}from"ts-pattern";async function Pf(T,n){try{let y=(await Dx.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Wf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),o=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),l=f.stringToPath??f.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${M1[x.chain]}/${x.index}`;return o.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function H1({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function Ix(T){return async function({signature:x,message:y,address:o}){let f=await T(o);if(!f?.pubkey)throw new Mf("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,N=C.fromFixedLength(Jf.decode(x));return G.verifySignature(N,Jf.decode(y),f.pubkey.value)}}async function IT({chain:T,...n}){let x=await P1(T),y=Sx[T],o="index"in n?n.index||0:0,f=Yx("derivationPath"in n&&n.derivationPath?n.derivationPath:Y1(z1[T],{index:o})),l=await U1(n).with({phrase:Ux.string},({phrase:_})=>Wf({derivationPath:f,phrase:_,prefix:y})).with({signer:Ux.any},({signer:_})=>_).otherwise(()=>{return});async function C(_){return(await Qy(x)).getAccount(_)}async function G(){let[_]=await l?.getAccounts()||[];return _?.address}async function N(){let[_]=await l?.getAccounts()||[];if(!_?.pubkey)throw new Mf("toolbox_cosmos_signer_not_defined");return Jf.encode(_?.pubkey)}async function X({recipient:_,assetValue:L,memo:B="",feeRate:w,feeOptionKey:J=Qf.Fast}){let W=await G();if(!(l&&W))throw new Mf("toolbox_cosmos_signer_not_defined");let M=qf.from({chain:T}),U=RT(M),v=w||S1((await Rx(T,Hx[T]))[J],U),I=await OT(x,l),E=[{amount:L.getBaseValue("string"),denom:Uy(`u${L.symbol}`).toLowerCase()}],{transactionHash:V}=await I.sendTokens(W,_,E,v,B);return V}return{createPrivateKeyFromPhrase:I1(f),createTransaction:Cf,fetchFeeRateFromSwapKit:Pf,getAccount:C,getAddress:G,getBalance:async(_,L)=>{let B=await Ox(x)(_),w=await Promise.all(B.filter(({denom:J})=>J&&!J.includes("IBC/")).map(({denom:J,amount:W})=>{let M=[e.THORChain,e.Maya].includes(T)&&(J.includes("/")||J.includes("˜"))?`${T}.${J}`:J;return Gf(M,W)}));if(w.length===0)return[qf.from({chain:T})];return w},getBalanceAsDenoms:Ox(x),getFees:()=>Rx(T,Hx[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:L})=>Wf({derivationPath:Yx(L),index:o,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:X,validateAddress:kx(T),verifySignature:Ix(C)}}async function R1(T,n){try{let y=(await Dx.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function O1({assetValue:{chain:T}}){return qf.from({chain:T,value:D1(T)})}async function Rx(T,n){let{chainId:x,baseDecimal:y}=W1(T),o=await Pf(x,n);return{average:Zf.fromBigInt(BigInt(o),y),fast:Zf.fromBigInt(BigInt(zx(o,Qf.Fast,!0)),y),fastest:Zf.fromBigInt(BigInt(zx(o,Qf.Fastest,!0)),y)}}function S1(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function D1(T){return{[e.Cosmos]:0.007,[e.Kujira]:0.02,[e.Noble]:0.01,[e.THORChain]:0.02,[e.Maya]:0.02,[e.Harbor]:0.02}[T]||0}function kx(T){let n=Sx[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:o,words:f}=wf.decode(y);return wf.encode(o,f)===y.toLocaleLowerCase()}catch{return!1}}}function Ox(T){return async function(x){return(await(await Qy(T)).getAllBalances(x)).map((l)=>({...l,denom:l.denom.includes("/")?l.denom.toUpperCase():l.denom}))}}function I1(T){return async function(x){let y=await import("@cosmjs/crypto"),o=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),X=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(f.Secp256k1,X,o(T));return _}}var Hx;var Xn=R(()=>{ST();Hx={[e.Cosmos]:500,[e.Kujira]:1000,[e.Noble]:1000,[e.THORChain]:5000000,[e.Maya]:5000000,[e.Harbor]:5000000}});import{base64 as $y}from"@scure/base";import{Chain as k1,CosmosChainPrefixes as v1,derivationPathToString as E1,FeeOption as zf,getChainConfig as vx,getRPCUrl as u1,NetworkDerivationPath as F1,RequestClient as A1,SKConfig as t1,SwapKitError as Ex,SwapKitNumber as ux,updateDerivationPath as V1}from"@swapkit/helpers";import{match as K1,P as Fx}from"ts-pattern";function b1({prefix:T,derivationPath:n}){return async function(y,o=0){let f=await import("@cosmjs/amino"),l=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${o}`)],prefix:T})}}function $1(T){return $y.encode(T)}function p1(T){return async function({wallet:x,tx:y}){let{msgs:o,accountNumber:f,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,X=(await x.getAccounts())?.[0]?.address||"",_=await Hy(T),L=await by(),B=await lf(x,{aminoTypes:_,registry:L}),w=[];for(let M of o){let U=await Ry(M,T);w.push(U)}let{signatures:[J]}=await B.sign(X,w,G,N,{accountNumber:f,chainId:C,sequence:l});return{bodyBytes:await DT({chain:T,memo:N,msgs:o.map(Oy)}),signature:$1(J)}}}function h1({prefix:T,rpcUrl:n}){return async function(y,o,f,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:X}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:L}=JSON.parse(y),B=await Ax(f,l),w=o.map((M)=>[N(G($y.decode(M.pubKey)),T),$y.decode(M.signature)]),J=await Qy(n),{transactionHash:W}=await J.broadcastTx(X(B,_,L,C,new Map(w)));return W}}async function Ax(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:o}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>o($y.decode(f))),n,x)}function j1(T){return $y.decode(T)}async function c1({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature($y.decode(n),T);return $y.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Yf({chain:T,...n}){let x=await u1(T),{nodeUrl:y}=vx(T),{isStagenet:o}=t1.get("envs"),f=T===k1.THORChain,l=`${o?"s":""}${v1[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:V1(F1[T],{index:C}),N=await IT({chain:T,...n}),X=await K1(n).with({phrase:Fx.string},({phrase:w})=>N.getSignerFromPhrase({derivationPath:G,phrase:w})).with({signer:Fx.any},({signer:w})=>w).otherwise(()=>{return}),_=qy(T);async function L(){let w,J=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await A1.get(J);if(!W||Number.isNaN(W)||W<0)throw new Ex("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});w=new ux(W)}catch{w=new ux({decimal:vx(T).baseDecimal,value:f?0.02:1})}return{[zf.Average]:w,[zf.Fast]:w,[zf.Fastest]:w}}async function B({assetValue:w,memo:J="",recipient:W}){let{TxRaw:M}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),U=(await X?.getAccounts())?.[0]?.address;if(!(U&&X))throw new Ex("toolbox_cosmos_no_signer");let v="signAmino"in X,I=await by(),E=await Hy(T),V=await OT(x,X,{aminoTypes:E,registry:I}),r=Ln({assetValue:w,memo:J,recipient:W,sender:U});if(v){let Y=await Ry(r,T),{signatures:O,authInfoBytes:S}=await V.sign(U,[Y],_,J),k=M.encode({authInfoBytes:S,bodyBytes:await DT({chain:T,memo:J,msgs:[r].map(Oy)}),signatures:O}).finish();return(await V.broadcastTx(k)).transactionHash}let Yy=Oy(r),Z=await Ry(Yy,T);return(await V.signAndBroadcast(U,[Z],_,J)).transactionHash}return{...N,broadcastMultisigTx:h1({prefix:l,rpcUrl:x}),buildAminoMsg:Ln,buildEncodedTxBody:DT,convertToSignable:Ry,createDefaultAminoTypes:()=>Hy(T),createDefaultRegistry:by,createMultisig:Ax,createTransaction:Xf(x),deposit:B,getFees:L,importSignature:j1,parseAminoMessageForDirectSigning:Oy,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(w,l)},secp256k1HdWalletFromMnemonic:b1({derivationPath:E1(G),prefix:l}),signMultisigTx:p1(T),signWithPrivateKey:c1,transfer:B}}var Uf=R(()=>{Bf();ST();Xn()});import{Chain as kT,SwapKitError as m1}from"@swapkit/helpers";var i1=(T,n)=>{switch(T){case kT.Cosmos:case kT.Kujira:case kT.Noble:return IT({chain:T,...n});case kT.Maya:case kT.THORChain:return Yf({chain:T,...n});default:throw new m1("toolbox_cosmos_not_supported",{chain:T})}};var tx=R(()=>{Xn();Uf();Xn();Uf()});var Bn={};s(Bn,{verifySignature:()=>Ix,transferMsgAmino:()=>_f,toBase64:()=>N1,parseAminoMessageForDirectSigning:()=>Oy,getSignerFromPrivateKey:()=>H1,getSignerFromPhrase:()=>Wf,getMsgSendDenom:()=>Uy,getFeeRateFromSwapKit:()=>R1,getDenomWithChain:()=>RT,getDefaultChainFee:()=>qy,getCreateTransaction:()=>Xf,getCosmosValidateAddress:()=>kx,getCosmosToolbox:()=>i1,getAssetFromDenom:()=>Gf,fromBase64:()=>_1,fetchFeeRateFromSwapKit:()=>Pf,estimateTransactionFee:()=>O1,depositMsgAmino:()=>Lf,createThorchainToolbox:()=>Yf,createStargateClient:()=>Qy,createSigningStargateClient:()=>OT,createOfflineStargateClient:()=>lf,createDefaultRegistry:()=>by,createDefaultAminoTypes:()=>Hy,createCosmosToolbox:()=>IT,cosmosCreateTransaction:()=>Cf,convertToSignable:()=>Ry,buildTransferTx:()=>qx,buildEncodedTxBody:()=>DT,buildDepositTx:()=>Qx,buildAminoMsg:()=>Ln,bech32ToBase64:()=>UT,base64ToBech32:()=>HT,YUM_KUJIRA_FACTORY_DENOM:()=>Nx,USK_KUJIRA_FACTORY_DENOM:()=>xf,THORCHAIN_GAS_VALUE:()=>q1,MAYA_GAS_VALUE:()=>Q1,DEFAULT_NOBLE_FEE_MAINNET:()=>Xx,DEFAULT_KUJI_FEE_MAINNET:()=>Lx,DEFAULT_COSMOS_FEE_MAINNET:()=>_x});var wn=R(()=>{Bf();tx();ST()});import{AssetValue as Zn,Chain as Sy,DerivationPath as g1,derivationPathToString as d1,getChainConfig as bx,getRPCUrl as r1,NetworkDerivationPath as a1,SwapKitError as hy,updateDerivationPath as s1}from"@swapkit/helpers";import{match as e1,P as Vx}from"ts-pattern";async function $x(T){let n=Zn.from({address:T,chain:Sy.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:T,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let x=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(x);if(!y.ok)return null;let o=await y.json();if(!Array.isArray(o)||o.length===0)return null;return o.find((l)=>l.id===T)||null}catch{return null}}async function y5(T){let n=await py(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),o=new x(T),f=[],l=await n.getBalance(o);if(l>0){let{baseDecimal:G}=bx(Sy.Solana);f.push(Zn.from({chain:Sy.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(o,{programId:y});for(let{account:G}of C.value){let N=G.data.parsed.info,X=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let L=await $x(X),B=L?.symbol||"UNKNOWN",w=L?.decimals||N.tokenAmount.decimals;f.push(Zn.from({asset:`${Sy.Solana}.${B}-${X}`,fromBaseDecimal:w,value:_}))}return f}async function Of(){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[Sy.Solana],{index:n})),y=await e1(T).with({phrase:Vx.string},({phrase:l})=>Rf({derivationPath:x,phrase:l})).with({signer:Vx.any},({signer:l})=>l).otherwise(()=>{return});function o(){return y?.publicKey?Kx(y.publicKey):""}function f(l){let C=l||o();if(!C)throw new hy("core_wallet_connection_not_found");return y5(C)}return{broadcastTransaction:Hf(py),createKeysForPath:Rf,createTransaction:Sf(py),createTransactionFromInstructions:x5,estimateTransactionFee:n5(py),getAddress:o,getAddressFromPubKey:Kx,getAddressValidator:Of,getBalance:f,getConnection:py,getPubkeyFromAddress:Df,signTransaction:C5(py,y),transfer:l5(py,y)}}function n5(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let l=await T(),G=(await Sf(T)({assetValue:x,isProgramDerivedAddress:o,memo:y,recipient:n,sender:f})).compileMessage(),N=await l.getFeeForMessage(G);if(N.value===null)throw new hy("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=bx(Sy.Solana);return Zn.from({chain:Sy.Solana,fromBaseDecimal:X,value:N.value})}}async function py(){let{Connection:T}=await import("@solana/web3.js"),n=await r1(Sy.Solana);return new T(n,"confirmed")}function f5(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:o})=>{let f=await T(),l=await 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:f,decimals:n.decimal,from:l,isProgramDerivedAddress:o,recipient:x,tokenAddress:n.address});return}}async function o5({tokenAddress:T,recipient:n,from:x,connection:y,amount:o,decimals:f,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),B=new _,w=new L(T),J=await C(w,x),W=new L(n),M=await C(w,W,l),U=!1;try{await G(y,M),U=!0}catch{}if(!U)B.add(N(x,M,W,w));return B.add(X(J,w,M,x,o,f)),B}function Sf(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Df(f),G=await Of();if(!(o||G(n)))throw new hy("core_transaction_invalid_recipient_address");let N=await T(),X=await f5(T)({assetValue:x,isProgramDerivedAddress:o,recipient:n,sender:f});if(!X)throw new hy("core_transaction_invalid_sender_address");if(y)X.add(l(y));let _=await N.getLatestBlockhash();return X.recentBlockhash=_.blockhash,X.feePayer=C,X}}async function x5({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new hy("core_transaction_invalid_sender_address");return x}function l5(T,n){return async({recipient:x,assetValue:y,memo:o,isProgramDerivedAddress:f})=>{if(!n)throw new hy("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Sf(T)({assetValue:y,isProgramDerivedAddress:f,memo:o,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Hf(T)(G)}return C.sign(n),Hf(T)(C)}}function Hf(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 hy("toolbox_solana_no_signer");if(!(x instanceof y)){let f=await(await T()).getLatestBlockhash();x.recentBlockhash=f.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Rf({phrase:T,derivationPath:n=g1.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:o}=await import("@solana/web3.js"),f=y(T),l=x.fromMasterSeed(f);return o.fromSeed(l.derive(n,!0).privateKey)}function Kx(T){return T.toString()}async function Df(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var px=()=>{};var If={};s(If,{getSolanaToolbox:()=>T5,getSolanaAddressValidator:()=>Of,fetchTokenMetaData:()=>$x,createKeysForPath:()=>Rf});var kf=R(()=>{px()});import{AssetValue as Jn,Chain as vf,getChainConfig as G5,SwapKitError as Dy}from"@swapkit/helpers";import{match as N5,P as hx}from"ts-pattern";async function jx(){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 jx(),y=await N5(n).with({phrase:hx.string},async({phrase:_})=>{let{Ed25519Keypair:L}=await import("@mysten/sui/keypairs/ed25519");return L.deriveKeypair(_)}).with({signer:hx.any},({signer:_})=>_).otherwise(()=>{return});async function o(_=T){let{SuiClient:L,getFullnodeUrl:B}=await import("@mysten/sui/client");return new L({url:_||B("mainnet")})}function f(){return y?.toSuiAddress()||""}async function l(_){let L=_||f();if(!L)throw new Dy("toolbox_sui_address_required");try{let B=await o(),{totalBalance:w}=await B.getBalance({owner:L}),{baseDecimal:J,chain:W}=G5(vf.Sui),M=[Jn.from({chain:W,fromBaseDecimal:J,value:w})],U=await B.getAllBalances({owner:L});for(let{coinType:v,totalBalance:I}of U){if(v==="0x2::sui::SUI")continue;if(Number(I)>0){let E=v.split("::").pop()?.toUpperCase()||"UNKNOWN",V=`${W}.${E}-${v}`;M.push(Jn.from({asset:V,fromBaseDecimal:J,value:I}))}}return M}catch(B){throw new Dy("toolbox_sui_balance_error",{error:B})}}async function C(_){let L=Jn.from({chain:vf.Sui,value:"0.01"});if(!_)return L;try{let B=await o(),{txBytes:w}=await G(_),{effects:{status:J,gasUsed:W}}=await B.dryRunTransactionBlock({transactionBlock:w});if(J.status!=="success")return L;let M=Number(W.computationCost)+Number(W.storageCost)-Number(W.storageRebate);return Jn.from({chain:vf.Sui,value:M.toString()})}catch{return L}}async function G({recipient:_,assetValue:L,gasBudget:B,sender:w}){let{Transaction:J}=await import("@mysten/sui/transactions"),W=w||f();if(!W)throw new Dy("toolbox_sui_no_sender");try{let M=new J;if(M.setSender(W),L.isGasAsset||L.symbol==="SUI"){let[I]=M.splitCoins(M.gas,[L.getBaseValue("string")]);M.transferObjects([I],_)}else throw new Dy("toolbox_sui_custom_token_transfer_not_implemented");if(B)M.setGasBudget(B);let U=await o(),v=await M.build({client:U});return{tx:M,txBytes:v}}catch(M){throw new Dy("toolbox_sui_transaction_creation_error",{error:M})}}async function N(_){if(!y)throw new Dy("toolbox_sui_no_signer");if(_ instanceof Uint8Array)return y.signTransaction(_);let{txBytes:L}="tx"in _?_:await G(_);return y.signTransaction(L)}async function X({assetValue:_,gasBudget:L,recipient:B}){if(!y)throw new Dy("toolbox_sui_no_signer");let w=y.toSuiAddress()||f();if(!w)throw new Dy("toolbox_sui_no_sender");let{txBytes:J}=await G({assetValue:_,gasBudget:L,recipient:B,sender:w}),W=await o(),{digest:M}=await W.signAndExecuteTransaction({signer:y,transaction:J});return M}return{createTransaction:G,estimateTransactionFee:C,getAddress:f,getBalance:l,signTransaction:N,transfer:X,validateAddress:x}}var cx=()=>{};var qn={};s(qn,{getSuiToolbox:()=>_5,getSuiAddressValidator:()=>jx});var Qn=R(()=>{cx()});import{AssetValue as mx,Chain as Mn,getChainConfig as ix,SwapKitError as oT,SwapKitNumber as L5}from"@swapkit/helpers";import{match as X5,P as gx}from"ts-pattern";async function B5(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:o}=await import("@ton/ton"),f=await dx(),l,C,G=await X5(T).with({phrase:gx.string},async({phrase:M})=>n(M.split(" "))).with({signer:gx.any},({signer:M})=>M).otherwise(()=>{return});function N(){let{rpcUrls:M}=ix(Mn.Ton),[U]=M;if(!l||l.parameters.endpoint!==U)l=new y({endpoint:U});return l}function X(M){if(!C||M){let U=N(),v=M||G;if(!v)throw new oT("core_wallet_connection_not_found");let I=o.create({publicKey:v.publicKey,workchain:0});C=U.open(I)}return C}async function _(M){let U=N(),{baseDecimal:v}=ix(Mn.Ton);try{let I=await U.getBalance(x.parse(M));return[mx.from({chain:Mn.Ton,value:L5.fromBigInt(I,v)})]}catch(I){throw new oT("core_wallet_connection_not_found",{error:I})}}async function L({assetValue:M,recipient:U,memo:v}){let I=X();if(!I||!G)throw new oT("core_wallet_connection_not_found");let{toNano:E,comment:V,internal:r}=await import("@ton/ton"),Yy=await I.getSeqno(),Z=E(M.getValue("string")),P=v?V(v):void 0;return I.createTransfer({messages:[r({body:P,to:U,value:Z})],secretKey:G.secretKey,seqno:Yy})}async function B({assetValue:M,recipient:U,memo:v}){let I=X();if(!I||!G)throw new oT("core_wallet_connection_not_found");let E=await L({assetValue:M,memo:v,recipient:U});return await I.send(E),E.hash().toString()}async function w(M){let U=X();if(!U)throw new oT("core_wallet_connection_not_found");try{return await U.send(M),M.hash().toString("hex")}catch(v){throw new oT("core_wallet_connection_not_found",{error:v})}}function J(){return X().address.toString()}function W(){return Promise.resolve(mx.from({chain:Mn.Ton,value:"0.0001"}))}return{createTransaction:L,estimateTransactionFee:W,getAddress:J,getBalance:_,sendTransaction:w,transfer:B,validateAddress:f}}async function dx(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var rx=()=>{};var Wn={};s(Wn,{getTONToolbox:()=>B5,getTONAddressValidator:()=>dx});var Pn=R(()=>{rx()});var xT;var Ef=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 ax(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 o=await y.json();if(!(o.success&&o.data)||o.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=x.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let l=o.data.find((C)=>{return C.address.toLowerCase()===f});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new w5("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var Z5="https://api.trongrid.io";var sx=()=>{};import{AssetValue as My,BaseDecimal as ex,Chain as Ny,derivationPathToString as n0,getRPCUrl as J5,NetworkDerivationPath as f0,SwapKitError as yy,updateDerivationPath as o0,warnOnce as uf}from"@swapkit/helpers";import{match as q5,P as y0}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 x0({phrase:T,derivationPath:n,index:x}){let y=n||n0(o0(f0[Ny.Tron],{index:x||0})),{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),l=f(T),G=o.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new yy("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function z5({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),f=o(T),C=y.fromMasterSeed(f).derive(n);if(!C.privateKey)throw new yy("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(X)=>{return await x.trx.sign(X,G)}}}var Q5=268,M5=13000,W5=345,T0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",P5="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",l0=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await J5(Ny.Tron),o=void 0,f=new x({fullHost:y,headers:void 0}),l="index"in T?T.index||0:0,C=n0("derivationPath"in T&&T.derivationPath?T.derivationPath:o0(f0[Ny.Tron],{index:l})),G=await q5(T).with({phrase:y0.string},async({phrase:Z})=>z5({derivationPath:C,phrase:Z,tronWeb:f})).with({signer:y0.any},({signer:Z})=>Promise.resolve(Z)).otherwise(()=>Promise.resolve(void 0)),N=async()=>{if(!G)throw new yy("toolbox_tron_no_signer");return await G.getAddress()},X=()=>{return 1e8},_=async()=>{try{let Z=await f.trx.getChainParameters(),P={};for(let Y of Z)P[Y.key]=Y.value;return{bandwidthFee:P.getTransactionFee||1000,createAccountFee:P.getCreateAccountFee||1e5,energyFee:P.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},L=async(Z)=>{try{let P=await f.trx.getAccount(Z);return P&&Object.keys(P).length>0}catch{return!1}},B=async(Z)=>{try{let P=await f.trx.getAccountResources(Z);return{bandwidth:{free:P.freeNetLimit-P.freeNetUsed,total:P.NetLimit||0,used:P.NetUsed||0},energy:{total:P.EnergyLimit||0,used:P.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(Z,P)=>{try{let Y=f.contract(xT,P);if(!Y.methods?.balanceOf)return 0n;let[O]=await Y.methods.balanceOf(Z).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(Y){return console.warn(`balanceOf() failed for ${P}:`,Y),0n}},J=async(Z,P)=>{try{f.setAddress(P);let Y=f.contract(xT,Z),[O,S]=await Promise.all([Y.symbol().call().catch(()=>"UNKNOWN"),Y.decimals().call().catch(()=>"18")]);return{decimals:Number(S??18),symbol:O??"UNKNOWN"}}catch(Y){return uf({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Z}: ${Y instanceof Error?Y.message:Y}`}),null}},W=async(Z,P=!0)=>{let Y=[My.from({chain:Ny.Tron})];try{let O=await ax(Z);if(O){let S=[];S.push(My.from({chain:Ny.Tron,fromBaseDecimal:6,value:O.balance}));for(let k of O.trc20){let[t,K]=Object.entries(k)[0]||[];if(!(t&&K))continue;let A=await J(t,Z);if(!A)continue;S.push(My.from({asset:`TRON.${A.symbol}-${t}`,fromBaseDecimal:A.decimals,value:BigInt(K||0)}))}return S}return Y}catch(O){uf({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${O instanceof Error?O.message:O}`});try{let S=[],k=await f.trx.getBalance(Z);if(k&&Number(k)>0)S.push(My.from({chain:Ny.Tron,fromBaseDecimal:6,value:k}));let t=await w(Z,T0);if(t)S.push(My.from({asset:`TRON.USDT-${T0}`,fromBaseDecimal:6,value:t}));if(S.length===0)return Y;return S}catch(S){return console.error("Tron balance fetch failed:",S),Y}}},M=async({recipient:Z,assetValue:P,memo:Y})=>{if(!G)throw new yy("toolbox_tron_no_signer");let O=await N();if(f.setAddress(O),P.isGasAsset){let A=await f.transactionBuilder.sendTrx(Z,P.getBaseValue("number"),O);if(Y){let a=await f.transactionBuilder.addUpdateData(A,Y,"utf8"),wy=await G.signTransaction(a),{txid:Fy}=await f.trx.sendRawTransaction(wy);return Fy}let oy=await G.signTransaction(A),{txid:xy}=await f.trx.sendRawTransaction(oy);return xy}let k=await v({assetValue:P,memo:Y,recipient:Z,sender:O}),t=await G.signTransaction(k),{txid:K}=await f.trx.sendRawTransaction(t);if(!K)throw new yy("toolbox_tron_token_transfer_failed");return K},U=async({assetValue:Z,recipient:P,sender:Y})=>{let O=Z.isGasAsset;try{let S=Y?Y:G?await N():void 0;if(!S)return O?My.from({chain:Ny.Tron,fromBaseDecimal:0,value:0.1}):My.from({chain:Ny.Tron,fromBaseDecimal:0,value:15});let k=await _(),K=await L(P)?0:k.createAccountFee,A=await B(S);if(O){let Ay=Q5,Do=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),Io=0;if(Ay>Do)Io=(Ay-Do)*k.bandwidthFee;let _l=K+Io;return My.from({chain:Ny.Tron,fromBaseDecimal:ex.TRON,value:_l})}let oy=W5,xy=M5,a=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),wy=A.energy.total-A.energy.used,Fy=0;if(oy>a)Fy=(oy-a)*k.bandwidthFee;let $T=0;if(xy>wy)$T=(xy-wy)*k.energyFee;let tn=K+Fy+$T;return My.from({chain:Ny.Tron,fromBaseDecimal:ex.TRON,value:tn})}catch(S){throw uf({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${S instanceof Error?S.message:S}`}),new yy("toolbox_tron_fee_estimation_failed",{error:S})}},v=async(Z)=>{let{recipient:P,assetValue:Y,memo:O,sender:S,expiration:k}=Z;if(Y.isGasAsset){let A=await f.transactionBuilder.sendTrx(P,Y.getBaseValue("number"),S);if(O)return f.transactionBuilder.addUpdateData(A,O,"utf8");if(k)f.transactionBuilder.extendExpiration(A,k);return A}f.setAddress(S);let K=Y.address;if(!K)throw new yy("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});try{let oy=[{type:"address",value:P},{type:"uint256",value:Y.getBaseValue("string")}],xy={callValue:0,feeLimit:X()},a=await f.transactionBuilder.triggerSmartContract(K,"transfer(address,uint256)",xy,oy,S);if(O)return f.transactionBuilder.addUpdateData(a.transaction,O,"utf8");if(k)f.transactionBuilder.extendExpiration(a.transaction,k);return a.transaction}catch(A){throw new yy("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:A instanceof Error?A.message:String(A)})}},I=async(Z)=>{if(!G)throw new yy("toolbox_tron_no_signer");return await G.signTransaction(Z)},E=async(Z)=>{let{txid:P}=await f.trx.sendRawTransaction(Z);return P},V=async({assetAddress:Z,spenderAddress:P,from:Y})=>{try{let O=f.contract(xT,Z);if(!O.methods?.allowance)throw new yy("toolbox_tron_invalid_token_contract");let[S]=await O.methods.allowance(Y,P).call();return S?typeof S==="bigint"?S:BigInt(S):0n}catch(O){throw new yy("toolbox_tron_allowance_check_failed",{error:O})}};return{approve:async({assetAddress:Z,spenderAddress:P,amount:Y,from:O})=>{if(!G)throw new yy("toolbox_tron_no_signer");let S=O||await N(),k=Y!==void 0?BigInt(Y).toString():P5,t="approve(address,uint256)",K=[{type:"address",value:P},{type:"uint256",value:k}],oy={callValue:0,feeLimit:X()};try{let{transaction:xy}=await f.transactionBuilder.triggerSmartContract(Z,t,oy,K,S),a=await G.signTransaction(xy),{txid:wy}=await f.trx.sendRawTransaction(a);if(!wy)throw new yy("toolbox_tron_approve_failed");return wy}catch(xy){throw new yy("toolbox_tron_approve_failed",{error:xy})}},broadcastTransaction:E,createTransaction:v,estimateTransactionFee:U,getAddress:N,getApprovedAmount:V,getBalance:W,isApproved:async({assetAddress:Z,spenderAddress:P,from:Y,amount:O})=>{let S=await V({assetAddress:Z,from:Y,spenderAddress:P});if(!O)return S>0n;let k=BigInt(O);return S>=k},signTransaction:I,transfer:M,tronWeb:f,validateAddress:await Ff()}};var C0=R(()=>{Ef();sx()});var Af={};s(Af,{trc20ABI:()=>xT,getTronPrivateKeyFromMnemonic:()=>x0,getTronAddressValidator:()=>Ff,createTronToolbox:()=>l0});var tf=R(()=>{Ef();C0()});import{networks as Y5}from"@bitgo/utxo-lib";import{Chain as g,getRPCUrl as U5,RequestClient as zn,SKConfig as _0,SwapKitError as Iy,warnOnce as L0}from"@swapkit/helpers";import{networks as H5}from"bitcoinjs-lib";import vT from"coininfo";async function R5({chain:T,txHash:n}){let x=`${Yn(T)}/push/transaction`,y=JSON.stringify({data:n});try{let o=await zn.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(o.context.code!==200)throw new Iy("toolbox_utxo_broadcast_failed",{error:o.context.error||"Transaction broadcast failed"});return o.data?.transaction_hash||n}catch(o){let f=await U5(T);if(f){let l=JSON.stringify({id:ko(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await zn.post(f,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new Iy("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new Iy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw o}}function Yn(T){return`https://api.blockchair.com/${O5(T)}`}function G0(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 O5(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 S5(T){try{let{feePerKb:n}=await zn.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,G0(T))}catch{return G0(T)}}async function Vf(T,n){let x=await zn.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new Iy("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function X0({address:T,chain:n,apiKey:x}){if(!T)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Vf(`${Yn(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 X0({address:T,apiKey:x,chain:n}))?.address.balance||0}async function B0({chain:T,apiKey:n,txHash:x}){if(!x)throw new Iy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Vf(`${Yn(T)}/raw/transaction/${x}`,n))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function I5({chain:T,address:n,apiKey:x,offset:y=0,limit:o=30}){return(await Vf(`${Yn(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${o}&offset=${y}`,x)).map(({is_spent:G,script_hex:N,block_id:X,transaction_hash:_,index:L,value:B,spending_signature_hex:w})=>({hash:_,index:L,is_confirmed:X!==-1,is_spent:G,script_hex:N,txHex:w,value:B}))}function k5(T){return T.reduce((n,x)=>n+x.value,0)}function N0(T,n){let x=[...T].sort((y,o)=>o.value-y.value);if(n){let y=[],o=0;for(let f of x)if(y.push(f),o+=f.value,o>=n)break;return y}return x}async function w0({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:o=0,offset:f=0,limit:l=30}){if(!n)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await I5({address:n,apiKey:x,chain:T,limit:l,offset:f,targetValue:y}),N=C.length<l,X=C.filter(({is_spent:W})=>!W),_=k5(X),L=o+_,B=y&&L>=y;if(N||B)return N0(X,y);let w=await w0({accumulativeValue:L,address:n,apiKey:x,chain:T,limit:l,offset:f+l,targetValue:y}),J=[...X,...w];return N0(J,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function v5({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:o}){let f=await w0({address:T,apiKey:x,chain:n,targetValue:o}),l=[];for(let{hash:C,index:G,script_hex:N,value:X}of f){let _;if(y)_=await B0({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:X,witnessUtxo:{script:Buffer.from(N,"hex"),value:X}})}return l}function E5(T){let n=_0.get("apiKeys").blockchair||"";return L0({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)=>X0({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:()=>S5(T),getUtxos:(x)=>v5({...x,apiKey:n,chain:T})}}function u5(T){return T}function Ty(T){let n=_0.get("apis")[T];if(n)return L0({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return E5(T)}function _y(){return function(n){switch(n){case g.Bitcoin:return H5.bitcoin;case g.BitcoinCash:return vT.bitcoincash.main.toBitcoinJS();case g.Dash:return vT.dash.main.toBitcoinJS();case g.Litecoin:return vT.litecoin.main.toBitcoinJS();case g.Dogecoin:{let x={private:70615956,public:70617039},y=vT.dogecoin.test;return y.versions.bip32=x,vT.dogecoin.main.toBitcoinJS()}case g.Zcash:return Y5.zcash;default:throw new Iy("toolbox_utxo_not_supported",{chain:n})}}}var Z0=R(()=>{ZT()});import{SwapKitError as q0}from"@swapkit/helpers";import Q0 from"bs58check";import M0 from"cashaddrjs";function bf(T){try{return Un(T),!0}catch{return!1}}function $f(T){return Un(T)?.network}function lT(T){let n=Un(T);if(n?.format==="legacy")return T;return t5(n)}function ET(T){let n=Un(T);return V5(n)}function Un(T){try{let n=F5(T);if(n)return n}catch{}try{let n=A5(T);if(n)return n}catch{}throw new q0("toolbox_utxo_invalid_address",{address:T})}function F5(T){try{let n=Q0.decode(T);if(n.length!==21)throw new q0("toolbox_utxo_invalid_address",{address:T});let x=n[0],y=Array.prototype.slice.call(n,1);switch(x){case jy.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case jy.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case jy.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case jy.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case jy.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case jy.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function A5(T){if(T.indexOf(":")!==-1)try{return J0(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return J0(`${x}:${T}`)}catch{}}return}function J0(T){try{let{hash:n,prefix:x,type:y}=M0.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t5(T){let n=jy.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 M0.encode(n,x,y)}var Kf,jy;var W0=R(()=>{((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Kf||={});jy={["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 Ly(T){let n=Buffer.from(T,"utf8");return $5.compile([b5.OP_RETURN,n])}var p5=1000,On=10,P0=10,h5=41,j5=107,Sn,Hn,Rn,uT=(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?uT(T[0].address):"P2PKH",o=T.filter((l)=>l.value>=Hn["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+ky(C),0),f=n?.reduce((l,C)=>l+FT(C),0)||Rn[y];return On+o+f},ky=(T)=>{if("type"in T)return Hn[T.type];if("address"in T&&T.address)return Hn[uT(T.address)];return h5+j5},FT=(T,n)=>{if(T?.script)return P0+T.script.length+(T.script.length>=74?2:1);if(n)return Rn[n];return Rn.P2PKH};var pf=R(()=>{((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(Sn||={});Hn={["P2PKH"]:148,["P2WPKH"]:68},Rn={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as cy,SwapKitError as c5}from"@swapkit/helpers";function Dn(T){switch(T){case cy.Bitcoin:case cy.BitcoinCash:return 550;case cy.Dash:case cy.Litecoin:return 5500;case cy.Dogecoin:return 1e5;case cy.Zcash:return 546;default:throw new c5("toolbox_utxo_not_supported",{chain:T})}}function Xy({inputs:T,outputs:n,feeRate:x=1,chain:y=cy.Bitcoin,changeAddress:o=""}){let f=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?uT(T[0].address):"P2PKH",C=T.filter((B)=>ky(B)*f<=B.value),G=On+n.reduce((B,w)=>B+FT(w,l),0),N=n.reduce((B,w)=>B+w.value,0),X=G*f,_=0,L=[];for(let B of C){let w=ky(B),J=f*w;X+=J,_+=B.value,L.push(B);let W=X+N;if(_<W)continue;let M=_-W,U=f*FT({address:"",value:0},l);if(M>U){let v=U+X,I=_-(N+v);if(I>Math.max(ky({})*f,Dn(y)))return{fee:v,inputs:L,outputs:n.concat({address:o,value:I})}}return{fee:X,inputs:L,outputs:n}}return{fee:f*CT({feeRate:f,inputs:T,outputs:n})}}var z0=R(()=>{pf()});var GT=R(()=>{Z0();W0();z0();pf()});import{networks as m5,address as i5}from"@bitgo/utxo-lib";import g5 from"bs58check";function my(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function vy(T){let n=my(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 AT=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 Y0}from"@scure/bip39";import{AssetValue as hf,applyFeeMultiplier as U0,Chain as ny,DerivationPath as s5,derivationPathToString as e5,FeeOption as Wy,NetworkDerivationPath as yC,SwapKitError as Py,SwapKitNumber as TC,updateDerivationPath as nC}from"@swapkit/helpers";import{address as fC,initEccLib as R0,Psbt as oC,payments as H0}from"bitcoinjs-lib";import{ECPairFactory as xC}from"ecpair";function O0({inputs:T,outputs:n,chain:x,psbt:y,sender:o,compiledMemo:f}){for(let l of T){let C=!!l.witnessUtxo&&!tT.includes(x)&&{witnessUtxo:l.witnessUtxo},G=tT.includes(x)&&{nonWitnessUtxo:l.txHex?Buffer.from(l.txHex,"hex"):void 0};y.addInput({hash:l.hash,index:l.index,...C,...G})}for(let l of n){let C="address"in l&&l.address?l.address:o,G=l.script;if(G&&!f)continue;let N=G?{script:f,value:0}:{address:C,value:l.value};R0(jf),y.addOutput(N)}return{inputs:T,psbt:y}}async function S0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,fetchTxHex:f=!1}){let l=T.chain,C=x?await Ly(x):null,G=await k0({assetValue:T,fetchTxHex:f,memo:x,recipient:n,sender:o}),{inputs:N,outputs:X}=Xy({...G,chain:l,feeRate:y});if(!(N&&X))throw new Py("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let _=await _y(),L=new oC({network:_(l)});if(l===ny.Dogecoin)L.setMaximumFeeRate(650000000);let{psbt:B,inputs:w}=await O0({chain:l,compiledMemo:C,inputs:N,outputs:X,psbt:L,sender:o});return{inputs:w,psbt:B,utxos:G.inputs}}async function D0(){let T=await _y();return function({address:x,chain:y}){if(y===ny.BitcoinCash)return vy(x);if(y===ny.Zcash)return NT(x);try{return R0(jf),fC.toOutputScript(x,T(y)),!0}catch{return!1}}}async function lC({chain:T,phrase:n,derivationPath:x}){let y=(await VT(T))({derivationPath:x,phrase:n});async function o(l){return await l.signAllInputs(y),l}function f(){return cf(T)(y)}return{getAddress:f,signTransaction:o}}async function iy({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,o=e5("derivationPath"in n&&n.derivationPath?n.derivationPath:nC(yC[T],{index:y})),f=x?await lC({chain:T,derivationPath:o,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let C=await D0(),G=await VT(T);return{accumulative:Xy,broadcastTx:(N)=>Ty(T).broadcastTx(N),calculateTxSize:CT,createKeysForPath:G,createTransaction:S0,estimateMaxSendableAmount:CC(T),estimateTransactionFee:GC(T),getAddress:l,getAddressFromKeys:cf(T),getBalance:dy(T),getFeeRates:()=>KT(T),getInputsOutputsFee:I0,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:NC(f),validateAddress:(N)=>C({address:N,chain:T})}}async function I0({assetValue:T,feeOptionKey:n=Wy.Fast,feeRate:x,memo:y,sender:o,recipient:f}){let l=T.chain,C=await k0({assetValue:T,memo:y,recipient:f,sender:o}),G=x?Math.floor(x):(await KT(l))[n];return Xy({...C,chain:l,feeRate:G})}function CC(T){return async function({from:x,memo:y,feeRate:o,feeOptionKey:f=Wy.Fast,recipients:l=1}){let C=await Ty(T).getAddressData(x),G=o?Math.ceil(o):(await KT(T))[f],N=C?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Dn(T),ky(w)*G));if(!N?.length)return hf.from({chain:T});let X=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 Ly(y);_.push({address:x,script:w,value:0})}let B=CT({feeRate:G,inputs:N,outputs:_})*G;return X.sub(B)}}function GC(T){return async(n)=>{let x=await I0(n);return hf.from({chain:T,value:TC.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function VT(T){let n=await _y();switch(T){case ny.BitcoinCash:return function({phrase:y,derivationPath:o=`${s5.BCH}/0`,wif:f}){let l=n(T);if(f)return d5.fromWIF(f,l);if(!y)throw new Py("toolbox_utxo_invalid_params",{error:"No phrase provided"});return r5.fromSeedBuffer(Buffer.from(Y0(y)),l).derivePath(o).keyPair};case ny.Bitcoin:case ny.Dogecoin:case ny.Litecoin:case ny.Zcash:case ny.Dash:return function({phrase:y,wif:o,derivationPath:f}){if(!(o||y))throw new Py("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=xC(jf),C=n(T);if(o)return l.fromWIF(o,C);let G=Y0(y),N=a5.fromMasterSeed(G,C).derive(f);if(!N.privateKey)throw new Py("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(N.privateKey),{network:C})};default:throw new Py("toolbox_utxo_not_supported",{chain:T})}}function cf(T){let n=_y();return function(y){if(!y)throw new Py("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let o=tT.includes(T)?H0.p2pkh:H0.p2wpkh,{address:f}=o({network:n(T),pubkey:y.publicKey});if(!f)throw new Py("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function NC(T){return async function({memo:x,recipient:y,feeOptionKey:o,feeRate:f,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new Py("toolbox_utxo_no_signer");if(!y)throw new Py("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=f||(await KT(G))[o||Wy.Fast],{psbt:X}=await S0({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(X);return _.finalizeAllInputs(),Ty(G).broadcastTx(_.extractTransaction().toHex())}}async function KT(T){let n=await Ty(T).getSuggestedTxFee();return{[Wy.Average]:n,[Wy.Fast]:U0(n,Wy.Fast),[Wy.Fastest]:U0(n,Wy.Fastest)}}async function k0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:o=!1}){let f=T.chain,l=(await KT(f))[Wy.Fastest],C=o||tT.includes(f),G=T.getBaseValue("number"),N=Math.ceil(G+l*5000);return{inputs:await Ty(f).getUtxos({address:y,fetchTxHex:C,targetValue:N}),outputs:[{address:n,value:G},...x?[{address:"",script:await Ly(x),value:0}]:[]]}}var tT;var bT=R(()=>{ZT();GT();AT();tT=[ny.Dash,ny.Dogecoin,ny.Zcash,ny.BitcoinCash]});import{address as _C,Transaction as LC,TransactionBuilder as XC}from"@psf/bitcoincashjs-lib";import{Chain as BC,derivationPathToString as wC,FeeOption as ZC,NetworkDerivationPath as JC,SwapKitError as _T,updateDerivationPath as qC}from"@swapkit/helpers";import{Psbt as QC}from"bitcoinjs-lib";function gy(T){return my(ET(T))}function MC(T){function n({builder:y,utxos:o}){return o.forEach((f,l)=>{y.sign(l,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(gy(y))},signTransaction:n}}async function mf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=wC("derivationPath"in T&&T.derivationPath?T.derivationPath:qC(JC[Cy],{index:x})),o=n?(await VT(Cy))({derivationPath:y,phrase:n}):void 0,f=o?MC(o):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...X}=await iy({chain:Cy});function _(L,B=!0){return C(my(ET(L)))}return{...X,broadcastTx:N,buildTx:PC,createTransaction:v0,getAddress:l,getAddressFromKeys:zC,getBalance:_,getFeeRates:G,stripPrefix:my,stripToCashAddress:gy,transfer:WC({broadcastTx:N,getFeeRates:G,signer:f}),validateAddress:vy}}async function v0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o}){if(!vy(n))throw new _T("toolbox_utxo_invalid_address",{address:n});let f=Math.ceil(T.getBaseValue("number")+y*7500),l=await Ty(Cy).getUtxos({address:gy(o),fetchTxHex:!0,targetValue:f}),C=x?await Ly(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:X}=Xy({chain:Cy,feeRate:y,inputs:l,outputs:G});if(!(N&&X))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let _=await _y(),L=new XC(_(Cy));await Promise.all(N.map(async(B)=>{let w=await Ty(Cy).getRawTx(B.hash);L.addInput(LC.fromBuffer(Buffer.from(w,"hex")),B.index)}));for(let B of X){let w="address"in B&&B.address?B.address:lT(o),J=await _y(),W=_C.toOutputScript(lT(w),J(Cy));L.addOutput(W,B.value)}if(C)L.addOutput(C,0);return{builder:L,utxos:N}}function WC({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:o,assetValue:f,feeOptionKey:l=ZC.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new _T("toolbox_utxo_no_signer");if(!o)throw new _T("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=C.feeRate||(await n())[l],{builder:X,utxos:_}=await v0({...C,assetValue:f,feeRate:N,recipient:o,sender:G}),B=(await x.signTransaction({builder:X,utxos:_})).toHex();return T(B)}}async function PC({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,setSigHashType:f}){let l=ET(n);if(!vy(l))throw new _T("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await Ty(Cy).getUtxos({address:gy(o),fetchTxHex:!1,targetValue:C}),N=Number(y.toFixed(0)),X=x?await Ly(x):null,_=[];if(_.push({address:lT(n),value:T.getBaseValue("number")}),X)_.push({script:X,value:0});let{inputs:L,outputs:B}=Xy({chain:Cy,feeRate:N,inputs:G,outputs:_});if(!(L&&B))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let w=await _y(),J=new QC({network:w(Cy)});for(let{hash:W,index:M,witnessUtxo:U}of L)J.addInput({hash:W,index:M,sighashType:f?65:void 0,witnessUtxo:U});for(let W of B){let M="address"in W&&W.address?W.address:lT(o),U=W.script?X?{script:X,value:0}:void 0:{address:M,value:W.value};if(U)J.addOutput(U)}return{inputs:L,psbt:J,utxos:G}}function zC(T){let n=T.getAddress(0);return gy(n)}var Cy;var In=R(()=>{GT();bT();AT();Cy=BC.BitcoinCash});import{bitgo as YC,crypto as UC,ECPair as u0,networks as HC,address as RC}from"@bitgo/utxo-lib";import{HDKey as F0}from"@scure/bip32";import{mnemonicToSeedSync as A0}from"@scure/bip39";import{Chain as kn,derivationPathToString as OC,FeeOption as SC,NetworkDerivationPath as DC,SKConfig as IC,SwapKitError as vn,updateDerivationPath as kC}from"@swapkit/helpers";import vC from"bs58check";import{match as EC,P as gf}from"ts-pattern";function t0(){return HC.zcash}function V0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function uC({phrase:T,derivationPath:n}){let x=A0(T),o=F0.fromMasterSeed(x).derive(n);if(!o.privateKey)throw new vn("toolbox_utxo_invalid_params");let f=V0(),l=u0.fromPrivateKey(Buffer.from(o.privateKey),{network:f}),C=UC.hash160(l.publicKey),{isStagenet:G}=IC.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),X=Buffer.concat([N,C]),_=vC.encode(X);return{getAddress:()=>Promise.resolve(_),signTransaction:(L)=>{let B=L.signAllInputs(l);return Promise.resolve(B)}}}function FC({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:o}){for(let f of T){let l=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},C=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};x.addInput({hash:f.hash,index:f.index,...l,...C})}for(let f of n){let l="address"in f&&f.address?f.address:y,C=f.script;if(C&&!o)continue;let G=C?{script:o,value:0n}:{script:RC.toOutputScript(l,t0()),value:BigInt(f.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function E0(T){let{assetValue:n,recipient:x,memo:y,feeRate:o,sender:f,fetchTxHex:l}=T,C=y?Ly(y):null,G=await Ty(kn.Zcash).getUtxos({address:f,fetchTxHex:l!==!1}),N=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:X,outputs:_}=Xy({chain:kn.Zcash,changeAddress:f,feeRate:o,inputs:G,outputs:N});if(!(X&&_))throw new vn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let L=YC.createPsbtForNetwork({network:t0()},{version:455}),w=3268858036,J=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=Buffer.allocUnsafe(4);W.writeUInt32LE(w>>>0,0),L.addUnknownKeyValToGlobal({key:J,value:W});let{psbt:M,inputs:U}=await FC({compiledMemo:C,inputs:X,outputs:_,psbt:L,sender:f});return{inputs:U,outputs:_,psbt:M}}async function df(T){let n=await EC(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||DC[kn.Zcash]||[44,133,0,0,0],X=kC(N,{index:G}),_=OC(X);return uC({derivationPath:_,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await iy({chain:kn.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=SC.Fast,...N}){let X=await n?.getAddress();if(!(n&&X))throw new vn("toolbox_utxo_no_signer");let _=N.feeRate||(await x.getFeeRates())[G],{psbt:L}=await E0({...N,assetValue:C,feeRate:_,recipient:l,sender:X}),B=await n.signTransaction(L);return B.finalizeAllInputs(),x.broadcastTx(B.extractTransaction().toHex())}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=A0(l),X=F0.fromMasterSeed(G).derive(C);if(!X.privateKey)throw new vn("toolbox_utxo_invalid_params");let _=V0();return u0.fromPrivateKey(Buffer.from(X.privateKey),{network:_})}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return o({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:o,createTransaction:E0,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:NT}}var rf=R(()=>{GT();bT();AT()});import{Chain as LT,SwapKitError as AC}from"@swapkit/helpers";async function tC(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 iy({chain:T,...n});default:throw new AC("toolbox_utxo_not_supported",{chain:T})}}var K0=R(()=>{In();bT();rf();In();AT()});var af={};s(af,{validateZcashAddress:()=>NT,toLegacyAddress:()=>lT,toCashAddress:()=>ET,stripToCashAddress:()=>gy,stripPrefix:()=>my,nonSegwitChains:()=>tT,isValidAddress:()=>bf,getUtxoToolbox:()=>tC,getUtxoNetwork:()=>_y,getUtxoApi:()=>Ty,getUTXOAddressValidator:()=>D0,getScriptTypeForAddress:()=>uT,getOutputSize:()=>FT,getInputSize:()=>ky,getDustThreshold:()=>Dn,getCreateKeysForPath:()=>VT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>u5,createBCHToolbox:()=>mf,compileMemo:()=>Ly,calculateTxSize:()=>CT,bchValidateAddress:()=>vy,addressFromKeysGetter:()=>cf,addInputsAndOutputs:()=>O0,accumulative:()=>Xy,UtxoNetwork:()=>Kf,UTXOScriptType:()=>Sn,TX_OVERHEAD:()=>On,OutputSizes:()=>Rn,OP_RETURN_OVERHEAD:()=>P0,MIN_TX_FEE:()=>p5,InputSizes:()=>Hn});var sf=R(()=>{GT();K0();In();bT();rf()});import{derivationPathToString as VC,SwapKitError as KC}from"@swapkit/helpers";import{KeyPairSigner as bC}from"near-api-js";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 un(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,o=T.derivationPath?VC(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=n(T.phrase,o),l=x.fromString(f);return $0(l)}async function ef(T){let{KeyPair:n}=await import("near-api-js/lib/utils"),x=n.fromString(T);return $0(x)}function $0(T){return new b0(T)}async function Fn(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 KC("toolbox_near_no_public_key_found");let{utils:o}=await import("near-api-js"),f=o.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var b0;var yo=R(()=>{b0=class b0 extends bC{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),n=Buffer.from(T.data).toString("hex");return Promise.resolve(n)}}});function To(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function no(T){return"contractId"in T&&"methodName"in T}function fo(T){return"actions"in T}function oo(T){return"newAccountId"in T}function xo(T){return"contractCode"in T}function lo(T){return"customEstimator"in T}function Co(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(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 $C(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function pC(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 An({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:o}=await import("near-api-js");return new o(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function _o({contractId:T,account:n}){let x=(await import("bn.js")).default,y=await An({account:n,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),o=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let G=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new x("100000000000000"),new x(G))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:o,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,l)=>y.storage_deposit({account_id:f},new x("100000000000000"),new x(l||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,l,C)=>{return await o(f),y.ft_transfer({amount:l,memo:C,receiver_id:f},new x("100000000000000"),new x("1"))},transferCall:async(f,l,C,G)=>{return await o(f),y.ft_transfer_call({amount:l,memo:G,msg:C,receiver_id:f},new x("100000000000000"),new x("1"))}}}import{AssetValue as p0,Chain as XT,getChainConfig as h0,getRPCUrl as hC,SwapKitError as fy}from"@swapkit/helpers";async function jC(T){let{P:n,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),o=await x(T).with({phrase:n.string},async(Z)=>{return await un(Z)}).with({signer:n.any},({signer:Z})=>Z).otherwise(()=>{return}),f=await hC(XT.Near),l=new y.JsonRpcProvider({url:f});async function C(Z){let{Account:P}=await import("near-api-js"),Y=Z||await G();return new P(Y,l,o)}async function G(){if(!o)throw new fy("toolbox_near_no_signer");return await o.getAddress()}async function N(Z){if(!o)throw new fy("toolbox_near_no_signer");let P=await X({...Z,sender:await G()});return J(await w(P))}async function X(Z){let{recipient:P,assetValue:Y,memo:O,attachedDeposit:S,sender:k,functionCall:t}=Z,K=await En();if(!K(P))throw new fy("toolbox_near_invalid_address",{recipient:P});if(!K(k))throw new fy("toolbox_near_invalid_address",{signerId:k});if(t)return L({...t,sender:k});if(!Y.isGasAsset){let Ay=Y.address;if(!Ay)throw new fy("toolbox_near_missing_contract_address");return L({args:{amount:Y.getBaseValue("string"),memo:O||null,receiver_id:P},attachedDeposit:S||"1",contractId:Ay,gas:"250000000000000",methodName:"ft_transfer",sender:k})}let{publicKey:A,nonce:oy}=await Fn(l,k),xy=Y.getBaseValue("bigint"),{transactions:a,utils:wy}=await import("near-api-js"),Fy=[a.transfer(xy)];if(O&&S)Fy.push(a.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(S)));let $T=await l.block({finality:"final"}),tn=wy.serialize.base_decode($T.header.hash);return a.createTransaction(k,A,P,oy+1,Fy,tn)}async function _(Z){let{SCHEMA:P}=await import("near-api-js/lib/transaction"),{utils:Y}=await import("near-api-js"),O=Y.serialize.serialize(P.Transaction,Z);return Buffer.from(O).toString("base64")}async function L(Z){let{sender:P}=Z,{publicKey:Y,nonce:O}=await Fn(l,P),{transactions:S,utils:k}=await import("near-api-js"),t=await l.block({finality:"final"}),K=k.serialize.base_decode(t.header.hash),A=[S.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return S.createTransaction(P,Y,Z.contractId,O+1,A,K)}async function B(Z){let{transactions:P}=await import("near-api-js");return P.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function w(Z){if(!o)throw new fy("toolbox_near_no_signer");let[P,Y]=await o.signTransaction(Z);return Y}async function J(Z){return(await l.sendTransaction(Z)).transaction.hash}async function W(Z){if("assetValue"in Z){let S=BigInt("115123062500")+BigInt("108059500000"),k=await M(),t=S*BigInt(k.toString()),{baseDecimal:K}=h0(XT.Near);return p0.from({chain:XT.Near,fromBaseDecimal:K,value:t.toString()})}let P=o?await C():void 0;return r(Z,P)}async function M(){try{return await l.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function U(Z,P,Y){if(!o)throw new fy("toolbox_near_no_signer");let O=await C(),{utils:S}=await import("near-api-js"),k=S.format.parseNearAmount(Y)||"0";return(await O.createAccount(Z,S.PublicKey.fromString(P),BigInt(k))).transaction.hash}async function v(Z){try{if(!o)throw new fy("toolbox_near_no_signer");let{transactions:P}=await import("near-api-js"),{contractId:Y,methodName:O,args:S,deposit:k}=Z,t=await C(),K=await r({args:S||{},contractId:Y,methodName:O}),A=P.functionCall(O,S||{},K.getBaseValue("bigint"),BigInt(k||"1"));return(await t.signAndSendTransaction({actions:[A],receiverId:Y})).transaction_outcome.id}catch(P){throw new fy("toolbox_near_transfer_failed",{error:P})}}async function I(Z){let P=await C();return An({account:P,changeMethods:Z.changeMethods,contractId:Z.contractId,viewMethods:Z.viewMethods})}async function E(Z){if(!o)throw new fy("toolbox_near_no_signer");if(Z.actions.length===0)throw new fy("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:Z.actions,receiverId:Z.receiverId})).transaction.hash}async function V(Z){let P=await C();return _o({account:P,contractId:Z})}async function r(Z,P){let{baseDecimal:Y}=h0(XT.Near),O=await x(Z).when(To,()=>d.SIMPLE_TRANSFER).when(no,(t)=>Go(t.methodName)).when(fo,(t)=>Co(t.actions)).when(oo,()=>d.ACCOUNT_CREATION).when(xo,()=>d.CONTRACT_DEPLOYMENT).when(lo,(t)=>{if(!P)throw new fy("toolbox_near_no_account");return t.customEstimator(P)}).otherwise(()=>{throw new fy("toolbox_near_invalid_gas_params")}),k=BigInt(O)*BigInt(1000000000000);return p0.from({chain:XT.Near,fromBaseDecimal:Y,value:k})}async function Yy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:J,callFunction:v,createAction:B,createContract:I,createContractFunctionCall:L,createSubAccount:U,createTransaction:X,estimateGas:r,estimateTransactionFee:W,executeBatchTransaction:E,getAddress:G,getBalance:dy(XT.Near),getGasPrice:Yy,getPublicKey:async()=>o?(await o.getPublicKey()).toString():"",getSignerFromPhrase:(Z)=>un(Z),getSignerFromPrivateKey:ef,nep141:V,provider:l,serializeTransaction:_,signTransaction:w,transfer:N,validateAddress:await En()}}var Lo=R(()=>{ZT();yo();No()});var j0=R(()=>{Lo()});var Xo={};s(Xo,{tgasToGas:()=>$C,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>En,getNearToolbox:()=>jC,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>un,getFullAccessPublicKey:()=>Fn,getContractMethodGas:()=>Go,gasToTGas:()=>pC,estimateBatchGas:()=>Co,createNearContract:()=>An,createNEP141Token:()=>_o,GAS_COSTS:()=>d});var Bo=R(()=>{yo();No();Lo();j0()});var wo={};s(wo,{radixValidateAddress:()=>m0,RadixToolbox:()=>sC});import{AssetValue as cC,Chain as c0,SKConfig as mC,SwapKitError as iC}from"@swapkit/helpers";function m0(T){return T.startsWith("account_rdx1")&&T.length===66}function gC({networkApi:T}){return async function(x){let y=await dC({address:x,networkApi:T});return rC({networkApi:T,resources:y})}}async function dC({address:T,networkApi:n}){let x=!0,y,o=[],f=await aC(n);while(x){let l={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(o=o.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return o}async function rC({resources:T,networkApi:n}){let x=[],y=50,o=[];for(let f=0;f<T.length;f+=50)o.push(T.slice(f,f+50));for(let f of o){let l=f.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let X=N.metadata?.items.find((L)=>L.key==="symbol"),_=X?.value.typed.type==="String"?X.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of f)if(N.aggregation_level==="Global"){let X=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=cC.from({asset:X.symbol!==c0.Radix?`${c0.Radix}.${X.symbol}-${N.resource_address}`:"XRD.XRD",value:N.amount});x.push(_)}}return x}function aC(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var sC=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||mC.get("integrations").radix,o=n({...y,networkId:y.network?.networkId||1}),f=x.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:gC({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new iC("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:m0}};var Zo=()=>{};var Qo={};s(Qo,{rippleValidateAddress:()=>qo,hashes:()=>C2,getRippleToolbox:()=>l2});import{AssetValue as Jo,Chain as zy,getChainConfig as i0,getRPCUrl as eC,SwapKitError as Ey,SwapKitNumber as y2}from"@swapkit/helpers";import{Client as T2,isValidAddress as n2,Wallet as f2,xrpToDrops as o2}from"xrpl";import{hashes as C2}from"xrpl";function g0(T){let n=f2.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function qo(T){return n2(T)}var x2,l2=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?g0(T.phrase):void 0,x=await eC(zy.Ripple);if(!x)throw new Ey({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:zy.Ripple}});let y=new T2(x);await y.connect();let o=()=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},f=async(L)=>{let B=L||await o(),{baseDecimal:w}=i0(zy.Ripple);try{let W=(await y.request({account:B,command:"account_info"})).result.account_data.Balance;return[Jo.from({chain:zy.Ripple,fromBaseDecimal:w,value:W})]}catch(J){if(J.data.error_code===x2.ACCOUNT_NOT_FOUND)return[Jo.from({chain:zy.Ripple,value:0})];throw new Ey("toolbox_ripple_get_balance_error",{info:{address:B,error:J}})}},l=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:w}=i0(zy.Ripple);return Jo.from({chain:zy.Ripple,fromBaseDecimal:w,value:y2.fromBigInt(BigInt(B),w)})},C=async({assetValue:L,recipient:B,memo:w,sender:J})=>{if(!qo(B))throw new Ey({errorKey:"core_transaction_invalid_recipient_address"});let W=J||await o();if(!L.isGasAsset||L.chain!==zy.Ripple)throw new Ey({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let M={Account:W,Amount:o2(L.getValue("string")),Destination:B,TransactionType:"Payment"};if(w)M.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(M)},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:zy.Ripple}})};return{broadcastTransaction:N,createSigner:g0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:o,getBalance:f,signer:n,signTransaction:G,transfer:async(L)=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});let B=await n.getAddress(),w=await C({...L,sender:B}),J=await G(w);return N(J.tx_blob)},validateAddress:qo}};var Mo=R(()=>{x2={ACCOUNT_NOT_FOUND:19}});import{AssetValue as G2,Chain as N2,SwapKitNumber as d0}from"@swapkit/helpers";async function _2(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:o}}=y,f=d0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function L2(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let o=y.balance||y.data?.balance;if(!o||o.isEmpty)return[n.set(0)];let f=d0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function r0(T,n){return function(y){let o=G2.from({chain:T});switch(T){case N2.Chainflip:return L2(n,o,y);default:return _2(n,o,y)}}}var a0=()=>{};var X2,B2,w2,uy;var Wo=R(()=>{X2={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},B2={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},w2={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},uy={DOT:X2,FLIP:B2,GENERIC:w2}});import{hexToU8a as Z2,isHex as J2,u8aToHex as q2}from"@polkadot/util";import{decodeAddress as e0,encodeAddress as yl}from"@polkadot/util-crypto";import{AssetValue as Q2,Chain as wT,getRPCUrl as M2,SwapKitError as By,SwapKitNumber as W2}from"@swapkit/helpers";import{match as P2,P as s0}from"ts-pattern";function z2(T,n){switch(T){case wT.Chainflip:return nl(n);case wT.Polkadot:return Tl(n);default:throw new By("toolbox_substrate_not_supported",{chain:T})}}function BT(T){return"address"in T}async function zo(T,n){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:n,type:"sr25519"}).addFromUri(T)}function D2(T,n){let x=e0(T);return yl(x,n)}function fl(T,n){return J2(T)?Z2(T):e0(T,void 0,n)}function ol(T,n="ss58",x){if(n==="hex")return q2(T);return yl(T,x)}async function Ho({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:o}=await import("@polkadot/api"),f=await M2(n),l=new o(f),C=await y.create({provider:l}),G=Q2.from({chain:n}),N=T?uy.GENERIC:uy[n],X=await P2(x).with({phrase:s0.string},({phrase:_})=>zo(_,uy[n].prefix)).with({signer:s0.any},({signer:_})=>_).otherwise(()=>{return});return xl({api:C,chain:n,gasAsset:G,network:N,signer:X})}var Tl=({generic:T=!1,...n}={})=>{return Ho({chain:wT.Polkadot,generic:T,...n})},nl=async({generic:T=!1,...n}={})=>{return{...await Ho({chain:wT.Chainflip,generic:T,...n})}},Yo=(T,n)=>T.rpc.system.accountNextIndex(n),Po=(T,n)=>{try{let x=fl(T,n);return ol(x,"ss58",n),!0}catch{return!1}},Uo=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),Y2=async(T,n,{recipient:x,assetValue:y,sender:o})=>{let f=Uo(T,{assetValue:y,recipient:x});if(!f)throw new By("toolbox_substrate_transfer_error");let l=BT(n),C=l?n.address:o;if(!C)throw new By("core_transaction_invalid_sender_address");let G=await Yo(T,C);return(await f.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},U2=async(T,n,x,{recipient:y,assetValue:o,sender:f})=>{let l=Uo(T,{assetValue:o,recipient:y}),C=BT(n)?n.address:f;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Yo(T,C)})||{partialFee:0};return x.set(W2.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},H2=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},R2=async(T,n)=>{return await n.signAsync(T)},O2=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},S2=async({signer:T,address:n,tx:x,callback:y,api:o})=>{let f=await Yo(o,n);if(y)x.signAndSend(n,{nonce:f,signer:T},y);return x.signAndSend(n,{nonce:f,signer:T}).toString()},xl=({api:T,network:n,gasAsset:x,signer:y,chain:o})=>({api:T,broadcast:H2,convertAddress:D2,createKeyring:(f)=>zo(f,n.prefix),createTransaction:(f)=>Uo(T,f),decodeAddress:fl,encodeAddress:ol,estimateTransactionFee:(f)=>{if(!y)throw new By("core_wallet_not_keypair_wallet");return U2(T,y,x,f)},gasAsset:x,getAddress:(f)=>{let l=f||y;if(!l)throw new By("core_wallet_not_keypair_wallet");return BT(l)?l.address:void 0},getBalance:r0(o||wT.Polkadot,T),network:n,sign:(f)=>{if(!y)throw new By("core_wallet_not_keypair_wallet");if(BT(y))return R2(y,f);throw new By("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:l,address:C})=>{if(!y)throw new By("core_wallet_not_keypair_wallet");if(BT(y))return O2(y,f,l);if(C)return S2({address:C,api:T,callback:l,signer:y,tx:f});throw new By("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new By("core_wallet_not_keypair_wallet");return Y2(T,y,f)},validateAddress:(f)=>Po(f,n.prefix)}),I2=({address:T,chain:n})=>{let{prefix:x}=n===wT.Polkadot?uy.DOT:uy.FLIP;return Po(T,x)||Po(T,uy.GENERIC.prefix)};var ll=R(()=>{a0();Wo()});var Ro={};s(Ro,{substrateValidateAddress:()=>I2,isKeyringPair:()=>BT,getSubstrateToolbox:()=>z2,createSubstrateToolbox:()=>Ho,createKeyring:()=>zo,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>Tl,ChainflipToolbox:()=>nl,BaseSubstrateToolbox:()=>xl});var Oo=R(()=>{ll();Wo()});import{AssetValue as k2,Chain as u,CosmosChains as Gl,EVMChains as So,FeeOption as v2,SubstrateChains as E2,SwapKitError as u2,UTXOChains as Nl}from"@swapkit/helpers";async function VL(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (fx(),nx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (nf(),Tf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (wn(),Bn)),{getSolanaAddressValidator:o}=await Promise.resolve().then(() => (kf(),If)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (Qn(),qn)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (Pn(),Wn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (tf(),Af)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:N}=await Promise.resolve().then(() => (Bo(),Xo)),{radixValidateAddress:X}=await Promise.resolve().then(() => (Zo(),wo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (Mo(),Qo)),{substrateValidateAddress:L}=await Promise.resolve().then(() => (Oo(),Ro)),B=await x(),w=await N(),J=await o(),W=await f(),M=await l(),U=await C(),v=await G();return function({address:E,chain:V}){return T(V).with(...So,()=>n({address:E})).with(...Nl,()=>v({address:E,chain:V})).with(u.Cosmos,u.Kujira,u.Noble,u.Maya,u.THORChain,(Yy)=>{return y(Yy)(E)}).with(u.Chainflip,u.Polkadot,()=>L({address:E,chain:V})).with(u.Radix,()=>X(E)).with(u.Near,()=>w(E)).with(u.Ripple,()=>_(E)).with(u.Solana,()=>J(E)).with(u.Sui,()=>W(E)).with(u.Ton,()=>M(E)).with(u.Tron,()=>U(E)).with(u.Cardano,()=>B(E)).otherwise(()=>!1)}}function KL(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...So,async(o)=>{let f=await Cl(o),l=await f.createTransaction(x);return f.estimateTransactionFee({...l,chain:o,feeOption:x.feeOptionKey||v2.Fast})}).with(u.Bitcoin,u.BitcoinCash,u.Dogecoin,u.Dash,u.Litecoin,u.Polkadot,u.Solana,u.Ripple,u.Tron,u.Near,u.Cardano,async(o)=>{return(await Cl(o)).estimateTransactionFee(x)}).with(u.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Qn(),qn));return(await o()).estimateTransactionFee(x)}).with(u.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Pn(),Wn));return(await o()).estimateTransactionFee()}).with(...Gl,async()=>{let{estimateTransactionFee:o}=await Promise.resolve().then(() => (wn(),Bn));return o(x)}).otherwise(async()=>k2.from({chain:T}))}}async function Cl(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...So,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (en(),eo));return await y(T,n)}).with(...Nl,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (sf(),af));return await y(T,n)}).with(...Gl,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (wn(),Bn));return await y(T,n)}).with(...E2,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Oo(),Ro));return await y(T,n)}).with(u.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Zo(),wo));return await y(n)}).with(u.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Mo(),Qo));return await y(n)}).with(u.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (kf(),If));return await y(n)}).with(u.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Qn(),qn));return await y(n)}).with(u.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (tf(),Af));return await y(n)}).with(u.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (Bo(),Xo));return await y(n)}).with(u.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (nf(),Tf));return await y(n)}).with(u.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (Pn(),Wn));return await y(n)}).otherwise(()=>{throw new u2("toolbox_not_supported",{chain:T})})}export{Cl as getToolbox,KL as getFeeEstimator,VL as getAddressValidator};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=49E0981A5DC9493664756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.js.map
|