@swapkit/toolboxes 4.3.5 → 4.3.7

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.
@@ -1,5 +1,5 @@
1
- var vx=Object.create;var{getPrototypeOf:Ax,defineProperty:RT,getOwnPropertyNames:F1,getOwnPropertyDescriptor:Fx}=Object,V1=Object.prototype.hasOwnProperty;var W=(T,f,N)=>{N=T!=null?vx(Ax(T)):{};let y=f||!T||!T.__esModule?RT(N,"default",{value:T,enumerable:!0}):N;for(let x of F1(T))if(!V1.call(y,x))RT(y,x,{get:()=>T[x],enumerable:!0});return y},A1=new WeakMap,zy=(T)=>{var f=A1.get(T),N;if(f)return f;if(f=RT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")F1(T).map((y)=>!V1.call(f,y)&&RT(f,y,{get:()=>T[y],enumerable:!(N=Fx(T,y))||N.enumerable}));return A1.set(T,f),f};var qy=(T,f)=>{for(var N in f)RT(T,N,{get:f[N],enumerable:!0,configurable:!0,set:(y)=>f[N]=()=>y})};var k=(T,f)=>()=>(T&&(f=T(T=0)),f);function K1(){function T(){let f=Date.now(),N=rf||f;return rf=N,f>rf?f:N+1}return Vx+T().toString(36)}function TT(T){return async function(N,y=!0){let x=await $1.SwapKitApi.getChainBalance({address:N,chain:T,scamFilter:y}),{baseDecimal:G}=Tf.getChainConfig(T);return x.map(({identifier:L,value:X,decimal:_})=>{return new Tf.AssetValue({decimal:_||G,identifier:L,value:X})})}}var Tf,$1,Vx,rf=0;var wT=k(()=>{Tf=require("@swapkit/helpers"),$1=require("@swapkit/helpers/api"),Vx=typeof process<"u"&&process.pid?process.pid.toString(36):""});function CT(T){return{getBalance:TT(T)}}function $x(T){return T}var ff=k(()=>{wT()});async function cy(T,f){let{JsonRpcProvider:N}=await import("ethers");return new N(f||await i.getRPCUrl(T))}function OT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:f,chainId:N,rpcUrls:y}=i.getChainConfig(T);return()=>T===i.Chain.Ethereum?void 0:{...Kx({chain:T}),blockExplorerUrls:[f],chainId:N,rpcUrls:y}}function sf(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function Kx({chain:T}){let{name:f,nativeCurrency:N,baseDecimal:y}=i.getChainConfig(T);return n1.match(T).with(i.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(i.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(i.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(i.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(i.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(i.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:i.Chain.Polygon}})).otherwise(()=>({chainName:f,nativeCurrency:{decimals:y,name:N,symbol:N}}))}var i,n1;var fT=k(()=>{i=require("@swapkit/helpers"),n1=require("ts-pattern")});var u1;var b1=k(()=>{u1=[{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"}]});function GT({chain:T=H.Chain.Ethereum,provider:f,signer:N,isEIP1559Compatible:y=!0}){return{approve:hx({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),approvedAmount:p1({chain:T,provider:f}),broadcastTransaction:f.broadcastTransaction,call:G0({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),createApprovalTx:cx({chain:T,provider:f,signer:N}),createContract:T0({chain:T,provider:f}),createContractTxObject:ty({chain:T,provider:f}),createTransaction:ef({chain:T,provider:f,signer:N}),createTransferTx:ef({chain:T,provider:f,signer:N}),EIP1193SendTransaction:LT(f),estimateCall:m1({provider:f,signer:N}),estimateGasLimit:px({chain:T,provider:f,signer:N}),estimateGasPrices:gy({chain:T,isEIP1559Compatible:y,provider:f}),estimateTransactionFee:tx({chain:T,isEIP1559Compatible:y,provider:f}),getAddress:()=>{return N?N.getAddress():void 0},isApproved:jx({chain:T,provider:f}),sendTransaction:c1({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),signMessage:N?(x)=>N.signMessage(x):void 0,transfer:ox({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),validateAddress:(x)=>y0({address:x})}}function y0({address:T}){try{return Wy.getAddress(T),!0}catch{return!1}}function NT(T){return T instanceof Wy.BrowserProvider}function kT(T,f,N){return new Wy.Contract(T,Wy.Interface.from(f),N)}function T0({provider:T}){return function(N,y){return new Wy.Contract(N,Wy.Interface.from(y),T)}}function f0({abi:T,funcName:f}){let N=T.find((y)=>y.name===f);if(!N)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return N.stateMutability&&nx.includes(N.stateMutability)}function h1(T){return Wy.getAddress(T)}function LT(T){return function({value:N,...y}){if(!NT(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:OT(BigInt(N||0))}])}}function o1(T,f){let N=XT(T,f);if(N)return Wy.getAddress(N.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:f,ticker:N},y){try{let x=T===H.Chain.BinanceSmartChain&&f==="BNB"&&N==="BNB",G=T===y&&f===y&&N===y,L=bx.includes(T)&&f==="ETH"&&N==="ETH";if(G||x||L)return x0[y];return Wy.getAddress(f.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function ty({provider:T}){return async({contractAddress:f,abi:N,funcName:y,funcParams:x=[],txOverrides:G})=>kT(f,N,T).getFunction(y).populateTransaction(...x.concat(G).filter((L)=>typeof L<"u"))}function gy({chain:T,provider:f,isEIP1559Compatible:N=!0}){return j1.match(T).with(H.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:x,maxPriorityFeePerGas:G}=await f.getFeeData();if(!x||G===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Average),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Average)},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}catch(x){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).with(H.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:x}=await f.getFeeData();if(!x)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:x},[H.FeeOption.Fast]:{gasPrice:x},[H.FeeOption.Fastest]:{gasPrice:x}}}catch(x){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:G,gasPrice:L}=await f.getFeeData();if(N){if(x===null||G===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:G},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}if(!L)throw new H.SwapKitError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest)}}}catch(x){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}})}function G0({provider:T,isEIP1559Compatible:f,signer:N,chain:y}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:q={},feeOption:Q=H.FeeOption.Fast}){let J=G||T;if(!L)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=f0({abi:X,funcName:_});if(B&&NT(J)&&N){let U=ty({chain:y,provider:J}),I=q?.from||await N?.getAddress(),O=await U({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...q,from:I}});return LT(J)(O)}let Y=kT(L,X,J);if(B){if(!N)throw new H.SwapKitError("toolbox_evm_no_signer");let U=q?.from||await N.getAddress();if(!U)throw new H.SwapKitError("toolbox_evm_no_signer_address");let I=Y.connect(N),O=gy({chain:y,isEIP1559Compatible:f,provider:T}),{maxFeePerGas:K,maxPriorityFeePerGas:V,gasPrice:u}=(await O())[Q],d=await Y.getFunction(_).estimateGas(...Z,q),Ly=await I[_](...Z,{...q,gasLimit:d,gasPrice:u,maxFeePerGas:K,maxPriorityFeePerGas:V,nonce:q?.nonce||await J.getTransactionCount(U)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let M=await Y[_]?.(...Z);return typeof M?.hash==="string"?M?.hash:M}}function p1({provider:T,chain:f}){return function({assetAddress:y,spenderAddress:x,from:G}){return G0({chain:f,isEIP1559Compatible:!0,provider:T})({abi:xT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,x]})}}function jx({provider:T,chain:f}){return async function({assetAddress:y,spenderAddress:x,from:G,amount:L=ET}){let X=await p1({chain:f,provider:T})({assetAddress:y,from:G,spenderAddress:x});return H.SwapKitNumber.fromBigInt(X).gte(H.SwapKitNumber.fromBigInt(BigInt(L)))}}function hx({signer:T,isEIP1559Compatible:f=!0,provider:N,chain:y}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=H.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:q,nonce:Q}){let J=[L,BigInt(_||ET)],B=await T?.getAddress()||q,Y={abi:xT.erc20ABI,contractAddress:G,funcName:"approve",funcParams:J,signer:T,txOverrides:{from:B}};if(NT(N)){let U=ty({chain:y,provider:N}),I=LT(N),O=await U(Y);return I(O)}return G0({chain:y,isEIP1559Compatible:f,provider:N,signer:T})({...Y,feeOption:X,funcParams:J,txOverrides:{from:B,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:Q}})}}function ox({signer:T,isEIP1559Compatible:f=!0,provider:N}){return async function({assetValue:x,memo:G,recipient:L,feeOptionKey:X=H.FeeOption.Fast,sender:_,...Z}){let{hexlify:q,toUtf8Bytes:Q}=await import("ethers"),J=x.getBaseValue("bigint"),B=x.chain,Y=_||await T?.getAddress(),M=c1({chain:B,isEIP1559Compatible:f,provider:N,signer:T});if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset){let u={...Z,data:q(Q(G||"")),feeOptionKey:X,from:Y,to:L,value:J};return M(u)}if(!XT(x,B))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:I,maxPriorityFeePerGas:O,gasPrice:K}=(await gy({chain:B,isEIP1559Compatible:f,provider:N})())[X],V=await ef({chain:B,provider:N,signer:T})({assetValue:x,data:q(Q(G||"")),gasPrice:K,maxFeePerGas:I,maxPriorityFeePerGas:O,memo:G,recipient:L,sender:Y});return M(V)}}function m1({provider:T,signer:f}){return function({contractAddress:y,abi:x,funcName:G,funcParams:L=[],txOverrides:X}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let _=kT(y,x,T);return f?_.connect(f).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function px({provider:T,signer:f}){return async function({assetValue:y,recipient:x,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:q}){let Q=y.bigIntValue,J=y.isGasAsset?null:XT(y,y.chain);if(J&&_)return m1({provider:T,signer:f})({abi:xT.erc20ABI,contractAddress:J,funcName:_,funcParams:Z,txOverrides:q});let{hexlify:B,toUtf8Bytes:Y}=await import("ethers");return T.estimateGas({data:L?L:G?B(Y(G)):void 0,from:X,to:x,value:Q})}}function c1({provider:T,signer:f,isEIP1559Compatible:N=!0,chain:y}){return async function({feeOptionKey:G=H.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:q,...Q}=L;if(!f)throw new H.SwapKitError("toolbox_evm_no_signer");if(!_)throw new H.SwapKitError("toolbox_evm_no_to_address");let J={...Q,data:Z||"0x",from:X,to:_,value:BigInt(q||0)};if(NT(T))return LT(T)(J);let B=X||await f.getAddress(),Y=L.nonce||await T.getTransactionCount(B),M=(await T.getNetwork()).chainId,U=mx(J)||N,I=gy({chain:y,isEIP1559Compatible:N,provider:T}),O=U&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await I())[G]).reduce((V,[u,d])=>({...V,[u]:OT(BigInt(d))}),{}):{},K;try{K=OT(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(V){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:V})}try{let V={...J,chainId:M,gasLimit:K,nonce:Y,type:U?2:0,...O};try{return(await f.sendTransaction(V)).hash}catch{let u=await f.signTransaction({...V,from:B});return(await T.broadcastTransaction(u)).hash}}catch(V){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:V})}}}function ef({provider:T,signer:f}){return async function({assetValue:y,memo:x,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:q,...Q}){let J=y.getBaseValue("bigint"),B=y.chain,Y=X||await f?.getAddress();if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:I,toUtf8Bytes:O}=await import("ethers");return{...Q,data:L||I(O(x||"")),from:Y,to:G,value:J}}let M=XT(y,B);if(!M)throw new H.SwapKitError("toolbox_evm_no_contract_address");return ty({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[G,J],txOverrides:{from:Y,gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function cx({provider:T,signer:f,chain:N}){return async function({assetAddress:x,spenderAddress:G,amount:L,from:X}){let _=await f?.getAddress()||X,Z=ty({chain:N,provider:T}),q=["bigint","number"].includes(typeof L)?L:L||ET;return await Z({abi:xT.erc20ABI,contractAddress:x,funcName:"approve",funcParams:[G,BigInt(q)],txOverrides:{from:_}})}}function tx({provider:T,isEIP1559Compatible:f=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:x,...G}){let X=await gy({chain:x,isEIP1559Compatible:f,provider:T})(),_=await T.estimateGas(G),Z=H.AssetValue.from({chain:x}),{gasPrice:q,maxFeePerGas:Q,maxPriorityFeePerGas:J}=X[y];if(!f&&q)return Z.set(H.SwapKitNumber.fromBigInt(q*_,Z.decimal));if(Q&&J){let B=(Q+J)*_;return Z.set(H.SwapKitNumber.fromBigInt(B,Z.decimal))}throw new H.SwapKitError("toolbox_evm_no_gas_price")}}var H,xT,Wy,j1,ET,nx,ux,x0,bx,mx=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=k(()=>{fT();H=require("@swapkit/helpers"),xT=require("@swapkit/helpers/contracts"),Wy=require("ethers"),j1=require("ts-pattern"),ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");nx=["payable","nonpayable"];ux=H.EVMChains.reduce((T,f)=>{return T[f]="0x0000000000000000000000000000000000000000",T},{}),x0={...ux,[H.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[H.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},bx=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism]});async function Gf({provider:T,...f}){let N=await Gy(a.Chain.Ethereum)({provider:T,...f});async function y(x,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=a.FeeOption.Fast){let _=await N.createContractTxObject({abi:u1,contractAddress:G,funcName:L,funcParams:[x]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:y}}function Gy(T){return async function({provider:N,...y}){let{HDNodeWallet:x}=await import("ethers"),G=await a.getRPCUrl(T),L=N||await cy(T,G),X=sf(T),_=DT.match(y).with({phrase:DT.P.string},({phrase:q})=>x.fromPhrase(q).connect(L)).with({signer:DT.P.any},({signer:q})=>q).otherwise(()=>{return});return{...GT({chain:T,isEIP1559Compatible:X,provider:L,signer:_}),getBalance:CT(T).getBalance,getNetworkParams:af(T)}}}var a,DT,Nf,Lf,Xf,_f,Zf,Jf,t1,qf,Qf,Bf,Yf,zf,Wf,PT,Hf,Uf,Mf,If;var N0=k(()=>{ff();b1();fT();xf();a=require("@swapkit/helpers"),DT=require("ts-pattern");Nf=Gy(a.Chain.Arbitrum),Lf=Gy(a.Chain.Aurora),Xf=Gy(a.Chain.Avalanche),_f=Gy(a.Chain.Base),Zf=Gy(a.Chain.Berachain),Jf=Gy(a.Chain.BinanceSmartChain),t1=Gy(a.Chain.Botanix),qf=Gy(a.Chain.Core),Qf=Gy(a.Chain.Corn),Bf=Gy(a.Chain.Cronos),Yf=Gy(a.Chain.Gnosis),zf=Gy(a.Chain.Hyperevm),Wf=Gy(a.Chain.Polygon),PT=Gy(a.Chain.Sonic),Hf=Gy(a.Chain.Unichain),Uf=Gy(a.Chain.XLayer),Mf=Gy(a.Chain.Monad),If=Gy(a.Chain.MegaETH)});var g1;var i1=k(()=>{g1=[{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"}]});function L0(T){return new Rf.Contract(ix,g1,T)}function d1(T){return async function(){let N=L0(T);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function r1(T){return async function({from:N,to:y,nonce:x,...G}){let{Transaction:L}=await import("ethers");if(!y)throw new m.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:x?x:N?await T.getTransactionCount(N):0,to:y}).serialized}}function a1(T){return async function(N){let y=L0(T),x=await r1(T)(N);if(y&&"getL1Fee"in y)return y.getL1Fee(x)}}function s1(T){return async function(N){let y=await T.send("eth_gasPrice",[]),x=await T.estimateGas(N);return y.mul(x)}}function dx(T){return async function(N){let y=await a1(T)(N),x=await s1(T)(N);return y.add(x)}}function rx(T){return async function(N){let y=L0(T),x=await r1(T)(N);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(x)}}function ax(){let{baseDecimal:T,chainId:f,explorerUrl:N,name:y,rpcUrls:x}=m.getChainConfig(m.Chain.Optimism);return{blockExplorerUrls:[N],chainId:f,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:m.Chain.Ethereum},rpcUrls:x}}async function sx(T){try{let{maxFeePerGas:f,maxPriorityFeePerGas:N,gasPrice:y}=await T.getFeeData(),x=await d1(T)(),G=y;if(!(f&&N))throw new m.SwapKitError("toolbox_evm_no_fee_data");return{[m.FeeOption.Average]:{gasPrice:G,l1GasPrice:x,maxFeePerGas:f,maxPriorityFeePerGas:N},[m.FeeOption.Fast]:{gasPrice:m.applyFeeMultiplierToBigInt(G,m.FeeOption.Fast),l1GasPrice:m.applyFeeMultiplierToBigInt(x||0n,m.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:m.applyFeeMultiplierToBigInt(N,m.FeeOption.Fast)},[m.FeeOption.Fastest]:{gasPrice:m.applyFeeMultiplierToBigInt(G,m.FeeOption.Fastest),l1GasPrice:m.applyFeeMultiplierToBigInt(x||0n,m.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:m.applyFeeMultiplierToBigInt(N,m.FeeOption.Fastest)}}}catch(f){throw new m.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function wf({provider:T,...f}){let N=m.Chain.Optimism,y=await m.getRPCUrl(N),x=T||await cy(N,y),G=ST.match(f).with({phrase:ST.P.string},({phrase:_})=>Rf.HDNodeWallet.fromPhrase(_).connect(x)).with({signer:ST.P.any},({signer:_})=>_).otherwise(()=>{return}),L=GT({provider:x,signer:G}),X=d1(x);return{...L,estimateGasPrices:sx(x),estimateL1Gas:rx(x),estimateL1GasCost:a1(x),estimateL2GasCost:s1(x),estimateTotalGasCost:dx(x),getBalance:CT(m.Chain.Optimism).getBalance,getL1GasPrice:X,getNetworkParams:ax}}var m,Rf,ST,ix="0x420000000000000000000000000000000000000f";var X0=k(()=>{ff();i1();fT();xf();m=require("@swapkit/helpers"),Rf=require("ethers"),ST=require("ts-pattern")});var T5={};qy(T5,{toChecksumAddress:()=>h1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getEvmToolbox:()=>y5,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>o1,evmValidateAddress:()=>y0,createContract:()=>kT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>t1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});async function y5(T,f){let N={...f,provider:f?.provider||await cy(T)};return e1.match(T).returnType().with(e.Chain.Arbitrum,()=>Nf(N)).with(e.Chain.Aurora,()=>Lf(N)).with(e.Chain.Avalanche,()=>Xf(N)).with(e.Chain.Base,()=>_f(N)).with(e.Chain.Berachain,()=>Zf(N)).with(e.Chain.BinanceSmartChain,()=>Jf(N)).with(e.Chain.Botanix,()=>PT(N)).with(e.Chain.Core,()=>qf(N)).with(e.Chain.Corn,()=>Qf(N)).with(e.Chain.Cronos,()=>Bf(N)).with(e.Chain.Ethereum,()=>Gf(N)).with(e.Chain.Gnosis,()=>Yf(N)).with(e.Chain.Hyperevm,()=>zf(N)).with(e.Chain.Optimism,()=>wf(N)).with(e.Chain.Polygon,()=>Wf(N)).with(e.Chain.Sonic,()=>PT(N)).with(e.Chain.Unichain,()=>Hf(N)).with(e.Chain.XLayer,()=>Uf(N)).with(e.Chain.Monad,()=>Mf(N)).with(e.Chain.MegaETH,()=>If(N)).exhaustive()}var e,e1;var _0=k(()=>{fT();N0();X0();e=require("@swapkit/helpers"),e1=require("ts-pattern");xf();N0();X0()});var f5;var x5=k(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(f5||={})});var G5={};qy(G5,{toHexString:()=>OT,toChecksumAddress:()=>h1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getProvider:()=>cy,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>y5,getEvmApi:()=>CT,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>o1,evmValidateAddress:()=>y0,createCustomEvmApi:()=>$x,createContract:()=>kT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,EthNetwork:()=>f5,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>t1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});module.exports=zy(G5);var N5=k(()=>{ff();fT();_0();x5()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function y2(T){try{let{MeshWallet:f}=await import("@meshsdk/core"),N=await Z0(),y=new f({fetcher:N,key:{address:T,type:"address"},networkId:1});await y.init();let x=await y.getBalance(),G=[];for(let L of x)if(L.unit===ex){let{baseDecimal:X}=yy.getChainConfig(yy.Chain.Cardano);G.push(yy.AssetValue.from({chain:yy.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(yy.AssetValue.from({asset:`${yy.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[yy.AssetValue.from({chain:yy.Chain.Cardano})];return G}catch(f){let N=f instanceof Error?f.message:String(f);return console.error(`Cardano balance fetch error: ${N}`),[yy.AssetValue.from({chain:yy.Chain.Cardano})]}}async function L5(){let{deserializeAddress:T}=await import("@meshsdk/core");return(f)=>{try{return T(f),!0}catch{return!1}}}async function T2(T){let f=await L5(),N=await lT.match(T).with({phrase:lT.P.string},async({phrase:q})=>{let{MeshWallet:Q}=await import("@meshsdk/core"),J=await Z0(),B=new Q({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await B.init(),B}).with({signer:lT.P.any},({signer:q})=>q).otherwise(()=>{return}),y=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function x(){return y||""}function G(q){let Q=q||x();if(!Q)throw new yy.SwapKitError("core_wallet_connection_not_found");return y2(Q)}function L(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Cardano,value:"0.01"}))}async function X({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{Transaction:B}=await import("@meshsdk/core"),[,Y]=Q.symbol.split("-");if(!Q.isGasAsset&&!Y)throw new yy.SwapKitError("core_wallet_connection_not_found");let M=new B({initiator:N});if(M.sendAssets({address:q},[{quantity:Q.getBaseValue("string"),unit:Q.isGasAsset?"lovelace":Q.symbol}]),J)M.setMetadata(0,J);let U=await M.build();return{tx:M,unsignedTx:U}}function _(q){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");return N.signTx(q)}async function Z({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:B}=await X({assetValue:Q,memo:J,recipient:q}),Y=await _(B);return await(await Z0()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:x,getBalance:G,signTransaction:_,transfer:Z,validateAddress:f}}var yy,lT,ex="lovelace";var X5=k(()=>{yy=require("@swapkit/helpers"),lT=require("ts-pattern")});var J0={};qy(J0,{getCardanoToolbox:()=>T2,getCardanoAddressValidator:()=>L5});module.exports=zy(J0);var q0=k(()=>{X5()});function vT(T){return Ay.base64.encode(Uint8Array.from(Ay.bech32.fromWords(Ay.bech32.decode(T).words)))}function AT(T,f="thor"){return Ay.bech32.encode(f,Ay.bech32.toWords(Ay.base64.decode(T)))}function f2(T){return Cf.fromByteArray(T)}function x2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new _5.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Cf.toByteArray(T)}var Ay,_5,Cf;var Q0=k(()=>{Ay=require("@scure/base"),_5=require("@swapkit/helpers"),Cf=require("base64-js")});function Py(T){switch(T){case D.Chain.Maya:return{amount:[],gas:"10000000000"};case D.Chain.THORChain:return{amount:[],gas:"500000000"};case D.Chain.Kujira:return q5;case D.Chain.Noble:return Q5;default:return J5}}async function Sy(T){let f=await import("@cosmjs/stargate"),N=f.StargateClient??f.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return N.connect({headers:y,url:T})}async function ZT(T,f,N={}){let y=await import("@cosmjs/stargate"),x=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return x.connectWithSigner(T,f,{gasPrice:G.fromString(L),...X})}async function Y0(T,f){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(T,f)}async function z0({sender:T,recipient:f,assetValue:N,memo:y="",feeRate:x,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await D.getRPCUrl(X),Q=await(await Sy(Z)).getAccount(T);if(!Q)throw new D.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let J=D.AssetValue.from({chain:X}),B=Dy(J.symbol),Y=Py(X),M=B&&x?{amount:[{amount:x.toString(),denom:B}],gas:Y.gas}:Y,U={amount:[{amount:N.getBaseValue("string"),denom:Dy(N.symbol)}],fromAddress:T,toAddress:f};return{accountNumber:L??Q.accountNumber,chainId:_,fee:M,memo:y,msgs:[{typeUrl:G2(X),value:U}],sequence:G??Q.sequence}}var D,B0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Z5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",J5,q5,Q5,Dy=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return B0;case"uYUM":case"YUM":return Z5;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:f})=>{if(f===D.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${D.Chain.Maya}.${T}`).toUpperCase();if(f===D.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${D.Chain.THORChain}.${T}`:T).toUpperCase();return Dy(T,!1)},G2=(T)=>{switch(T){case D.Chain.Maya:case D.Chain.THORChain:return"/types.MsgSend";case D.Chain.Cosmos:case D.Chain.Kujira:case D.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new D.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},N2,W0=(T,f)=>{let N=N2[T.toLowerCase()];if(!N)return D.AssetValue.from({asset:T,fromBaseDecimal:8,value:f});let{chain:y,asset:x,decimals:G}=N,L=y?{chain:y}:{asset:x};return D.AssetValue.from({...L,fromBaseDecimal:G,value:f})};var FT=k(()=>{D=require("@swapkit/helpers"),J5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},q5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Q5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};N2={atom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},cacao:{chain:D.Chain.Maya,decimals:10},kuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},maya:{asset:`${D.Chain.Maya}.${D.Chain.Maya}`,decimals:4},rune:{chain:D.Chain.THORChain,decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},uatom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},ukuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},usdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},uusdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},[B0.toLowerCase()]:{asset:`${D.Chain.Kujira}.USK`,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal}}});var B5={};qy(B5,{$root:()=>w});var _y,F,Uy,E,w;var Y5=k(()=>{_y=W(require("protobufjs/minimal.js")),F=_y.default.Reader,Uy=_y.default.Writer,E=_y.default.util,w=_y.default.roots.default||(_y.default.roots.default={});w.common=(()=>{let T={};return T.Asset=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))x.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))x.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))x.uint32(32).bool(y.synth);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Asset;while(y.pos<G){let X=y.uint32();switch(X>>>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(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!E.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!E.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!E.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},f.fromObject=function(y){if(y instanceof w.common.Asset)return y;let x=new w.common.Asset;if(y.chain!=null)x.chain=String(y.chain);if(y.symbol!=null)x.symbol=String(y.symbol);if(y.ticker!=null)x.ticker=String(y.ticker);if(y.synth!=null)x.synth=Boolean(y.synth);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))G.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))G.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))G.synth=y.synth;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))w.common.Asset.encode(y.asset,x.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))x.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))x.uint32(24).int64(y.decimals);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Coin;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.asset=w.common.Asset.decode(y,y.uint32());break;case 2:L.amount=y.string();break;case 3:L.decimals=y.int64();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let x=w.common.Asset.verify(y.asset);if(x)return"asset."+x}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!E.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!E.isInteger(y.decimals)&&!(y.decimals&&E.isInteger(y.decimals.low)&&E.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(y){if(y instanceof w.common.Coin)return y;let x=new w.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=w.common.Asset.fromObject(y.asset)}if(y.amount!=null)x.amount=String(y.amount);if(y.decimals!=null){if(E.Long)(x.decimals=E.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")x.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")x.decimals=y.decimals;else if(typeof y.decimals==="object")x.decimals=new E.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)if(G.asset=null,G.amount="",E.Long){let L=new E.Long(0,0,!1);G.decimals=x.longs===String?L.toString():x.longs===Number?L.toNumber():L}else G.decimals=x.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=w.common.Asset.toObject(y.asset,x);if(y.amount!=null&&y.hasOwnProperty("amount"))G.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")G.decimals=x.longs===String?String(y.decimals):y.decimals;else G.decimals=x.longs===String?E.Long.prototype.toString.call(y.decimals):x.longs===Number?new E.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))x.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))x.uint32(18).string(y.ed25519);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.PubKeySet;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.secp256k1=y.string();break;case 2:L.ed25519=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!E.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!E.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.PubKeySet)return y;let x=new w.common.PubKeySet;if(y.secp256k1!=null)x.secp256k1=String(y.secp256k1);if(y.ed25519!=null)x.ed25519=String(y.ed25519);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.secp256k1="",G.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))G.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))G.ed25519=y.ed25519;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(N){if(this.coins=[],this.gas=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=E.emptyArray,f.prototype.gas=E.emptyArray,f.prototype.memo="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))x.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],x.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)w.common.Coin.encode(y.gas[G],x.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(58).string(y.memo);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Tx;while(y.pos<G){let X=y.uint32();switch(X>>>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(w.common.Coin.decode(y,y.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(w.common.Coin.decode(y,y.uint32()));break;case 7:L.memo=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!E.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!E.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!E.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!E.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=w.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let x=0;x<y.gas.length;++x){let G=w.common.Coin.verify(y.gas[x]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!E.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.Tx)return y;let x=new w.common.Tx;if(y.id!=null)x.id=String(y.id);if(y.chain!=null)x.chain=String(y.chain);if(y.fromAddress!=null)x.fromAddress=String(y.fromAddress);if(y.toAddress!=null)x.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[G]=w.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)x.memo=String(y.memo);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[],G.gas=[];if(x.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(y.id!=null&&y.hasOwnProperty("id"))G.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=y.toAddress;if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],x)}if(y.gas?.length){G.gas=[];for(let L=0;L<y.gas.length;++L)G.gas[L]=w.common.Coin.toObject(y.gas[L],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(N){if(this.coins=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.poolDeduct="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],x.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))x.uint32(18).string(y.poolDeduct);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Fee;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.poolDeduct=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=w.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!E.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.Fee)return y;let x=new w.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)x.poolDeduct=String(y.poolDeduct);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],x)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.value="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))x.uint32(10).string(y.value);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.ProtoUint;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.value=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!E.isString(y.value))return"value: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.ProtoUint)return y;let x=new w.common.ProtoUint;if(y.value!=null)x.value=String(y.value);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T})();w.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(N){if(this.coins=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.memo="",f.prototype.signer=E.newBuffer([]),f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],x.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))x.uint32(26).bytes(y.signer);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.types.MsgDeposit;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.memo=y.string();break;case 3:L.signer=y.bytes();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=w.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!E.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||E.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function(y){if(y instanceof w.types.MsgDeposit)return y;let x=new w.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)x.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")E.base64.decode(y.signer,x.signer=E.newBuffer(E.base64.length(y.signer)),0);else if(y.signer.length)x.signer=y.signer}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults){if(G.memo="",x.bytes===String)G.signer="";else if(G.signer=[],x.bytes!==Array)G.signer=E.newBuffer(G.signer)}if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=x.bytes===String?E.base64.encode(y.signer,0,y.signer.length):x.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(N){if(this.amount=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.fromAddress=E.newBuffer([]),f.prototype.toAddress=E.newBuffer([]),f.prototype.amount=E.emptyArray,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)w.cosmos.base.v1beta1.Coin.encode(y.amount[G],x.uint32(26).fork()).ldelim();return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.types.MsgSend;while(y.pos<G){let X=y.uint32();switch(X>>>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(w.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.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"||E.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||E.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let x=0;x<y.amount.length;++x){let G=w.cosmos.base.v1beta1.Coin.verify(y.amount[x]);if(G)return"amount."+G}}return null},f.fromObject=function(y){if(y instanceof w.types.MsgSend)return y;let x=new w.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")E.base64.decode(y.fromAddress,x.fromAddress=E.newBuffer(E.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)x.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")E.base64.decode(y.toAddress,x.toAddress=E.newBuffer(E.base64.length(y.toAddress)),0);else if(y.toAddress.length)x.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[G]=w.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.amount=[];if(x.defaults){if(x.bytes===String)G.fromAddress="";else if(G.fromAddress=[],x.bytes!==Array)G.fromAddress=E.newBuffer(G.fromAddress);if(x.bytes===String)G.toAddress="";else if(G.toAddress=[],x.bytes!==Array)G.toAddress=E.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=x.bytes===String?E.base64.encode(y.fromAddress,0,y.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=x.bytes===String?E.base64.encode(y.toAddress,0,y.toAddress.length):x.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){G.amount=[];for(let L=0;L<y.amount.length;++L)G.amount[L]=w.cosmos.base.v1beta1.Coin.toObject(y.amount[L],x)}return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T})();w.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let N={};return N.Coin=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.Coin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.Coin)return G;let L=new w.cosmos.base.v1beta1.Coin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecCoin=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecCoin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecCoin)return G;let L=new w.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.IntProto=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))L.uint32(10).string(G.int);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.IntProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.int=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!E.isString(G.int))return"int: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.IntProto)return G;let L=new w.cosmos.base.v1beta1.IntProto;if(G.int!=null)L.int=String(G.int);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(G.int!=null&&G.hasOwnProperty("int"))X.int=G.int;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecProto=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))L.uint32(10).string(G.dec);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.dec=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!E.isString(G.dec))return"dec: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecProto)return G;let L=new w.cosmos.base.v1beta1.DecProto;if(G.dec!=null)L.dec=String(G.dec);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))X.dec=G.dec;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N})(),f})(),T})()});async function iy(){let{$root:T}=await Promise.resolve().then(() => (Y5(),B5)),f=await import("@cosmjs/proto-signing"),N=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),x=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new N([...x,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Fy(T){let f=await import("@cosmjs/stargate"),N=f.AminoTypes??f.default?.AminoTypes,y=T===z5.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:x,...G})=>({...G,signer:vT(x)}),toAmino:({signer:x,...G})=>({...G,signer:AT(x)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:x,to_address:G,...L})=>({...L,fromAddress:vT(x),toAddress:vT(G)}),toAmino:({fromAddress:x,toAddress:G,...L})=>({...L,from_address:AT(x),to_address:AT(G)})}})}var z5;var H0=k(()=>{Q0();z5=require("@swapkit/helpers")});function I0(T){return function(N){let{assetValue:y,recipient:x,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(x)return H5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,recipient:x,sender:L});return U5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,sender:L})}}function $y(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let N=My.AssetValue.from({asset:f.asset}),y=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),x=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...f,asset:{chain:x,symbol:y,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function VT({chain:T,memo:f,msgs:N}){let y=await iy(),x=await Fy(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:N.map((L)=>x.fromAmino(L))}};return y.encode(G)}var My,L2,X2,U0=({sender:T,recipient:f,assetValue:N})=>{return{type:`${N.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:Dy(N.symbol,!0)}],from_address:T,to_address:f}}},M0=({sender:T,assetValue:f,memo:N=""})=>{return{type:`${f.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:_T(f)}],memo:N,signer:T}}},Of=({sender:T,recipient:f,assetValue:N,memo:y})=>{return!f?M0({assetValue:N,memo:y,sender:T}):U0({assetValue:N,recipient:f,sender:T})},Vy=async(T,f)=>{return(await Fy(f)).fromAmino(T)},W5=async({rpcUrl:T,sender:f})=>{let y=await(await Sy(T)).getAccount(f);if(!y)throw new My.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},H5=(T)=>async({sender:f,recipient:N,assetValue:y,memo:x="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await W5({rpcUrl:T,sender:f}),q=y.chain,{chainId:Q}=My.getChainConfig(q),J=U0({assetValue:y,recipient:N,sender:f}),B=G?await Vy(L?J:$y(J),q):J;return{accountNumber:_||Z.accountNumber,chainId:Q,fee:Py(q),memo:x,msgs:[B],sequence:X||Z.sequence}},U5=(T)=>async({sender:f,assetValue:N,memo:y="",asSignable:x=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await W5({rpcUrl:T,sender:f}),Z=N.chain,{chainId:q}=My.getChainConfig(Z),Q=M0({assetValue:N,memo:y,sender:f}),J=x?await Vy(G?Q:$y(Q),Z):Q;return{accountNumber:X||_.accountNumber,chainId:q,fee:Py(Z),memo:y,msgs:[J],sequence:L||_.sequence}};var M5=k(()=>{FT();H0();My=require("@swapkit/helpers"),L2=Py(My.Chain.THORChain).gas,X2=Py(My.Chain.Maya).gas});var I5=()=>{};var R5=k(()=>{I5()});var R0=k(()=>{Q0();M5();H0();R5()});async function k0(T,f){try{let y=(await E0.SwapKitApi.getGasRate()).find((x)=>x.chainId===T)?.value;return y?Number.parseFloat(y):f}catch{return f}}async function O0({phrase:T,prefix:f,...N}){let y=await import("@cosmjs/proto-signing"),x=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${l.DerivationPath[N.chain]}/${N.index}`;return x.fromMnemonic(T,{hdPaths:[L(X)],prefix:f})}async function _2({privateKey:T,prefix:f}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,f)}function O5(T){return async function({signature:N,message:y,address:x}){let G=await T(x);if(!G?.pubkey)throw new l.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength(Ky.base64.decode(N));return _.verifySignature(Z,Ky.base64.decode(y),G.pubkey.value)}}async function KT({chain:T,...f}){let N=await l.getRPCUrl(T),y=l.CosmosChainPrefixes[T],x="index"in f?f.index||0:0,G=l.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:l.updateDerivationPath(l.NetworkDerivationPath[T],{index:x})),L=await $T.match(f).with({phrase:$T.P.string},({phrase:J})=>O0({derivationPath:G,phrase:J,prefix:y})).with({signer:$T.P.any},({signer:J})=>J).otherwise(()=>{return});async function X(J){return(await Sy(N)).getAccount(J)}async function _(){let[J]=await L?.getAccounts()||[];return J?.address}async function Z(){let[J]=await L?.getAccounts()||[];if(!J?.pubkey)throw new l.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(J?.pubkey)}async function q({recipient:J,assetValue:B,memo:Y="",feeRate:M,feeOptionKey:U=l.FeeOption.Fast}){let I=await _();if(!(L&&I))throw new l.SwapKitError("toolbox_cosmos_signer_not_defined");let O=l.AssetValue.from({chain:T}),K=_T(O),V=M||w5((await C0(T,w0[T]))[U],K),u=await ZT(N,L),d=Dy(B.symbol),Ly=B.getBaseValue("string"),{TxRaw:By}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),A={amount:[{amount:Ly,denom:d}],fromAddress:I,toAddress:J},$=await u.sign(I,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:A}],V,Y),z=By.encode($).finish();return Buffer.from(z).toString("hex")}async function Q({recipient:J,assetValue:B,memo:Y="",feeRate:M,feeOptionKey:U=l.FeeOption.Fast,dryRun:I=!1}){if(I)return q({assetValue:B,feeOptionKey:U,feeRate:M,memo:Y,recipient:J});let O=await _();if(!(L&&O))throw new l.SwapKitError("toolbox_cosmos_signer_not_defined");let K=l.AssetValue.from({chain:T}),V=_T(K),u=M||w5((await C0(T,w0[T]))[U],V),d=await ZT(N,L),Ly=Dy(B.symbol),By=[{amount:B.getBaseValue("string"),denom:Ly}],{transactionHash:A}=await d.sendTokens(O,J,By,u,Y);return A}return{createPrivateKeyFromPhrase:Q2(G),createTransaction:z0,fetchFeeRateFromSwapKit:k0,getAccount:X,getAddress:_,getBalance:async(J,B)=>{let Y=await C5(N)(J),M=await Promise.all(Y.filter(({denom:U})=>U&&!U.includes("IBC/")).map(({denom:U,amount:I})=>{let O=[l.Chain.THORChain,l.Chain.Maya].includes(T)&&(U.includes("/")||U.includes("˜"))?`${T}.${U}`:U;return W0(O,I)}));if(M.length===0)return[l.AssetValue.from({chain:T})];return M},getBalanceAsDenoms:C5(N),getFees:()=>C0(T,w0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:B})=>O0({derivationPath:l.derivationPathToString(B),index:x,phrase:J,prefix:y}),getSignerFromPrivateKey:async(J)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(J,y)},signTransaction:q,transfer:Q,validateAddress:E5(T),verifySignature:O5(X)}}async function Z2(T,f){try{let y=(await E0.SwapKitApi.getGasRate()).find((x)=>x.chainId===T)?.value;return y?Number.parseFloat(y):f}catch{return f}}function J2({assetValue:{chain:T}}){return l.AssetValue.from({chain:T,value:q2(T)})}async function C0(T,f){let{chainId:N,baseDecimal:y}=l.getChainConfig(T),x=await k0(N,f);return{average:l.SwapKitNumber.fromBigInt(BigInt(x),y),fast:l.SwapKitNumber.fromBigInt(BigInt(l.applyFeeMultiplier(x,l.FeeOption.Fast,!0)),y),fastest:l.SwapKitNumber.fromBigInt(BigInt(l.applyFeeMultiplier(x,l.FeeOption.Fastest,!0)),y)}}function w5(T,f){return{amount:[{amount:T.getBaseValue("string"),denom:f}],gas:"200000"}}function q2(T){return{[l.Chain.Cosmos]:0.007,[l.Chain.Kujira]:0.02,[l.Chain.Noble]:0.01,[l.Chain.THORChain]:0.02,[l.Chain.Maya]:0.02,[l.Chain.Harbor]:0.02}[T]||0}function E5(T){let f=l.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(f))return!1;try{let{prefix:x,words:G}=Ky.bech32.decode(y);return Ky.bech32.encode(x,G)===y.toLocaleLowerCase()}catch{return!1}}}function C5(T){return async function(N){return(await(await Sy(T)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function Q2(T){return async function(N){let y=await import("@cosmjs/crypto"),x=y.stringToPath??y.default?.stringToPath,G=y.Slip10Curve??y.default?.Slip10Curve,L=y.Slip10??y.default?.Slip10,X=y.EnglishMnemonic??y.default?.EnglishMnemonic,_=y.Bip39??y.default?.Bip39,Z=new X(N),q=await _.mnemonicToSeed(Z),{privkey:Q}=L.derivePath(G.Secp256k1,q,x(T));return Q}}var Ky,l,E0,$T,w0;var Ef=k(()=>{FT();Ky=require("@scure/base"),l=require("@swapkit/helpers"),E0=require("@swapkit/helpers/api"),$T=require("ts-pattern");w0={[l.Chain.Cosmos]:1000,[l.Chain.Kujira]:1000,[l.Chain.Noble]:1000,[l.Chain.THORChain]:5000000,[l.Chain.Maya]:5000000,[l.Chain.Harbor]:5000000}});function B2({prefix:T,derivationPath:f}){return async function(y,x=0){let G=await import("@cosmjs/amino"),L=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(y,{hdPaths:[_(`${f}/${x}`)],prefix:T})}}function Y2(T){return ny.base64.encode(T)}function z2(T){return async function({wallet:N,tx:y}){let{msgs:x,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof y==="string"?JSON.parse(y):y,q=(await N.getAccounts())?.[0]?.address||"",Q=await Fy(T),J=await iy(),B=await Y0(N,{aminoTypes:Q,registry:J}),Y=[];for(let I of x){let O=await Vy(I,T);Y.push(O)}let{signatures:[M]}=await B.sign(q,Y,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await VT({chain:T,memo:Z,msgs:x.map($y)}),signature:Y2(M)}}}function W2({prefix:T,rpcUrl:f}){return async function(y,x,G,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:q}=(await import("@cosmjs/stargate")).default,{sequence:Q,fee:J}=JSON.parse(y),B=await k5(G,L),Y=x.map((I)=>[Z(_(ny.base64.decode(I.pubKey)),T),ny.base64.decode(I.signature)]),M=await Sy(f),{transactionHash:U}=await M.broadcastTx(q(B,Q,J,X,new Map(Y)));return U}}async function k5(T,f,N=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>x(ny.base64.decode(G))),f,N)}function H2(T){return ny.base64.decode(T)}async function U2({privateKey:T,message:f}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,y=await N.createSignature(ny.base64.decode(f),T);return ny.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function D0({chain:T,...f}){let N=await g.getRPCUrl(T),{nodeUrl:y}=g.getChainConfig(T),{isStagenet:x}=g.SKConfig.get("envs"),G=T===g.Chain.THORChain,L=`${x?"s":""}${g.CosmosChainPrefixes[T]}`,X="index"in f?f.index||0:0,_="derivationPath"in f&&f.derivationPath?f.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[T],{index:X}),Z=await KT({chain:T,...f}),q=await nT.match(f).with({phrase:nT.P.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:nT.P.any},({signer:Y})=>Y).otherwise(()=>{return}),Q=Py(T);async function J(){let Y,M=`${y}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:U}}=await g.RequestClient.get(M);if(!U||Number.isNaN(U)||U<0)throw new g.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:U.toString()});Y=new g.SwapKitNumber(U)}catch{Y=new g.SwapKitNumber({decimal:g.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[g.FeeOption.Average]:Y,[g.FeeOption.Fast]:Y,[g.FeeOption.Fastest]:Y}}async function B({assetValue:Y,memo:M="",recipient:U}){let{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),O=(await q?.getAccounts())?.[0]?.address;if(!(O&&q))throw new g.SwapKitError("toolbox_cosmos_no_signer");let K="signAmino"in q,V=await iy(),u=await Fy(T),d=await ZT(N,q,{aminoTypes:u,registry:V}),Ly=Of({assetValue:Y,memo:M,recipient:U,sender:O});if(K){let z=await Vy(Ly,T),{signatures:R,authInfoBytes:C}=await d.sign(O,[z],Q,M),n=I.encode({authInfoBytes:C,bodyBytes:await VT({chain:T,memo:M,msgs:[Ly].map($y)}),signatures:R}).finish();return(await d.broadcastTx(n)).transactionHash}let By=$y(Ly),A=await Vy(By,T);return(await d.signAndBroadcast(O,[A],Q,M)).transactionHash}return{...Z,broadcastMultisigTx:W2({prefix:L,rpcUrl:N}),buildAminoMsg:Of,buildEncodedTxBody:VT,convertToSignable:Vy,createDefaultAminoTypes:()=>Fy(T),createDefaultRegistry:iy,createMultisig:k5,createTransaction:I0(N),deposit:B,getFees:J,importSignature:H2,parseAminoMessageForDirectSigning:$y,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:M}=(await import("@cosmjs/amino")).default;return M(Y,L)},secp256k1HdWalletFromMnemonic:B2({derivationPath:g.derivationPathToString(_),prefix:L}),signMultisigTx:z2(T),signWithPrivateKey:U2,transfer:B}}var ny,g,nT;var P0=k(()=>{R0();FT();Ef();ny=require("@scure/base"),g=require("@swapkit/helpers"),nT=require("ts-pattern")});var uy,M2=(T,f)=>{switch(T){case uy.Chain.Cosmos:case uy.Chain.Kujira:case uy.Chain.Noble:return KT({chain:T,...f});case uy.Chain.Maya:case uy.Chain.THORChain:return D0({chain:T,...f});default:throw new uy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var D5=k(()=>{Ef();P0();uy=require("@swapkit/helpers");Ef();P0()});var kf={};qy(kf,{verifySignature:()=>O5,transferMsgAmino:()=>U0,toBase64:()=>f2,parseAminoMessageForDirectSigning:()=>$y,getSignerFromPrivateKey:()=>_2,getSignerFromPhrase:()=>O0,getMsgSendDenom:()=>Dy,getFeeRateFromSwapKit:()=>Z2,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Py,getCreateTransaction:()=>I0,getCosmosValidateAddress:()=>E5,getCosmosToolbox:()=>M2,getAssetFromDenom:()=>W0,fromBase64:()=>x2,fetchFeeRateFromSwapKit:()=>k0,estimateTransactionFee:()=>J2,depositMsgAmino:()=>M0,createThorchainToolbox:()=>D0,createStargateClient:()=>Sy,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>Y0,createDefaultRegistry:()=>iy,createDefaultAminoTypes:()=>Fy,createCosmosToolbox:()=>KT,cosmosCreateTransaction:()=>z0,convertToSignable:()=>Vy,buildTransferTx:()=>H5,buildEncodedTxBody:()=>VT,buildDepositTx:()=>U5,buildAminoMsg:()=>Of,bech32ToBase64:()=>vT,base64ToBech32:()=>AT,YUM_KUJIRA_FACTORY_DENOM:()=>Z5,USK_KUJIRA_FACTORY_DENOM:()=>B0,THORCHAIN_GAS_VALUE:()=>L2,MAYA_GAS_VALUE:()=>X2,DEFAULT_NOBLE_FEE_MAINNET:()=>Q5,DEFAULT_KUJI_FEE_MAINNET:()=>q5,DEFAULT_COSMOS_FEE_MAINNET:()=>J5});module.exports=zy(kf);var Df=k(()=>{R0();D5();FT()});async function S5(T){let f=j.AssetValue.from({address:T,chain:j.Chain.Solana});if(f.symbol!=="UNKNOWN")return{decimals:f.decimal||0,id:T,logoURI:f.getIconUrl(),name:f.symbol,symbol:f.ticker};let N=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(N);if(!y.ok)return null;let x=await y.json();if(!Array.isArray(x)||x.length===0)return null;return x.find((L)=>L.id===T)||null}catch{return null}}async function I2(T){let f=await dy(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),x=new N(T),G=[],L=await f.getBalance(x);if(L>0){let{baseDecimal:_}=j.getChainConfig(j.Chain.Solana);G.push(j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:_,value:L}))}let X=await f.getParsedTokenAccountsByOwner(x,{programId:y});for(let{account:_}of X.value){let Z=_.data.parsed.info,q=Z.mint,Q=Z.tokenAmount.amount;if(Number(Q)===0)continue;let J=await S5(q),B=J?.symbol||"UNKNOWN",Y=J?.decimals||Z.tokenAmount.decimals;G.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${B}-${q}`,fromBaseDecimal:Y,value:Q}))}return G}async function v0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let N=new T(f);return T.isOnCurve(N.toBytes())}catch{return!1}}}async function R2(T){let f=T&&"index"in T?T.index||0:0,N=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:f})),y=await uT.match(T).with({phrase:uT.P.string},({phrase:L})=>l0({derivationPath:N,phrase:L})).with({signer:uT.P.any},({signer:L})=>L).otherwise(()=>{return});function x(){return y?.publicKey?P5(y.publicKey):""}function G(L){let X=L||x();if(!X)throw new j.SwapKitError("core_wallet_connection_not_found");return I2(X)}return{broadcastTransaction:S0(dy),createKeysForPath:l0,createTransaction:A0(dy),createTransactionFromInstructions:E2,estimateTransactionFee:w2(dy),getAddress:x,getAddressFromPubKey:P5,getAddressValidator:v0,getBalance:G,getConnection:dy,getPubkeyFromAddress:F0,signTransaction:D2(dy,y),transfer:k2(dy,y)}}function w2(T){return async({recipient:f,assetValue:N,memo:y,isProgramDerivedAddress:x,sender:G})=>{let L=await T(),_=(await A0(T)({assetValue:N,isProgramDerivedAddress:x,memo:y,recipient:f,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new j.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:q}=j.getChainConfig(j.Chain.Solana);return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:q,value:Z.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),f=await j.getRPCUrl(j.Chain.Solana);return new T(f,"confirmed")}function C2(T){return async({assetValue:f,recipient:N,sender:y,isProgramDerivedAddress:x})=>{let G=await T(),L=await F0(y);if(f.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:f.getBaseValue("number"),toPubkey:new Z(N)}))}if(f.address)return O2({amount:f.getBaseValue("number"),connection:G,decimals:f.decimal,from:L,isProgramDerivedAddress:x,recipient:N,tokenAddress:f.address});return}}async function O2({tokenAddress:T,recipient:f,from:N,connection:y,amount:x,decimals:G,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:q}=await import("@solana/spl-token"),{Transaction:Q,PublicKey:J}=await import("@solana/web3.js"),B=new Q,Y=new J(T),M=await X(Y,N),U=new J(f),I=await X(Y,U,L),O=!1;try{await _(y,I),O=!0}catch{}if(!O)B.add(Z(N,I,U,Y));return B.add(q(M,Y,I,N,x,G)),B}function A0(T){return async({recipient:f,assetValue:N,memo:y,isProgramDerivedAddress:x,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await F0(G),_=await v0();if(!(x||_(f)))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let Z=await T(),q=await C2(T)({assetValue:N,isProgramDerivedAddress:x,recipient:f,sender:G});if(!q)throw new j.SwapKitError("core_transaction_invalid_sender_address");if(y)q.add(L(y));let Q=await Z.getLatestBlockhash();return q.recentBlockhash=Q.blockhash,q.feePayer=X,q}}async function E2({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),N=new f().add(...T);if(!N)throw new j.SwapKitError("core_transaction_invalid_sender_address");return N}function k2(T,f){return async({recipient:N,assetValue:y,memo:x,isProgramDerivedAddress:G})=>{if(!f)throw new j.SwapKitError("core_transaction_invalid_sender_address");let L=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),X=await A0(T)({assetValue:y,isProgramDerivedAddress:G,memo:x,recipient:N,sender:L});if("signTransaction"in f){let _=await f.signTransaction(X);return S0(T)(_)}return X.sign(f),S0(T)(X)}}function S0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function D2(T,f){return async(N)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new j.SwapKitError("toolbox_solana_no_signer");if(!(N instanceof y)){let G=await(await T()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(N);return await N.sign([f]),N}}async function l0({phrase:T,derivationPath:f=j.DerivationPath.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),G=y(T),L=N.fromMasterSeed(G);return x.fromSeed(L.derive(f,!0).privateKey)}function P5(T){return T.toString()}async function F0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var j,uT;var l5=k(()=>{j=require("@swapkit/helpers"),uT=require("ts-pattern")});var V0={};qy(V0,{getSolanaToolbox:()=>R2,getSolanaAddressValidator:()=>v0,fetchTokenMetaData:()=>S5,createKeysForPath:()=>l0});module.exports=zy(V0);var $0=k(()=>{l5()});async function v5(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(N){try{return T(N)}catch{return!1}}}async function P2({provider:T,...f}={}){let N=await v5(),y=await bT.match(f).with({phrase:bT.P.string},async({phrase:Q})=>{let{Ed25519Keypair:J}=await import("@mysten/sui/keypairs/ed25519");return J.deriveKeypair(Q)}).with({signer:bT.P.any},({signer:Q})=>Q).otherwise(()=>{return});async function x(Q=T){let{SuiClient:J,getFullnodeUrl:B}=await import("@mysten/sui/client");return new J({url:Q||B("mainnet")})}function G(){return y?.toSuiAddress()||""}async function L(Q){let J=Q||G();if(!J)throw new Ty.SwapKitError("toolbox_sui_address_required");try{let B=await x(),{totalBalance:Y}=await B.getBalance({owner:J}),{baseDecimal:M,chain:U}=Ty.getChainConfig(Ty.Chain.Sui),I=[Ty.AssetValue.from({chain:U,fromBaseDecimal:M,value:Y})],O=await B.getAllBalances({owner:J});for(let{coinType:K,totalBalance:V}of O){if(K==="0x2::sui::SUI")continue;if(Number(V)>0){let u=K.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${U}.${u}-${K}`;I.push(Ty.AssetValue.from({asset:d,fromBaseDecimal:M,value:V}))}}return I}catch(B){throw new Ty.SwapKitError("toolbox_sui_balance_error",{error:B})}}async function X(Q){let J=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!Q)return J;try{let B=await x(),{txBytes:Y}=await _(Q),{effects:{status:M,gasUsed:U}}=await B.dryRunTransactionBlock({transactionBlock:Y});if(M.status!=="success")return J;let I=Number(U.computationCost)+Number(U.storageCost)-Number(U.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,value:I.toString()})}catch{return J}}async function _({recipient:Q,assetValue:J,gasBudget:B,sender:Y}){let{Transaction:M}=await import("@mysten/sui/transactions"),U=Y||G();if(!U)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let I=new M;if(I.setSender(U),J.isGasAsset||J.symbol==="SUI"){let[V]=I.splitCoins(I.gas,[J.getBaseValue("string")]);I.transferObjects([V],Q)}else throw new Ty.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(B)I.setGasBudget(B);let O=await x(),K=await I.build({client:O});return{tx:I,txBytes:K}}catch(I){throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:I})}}async function Z(Q){if(!y)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(Q instanceof Uint8Array)return y.signTransaction(Q);let{txBytes:J}="tx"in Q?Q:await _(Q);return y.signTransaction(J)}async function q({assetValue:Q,gasBudget:J,recipient:B}){if(!y)throw new Ty.SwapKitError("toolbox_sui_no_signer");let Y=y.toSuiAddress()||G();if(!Y)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:M}=await _({assetValue:Q,gasBudget:J,recipient:B,sender:Y}),U=await x(),{digest:I}=await U.signAndExecuteTransaction({signer:y,transaction:M});return I}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:q,validateAddress:N}}var Ty,bT;var A5=k(()=>{Ty=require("@swapkit/helpers"),bT=require("ts-pattern")});var Pf={};qy(Pf,{getSuiToolbox:()=>P2,getSuiAddressValidator:()=>v5});module.exports=zy(Pf);var Sf=k(()=>{A5()});async function S2(T={}){let{mnemonicToWalletKey:f}=await import("@ton/crypto"),{Address:N,TonClient:y,WalletContractV4:x}=await import("@ton/ton"),G=await F5(),L,X,_=await jT.match(T).with({phrase:jT.P.string},async({phrase:I})=>f(I.split(" "))).with({signer:jT.P.any},({signer:I})=>I).otherwise(()=>{return});function Z(){let{rpcUrls:I}=fy.getChainConfig(fy.Chain.Ton),[O]=I;if(!L||L.parameters.endpoint!==O)L=new y({endpoint:O});return L}function q(I){if(!X||I){let O=Z(),K=I||_;if(!K)throw new fy.SwapKitError("core_wallet_connection_not_found");let V=x.create({publicKey:K.publicKey,workchain:0});X=O.open(V)}return X}async function Q(I){let O=Z(),{baseDecimal:K}=fy.getChainConfig(fy.Chain.Ton);try{let V=await O.getBalance(N.parse(I));return[fy.AssetValue.from({chain:fy.Chain.Ton,value:fy.SwapKitNumber.fromBigInt(V,K)})]}catch(V){throw new fy.SwapKitError("core_wallet_connection_not_found",{error:V})}}async function J({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new fy.SwapKitError("core_wallet_connection_not_found");let{toNano:u,comment:d,internal:Ly}=await import("@ton/ton"),By=await V.getSeqno(),A=u(I.getValue("string")),$=K?d(K):void 0;return V.createTransfer({messages:[Ly({body:$,to:O,value:A})],secretKey:_.secretKey,seqno:By})}async function B({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new fy.SwapKitError("core_wallet_connection_not_found");let u=await J({assetValue:I,memo:K,recipient:O});return await V.send(u),u.hash().toString()}async function Y(I){let O=q();if(!O)throw new fy.SwapKitError("core_wallet_connection_not_found");try{return await O.send(I),I.hash().toString("hex")}catch(K){throw new fy.SwapKitError("core_wallet_connection_not_found",{error:K})}}function M(){return q().address.toString()}function U(){return Promise.resolve(fy.AssetValue.from({chain:fy.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:U,getAddress:M,getBalance:Q,sendTransaction:Y,transfer:B,validateAddress:G}}async function F5(){let{Address:T}=await import("@ton/ton");return function(N){try{return T.parse(N),!0}catch{return!1}}}var fy,jT;var V5=k(()=>{fy=require("@swapkit/helpers"),jT=require("ts-pattern")});var lf={};qy(lf,{getTONToolbox:()=>S2,getTONAddressValidator:()=>F5});module.exports=zy(lf);var vf=k(()=>{V5()});var JT;var K0=k(()=>{JT=[{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"}]});async function K5(T){let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${l2}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let x=await y.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=N.address.toHex(T).toLowerCase()}catch{G=T.toLowerCase()}let L=x.data.find((X)=>{return X.address.toLowerCase()===G});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(y){throw new $5.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var $5,l2="https://api.trongrid.io";var n5=k(()=>{$5=require("@swapkit/helpers")});async function n0(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(N)=>{return f.isAddress(N)}}async function b5({phrase:T,derivationPath:f,index:N}){let y=f||S.derivationPathToString(S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:N||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(T),_=x.fromMasterSeed(L).derive(y);if(!_.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function $2({phrase:T,derivationPath:f,tronWeb:N}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),G=x(T),X=y.fromMasterSeed(G).derive(f);if(!X.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");N.setPrivateKey(_);let Z=N?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(q)=>{return await N.trx.sign(q,_)}}}var S,hT,v2=268,A2=13000,F2=345,u5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",V2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",j5=async(T={})=>{let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb,y=await S.getRPCUrl(S.Chain.Tron),x=void 0,G=new N({fullHost:y,headers:void 0}),L="index"in T?T.index||0:0,X=S.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:L})),_=await hT.match(T).with({phrase:hT.P.string},async({phrase:A})=>$2({derivationPath:X,phrase:A,tronWeb:G})).with({signer:hT.P.any},({signer:A})=>Promise.resolve(A)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");return await _.getAddress()},q=()=>{return 1e8},Q=async()=>{try{let A=await G.trx.getChainParameters(),$={};for(let z of A)$[z.key]=z.value;return{bandwidthFee:$.getTransactionFee||1000,createAccountFee:$.getCreateAccountFee||1e5,energyFee:$.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(A)=>{try{let $=await G.trx.getAccount(A);return $&&Object.keys($).length>0}catch{return!1}},B=async(A)=>{try{let $=await G.trx.getAccountResources(A);return{bandwidth:{free:$.freeNetLimit-$.freeNetUsed,total:$.NetLimit||0,used:$.NetUsed||0},energy:{total:$.EnergyLimit||0,used:$.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(A,$)=>{try{let z=G.contract(JT,$);if(!z.methods?.balanceOf)return 0n;let[R]=await z.methods.balanceOf(A).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(z){let R=z instanceof Error?z.message:String(z);return console.warn(`balanceOf() failed for ${$}: ${R}`),0n}},M=async(A,$)=>{try{G.setAddress($);let z=G.contract(JT,A),[R,C]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(C??18),symbol:R??"UNKNOWN"}}catch(z){return S.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${A}: ${z instanceof Error?z.message:z}`}),null}},U=async(A,$=!0)=>{let z=[S.AssetValue.from({chain:S.Chain.Tron})];try{let R=await K5(A);if(R){let C=[];C.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let n of R.trc20){let[p,o]=Object.entries(n)[0]||[];if(!(p&&o))continue;let h=await M(p,A);if(!h)continue;C.push(S.AssetValue.from({asset:`TRON.${h.symbol}-${p}`,fromBaseDecimal:h.decimals,value:BigInt(o||0)}))}return C}return z}catch(R){S.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let C=[],n=await G.trx.getBalance(A);if(n&&Number(n)>0)C.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:n}));let p=await Y(A,u5);if(p)C.push(S.AssetValue.from({asset:`TRON.USDT-${u5}`,fromBaseDecimal:6,value:p}));if(C.length===0)return z;return C}catch(C){let n=C instanceof Error?C.message:String(C);return console.error(`Tron balance fetch failed: ${n}`),z}}},I=async({recipient:A,assetValue:$,memo:z,expiration:R})=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");let C=await Z();G.setAddress(C);let n=await K({assetValue:$,expiration:R,memo:z,recipient:A,sender:C}),p=await _.signTransaction(n),{txid:o}=await G.trx.sendRawTransaction(p);if(!o)throw new S.SwapKitError("toolbox_tron_token_transfer_failed");return o},O=async({assetValue:A,recipient:$,sender:z})=>{let R=A.isGasAsset;try{let C=z?z:_?await Z():void 0;if(!C)return R?S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:0.1}):S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:15});let n=await Q(),o=await J($)?0:n.createAccountFee,h=await B(C);if(R){let my=v2,sT=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),eT=0;if(my>sT)eT=(my-sT)*n.bandwidthFee;let yf=o+eT;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:yf})}let r=F2,Xy=A2,Qy=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),Yy=h.energy.total-h.energy.used,py=0;if(r>Qy)py=(r-Qy)*n.bandwidthFee;let aT=0;if(Xy>Yy)aT=(Xy-Yy)*n.energyFee;let df=o+py+aT;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:df})}catch(C){throw S.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${C instanceof Error?C.message:C}`}),new S.SwapKitError("toolbox_tron_fee_estimation_failed",{error:C})}},K=async(A)=>{let{recipient:$,assetValue:z,memo:R,sender:C,expiration:n}=A,p=z.isGasAsset,o=async({transaction:r,memo:Xy,expiration:Qy})=>{let Yy=Xy?await G.transactionBuilder.addUpdateData(r,Xy,"utf8"):r;return Qy?await G.transactionBuilder.extendExpiration(Yy,Qy):Yy};if(p){let r=await G.transactionBuilder.sendTrx($,z.getBaseValue("number"),C);return o({expiration:n,memo:R,transaction:r})}G.setAddress(C);let h=z.address;if(!h)throw new S.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let Xy=[{type:"address",value:$},{type:"uint256",value:z.getBaseValue("string")}],Qy={callValue:0,feeLimit:q()},{transaction:Yy}=await G.transactionBuilder.triggerSmartContract(h,"transfer(address,uint256)",Qy,Xy,C);return o({expiration:n,memo:R,transaction:Yy})}catch(r){throw new S.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:r instanceof Error?r.message:String(r)})}},V=async(A)=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");return await _.signTransaction(A)},u=async(A)=>{let{txid:$}=await G.trx.sendRawTransaction(A);return $},d=async({assetAddress:A,spenderAddress:$,from:z})=>{try{let R=G.contract(JT,A);if(!R.methods?.allowance)throw new S.SwapKitError("toolbox_tron_invalid_token_contract");let[C]=await R.methods.allowance(z,$).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(R){throw new S.SwapKitError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:A,spenderAddress:$,amount:z,from:R})=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");let C=R||await Z(),n=z!==void 0?BigInt(z).toString():V2,p="approve(address,uint256)",o=[{type:"address",value:$},{type:"uint256",value:n}],r={callValue:0,feeLimit:q()};try{let{transaction:Xy}=await G.transactionBuilder.triggerSmartContract(A,p,r,o,C),Qy=await _.signTransaction(Xy),{txid:Yy}=await G.trx.sendRawTransaction(Qy);if(!Yy)throw new S.SwapKitError("toolbox_tron_approve_failed");return Yy}catch(Xy){throw new S.SwapKitError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:u,createTransaction:K,estimateTransactionFee:O,getAddress:Z,getApprovedAmount:d,getBalance:U,isApproved:async({assetAddress:A,spenderAddress:$,from:z,amount:R})=>{let C=await d({assetAddress:A,from:z,spenderAddress:$});if(!R)return C>0n;let n=BigInt(R);return C>=n},signTransaction:V,transfer:I,tronWeb:G,validateAddress:await n0()}};var h5=k(()=>{K0();n5();S=require("@swapkit/helpers"),hT=require("ts-pattern")});var u0={};qy(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>b5,getTronAddressValidator:()=>n0,createTronToolbox:()=>j5});module.exports=zy(u0);var b0=k(()=>{K0();h5()});async function K2({chain:T,txHash:f}){let N=`${Af(T)}/push/transaction`,y=JSON.stringify({data:f});try{let x=await b.RequestClient.post(N,{body:y,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||f}catch(x){let G=await b.getRPCUrl(T);if(G){let L=JSON.stringify({id:K1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),X=await b.RequestClient.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw x}}function Af(T){return`https://api.blockchair.com/${n2(T)}`}function o5(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function n2(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function u2(T){try{let{feePerKb:f}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),N=f/1000;return Math.max(N,o5(T))}catch{return o5(T)}}async function j0(T,f){let N=await b.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!N||N.context.code!==200)throw new b.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return N.data}async function t5({address:T,chain:f,apiKey:N}){if(!T)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${Af(f)}/dashboards/address/${T}?transaction_details=true`,N))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function b2({address:T,chain:f,apiKey:N}){return(await t5({address:T,apiKey:N,chain:f}))?.address.balance||0}async function g5({chain:T,apiKey:f,txHash:N}){if(!N)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${Af(T)}/raw/transaction/${N}`,f))?.[N]?.raw_transaction||""}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Failed to fetch raw transaction: ${x}`),""}}async function j2({chain:T,address:f,apiKey:N,offset:y=0,limit:x=30}){return(await j0(`${Af(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${y}`,N)).map(({is_spent:_,script_hex:Z,block_id:q,transaction_hash:Q,index:J,value:B,spending_signature_hex:Y})=>({hash:Q,index:J,is_confirmed:q!==-1,is_spent:_,script_hex:Z,txHex:Y,value:B}))}function h2(T){return T.reduce((f,N)=>f+N.value,0)}function p5(T,f){let N=[...T].sort((y,x)=>x.value-y.value);if(f){let y=[],x=0;for(let G of N)if(y.push(G),x+=G.value,x>=f)break;return y}return N}async function i5({chain:T,address:f,apiKey:N,targetValue:y,accumulativeValue:x=0,offset:G=0,limit:L=30}){if(!f)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await j2({address:f,apiKey:N,chain:T,limit:L,offset:G,targetValue:y}),Z=X.length<L,q=X.filter(({is_spent:U})=>!U),Q=h2(q),J=x+Q,B=y&&J>=y;if(Z||B)return p5(q,y);let Y=await i5({accumulativeValue:J,address:f,apiKey:N,chain:T,limit:L,offset:G+L,targetValue:y}),M=[...q,...Y];return p5(M,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function o2({address:T,chain:f,apiKey:N,fetchTxHex:y=!0,targetValue:x}){let G=await i5({address:T,apiKey:N,chain:f,targetValue:x}),L=[];for(let{hash:X,index:_,script_hex:Z,value:q}of G){let Q;if(y)Q=await g5({apiKey:N,chain:f,txHash:X});L.push({address:T,hash:X,index:_,txHex:Q,value:q,witnessUtxo:{script:Buffer.from(Z,"hex"),value:q}})}return L}function Hy(T){let f=b.SKConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>K2({chain:T,txHash:N}),getAddressData:(N)=>t5({address:N,apiKey:f,chain:T}),getBalance:(N)=>b2({address:N,apiKey:f,chain:T}),getRawTx:(N)=>g5({apiKey:f,chain:T,txHash:N}),getSuggestedTxFee:()=>u2(T),getUtxos:(N)=>o2({...N,apiKey:f,chain:T})}}function p2(T){return T}function wy(){return function(f){switch(f){case b.Chain.Bitcoin:return c5.networks.bitcoin;case b.Chain.BitcoinCash:return qT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return qT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return qT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let N={private:70615956,public:70617039},y=qT.default.dogecoin.test;return y.versions.bip32=N,qT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return m5.networks.zcash;default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var m5,b,c5,qT;var d5=k(()=>{wT();m5=require("@bitgo/utxo-lib"),b=require("@swapkit/helpers"),c5=require("bitcoinjs-lib"),qT=W(require("coininfo"))});function c0(T){try{return Ff(T),!0}catch{return!1}}function t0(T){return Ff(T)?.network}function QT(T){let f=Ff(T);if(f?.format==="legacy")return T;return t2(f)}function oT(T){let f=Ff(T);return g2(f)}function Ff(T){try{let f=m2(T);if(f)return f}catch{}try{let f=c2(T);if(f)return f}catch{}throw new h0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function m2(T){try{let f=o0.default.decode(T);if(f.length!==21)throw new h0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let N=f[0],y=Array.prototype.slice.call(f,1);switch(N){case ry.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case ry.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case ry.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case ry.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case ry.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case ry.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function c2(T){if(T.indexOf(":")!==-1)try{return r5(T)}catch{}else{let f=["bitcoincash","bchtest","bchreg"];for(let N of f)try{return r5(`${N}:${T}`)}catch{}}return}function r5(T){try{let{hash:f,prefix:N,type:y}=p0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:N==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t2(T){let f=ry.legacy[T.network][T.type],N=Buffer.alloc(1+T.hash.length);return N[0]=f,N.set(T.hash,1),o0.default.encode(N)}function g2(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",N=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return p0.default.encode(f,N,y)}var h0,o0,p0,m0,ry;var a5=k(()=>{h0=require("@swapkit/helpers"),o0=W(require("bs58check")),p0=W(require("cashaddrjs"));((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(m0||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Cy(T){let f=Buffer.from(T,"utf8");return Kf.script.compile([Kf.opcodes.OP_RETURN,f])}var s5,Kf,i2=1000,nf=10,e5=10,d2=41,r2=107,uf,Vf,$f,pT=(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 s5.SwapKitError("toolbox_utxo_invalid_address",{address:T})},BT=({inputs:T,outputs:f,feeRate:N})=>{let y=T[0]&&"address"in T[0]&&T[0].address?pT(T[0].address):"P2PKH",x=T.filter((L)=>L.value>=Vf["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+by(X),0),G=f?.reduce((L,X)=>L+mT(X),0)||$f[y];return nf+x+G},by=(T)=>{if("type"in T)return Vf[T.type];if("address"in T&&T.address)return Vf[pT(T.address)];return d2+r2},mT=(T,f)=>{if(T?.script)return e5+T.script.length+(T.script.length>=74?2:1);if(f)return $f[f];return $f.P2PKH};var g0=k(()=>{s5=require("@swapkit/helpers"),Kf=require("bitcoinjs-lib");((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(uf||={});Vf={["P2PKH"]:148,["P2WPKH"]:68},$f={["P2PKH"]:34,["P2WPKH"]:31}});function bf(T){switch(T){case Oy.Chain.Bitcoin:case Oy.Chain.BitcoinCash:return 550;case Oy.Chain.Dash:case Oy.Chain.Litecoin:return 5500;case Oy.Chain.Dogecoin:return 1e5;case Oy.Chain.Zcash:return 546;default:throw new Oy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Ey({inputs:T,outputs:f,feeRate:N=1,chain:y=Oy.Chain.Bitcoin,changeAddress:x=""}){let G=Math.ceil(N),L=T[0]&&"address"in T[0]&&T[0].address?pT(T[0].address):"P2PKH",X=T.filter((B)=>by(B)*G<=B.value),_=nf+f.reduce((B,Y)=>B+mT(Y,L),0),Z=f.reduce((B,Y)=>B+Y.value,0),q=_*G,Q=0,J=[];for(let B of X){let Y=by(B),M=G*Y;q+=M,Q+=B.value,J.push(B);let U=q+Z;if(Q<U)continue;let I=Q-U,O=G*mT({address:"",value:0},L);if(I>O){let K=O+q,V=Q-(Z+K);if(V>Math.max(by({})*G,bf(y)))return{fee:K,inputs:J,outputs:f.concat({address:x,value:V})}}return{fee:q,inputs:J,outputs:f}}return{fee:G*BT({feeRate:G,inputs:T,outputs:f})}}var Oy;var yx=k(()=>{g0();Oy=require("@swapkit/helpers")});var YT=k(()=>{d5();a5();yx();g0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let f=ay(T);return c0(f)&&t0(f)==="mainnet"}function zT(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 f=jf.networks.zcash;try{return jf.address.toOutputScript(T,f),!0}catch{let N=Tx.default.decode(T);if(N.length<21)return!1;let y=N[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}var jf,Tx;var cT=k(()=>{YT();jf=require("@bitgo/utxo-lib"),Tx=W(require("bs58check"))});function Gx({inputs:T,outputs:f,chain:N,psbt:y,sender:x,compiledMemo:G}){for(let L of T){let X=!!L.witnessUtxo&&!tT.includes(N)&&{witnessUtxo:L.witnessUtxo},_=tT.includes(N)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};y.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of f){let X="address"in L&&L.address?L.address:x,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};ky.initEccLib(hf.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function Nx({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x,fetchTxHex:G=!1}){let L=T.chain,X=N?await Cy(N):null,_=await _x({assetValue:T,fetchTxHex:G,memo:N,recipient:f,sender:x}),{inputs:Z,outputs:q}=Ey({..._,chain:L,feeRate:y});if(!(Z&&q))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let Q=await wy(),J=new ky.Psbt({network:Q(L)});if(L===v.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:B,inputs:Y}=await Gx({chain:L,compiledMemo:X,inputs:Z,outputs:q,psbt:J,sender:x});return{inputs:Y,psbt:B,utxos:_.inputs}}async function Lx(){let T=await wy();return function({address:N,chain:y}){if(y===v.Chain.BitcoinCash)return jy(N);if(y===v.Chain.Zcash)return zT(N);try{return ky.initEccLib(hf.default),ky.address.toOutputScript(N,T(y)),!0}catch{return!1}}}async function a2({chain:T,phrase:f,derivationPath:N}){let y=(await gT(T))({derivationPath:N,phrase:f});async function x(L){return await L.signAllInputs(y),L}function G(){return d0(T)(y)}return{getAddress:G,signTransaction:x}}async function sy({chain:T,...f}){let N="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,x=v.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),G=N?await a2({chain:T,derivationPath:x,phrase:N}):("signer"in f)?f.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await Lx(),_=await gT(T);return{accumulative:Ey,broadcastTx:(Z)=>Hy(T).broadcastTx(Z),calculateTxSize:BT,createKeysForPath:_,createTransaction:Nx,estimateMaxSendableAmount:s2(T),estimateTransactionFee:e2(T),getAddress:L,getAddressFromKeys:d0(T),getBalance:TT(T),getFeeRates:()=>iT(T),getInputsOutputsFee:Xx,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:yG(G),validateAddress:(Z)=>X({address:Z,chain:T})}}async function Xx({assetValue:T,feeOptionKey:f=v.FeeOption.Fast,feeRate:N,memo:y,sender:x,recipient:G}){let L=T.chain,X=await _x({assetValue:T,memo:y,recipient:G,sender:x}),_=N?Math.floor(N):(await iT(L))[f];return Ey({...X,chain:L,feeRate:_})}function s2(T){return async function({from:N,memo:y,feeRate:x,feeOptionKey:G=v.FeeOption.Fast,recipients:L=1}){let X=await Hy(T).getAddressData(N),_=x?Math.ceil(x):(await iT(T))[G],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(bf(T),by(Y)*_));if(!Z?.length)return v.AssetValue.from({chain:T});let q=v.AssetValue.from({chain:T,value:Z.reduce((Y,M)=>Y+M.value,0)}),Q=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(y){let Y=await Cy(y);Q.push({address:N,script:Y,value:0})}let B=BT({feeRate:_,inputs:Z,outputs:Q})*_;return q.sub(B)}}function e2(T){return async(f)=>{let N=await Xx(f);return v.AssetValue.from({chain:T,value:v.SwapKitNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function gT(T){let f=await wy();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:x=`${v.DerivationPath.BCH}/0`,wif:G}){let L=f(T);if(G)return of.ECPair.fromWIF(G,L);if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return of.HDNode.fromSeedBuffer(Buffer.from(i0.mnemonicToSeedSync(y)),L).derivePath(x).keyPair};case v.Chain.Bitcoin:case v.Chain.Dogecoin:case v.Chain.Litecoin:case v.Chain.Zcash:case v.Chain.Dash:return function({phrase:y,wif:x,derivationPath:G}){if(!(x||y))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=xx.ECPairFactory(hf.default),X=f(T);if(x)return L.fromWIF(x,X);let _=i0.mnemonicToSeedSync(y),Z=fx.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new v.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function d0(T){let f=wy();return function(y){if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=tT.includes(T)?ky.payments.p2pkh:ky.payments.p2wpkh,{address:G}=x({network:f(T),pubkey:y.publicKey});if(!G)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function yG(T){return async function({memo:N,recipient:y,feeOptionKey:x,feeRate:G,assetValue:L}){let X=await T?.getAddress(),_=L.chain;if(!(T&&X))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await iT(_))[x||v.FeeOption.Fast],{psbt:q}=await Nx({assetValue:L,feeRate:Z,memo:N,recipient:y,sender:X}),Q=await T.signTransaction(q);return Q.finalizeAllInputs(),Hy(_).broadcastTx(Q.extractTransaction().toHex())}}async function iT(T){let f=await Hy(T).getSuggestedTxFee();return{[v.FeeOption.Average]:f,[v.FeeOption.Fast]:v.applyFeeMultiplier(f,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(f,v.FeeOption.Fastest)}}async function _x({assetValue:T,recipient:f,memo:N,sender:y,fetchTxHex:x=!1}){let G=T.chain,L=(await iT(G))[v.FeeOption.Fastest],X=x||tT.includes(G),_=T.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await Hy(G).getUtxos({address:y,fetchTxHex:X,targetValue:Z}),outputs:[{address:f,value:_},...N?[{address:"",script:await Cy(N),value:0}]:[]]}}var hf,of,fx,i0,v,ky,xx,tT;var dT=k(()=>{wT();YT();cT();hf=W(require("@bitcoinerlab/secp256k1")),of=require("@psf/bitcoincashjs-lib"),fx=require("@scure/bip32"),i0=require("@scure/bip39"),v=require("@swapkit/helpers"),ky=require("bitcoinjs-lib"),xx=require("ecpair"),tT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function ey(T){return ay(oT(T))}function TG(T){function f({builder:y,utxos:x}){return x.forEach((G,L)=>{y.sign(L,T,void 0,65,G.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:f}}async function r0(T){let f="phrase"in T?T.phrase:void 0,N="index"in T?T.index||0:0,y=Zy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[Iy],{index:N})),x=f?(await gT(Iy))({derivationPath:y,phrase:f}):void 0,G=x?TG(x):("signer"in T)?T.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...q}=await sy({chain:Iy});function Q(J,B=!0){return X(ay(oT(J)))}return{...q,broadcastTx:Z,buildTx:xG,createTransaction:Jx,getAddress:L,getAddressFromKeys:GG,getBalance:Q,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:fG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:jy}}async function Jx({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x}){if(!jy(f))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:f});let G=Math.ceil(T.getBaseValue("number")+y*7500),L=await Hy(Iy).getUtxos({address:ey(x),fetchTxHex:!0,targetValue:G}),X=N?await Cy(N):null,_=[];_.push({address:f,value:T.getBaseValue("number")});let{inputs:Z,outputs:q}=Ey({chain:Iy,feeRate:y,inputs:L,outputs:_});if(!(Z&&q))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let Q=await wy(),J=new WT.TransactionBuilder(Q(Iy));await Promise.all(Z.map(async(B)=>{let Y=await Hy(Iy).getRawTx(B.hash);J.addInput(WT.Transaction.fromBuffer(Buffer.from(Y,"hex")),B.index)}));for(let B of q){let Y="address"in B&&B.address?B.address:QT(x),M=await wy(),U=WT.address.toOutputScript(QT(Y),M(Iy));J.addOutput(U,B.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function fG({broadcastTx:T,getFeeRates:f,signer:N}){return async function({recipient:x,assetValue:G,feeOptionKey:L=Zy.FeeOption.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new Zy.SwapKitError("toolbox_utxo_no_signer");if(!x)throw new Zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await f())[L],{builder:q,utxos:Q}=await Jx({...X,assetValue:G,feeRate:Z,recipient:x,sender:_}),B=(await N.signTransaction({builder:q,utxos:Q})).toHex();return T(B)}}async function xG({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x,setSigHashType:G}){let L=oT(f);if(!jy(L))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Hy(Iy).getUtxos({address:ey(x),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),q=N?await Cy(N):null,Q=[];if(Q.push({address:QT(f),value:T.getBaseValue("number")}),q)Q.push({script:q,value:0});let{inputs:J,outputs:B}=Ey({chain:Iy,feeRate:Z,inputs:_,outputs:Q});if(!(J&&B))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let Y=await wy(),M=new Zx.Psbt({network:Y(Iy)});for(let{hash:U,index:I,witnessUtxo:O}of J)M.addInput({hash:U,index:I,sighashType:G?65:void 0,witnessUtxo:O});for(let U of B){let I="address"in U&&U.address?U.address:QT(x),O=U.script?q?{script:q,value:0}:void 0:{address:I,value:U.value};if(O)M.addOutput(O)}return{inputs:J,psbt:M,utxos:_}}function GG(T){let f=T.getAddress(0);return ey(f)}var WT,Zy,Zx,Iy;var pf=k(()=>{YT();dT();cT();WT=require("@psf/bitcoincashjs-lib"),Zy=require("@swapkit/helpers"),Zx=require("bitcoinjs-lib"),Iy=Zy.Chain.BitcoinCash});function Bx(){return Ry.networks.zcash}function Yx(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function NG({phrase:T,derivationPath:f}){let N=s0.mnemonicToSeedSync(T),x=a0.HDKey.fromMasterSeed(N).derive(f);if(!x.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let G=Yx(),L=Ry.ECPair.fromPrivateKey(Buffer.from(x.privateKey),{network:G}),X=Ry.crypto.hash160(L.publicKey),{isStagenet:_}=xy.SKConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([Z,X]),Q=Qx.default.encode(q);return{getAddress:()=>Promise.resolve(Q),signTransaction:(J)=>{let B=J.signAllInputs(L);return Promise.resolve(B)}}}function LG({inputs:T,outputs:f,psbt:N,sender:y,compiledMemo:x}){for(let G of T){let L=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},X=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};N.addInput({hash:G.hash,index:G.index,...L,...X})}for(let G of f){let L="address"in G&&G.address?G.address:y,X=G.script;if(X&&!x)continue;let _=X?{script:x,value:0n}:{script:Ry.address.toOutputScript(L,Bx()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:T,psbt:N}}async function qx(T){let{assetValue:f,recipient:N,memo:y,feeRate:x,sender:G,fetchTxHex:L}=T,X=y?Cy(y):null,_=await Hy(xy.Chain.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(f.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:q,outputs:Q}=Ey({chain:xy.Chain.Zcash,changeAddress:G,feeRate:x,inputs:_,outputs:Z});if(!(q&&Q))throw new xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:G});let J=Ry.bitgo.createPsbtForNetwork({network:Bx()},{version:455}),Y=3268858036,M=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),U=Buffer.allocUnsafe(4);U.writeUInt32LE(Y>>>0,0),J.addUnknownKeyValToGlobal({key:M,value:U});let{psbt:I,inputs:O}=await LG({compiledMemo:X,inputs:q,outputs:Q,psbt:J,sender:G});return{inputs:O,outputs:Q,psbt:I}}async function e0(T){let f=await HT.match(T).with({signer:HT.P.not(HT.P.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:HT.P.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||xy.NetworkDerivationPath[xy.Chain.Zcash]||[44,133,0,0,0],q=xy.updateDerivationPath(Z,{index:_}),Q=xy.derivationPathToString(q);return NG({derivationPath:Q,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await sy({chain:xy.Chain.Zcash,signer:f});async function y({recipient:L,assetValue:X,feeOptionKey:_=xy.FeeOption.Fast,...Z}){let q=await f?.getAddress();if(!(f&&q))throw new xy.SwapKitError("toolbox_utxo_no_signer");let Q=Z.feeRate||(await N.getFeeRates())[_],{psbt:J}=await qx({...Z,assetValue:X,feeRate:Q,recipient:L,sender:q}),B=await f.signTransaction(J);return B.finalizeAllInputs(),N.broadcastTx(B.extractTransaction().toHex())}function x({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=s0.mnemonicToSeedSync(L),q=a0.HDKey.fromMasterSeed(_).derive(X);if(!q.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let Q=Yx();return Ry.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:Q})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return x({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:x,createTransaction:qx,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:zT}}var Ry,a0,s0,xy,Qx,HT;var y1=k(()=>{YT();dT();cT();Ry=require("@bitgo/utxo-lib"),a0=require("@scure/bip32"),s0=require("@scure/bip39"),xy=require("@swapkit/helpers"),Qx=W(require("bs58check")),HT=require("ts-pattern")});async function XG(T,f){switch(T){case ly.Chain.BitcoinCash:return await r0(f||{});case ly.Chain.Zcash:return await e0(f);case ly.Chain.Bitcoin:case ly.Chain.Dogecoin:case ly.Chain.Litecoin:case ly.Chain.Dash:return await sy({chain:T,...f});default:throw new ly.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var ly;var zx=k(()=>{pf();dT();y1();pf();cT();ly=require("@swapkit/helpers")});var T1={};qy(T1,{validateZcashAddress:()=>zT,toLegacyAddress:()=>QT,toCashAddress:()=>oT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>tT,isValidAddress:()=>c0,getUtxoToolbox:()=>XG,getUtxoNetwork:()=>wy,getUtxoApi:()=>Hy,getUTXOAddressValidator:()=>Lx,getScriptTypeForAddress:()=>pT,getOutputSize:()=>mT,getInputSize:()=>by,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gT,detectAddressNetwork:()=>t0,createZcashToolbox:()=>e0,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>p2,createBCHToolbox:()=>r0,compileMemo:()=>Cy,calculateTxSize:()=>BT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>d0,addInputsAndOutputs:()=>Gx,accumulative:()=>Ey,UtxoNetwork:()=>m0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>nf,OutputSizes:()=>$f,OP_RETURN_OVERHEAD:()=>e5,MIN_TX_FEE:()=>i2,InputSizes:()=>Vf});module.exports=zy(T1);var f1=k(()=>{YT();zx();pf();dT();y1()});async function cf(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&N.test(f)}}}async function tf(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),y=T.index||0,x=T.derivationPath?mf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=f(T.phrase,x),L=N.fromString(G);return Ux(L)}async function x1(T){let{KeyPair:f}=await import("@near-js/crypto"),N=f.fromString(T);return Ux(N)}function Ux(T){return new Hx(T)}async function gf(T,f){let y=(await T.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!y)throw new mf.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:x}=await import("@near-js/crypto"),G=x.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var Wx,mf,Hx;var G1=k(()=>{Wx=require("@near-js/signers"),mf=require("@swapkit/helpers");Hx=class Hx extends Wx.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function N1(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function L1(T){return"contractId"in T&&"methodName"in T}function X1(T){return"actions"in T}function _1(T){return"newAccountId"in T}function Z1(T){return"contractCode"in T}function J1(T){return"customEstimator"in T}function q1(T){let f=0;for(let N of T)switch(N.enum){case"transfer":f+=Number(Jy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(Jy.CONTRACT_CALL);break;case"createAccount":f+=Number(Jy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(Jy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(Jy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(Jy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(Jy.STAKE);break;default:f+=Number(Jy.CONTRACT_CALL)}return f.toString()}function Q1(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Jy.TOKEN_TRANSFER;if(T==="storage_deposit")return Jy.STORAGE_DEPOSIT;return Jy.CONTRACT_CALL}function _G(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function ZG(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Jy;var B1=k(()=>{Jy={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 Y1({account:T,contractId:f,viewMethods:N,changeMethods:y}){let{Contract:x}=await import("@near-js/accounts");return new x(T,f,{changeMethods:y,useLocalViewExecution:!0,viewMethods:N})}async function JG(T){let{P:f,match:N}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),x=await N(T).with({phrase:f.string},async(z)=>{return await tf(z)}).with({signer:f.any},({signer:z})=>z).otherwise(()=>{return}),G=await c.getRPCUrl(c.Chain.Near),L=new y({url:G});async function X(z){let{Account:R}=await import("@near-js/accounts"),C=z||await _();return new R(C,L,x)}async function _(){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");return await x.getAddress()}async function Z(z){return(await Ly({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function q(z){let C=[await M({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await M({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return By({actions:C,receiverId:z.contractId})}async function Q(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:C,memo:n}=z,p=await _();if(!R.isGasAsset&&R.address){if(!await Z({accountId:C,contractId:R.address}))return q({assetValue:R,contractId:R.address,memo:n,recipient:C})}let o=await J({...z,sender:p});return O(o)}async function J(z){let{recipient:R,assetValue:C,memo:n,attachedDeposit:p,sender:o,functionCall:h}=z,r=await cf();if(!r(R))throw new c.SwapKitError("toolbox_near_invalid_address",{recipient:R});if(!r(o))throw new c.SwapKitError("toolbox_near_invalid_address",{signerId:o});if(h)return Y({...h,sender:o});if(!C.isGasAsset){let yf=C.address;if(!yf)throw new c.SwapKitError("toolbox_near_missing_contract_address");return Y({args:{amount:C.getBaseValue("string"),memo:n||null,receiver_id:R},attachedDeposit:p||"1",contractId:yf,gas:"250000000000000",methodName:"ft_transfer",sender:o})}let{publicKey:Xy,nonce:Qy}=await gf(L,o),Yy=C.getBaseValue("bigint"),{actionCreators:py,createTransaction:aT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),my=[py.transfer(Yy)];if(n&&p)my.push(py.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(p)));let sT=await L.block({finality:"final"}),eT=df(sT.header.hash);return aT(o,Xy,R,Qy+1,my,eT)}function B(z){let R=z.encode();return Buffer.from(R).toString("base64")}async function Y(z){let{sender:R}=z,{publicKey:C,nonce:n}=await gf(L,R),{createTransaction:p,actionCreators:o}=await import("@near-js/transactions"),{baseDecode:h}=await import("@near-js/utils"),r=await L.block({finality:"final"}),Xy=h(r.header.hash),Qy=[o.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return p(R,C,z.contractId,n+1,Qy,Xy)}async function M(z){let{actionCreators:R}=await import("@near-js/transactions");return R.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function U(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let[R,C]=await x.signTransaction(z);return C}async function I(z){return(await L.sendTransaction(z)).transaction.hash}async function O(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");try{let R=await U(z);return await I(R)}catch{return x.signAndSendTransactions?.({transactions:[z]})}}async function K(z){if("assetValue"in z){let p=BigInt("115123062500")+BigInt("108059500000"),o=await V(),h=p*BigInt(o.toString()),{baseDecimal:r}=c.getChainConfig(c.Chain.Near);return c.AssetValue.from({chain:c.Chain.Near,fromBaseDecimal:r,value:h.toString()})}let R=x?await X():void 0;return A(z,R)}async function V(){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,R,C){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let n=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:o}=await import("@near-js/crypto"),h=p(C)||"0";return(await n.createAccount(z,o.fromString(R),BigInt(h))).transaction.hash}async function d(z){try{if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:C,methodName:n,args:p,deposit:o}=z,h=await X(),r=await A({args:p||{},contractId:C,methodName:n}),Xy=R.functionCall(n,p||{},r.getBaseValue("bigint"),BigInt(o||"1"));return(await h.signAndSendTransaction({actions:[Xy],receiverId:C})).transaction_outcome.id}catch(R){throw new c.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function Ly(z){let R=await X();return Y1({account:R,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function By(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new c.SwapKitError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function A(z,R){let{baseDecimal:C}=c.getChainConfig(c.Chain.Near),n=await N(z).when(N1,()=>Jy.SIMPLE_TRANSFER).when(L1,(h)=>Q1(h.methodName)).when(X1,(h)=>q1(h.actions)).when(_1,()=>Jy.ACCOUNT_CREATION).when(Z1,()=>Jy.CONTRACT_DEPLOYMENT).when(J1,(h)=>{if(!R)throw new c.SwapKitError("toolbox_near_no_account");return h.customEstimator(R)}).otherwise(()=>{throw new c.SwapKitError("toolbox_near_invalid_gas_params")}),o=BigInt(n)*BigInt(1000000000000);return c.AssetValue.from({chain:c.Chain.Near,fromBaseDecimal:C,value:o})}async function $(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:I,callFunction:d,createAction:M,createContract:Ly,createContractFunctionCall:Y,createSubAccount:u,createTransaction:J,estimateGas:A,estimateTransactionFee:K,executeBatchTransaction:By,getAddress:_,getBalance:TT(c.Chain.Near),getGasPrice:$,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>tf(z),getSignerFromPrivateKey:x1,provider:L,serializeTransaction:B,signAndSendTransaction:O,signTransaction:U,transfer:Q,validateAddress:await cf()}}var c;var z1=k(()=>{wT();G1();B1();c=require("@swapkit/helpers")});var Mx=k(()=>{z1()});var W1={};qy(W1,{tgasToGas:()=>_G,isSimpleTransfer:()=>N1,isCustomEstimator:()=>J1,isContractDeployment:()=>Z1,isContractCall:()=>L1,isBatchTransaction:()=>X1,isAccountCreation:()=>_1,getValidateNearAddress:()=>cf,getNearToolbox:()=>JG,getNearSignerFromPrivateKey:()=>x1,getNearSignerFromPhrase:()=>tf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>Q1,gasToTGas:()=>ZG,estimateBatchGas:()=>q1,createNearContract:()=>Y1,GAS_COSTS:()=>Jy});module.exports=zy(W1);var H1=k(()=>{G1();B1();z1();Mx()});var U1={};qy(U1,{radixValidateAddress:()=>Ix,RadixToolbox:()=>zG});module.exports=zy(U1);function Ix(T){return T.startsWith("account_rdx1")&&T.length===66}function qG({networkApi:T}){return async function(N){let y=await QG({address:N,networkApi:T});return BG({networkApi:T,resources:y})}}async function QG({address:T,networkApi:f}){let N=!0,y,x=[],G=await YG(f);while(N){let L={address:T,at_ledger_state:{state_version:G},cursor:y,limit_per_page:100},X=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(x=x.concat(X.items),X.next_cursor)y=X.next_cursor;else N=!1}return x}async function BG({resources:T,networkApi:f}){let N=[],y=50,x=[];for(let G=0;G<T.length;G+=50)x.push(T.slice(G,G+50));for(let G of x){let L=G.map((Z)=>Z.resource_address),X=await f.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let q=Z.metadata?.items.find((J)=>J.key==="symbol"),Q=q?.value.typed.type==="String"?q.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:Q})}for(let Z of G)if(Z.aggregation_level==="Global"){let q=_.get(Z.resource_address)||{decimals:0,symbol:"?"},Q=vy.AssetValue.from({asset:q.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${q.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(Q)}}return N}function YG(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var vy,zG=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,x=f({...y,networkId:y.network?.networkId||1}),G=N.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:qG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:Ix}};var M1=k(()=>{vy=require("@swapkit/helpers")});var R1={};qy(R1,{rippleValidateAddress:()=>I1,hashes:()=>wx.hashes,getRippleToolbox:()=>HG});module.exports=zy(R1);function Rx(T){let f=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(N)=>Promise.resolve(f.sign(N))}}function I1(T){return hy.isValidAddress(T)}var t,hy,wx,WG,HG=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?Rx(T.phrase):void 0,N=await t.getRPCUrl(t.Chain.Ripple);if(!N)throw new t.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:t.Chain.Ripple}});let y=new hy.Client(N);await y.connect();let x=()=>{if(!f)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},G=async(J)=>{let B=J||await x(),{baseDecimal:Y}=t.getChainConfig(t.Chain.Ripple);try{let U=(await y.request({account:B,command:"account_info"})).result.account_data.Balance;return[t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:Y,value:U})]}catch(M){if(M.data.error_code===WG.ACCOUNT_NOT_FOUND)return[t.AssetValue.from({chain:t.Chain.Ripple,value:0})];throw new t.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:B,error:M}})}},L=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=t.getChainConfig(t.Chain.Ripple);return t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:Y,value:t.SwapKitNumber.fromBigInt(BigInt(B),Y)})},X=async({assetValue:J,recipient:B,memo:Y,sender:M})=>{if(!I1(B))throw new t.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let U=M||await x();if(!J.isGasAsset||J.chain!==t.Chain.Ripple)throw new t.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let I={Account:U,Amount:hy.xrpToDrops(J.getValue("string")),Destination:B,TransactionType:"Payment"};if(Y)I.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await y.autofill(I)},_=(J)=>{if(!f)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(J)},Z=async(J)=>{let Y=(await y.submitAndWait(J)).result;if(Y.validated)return Y.hash;throw new t.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:t.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:Rx,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:L,getAddress:x,getBalance:G,signer:f,signTransaction:_,transfer:async(J)=>{if(!f)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let B=await f.getAddress(),Y=await X({...J,sender:B}),M=await _(Y);return Z(M.tx_blob)},validateAddress:I1}};var w1=k(()=>{t=require("@swapkit/helpers"),hy=require("xrpl"),wx=require("xrpl"),WG={ACCOUNT_NOT_FOUND:19}});async function UG(T,f,N){try{let y=await T.query.system?.account?.(N);if(!y)return[f.set(0)];let{data:{free:x}}=y,G=yT.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Error fetching substrate balance: ${x}`),[]}}async function MG(T,f,N){try{let y=await T.query.flip?.account?.(N);if(!y)return[f.set(0)];let x=y.balance||y.data?.balance;if(!x||x.isEmpty)return[f.set(0)];let G=yT.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Error fetching chainflip balance: ${x}`),[]}}function Cx(T,f){return function(y){let x=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return MG(f,x,y);default:return UG(f,x,y)}}}var yT;var Ox=k(()=>{yT=require("@swapkit/helpers")});var IG,RG,wG,oy;var C1=k(()=>{IG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},RG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},wG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},oy={DOT:IG,FLIP:RG,GENERIC:wG}});function CG(T,f){switch(T){case s.Chain.Chainflip:return kx(f);case s.Chain.Polkadot:return Ex(f);default:throw new s.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function UT(T){return"address"in T}async function E1(T,f){let{Keyring:N}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new N({ss58Format:f,type:"sr25519"}).addFromUri(T)}function lG(T,f){let N=IT.decodeAddress(T);return IT.encodeAddress(N,f)}function Dx(T,f){return MT.isHex(T)?MT.hexToU8a(T):IT.decodeAddress(T,void 0,f)}function Px(T,f="ss58",N){if(f==="hex")return MT.u8aToHex(T);return IT.encodeAddress(T,N)}async function P1({generic:T,chain:f,...N}){let{ApiPromise:y,WsProvider:x}=await import("@polkadot/api"),G=await s.getRPCUrl(f),L=new x(G),X=await y.create({noInitWarn:!0,provider:L}),_=s.AssetValue.from({chain:f}),Z=T?oy.GENERIC:oy[f],q=await rT.match(N).with({phrase:rT.P.string},({phrase:Q})=>E1(Q,oy[f].prefix)).with({signer:rT.P.any},({signer:Q})=>Q).otherwise(()=>{return});return Sx({api:X,chain:f,gasAsset:_,network:Z,signer:q})}var MT,IT,s,rT,Ex=({generic:T=!1,...f}={})=>{return P1({chain:s.Chain.Polkadot,generic:T,...f})},kx=async({generic:T=!1,...f}={})=>{return{...await P1({chain:s.Chain.Chainflip,generic:T,...f})}},k1=(T,f)=>T.rpc.system.accountNextIndex(f),O1=(T,f)=>{try{let N=Dx(T,f);return Px(N,"ss58",f),!0}catch{return!1}},D1=(T,{recipient:f,assetValue:N})=>T.tx.balances?.transferAllowDeath?.(f,N.getBaseValue("number")),OG=async(T,f,{recipient:N,assetValue:y,sender:x})=>{let G=D1(T,{assetValue:y,recipient:N});if(!G)throw new s.SwapKitError("toolbox_substrate_transfer_error");let L=UT(f),X=L?f.address:x;if(!X)throw new s.SwapKitError("core_transaction_invalid_sender_address");let _=await k1(T,X);return(await G.signAndSend(L?f:X,{nonce:_,signer:L?void 0:f})).toString()},EG=async(T,f,N,{recipient:y,assetValue:x,sender:G})=>{let L=D1(T,{assetValue:x,recipient:y}),X=UT(f)?f.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await k1(T,X)})||{partialFee:0};return N.set(s.SwapKitNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},kG=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},DG=async(T,f)=>{return await f.signAsync(T)},PG=(T,f,N)=>{if(N)return f.signAndSend(T,N);return f.signAndSend(T).toString()},SG=async({signer:T,address:f,tx:N,callback:y,api:x})=>{let G=await k1(x,f);if(y)N.signAndSend(f,{nonce:G,signer:T},y);return N.signAndSend(f,{nonce:G,signer:T}).toString()},Sx=({api:T,network:f,gasAsset:N,signer:y,chain:x})=>({api:T,broadcast:kG,convertAddress:lG,createKeyring:(G)=>E1(G,f.prefix),createTransaction:(G)=>D1(T,G),decodeAddress:Dx,encodeAddress:Px,estimateTransactionFee:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return EG(T,y,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||y;if(!L)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return UT(L)?L.address:void 0},getBalance:Cx(x||s.Chain.Polkadot,T),network:f,sign:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return DG(y,G);throw new s.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:L,address:X})=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return PG(y,G,L);if(X)return SG({address:X,api:T,callback:L,signer:y,tx:G});throw new s.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return OG(T,y,G)},validateAddress:(G)=>O1(G,f.prefix)}),vG=({address:T,chain:f})=>{let{prefix:N}=f===s.Chain.Polkadot?oy.DOT:oy.FLIP;return O1(T,N)||O1(T,oy.GENERIC.prefix)};var lx=k(()=>{Ox();C1();MT=require("@polkadot/util"),IT=require("@polkadot/util-crypto"),s=require("@swapkit/helpers"),rT=require("ts-pattern")});var S1={};qy(S1,{substrateValidateAddress:()=>vG,isKeyringPair:()=>UT,getSubstrateToolbox:()=>CG,createSubstrateToolbox:()=>P1,createKeyring:()=>E1,SubstrateNetwork:()=>oy,PolkadotToolbox:()=>Ex,ChainflipToolbox:()=>kx,BaseSubstrateToolbox:()=>Sx});module.exports=zy(S1);var l1=k(()=>{lx();C1()});var VG={};qy(VG,{getToolbox:()=>v1,getFeeEstimator:()=>FG,getAddressValidator:()=>AG});module.exports=zy(VG);var P=require("@swapkit/helpers");async function AG(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:f}=await Promise.resolve().then(() => (N5(),G5)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (q0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),kf)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => ($0(),V0)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Sf(),Pf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (vf(),lf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (b0(),u0)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (f1(),T1)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (H1(),W1)),{radixValidateAddress:q}=await Promise.resolve().then(() => (M1(),U1)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (w1(),R1)),{substrateValidateAddress:J}=await Promise.resolve().then(() => (l1(),S1)),B=await N(),Y=await Z(),M=await x(),U=await G(),I=await L(),O=await X(),K=await _();return function({address:u,chain:d}){return T(d).with(...P.EVMChains,()=>f({address:u})).with(...P.UTXOChains,()=>K({address:u,chain:d})).with(P.Chain.Cosmos,P.Chain.Kujira,P.Chain.Noble,P.Chain.Maya,P.Chain.THORChain,(By)=>{return y(By)(u)}).with(P.Chain.Chainflip,P.Chain.Polkadot,()=>J({address:u,chain:d})).with(P.Chain.Radix,()=>q(u)).with(P.Chain.Near,()=>Y(u)).with(P.Chain.Ripple,()=>Q(u)).with(P.Chain.Solana,()=>M(u)).with(P.Chain.Sui,()=>U(u)).with(P.Chain.Ton,()=>I(u)).with(P.Chain.Tron,()=>O(u)).with(P.Chain.Cardano,()=>B(u)).otherwise(()=>!1)}}function FG(T){return async function(N){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...P.EVMChains,async(x)=>{let G=await v1(x),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:x,feeOption:N.feeOptionKey||P.FeeOption.Fast})}).with(P.Chain.Bitcoin,P.Chain.BitcoinCash,P.Chain.Dogecoin,P.Chain.Dash,P.Chain.Litecoin,P.Chain.Polkadot,P.Chain.Solana,P.Chain.Ripple,P.Chain.Tron,P.Chain.Near,P.Chain.Cardano,async(x)=>{return(await v1(x)).estimateTransactionFee(N)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (Sf(),Pf));return(await x()).estimateTransactionFee(N)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (vf(),lf));return(await x()).estimateTransactionFee()}).with(...P.CosmosChains,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (Df(),kf));return x(N)}).otherwise(async()=>P.AssetValue.from({chain:T}))}}async function v1(T,f){let{match:N}=await import("ts-pattern");return N(T).returnType().with(...P.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (_0(),T5));return await y(T,f)}).with(...P.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (f1(),T1));return await y(T,f)}).with(...P.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),kf));return await y(T,f)}).with(...P.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (l1(),S1));return await y(T,f)}).with(P.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (M1(),U1));return await y(f)}).with(P.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (w1(),R1));return await y(f)}).with(P.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => ($0(),V0));return await y(f)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Sf(),Pf));return await y(f)}).with(P.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (b0(),u0));return await y(f)}).with(P.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (H1(),W1));return await y(f)}).with(P.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (q0(),J0));return await y(f)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (vf(),lf));return await y(f)}).otherwise(()=>{throw new P.SwapKitError("toolbox_not_supported",{chain:T})})}
1
+ var vx=Object.create;var{getPrototypeOf:Ax,defineProperty:RT,getOwnPropertyNames:F1,getOwnPropertyDescriptor:Fx}=Object,V1=Object.prototype.hasOwnProperty;var W=(T,f,N)=>{N=T!=null?vx(Ax(T)):{};let y=f||!T||!T.__esModule?RT(N,"default",{value:T,enumerable:!0}):N;for(let x of F1(T))if(!V1.call(y,x))RT(y,x,{get:()=>T[x],enumerable:!0});return y},A1=new WeakMap,zy=(T)=>{var f=A1.get(T),N;if(f)return f;if(f=RT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")F1(T).map((y)=>!V1.call(f,y)&&RT(f,y,{get:()=>T[y],enumerable:!(N=Fx(T,y))||N.enumerable}));return A1.set(T,f),f};var qy=(T,f)=>{for(var N in f)RT(T,N,{get:f[N],enumerable:!0,configurable:!0,set:(y)=>f[N]=()=>y})};var k=(T,f)=>()=>(T&&(f=T(T=0)),f);function K1(){function T(){let f=Date.now(),N=rf||f;return rf=N,f>rf?f:N+1}return Vx+T().toString(36)}function TT(T){return async function(N,y=!0){let x=await $1.SwapKitApi.getChainBalance({address:N,chain:T,scamFilter:y}),{baseDecimal:G}=Tf.getChainConfig(T);return x.map(({identifier:L,value:X,decimal:_})=>{return new Tf.AssetValue({decimal:_||G,identifier:L,value:X})})}}var Tf,$1,Vx,rf=0;var wT=k(()=>{Tf=require("@swapkit/helpers"),$1=require("@swapkit/helpers/api"),Vx=typeof process<"u"&&process.pid?process.pid.toString(36):""});function CT(T){return{getBalance:TT(T)}}function $x(T){return T}var ff=k(()=>{wT()});async function cy(T,f){let{JsonRpcProvider:N}=await import("ethers");return new N(f||await i.getRPCUrl(T))}function OT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function af(T){let{explorerUrl:f,chainIdHex:N,rpcUrls:y}=i.getChainConfig(T);return()=>T===i.Chain.Ethereum?void 0:{...Kx({chain:T}),blockExplorerUrls:[f],chainId:N,rpcUrls:y}}function sf(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function Kx({chain:T}){let{name:f,nativeCurrency:N,baseDecimal:y}=i.getChainConfig(T);return n1.match(T).with(i.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:y,name:"Avalanche",symbol:T}})).with(i.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:y,name:"Berachain",symbol:"BERA"}})).with(i.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:y,name:"OKB",symbol:"OKB"}})).with(i.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:y,name:"Binance Coin",symbol:"BNB"}})).with(i.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:y,name:"xDAI",symbol:"XDAI"}})).with(i.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:y,name:"Ethereum",symbol:i.Chain.Ethereum}})).with(i.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:y,name:"Polygon",symbol:i.Chain.Polygon}})).otherwise(()=>({chainName:f,nativeCurrency:{decimals:y,name:N,symbol:N}}))}var i,n1;var fT=k(()=>{i=require("@swapkit/helpers"),n1=require("ts-pattern")});var u1;var b1=k(()=>{u1=[{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"}]});function GT({chain:T=H.Chain.Ethereum,provider:f,signer:N,isEIP1559Compatible:y=!0}){return{approve:hx({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),approvedAmount:p1({chain:T,provider:f}),broadcastTransaction:f.broadcastTransaction,call:G0({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),createApprovalTx:cx({chain:T,provider:f,signer:N}),createContract:T0({chain:T,provider:f}),createContractTxObject:ty({chain:T,provider:f}),createTransaction:ef({chain:T,provider:f,signer:N}),createTransferTx:ef({chain:T,provider:f,signer:N}),EIP1193SendTransaction:LT(f),estimateCall:m1({provider:f,signer:N}),estimateGasLimit:px({chain:T,provider:f,signer:N}),estimateGasPrices:gy({chain:T,isEIP1559Compatible:y,provider:f}),estimateTransactionFee:tx({chain:T,isEIP1559Compatible:y,provider:f}),getAddress:()=>{return N?N.getAddress():void 0},isApproved:jx({chain:T,provider:f}),sendTransaction:c1({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),signMessage:N?(x)=>N.signMessage(x):void 0,transfer:ox({chain:T,isEIP1559Compatible:y,provider:f,signer:N}),validateAddress:(x)=>y0({address:x})}}function y0({address:T}){try{return Wy.getAddress(T),!0}catch{return!1}}function NT(T){return T instanceof Wy.BrowserProvider}function kT(T,f,N){return new Wy.Contract(T,Wy.Interface.from(f),N)}function T0({provider:T}){return function(N,y){return new Wy.Contract(N,Wy.Interface.from(y),T)}}function f0({abi:T,funcName:f}){let N=T.find((y)=>y.name===f);if(!N)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return N.stateMutability&&nx.includes(N.stateMutability)}function h1(T){return Wy.getAddress(T)}function LT(T){return function({value:N,...y}){if(!NT(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=y;return T.send("eth_sendTransaction",[{..._,value:OT(BigInt(N||0))}])}}function o1(T,f){let N=XT(T,f);if(N)return Wy.getAddress(N.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:f,ticker:N},y){try{let x=T===H.Chain.BinanceSmartChain&&f==="BNB"&&N==="BNB",G=T===y&&f===y&&N===y,L=bx.includes(T)&&f==="ETH"&&N==="ETH";if(G||x||L)return x0[y];return Wy.getAddress(f.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function ty({provider:T}){return async({contractAddress:f,abi:N,funcName:y,funcParams:x=[],txOverrides:G})=>kT(f,N,T).getFunction(y).populateTransaction(...x.concat(G).filter((L)=>typeof L<"u"))}function gy({chain:T,provider:f,isEIP1559Compatible:N=!0}){return j1.match(T).with(H.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:x,maxPriorityFeePerGas:G}=await f.getFeeData();if(!x||G===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Average),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Average)},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}catch(x){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).with(H.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:x}=await f.getFeeData();if(!x)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:x},[H.FeeOption.Fast]:{gasPrice:x},[H.FeeOption.Fastest]:{gasPrice:x}}}catch(x){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:G,gasPrice:L}=await f.getFeeData();if(N){if(x===null||G===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:G},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(x,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(G,H.FeeOption.Fastest)}}}if(!L)throw new H.SwapKitError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest)}}}catch(x){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}})}function G0({provider:T,isEIP1559Compatible:f,signer:N,chain:y}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:q={},feeOption:Q=H.FeeOption.Fast}){let J=G||T;if(!L)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=f0({abi:X,funcName:_});if(B&&NT(J)&&N){let M=ty({chain:y,provider:J}),I=q?.from||await N?.getAddress(),O=await M({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...q,from:I}});return LT(J)(O)}let Y=kT(L,X,J);if(B){if(!N)throw new H.SwapKitError("toolbox_evm_no_signer");let M=q?.from||await N.getAddress();if(!M)throw new H.SwapKitError("toolbox_evm_no_signer_address");let I=Y.connect(N),O=gy({chain:y,isEIP1559Compatible:f,provider:T}),{maxFeePerGas:K,maxPriorityFeePerGas:V,gasPrice:u}=(await O())[Q],d=await Y.getFunction(_).estimateGas(...Z,q),Ly=await I[_](...Z,{...q,gasLimit:d,gasPrice:u,maxFeePerGas:K,maxPriorityFeePerGas:V,nonce:q?.nonce||await J.getTransactionCount(M)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let U=await Y[_]?.(...Z);return typeof U?.hash==="string"?U?.hash:U}}function p1({provider:T,chain:f}){return function({assetAddress:y,spenderAddress:x,from:G}){return G0({chain:f,isEIP1559Compatible:!0,provider:T})({abi:xT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[G,x]})}}function jx({provider:T,chain:f}){return async function({assetAddress:y,spenderAddress:x,from:G,amount:L=ET}){let X=await p1({chain:f,provider:T})({assetAddress:y,from:G,spenderAddress:x});return H.SwapKitNumber.fromBigInt(X).gte(H.SwapKitNumber.fromBigInt(BigInt(L)))}}function hx({signer:T,isEIP1559Compatible:f=!0,provider:N,chain:y}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=H.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:q,nonce:Q}){let J=[L,BigInt(_||ET)],B=await T?.getAddress()||q,Y={abi:xT.erc20ABI,contractAddress:G,funcName:"approve",funcParams:J,signer:T,txOverrides:{from:B}};if(NT(N)){let M=ty({chain:y,provider:N}),I=LT(N),O=await M(Y);return I(O)}return G0({chain:y,isEIP1559Compatible:f,provider:N,signer:T})({...Y,feeOption:X,funcParams:J,txOverrides:{from:B,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:Q}})}}function ox({signer:T,isEIP1559Compatible:f=!0,provider:N}){return async function({assetValue:x,memo:G,recipient:L,feeOptionKey:X=H.FeeOption.Fast,sender:_,...Z}){let{hexlify:q,toUtf8Bytes:Q}=await import("ethers"),J=x.getBaseValue("bigint"),B=x.chain,Y=_||await T?.getAddress(),U=c1({chain:B,isEIP1559Compatible:f,provider:N,signer:T});if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset){let u={...Z,data:q(Q(G||"")),feeOptionKey:X,from:Y,to:L,value:J};return U(u)}if(!XT(x,B))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:I,maxPriorityFeePerGas:O,gasPrice:K}=(await gy({chain:B,isEIP1559Compatible:f,provider:N})())[X],V=await ef({chain:B,provider:N,signer:T})({assetValue:x,data:q(Q(G||"")),gasPrice:K,maxFeePerGas:I,maxPriorityFeePerGas:O,memo:G,recipient:L,sender:Y});return U(V)}}function m1({provider:T,signer:f}){return function({contractAddress:y,abi:x,funcName:G,funcParams:L=[],txOverrides:X}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let _=kT(y,x,T);return f?_.connect(f).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function px({provider:T,signer:f}){return async function({assetValue:y,recipient:x,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:q}){let Q=y.bigIntValue,J=y.isGasAsset?null:XT(y,y.chain);if(J&&_)return m1({provider:T,signer:f})({abi:xT.erc20ABI,contractAddress:J,funcName:_,funcParams:Z,txOverrides:q});let{hexlify:B,toUtf8Bytes:Y}=await import("ethers");return T.estimateGas({data:L?L:G?B(Y(G)):void 0,from:X,to:x,value:Q})}}function c1({provider:T,signer:f,isEIP1559Compatible:N=!0,chain:y}){return async function({feeOptionKey:G=H.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:q,...Q}=L;if(!f)throw new H.SwapKitError("toolbox_evm_no_signer");if(!_)throw new H.SwapKitError("toolbox_evm_no_to_address");let J={...Q,data:Z||"0x",from:X,to:_,value:BigInt(q||0)};if(NT(T))return LT(T)(J);let B=X||await f.getAddress(),Y=L.nonce||await T.getTransactionCount(B),U=(await T.getNetwork()).chainId,M=mx(J)||N,I=gy({chain:y,isEIP1559Compatible:N,provider:T}),O=M&&!(J.maxFeePerGas&&J.maxPriorityFeePerGas)||!J.gasPrice?Object.entries((await I())[G]).reduce((V,[u,d])=>({...V,[u]:OT(BigInt(d))}),{}):{},K;try{K=OT(J.gasLimit||await T.estimateGas(J)*11n/10n)}catch(V){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:V})}try{let V={...J,chainId:U,gasLimit:K,nonce:Y,type:M?2:0,...O};try{return(await f.sendTransaction(V)).hash}catch{let u=await f.signTransaction({...V,from:B});return(await T.broadcastTransaction(u)).hash}}catch(V){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:V})}}}function ef({provider:T,signer:f}){return async function({assetValue:y,memo:x,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:q,...Q}){let J=y.getBaseValue("bigint"),B=y.chain,Y=X||await f?.getAddress();if(!Y)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:I,toUtf8Bytes:O}=await import("ethers");return{...Q,data:L||I(O(x||"")),from:Y,to:G,value:J}}let U=XT(y,B);if(!U)throw new H.SwapKitError("toolbox_evm_no_contract_address");return ty({chain:y.chain,provider:T})({abi:xT.erc20ABI,contractAddress:U,funcName:"transfer",funcParams:[G,J],txOverrides:{from:Y,gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function cx({provider:T,signer:f,chain:N}){return async function({assetAddress:x,spenderAddress:G,amount:L,from:X}){let _=await f?.getAddress()||X,Z=ty({chain:N,provider:T}),q=["bigint","number"].includes(typeof L)?L:L||ET;return await Z({abi:xT.erc20ABI,contractAddress:x,funcName:"approve",funcParams:[G,BigInt(q)],txOverrides:{from:_}})}}function tx({provider:T,isEIP1559Compatible:f=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:x,...G}){let X=await gy({chain:x,isEIP1559Compatible:f,provider:T})(),_=await T.estimateGas(G),Z=H.AssetValue.from({chain:x}),{gasPrice:q,maxFeePerGas:Q,maxPriorityFeePerGas:J}=X[y];if(!f&&q)return Z.set(H.SwapKitNumber.fromBigInt(q*_,Z.decimal));if(Q&&J){let B=(Q+J)*_;return Z.set(H.SwapKitNumber.fromBigInt(B,Z.decimal))}throw new H.SwapKitError("toolbox_evm_no_gas_price")}}var H,xT,Wy,j1,ET,nx,ux,x0,bx,mx=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var xf=k(()=>{fT();H=require("@swapkit/helpers"),xT=require("@swapkit/helpers/contracts"),Wy=require("ethers"),j1=require("ts-pattern"),ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");nx=["payable","nonpayable"];ux=H.EVMChains.reduce((T,f)=>{return T[f]="0x0000000000000000000000000000000000000000",T},{}),x0={...ux,[H.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[H.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},bx=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism]});async function Gf({provider:T,...f}){let N=await Gy(a.Chain.Ethereum)({provider:T,...f});async function y(x,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=a.FeeOption.Fast){let _=await N.createContractTxObject({abi:u1,contractAddress:G,funcName:L,funcParams:[x]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:y}}function Gy(T){return async function({provider:N,...y}){let{HDNodeWallet:x}=await import("ethers"),G=await a.getRPCUrl(T),L=N||await cy(T,G),X=sf(T),_=DT.match(y).with({phrase:DT.P.string},({phrase:q})=>x.fromPhrase(q).connect(L)).with({signer:DT.P.any},({signer:q})=>q).otherwise(()=>{return});return{...GT({chain:T,isEIP1559Compatible:X,provider:L,signer:_}),getBalance:CT(T).getBalance,getNetworkParams:af(T)}}}var a,DT,Nf,Lf,Xf,_f,Zf,Jf,t1,qf,Qf,Bf,Yf,zf,Wf,PT,Hf,Uf,Mf,If;var N0=k(()=>{ff();b1();fT();xf();a=require("@swapkit/helpers"),DT=require("ts-pattern");Nf=Gy(a.Chain.Arbitrum),Lf=Gy(a.Chain.Aurora),Xf=Gy(a.Chain.Avalanche),_f=Gy(a.Chain.Base),Zf=Gy(a.Chain.Berachain),Jf=Gy(a.Chain.BinanceSmartChain),t1=Gy(a.Chain.Botanix),qf=Gy(a.Chain.Core),Qf=Gy(a.Chain.Corn),Bf=Gy(a.Chain.Cronos),Yf=Gy(a.Chain.Gnosis),zf=Gy(a.Chain.Hyperevm),Wf=Gy(a.Chain.Polygon),PT=Gy(a.Chain.Sonic),Hf=Gy(a.Chain.Unichain),Uf=Gy(a.Chain.XLayer),Mf=Gy(a.Chain.Monad),If=Gy(a.Chain.MegaETH)});var g1;var i1=k(()=>{g1=[{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"}]});function L0(T){return new Rf.Contract(ix,g1,T)}function d1(T){return async function(){let N=L0(T);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function r1(T){return async function({from:N,to:y,nonce:x,...G}){let{Transaction:L}=await import("ethers");if(!y)throw new m.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:x?x:N?await T.getTransactionCount(N):0,to:y}).serialized}}function a1(T){return async function(N){let y=L0(T),x=await r1(T)(N);if(y&&"getL1Fee"in y)return y.getL1Fee(x)}}function s1(T){return async function(N){let y=await T.send("eth_gasPrice",[]),x=await T.estimateGas(N);return y.mul(x)}}function dx(T){return async function(N){let y=await a1(T)(N),x=await s1(T)(N);return y.add(x)}}function rx(T){return async function(N){let y=L0(T),x=await r1(T)(N);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(x)}}function ax(){let{baseDecimal:T,chainId:f,explorerUrl:N,name:y,rpcUrls:x}=m.getChainConfig(m.Chain.Optimism);return{blockExplorerUrls:[N],chainId:f,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:m.Chain.Ethereum},rpcUrls:x}}async function sx(T){try{let{maxFeePerGas:f,maxPriorityFeePerGas:N,gasPrice:y}=await T.getFeeData(),x=await d1(T)(),G=y;if(!(f&&N))throw new m.SwapKitError("toolbox_evm_no_fee_data");return{[m.FeeOption.Average]:{gasPrice:G,l1GasPrice:x,maxFeePerGas:f,maxPriorityFeePerGas:N},[m.FeeOption.Fast]:{gasPrice:m.applyFeeMultiplierToBigInt(G,m.FeeOption.Fast),l1GasPrice:m.applyFeeMultiplierToBigInt(x||0n,m.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:m.applyFeeMultiplierToBigInt(N,m.FeeOption.Fast)},[m.FeeOption.Fastest]:{gasPrice:m.applyFeeMultiplierToBigInt(G,m.FeeOption.Fastest),l1GasPrice:m.applyFeeMultiplierToBigInt(x||0n,m.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:m.applyFeeMultiplierToBigInt(N,m.FeeOption.Fastest)}}}catch(f){throw new m.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function wf({provider:T,...f}){let N=m.Chain.Optimism,y=await m.getRPCUrl(N),x=T||await cy(N,y),G=ST.match(f).with({phrase:ST.P.string},({phrase:_})=>Rf.HDNodeWallet.fromPhrase(_).connect(x)).with({signer:ST.P.any},({signer:_})=>_).otherwise(()=>{return}),L=GT({provider:x,signer:G}),X=d1(x);return{...L,estimateGasPrices:sx(x),estimateL1Gas:rx(x),estimateL1GasCost:a1(x),estimateL2GasCost:s1(x),estimateTotalGasCost:dx(x),getBalance:CT(m.Chain.Optimism).getBalance,getL1GasPrice:X,getNetworkParams:ax}}var m,Rf,ST,ix="0x420000000000000000000000000000000000000f";var X0=k(()=>{ff();i1();fT();xf();m=require("@swapkit/helpers"),Rf=require("ethers"),ST=require("ts-pattern")});var T5={};qy(T5,{toChecksumAddress:()=>h1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getEvmToolbox:()=>y5,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>o1,evmValidateAddress:()=>y0,createContract:()=>kT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>t1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});async function y5(T,f){let N={...f,provider:f?.provider||await cy(T)};return e1.match(T).returnType().with(e.Chain.Arbitrum,()=>Nf(N)).with(e.Chain.Aurora,()=>Lf(N)).with(e.Chain.Avalanche,()=>Xf(N)).with(e.Chain.Base,()=>_f(N)).with(e.Chain.Berachain,()=>Zf(N)).with(e.Chain.BinanceSmartChain,()=>Jf(N)).with(e.Chain.Botanix,()=>PT(N)).with(e.Chain.Core,()=>qf(N)).with(e.Chain.Corn,()=>Qf(N)).with(e.Chain.Cronos,()=>Bf(N)).with(e.Chain.Ethereum,()=>Gf(N)).with(e.Chain.Gnosis,()=>Yf(N)).with(e.Chain.Hyperevm,()=>zf(N)).with(e.Chain.Optimism,()=>wf(N)).with(e.Chain.Polygon,()=>Wf(N)).with(e.Chain.Sonic,()=>PT(N)).with(e.Chain.Unichain,()=>Hf(N)).with(e.Chain.XLayer,()=>Uf(N)).with(e.Chain.Monad,()=>Mf(N)).with(e.Chain.MegaETH,()=>If(N)).exhaustive()}var e,e1;var _0=k(()=>{fT();N0();X0();e=require("@swapkit/helpers"),e1=require("ts-pattern");xf();N0();X0()});var f5;var x5=k(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(f5||={})});var G5={};qy(G5,{toHexString:()=>OT,toChecksumAddress:()=>h1,isStateChangingCall:()=>f0,isBrowserProvider:()=>NT,getTokenAddress:()=>XT,getProvider:()=>cy,getNetworkParams:()=>af,getIsEIP1559Compatible:()=>sf,getEvmToolbox:()=>y5,getEvmApi:()=>CT,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>LT,getCreateContractTxObject:()=>ty,getCreateContract:()=>T0,getChecksumAddressFromAsset:()=>o1,evmValidateAddress:()=>y0,createCustomEvmApi:()=>$x,createContract:()=>kT,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>PT,OPToolbox:()=>wf,MONADToolbox:()=>Mf,MEGAETHToolbox:()=>If,MAX_APPROVAL:()=>ET,MATICToolbox:()=>Wf,HYPEREVMToolbox:()=>zf,GNOToolbox:()=>Yf,EthNetwork:()=>f5,ETHToolbox:()=>Gf,ContractAddress:()=>x0,CROToolbox:()=>Bf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>t1,BaseEVMToolbox:()=>GT,BSCToolbox:()=>Jf,BERAToolbox:()=>Zf,BASEToolbox:()=>_f,AVAXToolbox:()=>Xf,AURORAToolbox:()=>Lf,ARBToolbox:()=>Nf});module.exports=zy(G5);var N5=k(()=>{ff();fT();_0();x5()});async function Z0(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function y2(T){try{let{MeshWallet:f}=await import("@meshsdk/core"),N=await Z0(),y=new f({fetcher:N,key:{address:T,type:"address"},networkId:1});await y.init();let x=await y.getBalance(),G=[];for(let L of x)if(L.unit===ex){let{baseDecimal:X}=yy.getChainConfig(yy.Chain.Cardano);G.push(yy.AssetValue.from({chain:yy.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(yy.AssetValue.from({asset:`${yy.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[yy.AssetValue.from({chain:yy.Chain.Cardano})];return G}catch(f){let N=f instanceof Error?f.message:String(f);return console.error(`Cardano balance fetch error: ${N}`),[yy.AssetValue.from({chain:yy.Chain.Cardano})]}}async function L5(){let{deserializeAddress:T}=await import("@meshsdk/core");return(f)=>{try{return T(f),!0}catch{return!1}}}async function T2(T){let f=await L5(),N=await lT.match(T).with({phrase:lT.P.string},async({phrase:q})=>{let{MeshWallet:Q}=await import("@meshsdk/core"),J=await Z0(),B=new Q({fetcher:J,key:{type:"mnemonic",words:q.split(" ")},networkId:1,submitter:J});return await B.init(),B}).with({signer:lT.P.any},({signer:q})=>q).otherwise(()=>{return}),y=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function x(){return y||""}function G(q){let Q=q||x();if(!Q)throw new yy.SwapKitError("core_wallet_connection_not_found");return y2(Q)}function L(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Cardano,value:"0.01"}))}async function X({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{Transaction:B}=await import("@meshsdk/core"),[,Y]=Q.symbol.split("-");if(!Q.isGasAsset&&!Y)throw new yy.SwapKitError("core_wallet_connection_not_found");let U=new B({initiator:N});if(U.sendAssets({address:q},[{quantity:Q.getBaseValue("string"),unit:Q.isGasAsset?"lovelace":Q.symbol}]),J)U.setMetadata(0,J);let M=await U.build();return{tx:U,unsignedTx:M}}function _(q){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");return N.signTx(q)}async function Z({recipient:q,assetValue:Q,memo:J}){if(!N||!("getChangeAddress"in N))throw new yy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:B}=await X({assetValue:Q,memo:J,recipient:q}),Y=await _(B);return await(await Z0()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:x,getBalance:G,signTransaction:_,transfer:Z,validateAddress:f}}var yy,lT,ex="lovelace";var X5=k(()=>{yy=require("@swapkit/helpers"),lT=require("ts-pattern")});var J0={};qy(J0,{getCardanoToolbox:()=>T2,getCardanoAddressValidator:()=>L5});module.exports=zy(J0);var q0=k(()=>{X5()});function vT(T){return Ay.base64.encode(Uint8Array.from(Ay.bech32.fromWords(Ay.bech32.decode(T).words)))}function AT(T,f="thor"){return Ay.bech32.encode(f,Ay.bech32.toWords(Ay.base64.decode(T)))}function f2(T){return Cf.fromByteArray(T)}function x2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new _5.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Cf.toByteArray(T)}var Ay,_5,Cf;var Q0=k(()=>{Ay=require("@scure/base"),_5=require("@swapkit/helpers"),Cf=require("base64-js")});function Py(T){switch(T){case D.Chain.Maya:return{amount:[],gas:"10000000000"};case D.Chain.THORChain:return{amount:[],gas:"500000000"};case D.Chain.Kujira:return q5;case D.Chain.Noble:return Q5;default:return J5}}async function Sy(T){let f=await import("@cosmjs/stargate"),N=f.StargateClient??f.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return N.connect({headers:y,url:T})}async function ZT(T,f,N={}){let y=await import("@cosmjs/stargate"),x=y.SigningStargateClient??y.default?.SigningStargateClient,G=y.GasPrice??y.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return x.connectWithSigner(T,f,{gasPrice:G.fromString(L),...X})}async function Y0(T,f){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(T,f)}async function z0({sender:T,recipient:f,assetValue:N,memo:y="",feeRate:x,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await D.getRPCUrl(X),Q=await(await Sy(Z)).getAccount(T);if(!Q)throw new D.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let J=D.AssetValue.from({chain:X}),B=Dy(J.symbol),Y=Py(X),U=B&&x?{amount:[{amount:x.toString(),denom:B}],gas:Y.gas}:Y,M={amount:[{amount:N.getBaseValue("string"),denom:Dy(N.symbol)}],fromAddress:T,toAddress:f};return{accountNumber:L??Q.accountNumber,chainId:_,fee:U,memo:y,msgs:[{typeUrl:G2(X),value:M}],sequence:G??Q.sequence}}var D,B0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Z5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",J5,q5,Q5,Dy=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return B0;case"uYUM":case"YUM":return Z5;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:f})=>{if(f===D.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${D.Chain.Maya}.${T}`).toUpperCase();if(f===D.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${D.Chain.THORChain}.${T}`:T).toUpperCase();return Dy(T,!1)},G2=(T)=>{switch(T){case D.Chain.Maya:case D.Chain.THORChain:return"/types.MsgSend";case D.Chain.Cosmos:case D.Chain.Kujira:case D.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new D.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},N2,W0=(T,f)=>{let N=N2[T.toLowerCase()];if(!N)return D.AssetValue.from({asset:T,fromBaseDecimal:8,value:f});let{chain:y,asset:x,decimals:G}=N,L=y?{chain:y}:{asset:x};return D.AssetValue.from({...L,fromBaseDecimal:G,value:f})};var FT=k(()=>{D=require("@swapkit/helpers"),J5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},q5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Q5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};N2={atom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},cacao:{chain:D.Chain.Maya,decimals:10},kuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},maya:{asset:`${D.Chain.Maya}.${D.Chain.Maya}`,decimals:4},rune:{chain:D.Chain.THORChain,decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},uatom:{chain:D.Chain.Cosmos,decimals:D.getChainConfig(D.Chain.Cosmos).baseDecimal},ukuji:{chain:D.Chain.Kujira,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal},usdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},uusdc:{chain:D.Chain.Noble,decimals:D.getChainConfig(D.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:D.getChainConfig(D.Chain.THORChain).baseDecimal},[B0.toLowerCase()]:{asset:`${D.Chain.Kujira}.USK`,decimals:D.getChainConfig(D.Chain.Kujira).baseDecimal}}});var B5={};qy(B5,{$root:()=>w});var _y,F,Uy,E,w;var Y5=k(()=>{_y=W(require("protobufjs/minimal.js")),F=_y.default.Reader,Uy=_y.default.Writer,E=_y.default.util,w=_y.default.roots.default||(_y.default.roots.default={});w.common=(()=>{let T={};return T.Asset=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))x.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))x.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))x.uint32(32).bool(y.synth);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Asset;while(y.pos<G){let X=y.uint32();switch(X>>>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(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!E.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!E.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!E.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},f.fromObject=function(y){if(y instanceof w.common.Asset)return y;let x=new w.common.Asset;if(y.chain!=null)x.chain=String(y.chain);if(y.symbol!=null)x.symbol=String(y.symbol);if(y.ticker!=null)x.ticker=String(y.ticker);if(y.synth!=null)x.synth=Boolean(y.synth);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))G.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))G.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))G.synth=y.synth;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))w.common.Asset.encode(y.asset,x.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))x.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))x.uint32(24).int64(y.decimals);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Coin;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.asset=w.common.Asset.decode(y,y.uint32());break;case 2:L.amount=y.string();break;case 3:L.decimals=y.int64();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let x=w.common.Asset.verify(y.asset);if(x)return"asset."+x}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!E.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!E.isInteger(y.decimals)&&!(y.decimals&&E.isInteger(y.decimals.low)&&E.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(y){if(y instanceof w.common.Coin)return y;let x=new w.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=w.common.Asset.fromObject(y.asset)}if(y.amount!=null)x.amount=String(y.amount);if(y.decimals!=null){if(E.Long)(x.decimals=E.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")x.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")x.decimals=y.decimals;else if(typeof y.decimals==="object")x.decimals=new E.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)if(G.asset=null,G.amount="",E.Long){let L=new E.Long(0,0,!1);G.decimals=x.longs===String?L.toString():x.longs===Number?L.toNumber():L}else G.decimals=x.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))G.asset=w.common.Asset.toObject(y.asset,x);if(y.amount!=null&&y.hasOwnProperty("amount"))G.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")G.decimals=x.longs===String?String(y.decimals):y.decimals;else G.decimals=x.longs===String?E.Long.prototype.toString.call(y.decimals):x.longs===Number?new E.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))x.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))x.uint32(18).string(y.ed25519);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.PubKeySet;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.secp256k1=y.string();break;case 2:L.ed25519=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!E.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!E.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.PubKeySet)return y;let x=new w.common.PubKeySet;if(y.secp256k1!=null)x.secp256k1=String(y.secp256k1);if(y.ed25519!=null)x.ed25519=String(y.ed25519);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.secp256k1="",G.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))G.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))G.ed25519=y.ed25519;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(N){if(this.coins=[],this.gas=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=E.emptyArray,f.prototype.gas=E.emptyArray,f.prototype.memo="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))x.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(34).string(y.toAddress);if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],x.uint32(42).fork()).ldelim();if(y.gas?.length)for(let G=0;G<y.gas.length;++G)w.common.Coin.encode(y.gas[G],x.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(58).string(y.memo);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Tx;while(y.pos<G){let X=y.uint32();switch(X>>>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(w.common.Coin.decode(y,y.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(w.common.Coin.decode(y,y.uint32()));break;case 7:L.memo=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!E.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!E.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!E.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!E.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=w.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let x=0;x<y.gas.length;++x){let G=w.common.Coin.verify(y.gas[x]);if(G)return"gas."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!E.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.Tx)return y;let x=new w.common.Tx;if(y.id!=null)x.id=String(y.id);if(y.chain!=null)x.chain=String(y.chain);if(y.fromAddress!=null)x.fromAddress=String(y.fromAddress);if(y.toAddress!=null)x.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let G=0;G<y.gas.length;++G){if(typeof y.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[G]=w.common.Coin.fromObject(y.gas[G])}}if(y.memo!=null)x.memo=String(y.memo);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[],G.gas=[];if(x.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(y.id!=null&&y.hasOwnProperty("id"))G.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))G.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=y.toAddress;if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],x)}if(y.gas?.length){G.gas=[];for(let L=0;L<y.gas.length;++L)G.gas[L]=w.common.Coin.toObject(y.gas[L],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(N){if(this.coins=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.poolDeduct="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],x.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))x.uint32(18).string(y.poolDeduct);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.Fee;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.poolDeduct=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=w.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!E.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.Fee)return y;let x=new w.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.poolDeduct!=null)x.poolDeduct=String(y.poolDeduct);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults)G.poolDeduct="";if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],x)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))G.poolDeduct=y.poolDeduct;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(N){if(N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.value="",f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))x.uint32(10).string(y.value);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.common.ProtoUint;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:L.value=y.string();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!E.isString(y.value))return"value: string expected"}return null},f.fromObject=function(y){if(y instanceof w.common.ProtoUint)return y;let x=new w.common.ProtoUint;if(y.value!=null)x.value=String(y.value);return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.defaults)G.value="";if(y.value!=null&&y.hasOwnProperty("value"))G.value=y.value;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T})();w.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(N){if(this.coins=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.memo="",f.prototype.signer=E.newBuffer([]),f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.coins?.length)for(let G=0;G<y.coins.length;++G)w.common.Coin.encode(y.coins[G],x.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))x.uint32(26).bytes(y.signer);return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.types.MsgDeposit;while(y.pos<G){let X=y.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(w.common.Coin.decode(y,y.uint32()));break;case 2:L.memo=y.string();break;case 3:L.signer=y.bytes();break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let G=w.common.Coin.verify(y.coins[x]);if(G)return"coins."+G}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!E.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||E.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function(y){if(y instanceof w.types.MsgDeposit)return y;let x=new w.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let G=0;G<y.coins.length;++G){if(typeof y.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[G]=w.common.Coin.fromObject(y.coins[G])}}if(y.memo!=null)x.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")E.base64.decode(y.signer,x.signer=E.newBuffer(E.base64.length(y.signer)),0);else if(y.signer.length)x.signer=y.signer}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults){if(G.memo="",x.bytes===String)G.signer="";else if(G.signer=[],x.bytes!==Array)G.signer=E.newBuffer(G.signer)}if(y.coins?.length){G.coins=[];for(let L=0;L<y.coins.length;++L)G.coins[L]=w.common.Coin.toObject(y.coins[L],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))G.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))G.signer=x.bytes===String?E.base64.encode(y.signer,0,y.signer.length):x.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(N){if(this.amount=[],N){for(let y=Object.keys(N),x=0;x<y.length;++x)if(N[y[x]]!=null)this[y[x]]=N[y[x]]}}return f.prototype.fromAddress=E.newBuffer([]),f.prototype.toAddress=E.newBuffer([]),f.prototype.amount=E.emptyArray,f.create=function(y){return new f(y)},f.encode=function(y,x){if(!x)x=Uy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let G=0;G<y.amount.length;++G)w.cosmos.base.v1beta1.Coin.encode(y.amount[G],x.uint32(26).fork()).ldelim();return x},f.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},f.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let G=x===void 0?y.len:y.pos+x,L=new w.types.MsgSend;while(y.pos<G){let X=y.uint32();switch(X>>>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(w.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(X&7);break}}return L},f.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.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"||E.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||E.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let x=0;x<y.amount.length;++x){let G=w.cosmos.base.v1beta1.Coin.verify(y.amount[x]);if(G)return"amount."+G}}return null},f.fromObject=function(y){if(y instanceof w.types.MsgSend)return y;let x=new w.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")E.base64.decode(y.fromAddress,x.fromAddress=E.newBuffer(E.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)x.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")E.base64.decode(y.toAddress,x.toAddress=E.newBuffer(E.base64.length(y.toAddress)),0);else if(y.toAddress.length)x.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let G=0;G<y.amount.length;++G){if(typeof y.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[G]=w.cosmos.base.v1beta1.Coin.fromObject(y.amount[G])}}return x},f.toObject=function(y,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.amount=[];if(x.defaults){if(x.bytes===String)G.fromAddress="";else if(G.fromAddress=[],x.bytes!==Array)G.fromAddress=E.newBuffer(G.fromAddress);if(x.bytes===String)G.toAddress="";else if(G.toAddress=[],x.bytes!==Array)G.toAddress=E.newBuffer(G.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))G.fromAddress=x.bytes===String?E.base64.encode(y.fromAddress,0,y.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))G.toAddress=x.bytes===String?E.base64.encode(y.toAddress,0,y.toAddress.length):x.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){G.amount=[];for(let L=0;L<y.amount.length;++L)G.amount[L]=w.cosmos.base.v1beta1.Coin.toObject(y.amount[L],x)}return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},f})(),T})();w.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let N={};return N.Coin=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.Coin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.Coin)return G;let L=new w.cosmos.base.v1beta1.Coin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecCoin=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecCoin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!E.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!E.isString(G.amount))return"amount: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecCoin)return G;let L=new w.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.IntProto=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.int="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))L.uint32(10).string(G.int);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.IntProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.int=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!E.isString(G.int))return"int: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.IntProto)return G;let L=new w.cosmos.base.v1beta1.IntProto;if(G.int!=null)L.int=String(G.int);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(G.int!=null&&G.hasOwnProperty("int"))X.int=G.int;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N.DecProto=(()=>{function y(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return y.prototype.dec="",y.create=function(G){return new y(G)},y.encode=function(G,L){if(!L)L=Uy.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))L.uint32(10).string(G.dec);return L},y.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},y.decode=function(G,L){if(!(G instanceof F))G=F.create(G);let X=L===void 0?G.len:G.pos+L,_=new w.cosmos.base.v1beta1.DecProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.dec=G.string();break;default:G.skipType(Z&7);break}}return _},y.decodeDelimited=function(G){if(!(G instanceof F))G=new F(G);return this.decode(G,G.uint32())},y.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!E.isString(G.dec))return"dec: string expected"}return null},y.fromObject=function(G){if(G instanceof w.cosmos.base.v1beta1.DecProto)return G;let L=new w.cosmos.base.v1beta1.DecProto;if(G.dec!=null)L.dec=String(G.dec);return L},y.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))X.dec=G.dec;return X},y.prototype.toJSON=function(){return this.constructor.toObject(this,_y.default.util.toJSONOptions)},y})(),N})(),f})(),T})()});async function iy(){let{$root:T}=await Promise.resolve().then(() => (Y5(),B5)),f=await import("@cosmjs/proto-signing"),N=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),x=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new N([...x,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Fy(T){let f=await import("@cosmjs/stargate"),N=f.AminoTypes??f.default?.AminoTypes,y=T===z5.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:x,...G})=>({...G,signer:vT(x)}),toAmino:({signer:x,...G})=>({...G,signer:AT(x)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:x,to_address:G,...L})=>({...L,fromAddress:vT(x),toAddress:vT(G)}),toAmino:({fromAddress:x,toAddress:G,...L})=>({...L,from_address:AT(x),to_address:AT(G)})}})}var z5;var H0=k(()=>{Q0();z5=require("@swapkit/helpers")});function I0(T){return function(N){let{assetValue:y,recipient:x,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(x)return H5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,recipient:x,sender:L});return U5(T)({asAminoMessage:_,asSignable:X,assetValue:y,memo:G,sender:L})}}function $y(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let N=My.AssetValue.from({asset:f.asset}),y=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),x=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...f,asset:{chain:x,symbol:y,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function VT({chain:T,memo:f,msgs:N}){let y=await iy(),x=await Fy(T),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:N.map((L)=>x.fromAmino(L))}};return y.encode(G)}var My,L2,X2,U0=({sender:T,recipient:f,assetValue:N})=>{return{type:`${N.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:Dy(N.symbol,!0)}],from_address:T,to_address:f}}},M0=({sender:T,assetValue:f,memo:N=""})=>{return{type:`${f.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:_T(f)}],memo:N,signer:T}}},Of=({sender:T,recipient:f,assetValue:N,memo:y})=>{return!f?M0({assetValue:N,memo:y,sender:T}):U0({assetValue:N,recipient:f,sender:T})},Vy=async(T,f)=>{return(await Fy(f)).fromAmino(T)},W5=async({rpcUrl:T,sender:f})=>{let y=await(await Sy(T)).getAccount(f);if(!y)throw new My.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},H5=(T)=>async({sender:f,recipient:N,assetValue:y,memo:x="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await W5({rpcUrl:T,sender:f}),q=y.chain,{chainId:Q}=My.getChainConfig(q),J=U0({assetValue:y,recipient:N,sender:f}),B=G?await Vy(L?J:$y(J),q):J;return{accountNumber:_||Z.accountNumber,chainId:Q,fee:Py(q),memo:x,msgs:[B],sequence:X||Z.sequence}},U5=(T)=>async({sender:f,assetValue:N,memo:y="",asSignable:x=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await W5({rpcUrl:T,sender:f}),Z=N.chain,{chainId:q}=My.getChainConfig(Z),Q=M0({assetValue:N,memo:y,sender:f}),J=x?await Vy(G?Q:$y(Q),Z):Q;return{accountNumber:X||_.accountNumber,chainId:q,fee:Py(Z),memo:y,msgs:[J],sequence:L||_.sequence}};var M5=k(()=>{FT();H0();My=require("@swapkit/helpers"),L2=Py(My.Chain.THORChain).gas,X2=Py(My.Chain.Maya).gas});var I5=()=>{};var R5=k(()=>{I5()});var R0=k(()=>{Q0();M5();H0();R5()});async function k0(T,f){try{let y=(await E0.SwapKitApi.getGasRate()).find((x)=>x.chainId===T)?.value;return y?Number.parseFloat(y):f}catch{return f}}async function O0({phrase:T,prefix:f,...N}){let y=await import("@cosmjs/proto-signing"),x=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${l.DerivationPath[N.chain]}/${N.index}`;return x.fromMnemonic(T,{hdPaths:[L(X)],prefix:f})}async function _2({privateKey:T,prefix:f}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(T,f)}function O5(T){return async function({signature:N,message:y,address:x}){let G=await T(x);if(!G?.pubkey)throw new l.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength(Ky.base64.decode(N));return _.verifySignature(Z,Ky.base64.decode(y),G.pubkey.value)}}async function KT({chain:T,...f}){let N=await l.getRPCUrl(T),y=l.CosmosChainPrefixes[T],x="index"in f?f.index||0:0,G=l.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:l.updateDerivationPath(l.NetworkDerivationPath[T],{index:x})),L=await $T.match(f).with({phrase:$T.P.string},({phrase:J})=>O0({derivationPath:G,phrase:J,prefix:y})).with({signer:$T.P.any},({signer:J})=>J).otherwise(()=>{return});async function X(J){return(await Sy(N)).getAccount(J)}async function _(){let[J]=await L?.getAccounts()||[];return J?.address}async function Z(){let[J]=await L?.getAccounts()||[];if(!J?.pubkey)throw new l.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(J?.pubkey)}async function q({recipient:J,assetValue:B,memo:Y="",feeRate:U,feeOptionKey:M=l.FeeOption.Fast}){let I=await _();if(!(L&&I))throw new l.SwapKitError("toolbox_cosmos_signer_not_defined");let O=l.AssetValue.from({chain:T}),K=_T(O),V=U||w5((await C0(T,w0[T]))[M],K),u=await ZT(N,L),d=Dy(B.symbol),Ly=B.getBaseValue("string"),{TxRaw:By}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),A={amount:[{amount:Ly,denom:d}],fromAddress:I,toAddress:J},$=await u.sign(I,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:A}],V,Y),z=By.encode($).finish();return Buffer.from(z).toString("hex")}async function Q({recipient:J,assetValue:B,memo:Y="",feeRate:U,feeOptionKey:M=l.FeeOption.Fast,dryRun:I=!1}){if(I)return q({assetValue:B,feeOptionKey:M,feeRate:U,memo:Y,recipient:J});let O=await _();if(!(L&&O))throw new l.SwapKitError("toolbox_cosmos_signer_not_defined");let K=l.AssetValue.from({chain:T}),V=_T(K),u=U||w5((await C0(T,w0[T]))[M],V),d=await ZT(N,L),Ly=Dy(B.symbol),By=[{amount:B.getBaseValue("string"),denom:Ly}],{transactionHash:A}=await d.sendTokens(O,J,By,u,Y);return A}return{createPrivateKeyFromPhrase:Q2(G),createTransaction:z0,fetchFeeRateFromSwapKit:k0,getAccount:X,getAddress:_,getBalance:async(J,B)=>{let Y=await C5(N)(J),U=await Promise.all(Y.filter(({denom:M})=>M&&!M.includes("IBC/")).map(({denom:M,amount:I})=>{let O=[l.Chain.THORChain,l.Chain.Maya].includes(T)&&(M.includes("/")||M.includes("˜"))?`${T}.${M}`:M;return W0(O,I)}));if(U.length===0)return[l.AssetValue.from({chain:T})];return U},getBalanceAsDenoms:C5(N),getFees:()=>C0(T,w0[T]),getPubKey:Z,getSignerFromPhrase:async({phrase:J,derivationPath:B})=>O0({derivationPath:l.derivationPathToString(B),index:x,phrase:J,prefix:y}),getSignerFromPrivateKey:async(J)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(J,y)},signTransaction:q,transfer:Q,validateAddress:E5(T),verifySignature:O5(X)}}async function Z2(T,f){try{let y=(await E0.SwapKitApi.getGasRate()).find((x)=>x.chainId===T)?.value;return y?Number.parseFloat(y):f}catch{return f}}function J2({assetValue:{chain:T}}){return l.AssetValue.from({chain:T,value:q2(T)})}async function C0(T,f){let{chainId:N,baseDecimal:y}=l.getChainConfig(T),x=await k0(N,f);return{average:l.SwapKitNumber.fromBigInt(BigInt(x),y),fast:l.SwapKitNumber.fromBigInt(BigInt(l.applyFeeMultiplier(x,l.FeeOption.Fast,!0)),y),fastest:l.SwapKitNumber.fromBigInt(BigInt(l.applyFeeMultiplier(x,l.FeeOption.Fastest,!0)),y)}}function w5(T,f){return{amount:[{amount:T.getBaseValue("string"),denom:f}],gas:"200000"}}function q2(T){return{[l.Chain.Cosmos]:0.007,[l.Chain.Kujira]:0.02,[l.Chain.Noble]:0.01,[l.Chain.THORChain]:0.02,[l.Chain.Maya]:0.02,[l.Chain.Harbor]:0.02}[T]||0}function E5(T){let f=l.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(f))return!1;try{let{prefix:x,words:G}=Ky.bech32.decode(y);return Ky.bech32.encode(x,G)===y.toLocaleLowerCase()}catch{return!1}}}function C5(T){return async function(N){return(await(await Sy(T)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function Q2(T){return async function(N){let y=await import("@cosmjs/crypto"),x=y.stringToPath??y.default?.stringToPath,G=y.Slip10Curve??y.default?.Slip10Curve,L=y.Slip10??y.default?.Slip10,X=y.EnglishMnemonic??y.default?.EnglishMnemonic,_=y.Bip39??y.default?.Bip39,Z=new X(N),q=await _.mnemonicToSeed(Z),{privkey:Q}=L.derivePath(G.Secp256k1,q,x(T));return Q}}var Ky,l,E0,$T,w0;var Ef=k(()=>{FT();Ky=require("@scure/base"),l=require("@swapkit/helpers"),E0=require("@swapkit/helpers/api"),$T=require("ts-pattern");w0={[l.Chain.Cosmos]:1000,[l.Chain.Kujira]:1000,[l.Chain.Noble]:1000,[l.Chain.THORChain]:5000000,[l.Chain.Maya]:5000000,[l.Chain.Harbor]:5000000}});function B2({prefix:T,derivationPath:f}){return async function(y,x=0){let G=await import("@cosmjs/amino"),L=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(y,{hdPaths:[_(`${f}/${x}`)],prefix:T})}}function Y2(T){return ny.base64.encode(T)}function z2(T){return async function({wallet:N,tx:y}){let{msgs:x,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof y==="string"?JSON.parse(y):y,q=(await N.getAccounts())?.[0]?.address||"",Q=await Fy(T),J=await iy(),B=await Y0(N,{aminoTypes:Q,registry:J}),Y=[];for(let I of x){let O=await Vy(I,T);Y.push(O)}let{signatures:[U]}=await B.sign(q,Y,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await VT({chain:T,memo:Z,msgs:x.map($y)}),signature:Y2(U)}}}function W2({prefix:T,rpcUrl:f}){return async function(y,x,G,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:q}=(await import("@cosmjs/stargate")).default,{sequence:Q,fee:J}=JSON.parse(y),B=await k5(G,L),Y=x.map((I)=>[Z(_(ny.base64.decode(I.pubKey)),T),ny.base64.decode(I.signature)]),U=await Sy(f),{transactionHash:M}=await U.broadcastTx(q(B,Q,J,X,new Map(Y)));return M}}async function k5(T,f,N=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return y(T.map((G)=>x(ny.base64.decode(G))),f,N)}function H2(T){return ny.base64.decode(T)}async function U2({privateKey:T,message:f}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,y=await N.createSignature(ny.base64.decode(f),T);return ny.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function D0({chain:T,...f}){let N=await g.getRPCUrl(T),{nodeUrl:y}=g.getChainConfig(T),{isStagenet:x}=g.SKConfig.get("envs"),G=T===g.Chain.THORChain,L=`${x?"s":""}${g.CosmosChainPrefixes[T]}`,X="index"in f?f.index||0:0,_="derivationPath"in f&&f.derivationPath?f.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[T],{index:X}),Z=await KT({chain:T,...f}),q=await nT.match(f).with({phrase:nT.P.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:nT.P.any},({signer:Y})=>Y).otherwise(()=>{return}),Q=Py(T);async function J(){let Y,U=`${y}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await g.RequestClient.get(U);if(!M||Number.isNaN(M)||M<0)throw new g.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});Y=new g.SwapKitNumber(M)}catch{Y=new g.SwapKitNumber({decimal:g.getChainConfig(T).baseDecimal,value:G?0.02:1})}return{[g.FeeOption.Average]:Y,[g.FeeOption.Fast]:Y,[g.FeeOption.Fastest]:Y}}async function B({assetValue:Y,memo:U="",recipient:M}){let{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),O=(await q?.getAccounts())?.[0]?.address;if(!(O&&q))throw new g.SwapKitError("toolbox_cosmos_no_signer");let K="signAmino"in q,V=await iy(),u=await Fy(T),d=await ZT(N,q,{aminoTypes:u,registry:V}),Ly=Of({assetValue:Y,memo:U,recipient:M,sender:O});if(K){let z=await Vy(Ly,T),{signatures:R,authInfoBytes:C}=await d.sign(O,[z],Q,U),n=I.encode({authInfoBytes:C,bodyBytes:await VT({chain:T,memo:U,msgs:[Ly].map($y)}),signatures:R}).finish();return(await d.broadcastTx(n)).transactionHash}let By=$y(Ly),A=await Vy(By,T);return(await d.signAndBroadcast(O,[A],Q,U)).transactionHash}return{...Z,broadcastMultisigTx:W2({prefix:L,rpcUrl:N}),buildAminoMsg:Of,buildEncodedTxBody:VT,convertToSignable:Vy,createDefaultAminoTypes:()=>Fy(T),createDefaultRegistry:iy,createMultisig:k5,createTransaction:I0(N),deposit:B,getFees:J,importSignature:H2,parseAminoMessageForDirectSigning:$y,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:U}=(await import("@cosmjs/amino")).default;return U(Y,L)},secp256k1HdWalletFromMnemonic:B2({derivationPath:g.derivationPathToString(_),prefix:L}),signMultisigTx:z2(T),signWithPrivateKey:U2,transfer:B}}var ny,g,nT;var P0=k(()=>{R0();FT();Ef();ny=require("@scure/base"),g=require("@swapkit/helpers"),nT=require("ts-pattern")});var uy,M2=(T,f)=>{switch(T){case uy.Chain.Cosmos:case uy.Chain.Kujira:case uy.Chain.Noble:return KT({chain:T,...f});case uy.Chain.Maya:case uy.Chain.THORChain:return D0({chain:T,...f});default:throw new uy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var D5=k(()=>{Ef();P0();uy=require("@swapkit/helpers");Ef();P0()});var kf={};qy(kf,{verifySignature:()=>O5,transferMsgAmino:()=>U0,toBase64:()=>f2,parseAminoMessageForDirectSigning:()=>$y,getSignerFromPrivateKey:()=>_2,getSignerFromPhrase:()=>O0,getMsgSendDenom:()=>Dy,getFeeRateFromSwapKit:()=>Z2,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Py,getCreateTransaction:()=>I0,getCosmosValidateAddress:()=>E5,getCosmosToolbox:()=>M2,getAssetFromDenom:()=>W0,fromBase64:()=>x2,fetchFeeRateFromSwapKit:()=>k0,estimateTransactionFee:()=>J2,depositMsgAmino:()=>M0,createThorchainToolbox:()=>D0,createStargateClient:()=>Sy,createSigningStargateClient:()=>ZT,createOfflineStargateClient:()=>Y0,createDefaultRegistry:()=>iy,createDefaultAminoTypes:()=>Fy,createCosmosToolbox:()=>KT,cosmosCreateTransaction:()=>z0,convertToSignable:()=>Vy,buildTransferTx:()=>H5,buildEncodedTxBody:()=>VT,buildDepositTx:()=>U5,buildAminoMsg:()=>Of,bech32ToBase64:()=>vT,base64ToBech32:()=>AT,YUM_KUJIRA_FACTORY_DENOM:()=>Z5,USK_KUJIRA_FACTORY_DENOM:()=>B0,THORCHAIN_GAS_VALUE:()=>L2,MAYA_GAS_VALUE:()=>X2,DEFAULT_NOBLE_FEE_MAINNET:()=>Q5,DEFAULT_KUJI_FEE_MAINNET:()=>q5,DEFAULT_COSMOS_FEE_MAINNET:()=>J5});module.exports=zy(kf);var Df=k(()=>{R0();D5();FT()});async function S5(T){let f=j.AssetValue.from({address:T,chain:j.Chain.Solana});if(f.symbol!=="UNKNOWN")return{decimals:f.decimal||0,id:T,logoURI:f.getIconUrl(),name:f.symbol,symbol:f.ticker};let N=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(N);if(!y.ok)return null;let x=await y.json();if(!Array.isArray(x)||x.length===0)return null;return x.find((L)=>L.id===T)||null}catch{return null}}async function I2(T){let f=await dy(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),x=new N(T),G=[],L=await f.getBalance(x);if(L>0){let{baseDecimal:_}=j.getChainConfig(j.Chain.Solana);G.push(j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:_,value:L}))}let X=await f.getParsedTokenAccountsByOwner(x,{programId:y});for(let{account:_}of X.value){let Z=_.data.parsed.info,q=Z.mint,Q=Z.tokenAmount.amount;if(Number(Q)===0)continue;let J=await S5(q),B=J?.symbol||"UNKNOWN",Y=J?.decimals||Z.tokenAmount.decimals;G.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${B}-${q}`,fromBaseDecimal:Y,value:Q}))}return G}async function v0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let N=new T(f);return T.isOnCurve(N.toBytes())}catch{return!1}}}async function R2(T){let f=T&&"index"in T?T.index||0:0,N=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:f})),y=await uT.match(T).with({phrase:uT.P.string},({phrase:L})=>l0({derivationPath:N,phrase:L})).with({signer:uT.P.any},({signer:L})=>L).otherwise(()=>{return});function x(){return y?.publicKey?P5(y.publicKey):""}function G(L){let X=L||x();if(!X)throw new j.SwapKitError("core_wallet_connection_not_found");return I2(X)}return{broadcastTransaction:S0(dy),createKeysForPath:l0,createTransaction:A0(dy),createTransactionFromInstructions:E2,estimateTransactionFee:w2(dy),getAddress:x,getAddressFromPubKey:P5,getAddressValidator:v0,getBalance:G,getConnection:dy,getPubkeyFromAddress:F0,signTransaction:D2(dy,y),transfer:k2(dy,y)}}function w2(T){return async({recipient:f,assetValue:N,memo:y,isProgramDerivedAddress:x,sender:G})=>{let L=await T(),_=(await A0(T)({assetValue:N,isProgramDerivedAddress:x,memo:y,recipient:f,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new j.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:q}=j.getChainConfig(j.Chain.Solana);return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:q,value:Z.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),f=await j.getRPCUrl(j.Chain.Solana);return new T(f,"confirmed")}function C2(T){return async({assetValue:f,recipient:N,sender:y,isProgramDerivedAddress:x})=>{let G=await T(),L=await F0(y);if(f.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:f.getBaseValue("number"),toPubkey:new Z(N)}))}if(f.address)return O2({amount:f.getBaseValue("number"),connection:G,decimals:f.decimal,from:L,isProgramDerivedAddress:x,recipient:N,tokenAddress:f.address});return}}async function O2({tokenAddress:T,recipient:f,from:N,connection:y,amount:x,decimals:G,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:q}=await import("@solana/spl-token"),{Transaction:Q,PublicKey:J}=await import("@solana/web3.js"),B=new Q,Y=new J(T),U=await X(Y,N),M=new J(f),I=await X(Y,M,L),O=!1;try{await _(y,I),O=!0}catch{}if(!O)B.add(Z(N,I,M,Y));return B.add(q(U,Y,I,N,x,G)),B}function A0(T){return async({recipient:f,assetValue:N,memo:y,isProgramDerivedAddress:x,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await F0(G),_=await v0();if(!(x||_(f)))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let Z=await T(),q=await C2(T)({assetValue:N,isProgramDerivedAddress:x,recipient:f,sender:G});if(!q)throw new j.SwapKitError("core_transaction_invalid_sender_address");if(y)q.add(L(y));let Q=await Z.getLatestBlockhash();return q.recentBlockhash=Q.blockhash,q.feePayer=X,q}}async function E2({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),N=new f().add(...T);if(!N)throw new j.SwapKitError("core_transaction_invalid_sender_address");return N}function k2(T,f){return async({recipient:N,assetValue:y,memo:x,isProgramDerivedAddress:G})=>{if(!f)throw new j.SwapKitError("core_transaction_invalid_sender_address");let L=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),X=await A0(T)({assetValue:y,isProgramDerivedAddress:G,memo:x,recipient:N,sender:L});if("signTransaction"in f){let _=await f.signTransaction(X);return S0(T)(_)}return X.sign(f),S0(T)(X)}}function S0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function D2(T,f){return async(N)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new j.SwapKitError("toolbox_solana_no_signer");if(!(N instanceof y)){let G=await(await T()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(N);return await N.sign([f]),N}}async function l0({phrase:T,derivationPath:f=j.DerivationPath.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),G=y(T),L=N.fromMasterSeed(G);return x.fromSeed(L.derive(f,!0).privateKey)}function P5(T){return T.toString()}async function F0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var j,uT;var l5=k(()=>{j=require("@swapkit/helpers"),uT=require("ts-pattern")});var V0={};qy(V0,{getSolanaToolbox:()=>R2,getSolanaAddressValidator:()=>v0,fetchTokenMetaData:()=>S5,createKeysForPath:()=>l0});module.exports=zy(V0);var $0=k(()=>{l5()});async function v5(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(N){try{return T(N)}catch{return!1}}}async function P2({provider:T,...f}={}){let N=await v5(),y=await bT.match(f).with({phrase:bT.P.string},async({phrase:Q})=>{let{Ed25519Keypair:J}=await import("@mysten/sui/keypairs/ed25519");return J.deriveKeypair(Q)}).with({signer:bT.P.any},({signer:Q})=>Q).otherwise(()=>{return});async function x(Q=T){let{SuiClient:J,getFullnodeUrl:B}=await import("@mysten/sui/client");return new J({url:Q||B("mainnet")})}function G(){return y?.toSuiAddress()||""}async function L(Q){let J=Q||G();if(!J)throw new Ty.SwapKitError("toolbox_sui_address_required");try{let B=await x(),{totalBalance:Y}=await B.getBalance({owner:J}),{baseDecimal:U,chain:M}=Ty.getChainConfig(Ty.Chain.Sui),I=[Ty.AssetValue.from({chain:M,fromBaseDecimal:U,value:Y})],O=await B.getAllBalances({owner:J});for(let{coinType:K,totalBalance:V}of O){if(K==="0x2::sui::SUI")continue;if(Number(V)>0){let u=K.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${M}.${u}-${K}`;I.push(Ty.AssetValue.from({asset:d,fromBaseDecimal:U,value:V}))}}return I}catch(B){throw new Ty.SwapKitError("toolbox_sui_balance_error",{error:B})}}async function X(Q){let J=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!Q)return J;try{let B=await x(),{txBytes:Y}=await _(Q),{effects:{status:U,gasUsed:M}}=await B.dryRunTransactionBlock({transactionBlock:Y});if(U.status!=="success")return J;let I=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,value:I.toString()})}catch{return J}}async function _({recipient:Q,assetValue:J,gasBudget:B,sender:Y}){let{Transaction:U}=await import("@mysten/sui/transactions"),M=Y||G();if(!M)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let I=new U;if(I.setSender(M),J.isGasAsset||J.symbol==="SUI"){let[V]=I.splitCoins(I.gas,[J.getBaseValue("string")]);I.transferObjects([V],Q)}else throw new Ty.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(B)I.setGasBudget(B);let O=await x(),K=await I.build({client:O});return{tx:I,txBytes:K}}catch(I){throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:I})}}async function Z(Q){if(!y)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(Q instanceof Uint8Array)return y.signTransaction(Q);let{txBytes:J}="tx"in Q?Q:await _(Q);return y.signTransaction(J)}async function q({assetValue:Q,gasBudget:J,recipient:B}){if(!y)throw new Ty.SwapKitError("toolbox_sui_no_signer");let Y=y.toSuiAddress()||G();if(!Y)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:U}=await _({assetValue:Q,gasBudget:J,recipient:B,sender:Y}),M=await x(),{digest:I}=await M.signAndExecuteTransaction({signer:y,transaction:U});return I}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:q,validateAddress:N}}var Ty,bT;var A5=k(()=>{Ty=require("@swapkit/helpers"),bT=require("ts-pattern")});var Pf={};qy(Pf,{getSuiToolbox:()=>P2,getSuiAddressValidator:()=>v5});module.exports=zy(Pf);var Sf=k(()=>{A5()});async function S2(T={}){let{mnemonicToWalletKey:f}=await import("@ton/crypto"),{Address:N,TonClient:y,WalletContractV4:x}=await import("@ton/ton"),G=await F5(),L,X,_=await jT.match(T).with({phrase:jT.P.string},async({phrase:I})=>f(I.split(" "))).with({signer:jT.P.any},({signer:I})=>I).otherwise(()=>{return});function Z(){let{rpcUrls:I}=fy.getChainConfig(fy.Chain.Ton),[O]=I;if(!L||L.parameters.endpoint!==O)L=new y({endpoint:O});return L}function q(I){if(!X||I){let O=Z(),K=I||_;if(!K)throw new fy.SwapKitError("core_wallet_connection_not_found");let V=x.create({publicKey:K.publicKey,workchain:0});X=O.open(V)}return X}async function Q(I){let O=Z(),{baseDecimal:K}=fy.getChainConfig(fy.Chain.Ton);try{let V=await O.getBalance(N.parse(I));return[fy.AssetValue.from({chain:fy.Chain.Ton,value:fy.SwapKitNumber.fromBigInt(V,K)})]}catch(V){throw new fy.SwapKitError("core_wallet_connection_not_found",{error:V})}}async function J({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new fy.SwapKitError("core_wallet_connection_not_found");let{toNano:u,comment:d,internal:Ly}=await import("@ton/ton"),By=await V.getSeqno(),A=u(I.getValue("string")),$=K?d(K):void 0;return V.createTransfer({messages:[Ly({body:$,to:O,value:A})],secretKey:_.secretKey,seqno:By})}async function B({assetValue:I,recipient:O,memo:K}){let V=q();if(!V||!_)throw new fy.SwapKitError("core_wallet_connection_not_found");let u=await J({assetValue:I,memo:K,recipient:O});return await V.send(u),u.hash().toString()}async function Y(I){let O=q();if(!O)throw new fy.SwapKitError("core_wallet_connection_not_found");try{return await O.send(I),I.hash().toString("hex")}catch(K){throw new fy.SwapKitError("core_wallet_connection_not_found",{error:K})}}function U(){return q().address.toString()}function M(){return Promise.resolve(fy.AssetValue.from({chain:fy.Chain.Ton,value:"0.0001"}))}return{createTransaction:J,estimateTransactionFee:M,getAddress:U,getBalance:Q,sendTransaction:Y,transfer:B,validateAddress:G}}async function F5(){let{Address:T}=await import("@ton/ton");return function(N){try{return T.parse(N),!0}catch{return!1}}}var fy,jT;var V5=k(()=>{fy=require("@swapkit/helpers"),jT=require("ts-pattern")});var lf={};qy(lf,{getTONToolbox:()=>S2,getTONAddressValidator:()=>F5});module.exports=zy(lf);var vf=k(()=>{V5()});var JT;var K0=k(()=>{JT=[{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"}]});async function K5(T){let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${l2}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let x=await y.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=N.address.toHex(T).toLowerCase()}catch{G=T.toLowerCase()}let L=x.data.find((X)=>{return X.address.toLowerCase()===G});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(y){throw new $5.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var $5,l2="https://api.trongrid.io";var n5=k(()=>{$5=require("@swapkit/helpers")});async function n0(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(N)=>{return f.isAddress(N)}}async function b5({phrase:T,derivationPath:f,index:N}){let y=f||S.derivationPathToString(S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:N||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(T),_=x.fromMasterSeed(L).derive(y);if(!_.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function $2({phrase:T,derivationPath:f,tronWeb:N}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),G=x(T),X=y.fromMasterSeed(G).derive(f);if(!X.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");N.setPrivateKey(_);let Z=N?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(q)=>{return await N.trx.sign(q,_)}}}var S,hT,v2=268,A2=13000,F2=345,u5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",V2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",j5=async(T={})=>{let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb,y=await S.getRPCUrl(S.Chain.Tron),x=void 0,G=new N({fullHost:y,headers:void 0}),L="index"in T?T.index||0:0,X=S.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:L})),_=await hT.match(T).with({phrase:hT.P.string},async({phrase:A})=>$2({derivationPath:X,phrase:A,tronWeb:G})).with({signer:hT.P.any},({signer:A})=>Promise.resolve(A)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");return await _.getAddress()},q=()=>{return 1e8},Q=async()=>{try{let A=await G.trx.getChainParameters(),$={};for(let z of A)$[z.key]=z.value;return{bandwidthFee:$.getTransactionFee||1000,createAccountFee:$.getCreateAccountFee||1e5,energyFee:$.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},J=async(A)=>{try{let $=await G.trx.getAccount(A);return $&&Object.keys($).length>0}catch{return!1}},B=async(A)=>{try{let $=await G.trx.getAccountResources(A);return{bandwidth:{free:$.freeNetLimit-$.freeNetUsed,total:$.NetLimit||0,used:$.NetUsed||0},energy:{total:$.EnergyLimit||0,used:$.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(A,$)=>{try{let z=G.contract(JT,$);if(!z.methods?.balanceOf)return 0n;let[R]=await z.methods.balanceOf(A).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(z){let R=z instanceof Error?z.message:String(z);return console.warn(`balanceOf() failed for ${$}: ${R}`),0n}},U=async(A,$)=>{try{G.setAddress($);let z=G.contract(JT,A),[R,C]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(C??18),symbol:R??"UNKNOWN"}}catch(z){return S.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${A}: ${z instanceof Error?z.message:z}`}),null}},M=async(A,$=!0)=>{let z=[S.AssetValue.from({chain:S.Chain.Tron})];try{let R=await K5(A);if(R){let C=[];C.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let n of R.trc20){let[p,o]=Object.entries(n)[0]||[];if(!(p&&o))continue;let h=await U(p,A);if(!h)continue;C.push(S.AssetValue.from({asset:`TRON.${h.symbol}-${p}`,fromBaseDecimal:h.decimals,value:BigInt(o||0)}))}return C}return z}catch(R){S.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let C=[],n=await G.trx.getBalance(A);if(n&&Number(n)>0)C.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:n}));let p=await Y(A,u5);if(p)C.push(S.AssetValue.from({asset:`TRON.USDT-${u5}`,fromBaseDecimal:6,value:p}));if(C.length===0)return z;return C}catch(C){let n=C instanceof Error?C.message:String(C);return console.error(`Tron balance fetch failed: ${n}`),z}}},I=async({recipient:A,assetValue:$,memo:z,expiration:R})=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");let C=await Z();G.setAddress(C);let n=await K({assetValue:$,expiration:R,memo:z,recipient:A,sender:C}),p=await _.signTransaction(n),{txid:o}=await G.trx.sendRawTransaction(p);if(!o)throw new S.SwapKitError("toolbox_tron_token_transfer_failed");return o},O=async({assetValue:A,recipient:$,sender:z})=>{let R=A.isGasAsset;try{let C=z?z:_?await Z():void 0;if(!C)return R?S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:0.1}):S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:15});let n=await Q(),o=await J($)?0:n.createAccountFee,h=await B(C);if(R){let my=v2,sT=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),eT=0;if(my>sT)eT=(my-sT)*n.bandwidthFee;let yf=o+eT;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:yf})}let r=F2,Xy=A2,Qy=h.bandwidth.free+(h.bandwidth.total-h.bandwidth.used),Yy=h.energy.total-h.energy.used,py=0;if(r>Qy)py=(r-Qy)*n.bandwidthFee;let aT=0;if(Xy>Yy)aT=(Xy-Yy)*n.energyFee;let df=o+py+aT;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:df})}catch(C){throw S.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${C instanceof Error?C.message:C}`}),new S.SwapKitError("toolbox_tron_fee_estimation_failed",{error:C})}},K=async(A)=>{let{recipient:$,assetValue:z,memo:R,sender:C,expiration:n}=A,p=z.isGasAsset,o=async({transaction:r,memo:Xy,expiration:Qy})=>{let Yy=Xy?await G.transactionBuilder.addUpdateData(r,Xy,"utf8"):r;return Qy?await G.transactionBuilder.extendExpiration(Yy,Qy):Yy};if(p){let r=await G.transactionBuilder.sendTrx($,z.getBaseValue("number"),C);return o({expiration:n,memo:R,transaction:r})}G.setAddress(C);let h=z.address;if(!h)throw new S.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let Xy=[{type:"address",value:$},{type:"uint256",value:z.getBaseValue("string")}],Qy={callValue:0,feeLimit:q()},{transaction:Yy}=await G.transactionBuilder.triggerSmartContract(h,"transfer(address,uint256)",Qy,Xy,C);return o({expiration:n,memo:R,transaction:Yy})}catch(r){throw new S.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction.",originalError:r instanceof Error?r.message:String(r)})}},V=async(A)=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");return await _.signTransaction(A)},u=async(A)=>{let{txid:$}=await G.trx.sendRawTransaction(A);return $},d=async({assetAddress:A,spenderAddress:$,from:z})=>{try{let R=G.contract(JT,A);if(!R.methods?.allowance)throw new S.SwapKitError("toolbox_tron_invalid_token_contract");let[C]=await R.methods.allowance(z,$).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(R){throw new S.SwapKitError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:A,spenderAddress:$,amount:z,from:R})=>{if(!_)throw new S.SwapKitError("toolbox_tron_no_signer");let C=R||await Z(),n=z!==void 0?BigInt(z).toString():V2,p="approve(address,uint256)",o=[{type:"address",value:$},{type:"uint256",value:n}],r={callValue:0,feeLimit:q()};try{let{transaction:Xy}=await G.transactionBuilder.triggerSmartContract(A,p,r,o,C),Qy=await _.signTransaction(Xy),{txid:Yy}=await G.trx.sendRawTransaction(Qy);if(!Yy)throw new S.SwapKitError("toolbox_tron_approve_failed");return Yy}catch(Xy){throw new S.SwapKitError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:u,createTransaction:K,estimateTransactionFee:O,getAddress:Z,getApprovedAmount:d,getBalance:M,isApproved:async({assetAddress:A,spenderAddress:$,from:z,amount:R})=>{let C=await d({assetAddress:A,from:z,spenderAddress:$});if(!R)return C>0n;let n=BigInt(R);return C>=n},signTransaction:V,transfer:I,tronWeb:G,validateAddress:await n0()}};var h5=k(()=>{K0();n5();S=require("@swapkit/helpers"),hT=require("ts-pattern")});var u0={};qy(u0,{trc20ABI:()=>JT,getTronPrivateKeyFromMnemonic:()=>b5,getTronAddressValidator:()=>n0,createTronToolbox:()=>j5});module.exports=zy(u0);var b0=k(()=>{K0();h5()});async function K2({chain:T,txHash:f}){let N=`${Af(T)}/push/transaction`,y=JSON.stringify({data:f});try{let x=await b.RequestClient.post(N,{body:y,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||f}catch(x){let G=await b.getRPCUrl(T);if(G){let L=JSON.stringify({id:K1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),X=await b.RequestClient.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw x}}function Af(T){return`https://api.blockchair.com/${n2(T)}`}function o5(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function n2(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function u2(T){try{let{feePerKb:f}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),N=f/1000;return Math.max(N,o5(T))}catch{return o5(T)}}async function j0(T,f){let N=await b.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!N||N.context.code!==200)throw new b.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return N.data}async function t5({address:T,chain:f,apiKey:N}){if(!T)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await j0(`${Af(f)}/dashboards/address/${T}?transaction_details=true`,N))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function b2({address:T,chain:f,apiKey:N}){return(await t5({address:T,apiKey:N,chain:f}))?.address.balance||0}async function g5({chain:T,apiKey:f,txHash:N}){if(!N)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await j0(`${Af(T)}/raw/transaction/${N}`,f))?.[N]?.raw_transaction||""}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Failed to fetch raw transaction: ${x}`),""}}async function j2({chain:T,address:f,apiKey:N,offset:y=0,limit:x=30}){return(await j0(`${Af(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${y}`,N)).map(({is_spent:_,script_hex:Z,block_id:q,transaction_hash:Q,index:J,value:B,spending_signature_hex:Y})=>({hash:Q,index:J,is_confirmed:q!==-1,is_spent:_,script_hex:Z,txHex:Y,value:B}))}function h2(T){return T.reduce((f,N)=>f+N.value,0)}function p5(T,f){let N=[...T].sort((y,x)=>x.value-y.value);if(f){let y=[],x=0;for(let G of N)if(y.push(G),x+=G.value,x>=f)break;return y}return N}async function i5({chain:T,address:f,apiKey:N,targetValue:y,accumulativeValue:x=0,offset:G=0,limit:L=30}){if(!f)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await j2({address:f,apiKey:N,chain:T,limit:L,offset:G,targetValue:y}),Z=X.length<L,q=X.filter(({is_spent:M})=>!M),Q=h2(q),J=x+Q,B=y&&J>=y;if(Z||B)return p5(q,y);let Y=await i5({accumulativeValue:J,address:f,apiKey:N,chain:T,limit:L,offset:G+L,targetValue:y}),U=[...q,...Y];return p5(U,y)}catch(X){let _=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function o2({address:T,chain:f,apiKey:N,fetchTxHex:y=!0,targetValue:x}){let G=await i5({address:T,apiKey:N,chain:f,targetValue:x}),L=[];for(let{hash:X,index:_,script_hex:Z,value:q}of G){let Q;if(y)Q=await g5({apiKey:N,chain:f,txHash:X});L.push({address:T,hash:X,index:_,txHex:Q,value:q,witnessUtxo:{script:Buffer.from(Z,"hex"),value:q}})}return L}function Hy(T){let f=b.SKConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>K2({chain:T,txHash:N}),getAddressData:(N)=>t5({address:N,apiKey:f,chain:T}),getBalance:(N)=>b2({address:N,apiKey:f,chain:T}),getRawTx:(N)=>g5({apiKey:f,chain:T,txHash:N}),getSuggestedTxFee:()=>u2(T),getUtxos:(N)=>o2({...N,apiKey:f,chain:T})}}function p2(T){return T}function wy(){return function(f){switch(f){case b.Chain.Bitcoin:return c5.networks.bitcoin;case b.Chain.BitcoinCash:return qT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return qT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return qT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let N={private:70615956,public:70617039},y=qT.default.dogecoin.test;return y.versions.bip32=N,qT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return m5.networks.zcash;default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var m5,b,c5,qT;var d5=k(()=>{wT();m5=require("@bitgo/utxo-lib"),b=require("@swapkit/helpers"),c5=require("bitcoinjs-lib"),qT=W(require("coininfo"))});function c0(T){try{return Ff(T),!0}catch{return!1}}function t0(T){return Ff(T)?.network}function QT(T){let f=Ff(T);if(f?.format==="legacy")return T;return t2(f)}function oT(T){let f=Ff(T);return g2(f)}function Ff(T){try{let f=m2(T);if(f)return f}catch{}try{let f=c2(T);if(f)return f}catch{}throw new h0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function m2(T){try{let f=o0.default.decode(T);if(f.length!==21)throw new h0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let N=f[0],y=Array.prototype.slice.call(f,1);switch(N){case ry.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case ry.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case ry.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case ry.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case ry.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case ry.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function c2(T){if(T.indexOf(":")!==-1)try{return r5(T)}catch{}else{let f=["bitcoincash","bchtest","bchreg"];for(let N of f)try{return r5(`${N}:${T}`)}catch{}}return}function r5(T){try{let{hash:f,prefix:N,type:y}=p0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:N==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t2(T){let f=ry.legacy[T.network][T.type],N=Buffer.alloc(1+T.hash.length);return N[0]=f,N.set(T.hash,1),o0.default.encode(N)}function g2(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",N=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return p0.default.encode(f,N,y)}var h0,o0,p0,m0,ry;var a5=k(()=>{h0=require("@swapkit/helpers"),o0=W(require("bs58check")),p0=W(require("cashaddrjs"));((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(m0||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Cy(T){let f=Buffer.from(T,"utf8");return Kf.script.compile([Kf.opcodes.OP_RETURN,f])}var s5,Kf,i2=1000,nf=10,e5=10,d2=41,r2=107,uf,Vf,$f,pT=(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 s5.SwapKitError("toolbox_utxo_invalid_address",{address:T})},BT=({inputs:T,outputs:f,feeRate:N})=>{let y=T[0]&&"address"in T[0]&&T[0].address?pT(T[0].address):"P2PKH",x=T.filter((L)=>L.value>=Vf["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+by(X),0),G=f?.reduce((L,X)=>L+mT(X),0)||$f[y];return nf+x+G},by=(T)=>{if("type"in T)return Vf[T.type];if("address"in T&&T.address)return Vf[pT(T.address)];return d2+r2},mT=(T,f)=>{if(T?.script)return e5+T.script.length+(T.script.length>=74?2:1);if(f)return $f[f];return $f.P2PKH};var g0=k(()=>{s5=require("@swapkit/helpers"),Kf=require("bitcoinjs-lib");((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(uf||={});Vf={["P2PKH"]:148,["P2WPKH"]:68},$f={["P2PKH"]:34,["P2WPKH"]:31}});function bf(T){switch(T){case Oy.Chain.Bitcoin:case Oy.Chain.BitcoinCash:return 550;case Oy.Chain.Dash:case Oy.Chain.Litecoin:return 5500;case Oy.Chain.Dogecoin:return 1e5;case Oy.Chain.Zcash:return 546;default:throw new Oy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Ey({inputs:T,outputs:f,feeRate:N=1,chain:y=Oy.Chain.Bitcoin,changeAddress:x=""}){let G=Math.ceil(N),L=T[0]&&"address"in T[0]&&T[0].address?pT(T[0].address):"P2PKH",X=T.filter((B)=>by(B)*G<=B.value),_=nf+f.reduce((B,Y)=>B+mT(Y,L),0),Z=f.reduce((B,Y)=>B+Y.value,0),q=_*G,Q=0,J=[];for(let B of X){let Y=by(B),U=G*Y;q+=U,Q+=B.value,J.push(B);let M=q+Z;if(Q<M)continue;let I=Q-M,O=G*mT({address:"",value:0},L);if(I>O){let K=O+q,V=Q-(Z+K);if(V>Math.max(by({})*G,bf(y)))return{fee:K,inputs:J,outputs:f.concat({address:x,value:V})}}return{fee:q,inputs:J,outputs:f}}return{fee:G*BT({feeRate:G,inputs:T,outputs:f})}}var Oy;var yx=k(()=>{g0();Oy=require("@swapkit/helpers")});var YT=k(()=>{d5();a5();yx();g0()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let f=ay(T);return c0(f)&&t0(f)==="mainnet"}function zT(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 f=jf.networks.zcash;try{return jf.address.toOutputScript(T,f),!0}catch{let N=Tx.default.decode(T);if(N.length<21)return!1;let y=N[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}var jf,Tx;var cT=k(()=>{YT();jf=require("@bitgo/utxo-lib"),Tx=W(require("bs58check"))});function Gx({inputs:T,outputs:f,chain:N,psbt:y,sender:x,compiledMemo:G}){for(let L of T){let X=!!L.witnessUtxo&&!tT.includes(N)&&{witnessUtxo:L.witnessUtxo},_=tT.includes(N)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};y.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of f){let X="address"in L&&L.address?L.address:x,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};ky.initEccLib(hf.default),y.addOutput(Z)}return{inputs:T,psbt:y}}async function Nx({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x,fetchTxHex:G=!1}){let L=T.chain,X=N?await Cy(N):null,_=await _x({assetValue:T,fetchTxHex:G,memo:N,recipient:f,sender:x}),{inputs:Z,outputs:q}=Ey({..._,chain:L,feeRate:y});if(!(Z&&q))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let Q=await wy(),J=new ky.Psbt({network:Q(L)});if(L===v.Chain.Dogecoin)J.setMaximumFeeRate(650000000);let{psbt:B,inputs:Y}=await Gx({chain:L,compiledMemo:X,inputs:Z,outputs:q,psbt:J,sender:x});return{inputs:Y,psbt:B,utxos:_.inputs}}async function Lx(){let T=await wy();return function({address:N,chain:y}){if(y===v.Chain.BitcoinCash)return jy(N);if(y===v.Chain.Zcash)return zT(N);try{return ky.initEccLib(hf.default),ky.address.toOutputScript(N,T(y)),!0}catch{return!1}}}async function a2({chain:T,phrase:f,derivationPath:N}){let y=(await gT(T))({derivationPath:N,phrase:f});async function x(L){return await L.signAllInputs(y),L}function G(){return d0(T)(y)}return{getAddress:G,signTransaction:x}}async function sy({chain:T,...f}){let N="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,x=v.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),G=N?await a2({chain:T,derivationPath:x,phrase:N}):("signer"in f)?f.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await Lx(),_=await gT(T);return{accumulative:Ey,broadcastTx:(Z)=>Hy(T).broadcastTx(Z),calculateTxSize:BT,createKeysForPath:_,createTransaction:Nx,estimateMaxSendableAmount:s2(T),estimateTransactionFee:e2(T),getAddress:L,getAddressFromKeys:d0(T),getBalance:TT(T),getFeeRates:()=>iT(T),getInputsOutputsFee:Xx,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:yG(G),validateAddress:(Z)=>X({address:Z,chain:T})}}async function Xx({assetValue:T,feeOptionKey:f=v.FeeOption.Fast,feeRate:N,memo:y,sender:x,recipient:G}){let L=T.chain,X=await _x({assetValue:T,memo:y,recipient:G,sender:x}),_=N?Math.floor(N):(await iT(L))[f];return Ey({...X,chain:L,feeRate:_})}function s2(T){return async function({from:N,memo:y,feeRate:x,feeOptionKey:G=v.FeeOption.Fast,recipients:L=1}){let X=await Hy(T).getAddressData(N),_=x?Math.ceil(x):(await iT(T))[G],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(bf(T),by(Y)*_));if(!Z?.length)return v.AssetValue.from({chain:T});let q=v.AssetValue.from({chain:T,value:Z.reduce((Y,U)=>Y+U.value,0)}),Q=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(y){let Y=await Cy(y);Q.push({address:N,script:Y,value:0})}let B=BT({feeRate:_,inputs:Z,outputs:Q})*_;return q.sub(B)}}function e2(T){return async(f)=>{let N=await Xx(f);return v.AssetValue.from({chain:T,value:v.SwapKitNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function gT(T){let f=await wy();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:x=`${v.DerivationPath.BCH}/0`,wif:G}){let L=f(T);if(G)return of.ECPair.fromWIF(G,L);if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return of.HDNode.fromSeedBuffer(Buffer.from(i0.mnemonicToSeedSync(y)),L).derivePath(x).keyPair};case v.Chain.Bitcoin:case v.Chain.Dogecoin:case v.Chain.Litecoin:case v.Chain.Zcash:case v.Chain.Dash:return function({phrase:y,wif:x,derivationPath:G}){if(!(x||y))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=xx.ECPairFactory(hf.default),X=f(T);if(x)return L.fromWIF(x,X);let _=i0.mnemonicToSeedSync(y),Z=fx.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new v.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function d0(T){let f=wy();return function(y){if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=tT.includes(T)?ky.payments.p2pkh:ky.payments.p2wpkh,{address:G}=x({network:f(T),pubkey:y.publicKey});if(!G)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function yG(T){return async function({memo:N,recipient:y,feeOptionKey:x,feeRate:G,assetValue:L}){let X=await T?.getAddress(),_=L.chain;if(!(T&&X))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await iT(_))[x||v.FeeOption.Fast],{psbt:q}=await Nx({assetValue:L,feeRate:Z,memo:N,recipient:y,sender:X}),Q=await T.signTransaction(q);return Q.finalizeAllInputs(),Hy(_).broadcastTx(Q.extractTransaction().toHex())}}async function iT(T){let f=await Hy(T).getSuggestedTxFee();return{[v.FeeOption.Average]:f,[v.FeeOption.Fast]:v.applyFeeMultiplier(f,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(f,v.FeeOption.Fastest)}}async function _x({assetValue:T,recipient:f,memo:N,sender:y,fetchTxHex:x=!1}){let G=T.chain,L=(await iT(G))[v.FeeOption.Fastest],X=x||tT.includes(G),_=T.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await Hy(G).getUtxos({address:y,fetchTxHex:X,targetValue:Z}),outputs:[{address:f,value:_},...N?[{address:"",script:await Cy(N),value:0}]:[]]}}var hf,of,fx,i0,v,ky,xx,tT;var dT=k(()=>{wT();YT();cT();hf=W(require("@bitcoinerlab/secp256k1")),of=require("@psf/bitcoincashjs-lib"),fx=require("@scure/bip32"),i0=require("@scure/bip39"),v=require("@swapkit/helpers"),ky=require("bitcoinjs-lib"),xx=require("ecpair"),tT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function ey(T){return ay(oT(T))}function TG(T){function f({builder:y,utxos:x}){return x.forEach((G,L)=>{y.sign(L,T,void 0,65,G.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:f}}async function r0(T){let f="phrase"in T?T.phrase:void 0,N="index"in T?T.index||0:0,y=Zy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Zy.updateDerivationPath(Zy.NetworkDerivationPath[Iy],{index:N})),x=f?(await gT(Iy))({derivationPath:y,phrase:f}):void 0,G=x?TG(x):("signer"in T)?T.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...q}=await sy({chain:Iy});function Q(J,B=!0){return X(ay(oT(J)))}return{...q,broadcastTx:Z,buildTx:xG,createTransaction:Jx,getAddress:L,getAddressFromKeys:GG,getBalance:Q,getFeeRates:_,stripPrefix:ay,stripToCashAddress:ey,transfer:fG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:jy}}async function Jx({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x}){if(!jy(f))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:f});let G=Math.ceil(T.getBaseValue("number")+y*7500),L=await Hy(Iy).getUtxos({address:ey(x),fetchTxHex:!0,targetValue:G}),X=N?await Cy(N):null,_=[];_.push({address:f,value:T.getBaseValue("number")});let{inputs:Z,outputs:q}=Ey({chain:Iy,feeRate:y,inputs:L,outputs:_});if(!(Z&&q))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let Q=await wy(),J=new WT.TransactionBuilder(Q(Iy));await Promise.all(Z.map(async(B)=>{let Y=await Hy(Iy).getRawTx(B.hash);J.addInput(WT.Transaction.fromBuffer(Buffer.from(Y,"hex")),B.index)}));for(let B of q){let Y="address"in B&&B.address?B.address:QT(x),U=await wy(),M=WT.address.toOutputScript(QT(Y),U(Iy));J.addOutput(M,B.value)}if(X)J.addOutput(X,0);return{builder:J,utxos:Z}}function fG({broadcastTx:T,getFeeRates:f,signer:N}){return async function({recipient:x,assetValue:G,feeOptionKey:L=Zy.FeeOption.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new Zy.SwapKitError("toolbox_utxo_no_signer");if(!x)throw new Zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await f())[L],{builder:q,utxos:Q}=await Jx({...X,assetValue:G,feeRate:Z,recipient:x,sender:_}),B=(await N.signTransaction({builder:q,utxos:Q})).toHex();return T(B)}}async function xG({assetValue:T,recipient:f,memo:N,feeRate:y,sender:x,setSigHashType:G}){let L=oT(f);if(!jy(L))throw new Zy.SwapKitError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(T.getBaseValue("number")+y*7500),_=await Hy(Iy).getUtxos({address:ey(x),fetchTxHex:!1,targetValue:X}),Z=Number(y.toFixed(0)),q=N?await Cy(N):null,Q=[];if(Q.push({address:QT(f),value:T.getBaseValue("number")}),q)Q.push({script:q,value:0});let{inputs:J,outputs:B}=Ey({chain:Iy,feeRate:Z,inputs:_,outputs:Q});if(!(J&&B))throw new Zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:x});let Y=await wy(),U=new Zx.Psbt({network:Y(Iy)});for(let{hash:M,index:I,witnessUtxo:O}of J)U.addInput({hash:M,index:I,sighashType:G?65:void 0,witnessUtxo:O});for(let M of B){let I="address"in M&&M.address?M.address:QT(x),O=M.script?q?{script:q,value:0}:void 0:{address:I,value:M.value};if(O)U.addOutput(O)}return{inputs:J,psbt:U,utxos:_}}function GG(T){let f=T.getAddress(0);return ey(f)}var WT,Zy,Zx,Iy;var pf=k(()=>{YT();dT();cT();WT=require("@psf/bitcoincashjs-lib"),Zy=require("@swapkit/helpers"),Zx=require("bitcoinjs-lib"),Iy=Zy.Chain.BitcoinCash});function Bx(){return Ry.networks.zcash}function Yx(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function NG({phrase:T,derivationPath:f}){let N=s0.mnemonicToSeedSync(T),x=a0.HDKey.fromMasterSeed(N).derive(f);if(!x.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let G=Yx(),L=Ry.ECPair.fromPrivateKey(Buffer.from(x.privateKey),{network:G}),X=Ry.crypto.hash160(L.publicKey),{isStagenet:_}=xy.SKConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([Z,X]),Q=Qx.default.encode(q);return{getAddress:()=>Promise.resolve(Q),signTransaction:(J)=>{let B=J.signAllInputs(L);return Promise.resolve(B)}}}function LG({inputs:T,outputs:f,psbt:N,sender:y,compiledMemo:x}){for(let G of T){let L=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},X=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};N.addInput({hash:G.hash,index:G.index,...L,...X})}for(let G of f){let L="address"in G&&G.address?G.address:y,X=G.script;if(X&&!x)continue;let _=X?{script:x,value:0n}:{script:Ry.address.toOutputScript(L,Bx()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:T,psbt:N}}async function qx(T){let{assetValue:f,recipient:N,memo:y,feeRate:x,sender:G,fetchTxHex:L}=T,X=y?Cy(y):null,_=await Hy(xy.Chain.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(f.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:q,outputs:Q}=Ey({chain:xy.Chain.Zcash,changeAddress:G,feeRate:x,inputs:_,outputs:Z});if(!(q&&Q))throw new xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:G});let J=Ry.bitgo.createPsbtForNetwork({network:Bx()},{version:455}),B=1307332080,Y=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),U=Buffer.allocUnsafe(4);U.writeUInt32LE(B>>>0,0),J.addUnknownKeyValToGlobal({key:Y,value:U});let{psbt:M,inputs:I}=await LG({compiledMemo:X,inputs:q,outputs:Q,psbt:J,sender:G});return{inputs:I,outputs:Q,psbt:M}}async function e0(T){let f=await HT.match(T).with({signer:HT.P.not(HT.P.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:HT.P.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||xy.NetworkDerivationPath[xy.Chain.Zcash]||[44,133,0,0,0],q=xy.updateDerivationPath(Z,{index:_}),Q=xy.derivationPathToString(q);return NG({derivationPath:Q,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await sy({chain:xy.Chain.Zcash,signer:f});async function y({recipient:L,assetValue:X,feeOptionKey:_=xy.FeeOption.Fast,...Z}){let q=await f?.getAddress();if(!(f&&q))throw new xy.SwapKitError("toolbox_utxo_no_signer");let Q=Z.feeRate||(await N.getFeeRates())[_],{psbt:J}=await qx({...Z,assetValue:X,feeRate:Q,recipient:L,sender:q}),B=await f.signTransaction(J);return B.finalizeAllInputs(),N.broadcastTx(B.extractTransaction().toHex())}function x({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=s0.mnemonicToSeedSync(L),q=a0.HDKey.fromMasterSeed(_).derive(X);if(!q.privateKey)throw new xy.SwapKitError("toolbox_utxo_invalid_params");let Q=Yx();return Ry.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:Q})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return x({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:x,createTransaction:qx,getPrivateKeyFromMnemonic:G,transfer:y,validateAddress:zT}}var Ry,a0,s0,xy,Qx,HT;var y1=k(()=>{YT();dT();cT();Ry=require("@bitgo/utxo-lib"),a0=require("@scure/bip32"),s0=require("@scure/bip39"),xy=require("@swapkit/helpers"),Qx=W(require("bs58check")),HT=require("ts-pattern")});async function XG(T,f){switch(T){case ly.Chain.BitcoinCash:return await r0(f||{});case ly.Chain.Zcash:return await e0(f);case ly.Chain.Bitcoin:case ly.Chain.Dogecoin:case ly.Chain.Litecoin:case ly.Chain.Dash:return await sy({chain:T,...f});default:throw new ly.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var ly;var zx=k(()=>{pf();dT();y1();pf();cT();ly=require("@swapkit/helpers")});var T1={};qy(T1,{validateZcashAddress:()=>zT,toLegacyAddress:()=>QT,toCashAddress:()=>oT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>tT,isValidAddress:()=>c0,getUtxoToolbox:()=>XG,getUtxoNetwork:()=>wy,getUtxoApi:()=>Hy,getUTXOAddressValidator:()=>Lx,getScriptTypeForAddress:()=>pT,getOutputSize:()=>mT,getInputSize:()=>by,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gT,detectAddressNetwork:()=>t0,createZcashToolbox:()=>e0,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>p2,createBCHToolbox:()=>r0,compileMemo:()=>Cy,calculateTxSize:()=>BT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>d0,addInputsAndOutputs:()=>Gx,accumulative:()=>Ey,UtxoNetwork:()=>m0,UTXOScriptType:()=>uf,TX_OVERHEAD:()=>nf,OutputSizes:()=>$f,OP_RETURN_OVERHEAD:()=>e5,MIN_TX_FEE:()=>i2,InputSizes:()=>Vf});module.exports=zy(T1);var f1=k(()=>{YT();zx();pf();dT();y1()});async function cf(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&N.test(f)}}}async function tf(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),y=T.index||0,x=T.derivationPath?mf.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:G}=f(T.phrase,x),L=N.fromString(G);return Ux(L)}async function x1(T){let{KeyPair:f}=await import("@near-js/crypto"),N=f.fromString(T);return Ux(N)}function Ux(T){return new Hx(T)}async function gf(T,f){let y=(await T.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!y)throw new mf.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:x}=await import("@near-js/crypto"),G=x.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:G}}var Wx,mf,Hx;var G1=k(()=>{Wx=require("@near-js/signers"),mf=require("@swapkit/helpers");Hx=class Hx extends Wx.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function N1(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function L1(T){return"contractId"in T&&"methodName"in T}function X1(T){return"actions"in T}function _1(T){return"newAccountId"in T}function Z1(T){return"contractCode"in T}function J1(T){return"customEstimator"in T}function q1(T){let f=0;for(let N of T)switch(N.enum){case"transfer":f+=Number(Jy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(Jy.CONTRACT_CALL);break;case"createAccount":f+=Number(Jy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(Jy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(Jy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(Jy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(Jy.STAKE);break;default:f+=Number(Jy.CONTRACT_CALL)}return f.toString()}function Q1(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Jy.TOKEN_TRANSFER;if(T==="storage_deposit")return Jy.STORAGE_DEPOSIT;return Jy.CONTRACT_CALL}function _G(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function ZG(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Jy;var B1=k(()=>{Jy={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 Y1({account:T,contractId:f,viewMethods:N,changeMethods:y}){let{Contract:x}=await import("@near-js/accounts");return new x(T,f,{changeMethods:y,useLocalViewExecution:!0,viewMethods:N})}async function JG(T){let{P:f,match:N}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),x=await N(T).with({phrase:f.string},async(z)=>{return await tf(z)}).with({signer:f.any},({signer:z})=>z).otherwise(()=>{return}),G=await c.getRPCUrl(c.Chain.Near),L=new y({url:G});async function X(z){let{Account:R}=await import("@near-js/accounts"),C=z||await _();return new R(C,L,x)}async function _(){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");return await x.getAddress()}async function Z(z){return(await Ly({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function q(z){let C=[await U({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return By({actions:C,receiverId:z.contractId})}async function Q(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:C,memo:n}=z,p=await _();if(!R.isGasAsset&&R.address){if(!await Z({accountId:C,contractId:R.address}))return q({assetValue:R,contractId:R.address,memo:n,recipient:C})}let o=await J({...z,sender:p});return O(o)}async function J(z){let{recipient:R,assetValue:C,memo:n,attachedDeposit:p,sender:o,functionCall:h}=z,r=await cf();if(!r(R))throw new c.SwapKitError("toolbox_near_invalid_address",{recipient:R});if(!r(o))throw new c.SwapKitError("toolbox_near_invalid_address",{signerId:o});if(h)return Y({...h,sender:o});if(!C.isGasAsset){let yf=C.address;if(!yf)throw new c.SwapKitError("toolbox_near_missing_contract_address");return Y({args:{amount:C.getBaseValue("string"),memo:n||null,receiver_id:R},attachedDeposit:p||"1",contractId:yf,gas:"250000000000000",methodName:"ft_transfer",sender:o})}let{publicKey:Xy,nonce:Qy}=await gf(L,o),Yy=C.getBaseValue("bigint"),{actionCreators:py,createTransaction:aT}=await import("@near-js/transactions"),{baseDecode:df}=await import("@near-js/utils"),my=[py.transfer(Yy)];if(n&&p)my.push(py.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(p)));let sT=await L.block({finality:"final"}),eT=df(sT.header.hash);return aT(o,Xy,R,Qy+1,my,eT)}function B(z){let R=z.encode();return Buffer.from(R).toString("base64")}async function Y(z){let{sender:R}=z,{publicKey:C,nonce:n}=await gf(L,R),{createTransaction:p,actionCreators:o}=await import("@near-js/transactions"),{baseDecode:h}=await import("@near-js/utils"),r=await L.block({finality:"final"}),Xy=h(r.header.hash),Qy=[o.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return p(R,C,z.contractId,n+1,Qy,Xy)}async function U(z){let{actionCreators:R}=await import("@near-js/transactions");return R.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function M(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let[R,C]=await x.signTransaction(z);return C}async function I(z){return(await L.sendTransaction(z)).transaction.hash}async function O(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");try{let R=await M(z);return await I(R)}catch{return x.signAndSendTransactions?.({transactions:[z]})}}async function K(z){if("assetValue"in z){let p=BigInt("115123062500")+BigInt("108059500000"),o=await V(),h=p*BigInt(o.toString()),{baseDecimal:r}=c.getChainConfig(c.Chain.Near);return c.AssetValue.from({chain:c.Chain.Near,fromBaseDecimal:r,value:h.toString()})}let R=x?await X():void 0;return A(z,R)}async function V(){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,R,C){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let n=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:o}=await import("@near-js/crypto"),h=p(C)||"0";return(await n.createAccount(z,o.fromString(R),BigInt(h))).transaction.hash}async function d(z){try{if(!x)throw new c.SwapKitError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:C,methodName:n,args:p,deposit:o}=z,h=await X(),r=await A({args:p||{},contractId:C,methodName:n}),Xy=R.functionCall(n,p||{},r.getBaseValue("bigint"),BigInt(o||"1"));return(await h.signAndSendTransaction({actions:[Xy],receiverId:C})).transaction_outcome.id}catch(R){throw new c.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function Ly(z){let R=await X();return Y1({account:R,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function By(z){if(!x)throw new c.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new c.SwapKitError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function A(z,R){let{baseDecimal:C}=c.getChainConfig(c.Chain.Near),n=await N(z).when(N1,()=>Jy.SIMPLE_TRANSFER).when(L1,(h)=>Q1(h.methodName)).when(X1,(h)=>q1(h.actions)).when(_1,()=>Jy.ACCOUNT_CREATION).when(Z1,()=>Jy.CONTRACT_DEPLOYMENT).when(J1,(h)=>{if(!R)throw new c.SwapKitError("toolbox_near_no_account");return h.customEstimator(R)}).otherwise(()=>{throw new c.SwapKitError("toolbox_near_invalid_gas_params")}),o=BigInt(n)*BigInt(1000000000000);return c.AssetValue.from({chain:c.Chain.Near,fromBaseDecimal:C,value:o})}async function $(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:I,callFunction:d,createAction:U,createContract:Ly,createContractFunctionCall:Y,createSubAccount:u,createTransaction:J,estimateGas:A,estimateTransactionFee:K,executeBatchTransaction:By,getAddress:_,getBalance:TT(c.Chain.Near),getGasPrice:$,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>tf(z),getSignerFromPrivateKey:x1,provider:L,serializeTransaction:B,signAndSendTransaction:O,signTransaction:M,transfer:Q,validateAddress:await cf()}}var c;var z1=k(()=>{wT();G1();B1();c=require("@swapkit/helpers")});var Mx=k(()=>{z1()});var W1={};qy(W1,{tgasToGas:()=>_G,isSimpleTransfer:()=>N1,isCustomEstimator:()=>J1,isContractDeployment:()=>Z1,isContractCall:()=>L1,isBatchTransaction:()=>X1,isAccountCreation:()=>_1,getValidateNearAddress:()=>cf,getNearToolbox:()=>JG,getNearSignerFromPrivateKey:()=>x1,getNearSignerFromPhrase:()=>tf,getFullAccessPublicKey:()=>gf,getContractMethodGas:()=>Q1,gasToTGas:()=>ZG,estimateBatchGas:()=>q1,createNearContract:()=>Y1,GAS_COSTS:()=>Jy});module.exports=zy(W1);var H1=k(()=>{G1();B1();z1();Mx()});var U1={};qy(U1,{radixValidateAddress:()=>Ix,RadixToolbox:()=>zG});module.exports=zy(U1);function Ix(T){return T.startsWith("account_rdx1")&&T.length===66}function qG({networkApi:T}){return async function(N){let y=await QG({address:N,networkApi:T});return BG({networkApi:T,resources:y})}}async function QG({address:T,networkApi:f}){let N=!0,y,x=[],G=await YG(f);while(N){let L={address:T,at_ledger_state:{state_version:G},cursor:y,limit_per_page:100},X=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(x=x.concat(X.items),X.next_cursor)y=X.next_cursor;else N=!1}return x}async function BG({resources:T,networkApi:f}){let N=[],y=50,x=[];for(let G=0;G<T.length;G+=50)x.push(T.slice(G,G+50));for(let G of x){let L=G.map((Z)=>Z.resource_address),X=await f.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let q=Z.metadata?.items.find((J)=>J.key==="symbol"),Q=q?.value.typed.type==="String"?q.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:Q})}for(let Z of G)if(Z.aggregation_level==="Global"){let q=_.get(Z.resource_address)||{decimals:0,symbol:"?"},Q=vy.AssetValue.from({asset:q.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${q.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(Q)}}return N}function YG(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var vy,zG=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,x=f({...y,networkId:y.network?.networkId||1}),G=N.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:qG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:Ix}};var M1=k(()=>{vy=require("@swapkit/helpers")});var R1={};qy(R1,{rippleValidateAddress:()=>I1,hashes:()=>wx.hashes,getRippleToolbox:()=>HG});module.exports=zy(R1);function Rx(T){let f=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(N)=>Promise.resolve(f.sign(N))}}function I1(T){return hy.isValidAddress(T)}var t,hy,wx,WG,HG=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?Rx(T.phrase):void 0,N=await t.getRPCUrl(t.Chain.Ripple);if(!N)throw new t.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:t.Chain.Ripple}});let y=new hy.Client(N);await y.connect();let x=()=>{if(!f)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},G=async(J)=>{let B=J||await x(),{baseDecimal:Y}=t.getChainConfig(t.Chain.Ripple);try{let M=(await y.request({account:B,command:"account_info"})).result.account_data.Balance;return[t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:Y,value:M})]}catch(U){if(U.data.error_code===WG.ACCOUNT_NOT_FOUND)return[t.AssetValue.from({chain:t.Chain.Ripple,value:0})];throw new t.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:B,error:U}})}},L=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=t.getChainConfig(t.Chain.Ripple);return t.AssetValue.from({chain:t.Chain.Ripple,fromBaseDecimal:Y,value:t.SwapKitNumber.fromBigInt(BigInt(B),Y)})},X=async({assetValue:J,recipient:B,memo:Y,sender:U})=>{if(!I1(B))throw new t.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let M=U||await x();if(!J.isGasAsset||J.chain!==t.Chain.Ripple)throw new t.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let I={Account:M,Amount:hy.xrpToDrops(J.getValue("string")),Destination:B,TransactionType:"Payment"};if(Y)I.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await y.autofill(I)},_=(J)=>{if(!f)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(J)},Z=async(J)=>{let Y=(await y.submitAndWait(J)).result;if(Y.validated)return Y.hash;throw new t.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:t.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:Rx,createTransaction:X,disconnect:()=>y.disconnect(),estimateTransactionFee:L,getAddress:x,getBalance:G,signer:f,signTransaction:_,transfer:async(J)=>{if(!f)throw new t.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let B=await f.getAddress(),Y=await X({...J,sender:B}),U=await _(Y);return Z(U.tx_blob)},validateAddress:I1}};var w1=k(()=>{t=require("@swapkit/helpers"),hy=require("xrpl"),wx=require("xrpl"),WG={ACCOUNT_NOT_FOUND:19}});async function UG(T,f,N){try{let y=await T.query.system?.account?.(N);if(!y)return[f.set(0)];let{data:{free:x}}=y,G=yT.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Error fetching substrate balance: ${x}`),[]}}async function MG(T,f,N){try{let y=await T.query.flip?.account?.(N);if(!y)return[f.set(0)];let x=y.balance||y.data?.balance;if(!x||x.isEmpty)return[f.set(0)];let G=yT.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(y){let x=y instanceof Error?y.message:String(y);return console.error(`Error fetching chainflip balance: ${x}`),[]}}function Cx(T,f){return function(y){let x=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return MG(f,x,y);default:return UG(f,x,y)}}}var yT;var Ox=k(()=>{yT=require("@swapkit/helpers")});var IG,RG,wG,oy;var C1=k(()=>{IG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},RG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},wG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},oy={DOT:IG,FLIP:RG,GENERIC:wG}});function CG(T,f){switch(T){case s.Chain.Chainflip:return kx(f);case s.Chain.Polkadot:return Ex(f);default:throw new s.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function UT(T){return"address"in T}async function E1(T,f){let{Keyring:N}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new N({ss58Format:f,type:"sr25519"}).addFromUri(T)}function lG(T,f){let N=IT.decodeAddress(T);return IT.encodeAddress(N,f)}function Dx(T,f){return MT.isHex(T)?MT.hexToU8a(T):IT.decodeAddress(T,void 0,f)}function Px(T,f="ss58",N){if(f==="hex")return MT.u8aToHex(T);return IT.encodeAddress(T,N)}async function P1({generic:T,chain:f,...N}){let{ApiPromise:y,WsProvider:x}=await import("@polkadot/api"),G=await s.getRPCUrl(f),L=new x(G),X=await y.create({noInitWarn:!0,provider:L}),_=s.AssetValue.from({chain:f}),Z=T?oy.GENERIC:oy[f],q=await rT.match(N).with({phrase:rT.P.string},({phrase:Q})=>E1(Q,oy[f].prefix)).with({signer:rT.P.any},({signer:Q})=>Q).otherwise(()=>{return});return Sx({api:X,chain:f,gasAsset:_,network:Z,signer:q})}var MT,IT,s,rT,Ex=({generic:T=!1,...f}={})=>{return P1({chain:s.Chain.Polkadot,generic:T,...f})},kx=async({generic:T=!1,...f}={})=>{return{...await P1({chain:s.Chain.Chainflip,generic:T,...f})}},k1=(T,f)=>T.rpc.system.accountNextIndex(f),O1=(T,f)=>{try{let N=Dx(T,f);return Px(N,"ss58",f),!0}catch{return!1}},D1=(T,{recipient:f,assetValue:N})=>T.tx.balances?.transferAllowDeath?.(f,N.getBaseValue("number")),OG=async(T,f,{recipient:N,assetValue:y,sender:x})=>{let G=D1(T,{assetValue:y,recipient:N});if(!G)throw new s.SwapKitError("toolbox_substrate_transfer_error");let L=UT(f),X=L?f.address:x;if(!X)throw new s.SwapKitError("core_transaction_invalid_sender_address");let _=await k1(T,X);return(await G.signAndSend(L?f:X,{nonce:_,signer:L?void 0:f})).toString()},EG=async(T,f,N,{recipient:y,assetValue:x,sender:G})=>{let L=D1(T,{assetValue:x,recipient:y}),X=UT(f)?f.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await k1(T,X)})||{partialFee:0};return N.set(s.SwapKitNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},kG=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},DG=async(T,f)=>{return await f.signAsync(T)},PG=(T,f,N)=>{if(N)return f.signAndSend(T,N);return f.signAndSend(T).toString()},SG=async({signer:T,address:f,tx:N,callback:y,api:x})=>{let G=await k1(x,f);if(y)N.signAndSend(f,{nonce:G,signer:T},y);return N.signAndSend(f,{nonce:G,signer:T}).toString()},Sx=({api:T,network:f,gasAsset:N,signer:y,chain:x})=>({api:T,broadcast:kG,convertAddress:lG,createKeyring:(G)=>E1(G,f.prefix),createTransaction:(G)=>D1(T,G),decodeAddress:Dx,encodeAddress:Px,estimateTransactionFee:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return EG(T,y,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||y;if(!L)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return UT(L)?L.address:void 0},getBalance:Cx(x||s.Chain.Polkadot,T),network:f,sign:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return DG(y,G);throw new s.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:L,address:X})=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");if(UT(y))return PG(y,G,L);if(X)return SG({address:X,api:T,callback:L,signer:y,tx:G});throw new s.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!y)throw new s.SwapKitError("core_wallet_not_keypair_wallet");return OG(T,y,G)},validateAddress:(G)=>O1(G,f.prefix)}),vG=({address:T,chain:f})=>{let{prefix:N}=f===s.Chain.Polkadot?oy.DOT:oy.FLIP;return O1(T,N)||O1(T,oy.GENERIC.prefix)};var lx=k(()=>{Ox();C1();MT=require("@polkadot/util"),IT=require("@polkadot/util-crypto"),s=require("@swapkit/helpers"),rT=require("ts-pattern")});var S1={};qy(S1,{substrateValidateAddress:()=>vG,isKeyringPair:()=>UT,getSubstrateToolbox:()=>CG,createSubstrateToolbox:()=>P1,createKeyring:()=>E1,SubstrateNetwork:()=>oy,PolkadotToolbox:()=>Ex,ChainflipToolbox:()=>kx,BaseSubstrateToolbox:()=>Sx});module.exports=zy(S1);var l1=k(()=>{lx();C1()});var VG={};qy(VG,{getToolbox:()=>v1,getFeeEstimator:()=>FG,getAddressValidator:()=>AG});module.exports=zy(VG);var P=require("@swapkit/helpers");async function AG(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:f}=await Promise.resolve().then(() => (N5(),G5)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (q0(),J0)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Df(),kf)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => ($0(),V0)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Sf(),Pf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (vf(),lf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (b0(),u0)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (f1(),T1)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (H1(),W1)),{radixValidateAddress:q}=await Promise.resolve().then(() => (M1(),U1)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (w1(),R1)),{substrateValidateAddress:J}=await Promise.resolve().then(() => (l1(),S1)),B=await N(),Y=await Z(),U=await x(),M=await G(),I=await L(),O=await X(),K=await _();return function({address:u,chain:d}){return T(d).with(...P.EVMChains,()=>f({address:u})).with(...P.UTXOChains,()=>K({address:u,chain:d})).with(P.Chain.Cosmos,P.Chain.Kujira,P.Chain.Noble,P.Chain.Maya,P.Chain.THORChain,(By)=>{return y(By)(u)}).with(P.Chain.Chainflip,P.Chain.Polkadot,()=>J({address:u,chain:d})).with(P.Chain.Radix,()=>q(u)).with(P.Chain.Near,()=>Y(u)).with(P.Chain.Ripple,()=>Q(u)).with(P.Chain.Solana,()=>U(u)).with(P.Chain.Sui,()=>M(u)).with(P.Chain.Ton,()=>I(u)).with(P.Chain.Tron,()=>O(u)).with(P.Chain.Cardano,()=>B(u)).otherwise(()=>!1)}}function FG(T){return async function(N){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...P.EVMChains,async(x)=>{let G=await v1(x),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:x,feeOption:N.feeOptionKey||P.FeeOption.Fast})}).with(P.Chain.Bitcoin,P.Chain.BitcoinCash,P.Chain.Dogecoin,P.Chain.Dash,P.Chain.Litecoin,P.Chain.Polkadot,P.Chain.Solana,P.Chain.Ripple,P.Chain.Tron,P.Chain.Near,P.Chain.Cardano,async(x)=>{return(await v1(x)).estimateTransactionFee(N)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (Sf(),Pf));return(await x()).estimateTransactionFee(N)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (vf(),lf));return(await x()).estimateTransactionFee()}).with(...P.CosmosChains,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (Df(),kf));return x(N)}).otherwise(async()=>P.AssetValue.from({chain:T}))}}async function v1(T,f){let{match:N}=await import("ts-pattern");return N(T).returnType().with(...P.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (_0(),T5));return await y(T,f)}).with(...P.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (f1(),T1));return await y(T,f)}).with(...P.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Df(),kf));return await y(T,f)}).with(...P.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (l1(),S1));return await y(T,f)}).with(P.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (M1(),U1));return await y(f)}).with(P.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (w1(),R1));return await y(f)}).with(P.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => ($0(),V0));return await y(f)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Sf(),Pf));return await y(f)}).with(P.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (b0(),u0));return await y(f)}).with(P.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (H1(),W1));return await y(f)}).with(P.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (q0(),J0));return await y(f)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (vf(),lf));return await y(f)}).otherwise(()=>{throw new P.SwapKitError("toolbox_not_supported",{chain:T})})}
3
3
 
4
- //# debugId=40F329E48FDE5DA264756E2164756E21
4
+ //# debugId=C2E6BF97DC6A9D8764756E2164756E21
5
5
  //# sourceMappingURL=index.cjs.map