@swapkit/toolboxes 4.1.6 → 4.1.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 I0=Object.create;var{getPrototypeOf:k0,defineProperty:MT,getOwnPropertyNames:ko,getOwnPropertyDescriptor:v0}=Object,vo=Object.prototype.hasOwnProperty;var J=(T,n,x)=>{x=T!=null?I0(k0(T)):{};let y=n||!T||!T.__esModule?MT(x,"default",{value:T,enumerable:!0}):x;for(let o of ko(T))if(!vo.call(y,o))MT(y,o,{get:()=>T[o],enumerable:!0});return y},Io=new WeakMap,Ly=(T)=>{var n=Io.get(T),x;if(n)return n;if(n=MT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")ko(T).map((y)=>!vo.call(n,y)&&MT(n,y,{get:()=>T[y],enumerable:!(x=v0(T,y))||x.enumerable}));return Io.set(T,n),n};var Ny=(T,n)=>{for(var x in n)MT(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var R=(T,n)=>()=>(T&&(n=T(T=0)),n);function uo(){function T(){let n=Date.now(),x=mn||n;return mn=x,n>mn?n:x+1}return E0+T().toString(36)}function TT(T){return async function(x,y=!0){let o=await Eo.SwapKitApi.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:f}=sT.getChainConfig(T);return o.map(({identifier:l,value:C,decimal:G})=>{return new sT.AssetValue({decimal:G||f,identifier:l,value:C})})}}var sT,Eo,E0,mn=0;var WT=R(()=>{sT=require("@swapkit/helpers"),Eo=require("@swapkit/helpers/api"),E0=typeof process<"u"&&process.pid?process.pid.toString(36):""});function PT(T){let n=eT.SKConfig.get("apis")[T];if(n)return eT.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return F0(T)}function u0(T){return T}function F0(T){return{getBalance:TT(T)}}var eT;var yn=R(()=>{WT();eT=require("@swapkit/helpers")});async function cy(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await i.getRPCUrl(T))}function zT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function gn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=i.getChainConfig(T);return()=>T===i.Chain.Ethereum?void 0:{...A0({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function dn(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function A0({chain:T}){let{baseDecimal:n}=i.getChainConfig(T);switch(T){case i.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case i.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case i.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case i.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case i.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:i.Chain.Polygon}};default:throw new i.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var i;var nT=R(()=>{i=require("@swapkit/helpers")});var Fo;var Ao=R(()=>{Fo=[{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 oT({chain:T=P.Chain.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:$0({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:Ko({chain:T,provider:n}),broadcastTransaction:n.broadcastTransaction,call:Tf({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),createApprovalTx:c0({chain:T,provider:n,signer:x}),createContract:sn({chain:T,provider:n}),createContractTxObject:my({chain:T,provider:n}),createTransaction:rn({chain:T,provider:n,signer:x}),createTransferTx:rn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:lT(n),estimateCall:bo({provider:n,signer:x}),estimateGasLimit:h0({chain:T,provider:n,signer:x}),estimateGasPrices:iy({chain:T,isEIP1559Compatible:y,provider:n}),estimateTransactionFee:m0({chain:T,isEIP1559Compatible:y,provider:n}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:b0({chain:T,provider:n}),sendTransaction:$o({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:p0({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(o)=>an({address:o})}}function an({address:T}){try{return Xy.getAddress(T),!0}catch{return!1}}function xT(T){return T instanceof Xy.BrowserProvider}function UT(T,n,x){return new Xy.Contract(T,Xy.Interface.from(n),x)}function sn({provider:T}){return function(x,y){return new Xy.Contract(x,Xy.Interface.from(y),T)}}function en({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new P.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&t0.includes(x.stateMutability)}function to(T){return Xy.getAddress(T)}function lT(T){return function({value:x,...y}){if(!xT(T))throw new P.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:f,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:zT(BigInt(x||0))}])}}function Vo(T,n){let x=CT(T,n);if(x)return Xy.getAddress(x.toLowerCase());throw new P.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function CT({chain:T,symbol:n,ticker:x},y){try{let o=T===P.Chain.BinanceSmartChain&&n==="BNB"&&x==="BNB",f=T===y&&n===y&&x===y,l=K0.includes(T)&&n==="ETH"&&x==="ETH";if(f||o||l)return yf[y];return Xy.getAddress(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function my({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:o=[],txOverrides:f})=>UT(n,x,T).getFunction(y).populateTransaction(...o.concat(f).filter((l)=>typeof l<"u"))}function iy({chain:T,provider:n,isEIP1559Compatible:x=!0}){if(T===P.Chain.Arbitrum)return async function(){try{let{gasPrice:o}=await n.getFeeData();if(!o)throw new P.SwapKitError("toolbox_evm_no_fee_data");return{[P.FeeOption.Average]:{gasPrice:o},[P.FeeOption.Fast]:{gasPrice:o},[P.FeeOption.Fastest]:{gasPrice:o}}}catch(o){throw new P.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}};return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:l}=await n.getFeeData();if(x){if(o===null||f===null)throw new P.SwapKitError("toolbox_evm_no_fee_data");return{[P.FeeOption.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:f},[P.FeeOption.Fast]:{maxFeePerGas:P.applyFeeMultiplierToBigInt(o,P.FeeOption.Fast),maxPriorityFeePerGas:P.applyFeeMultiplierToBigInt(f,P.FeeOption.Fast)},[P.FeeOption.Fastest]:{maxFeePerGas:P.applyFeeMultiplierToBigInt(o,P.FeeOption.Fastest),maxPriorityFeePerGas:P.applyFeeMultiplierToBigInt(f,P.FeeOption.Fastest)}}}if(!l)throw new P.SwapKitError("toolbox_evm_no_gas_price");return{[P.FeeOption.Average]:{gasPrice:l},[P.FeeOption.Fast]:{gasPrice:P.applyFeeMultiplierToBigInt(l,P.FeeOption.Fast)},[P.FeeOption.Fastest]:{gasPrice:P.applyFeeMultiplierToBigInt(l,P.FeeOption.Fastest)}}}catch(o){throw new P.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function Tf({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:f,contractAddress:l,abi:C,funcName:G,funcParams:N=[],txOverrides:X={},feeOption:_=P.FeeOption.Fast}){let L=f||T;if(!l)throw new P.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=en({abi:C,funcName:G});if(B&&xT(L)&&x){let M=my({chain:y,provider:L}),Q=X?.from||await x?.getAddress(),U=await M({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...X,from:Q}});return lT(L)(U)}let w=UT(l,C,L);if(B){if(!x)throw new P.SwapKitError("toolbox_evm_no_signer");let M=X?.from||await x.getAddress();if(!M)throw new P.SwapKitError("toolbox_evm_no_signer_address");let Q=w.connect(x),U=iy({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:t,maxPriorityFeePerGas:F,gasPrice:K}=(await U())[_],d=await w.getFunction(G).estimateGas(...N,X),Gy=await Q[G](...N,{...X,gasLimit:d,gasPrice:K,maxFeePerGas:t,maxPriorityFeePerGas:F,nonce:X?.nonce||await L.getTransactionCount(M)});return typeof Gy?.hash==="string"?Gy?.hash:Gy}let q=await w[G]?.(...N);return typeof q?.hash==="string"?q?.hash:q}}function Ko({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:o,from:f}){return Tf({chain:n,isEIP1559Compatible:!0,provider:T})({abi:fT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[f,o]})}}function b0({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:o,from:f,amount:l=YT}){let C=await Ko({chain:n,provider:T})({assetAddress:y,from:f,spenderAddress:o});return P.SwapKitNumber.fromBigInt(C).gte(P.SwapKitNumber.fromBigInt(BigInt(l)))}}function $0({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:f,spenderAddress:l,feeOptionKey:C=P.FeeOption.Fast,amount:G,gasLimitFallback:N,from:X,nonce:_}){let L=[l,BigInt(G||YT)],B=await T?.getAddress()||X,w={abi:fT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:L,signer:T,txOverrides:{from:B}};if(xT(x)){let M=my({chain:y,provider:x}),Q=lT(x),U=await M(w);return Q(U)}return Tf({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:L,txOverrides:{from:B,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function p0({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:o,memo:f,recipient:l,feeOptionKey:C=P.FeeOption.Fast,sender:G,...N}){let{hexlify:X,toUtf8Bytes:_}=await import("ethers"),L=o.getBaseValue("bigint"),B=o.chain,w=G||await T?.getAddress(),q=$o({chain:B,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new P.SwapKitError("toolbox_evm_no_from_address");if(o.isGasAsset){let K={...N,data:X(_(f||"")),feeOptionKey:C,from:w,to:l,value:L};return q(K)}if(!CT(o,B))throw new P.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:Q,maxPriorityFeePerGas:U,gasPrice:t}=(await iy({chain:B,isEIP1559Compatible:n,provider:x})())[C],F=await rn({chain:B,provider:x,signer:T})({assetValue:o,data:X(_(f||"")),gasPrice:t,maxFeePerGas:Q,maxPriorityFeePerGas:U,memo:f,recipient:l,sender:w});return q(F)}}function bo({provider:T,signer:n}){return function({contractAddress:y,abi:o,funcName:f,funcParams:l=[],txOverrides:C}){if(!y)throw new P.SwapKitError("toolbox_evm_no_contract_address");let G=UT(y,o,T);return n?G.connect(n).getFunction(f).estimateGas(...l,C):G.getFunction(f).estimateGas(...l,C)}}function h0({provider:T,signer:n}){return async function({assetValue:y,recipient:o,memo:f,data:l,sender:C,funcName:G,funcParams:N,txOverrides:X}){let _=y.bigIntValue,L=y.isGasAsset?null:CT(y,y.chain);if(L&&G)return bo({provider:T,signer:n})({abi:fT.erc20ABI,contractAddress:L,funcName:G,funcParams:N,txOverrides:X});let{hexlify:B,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:f?B(w(f)):void 0,from:C,to:o,value:_})}}function $o({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:f=P.FeeOption.Fast,...l}){let{from:C,to:G,data:N,value:X,..._}=l;if(!n)throw new P.SwapKitError("toolbox_evm_no_signer");if(!G)throw new P.SwapKitError("toolbox_evm_no_to_address");let L={..._,data:N||"0x",from:C,to:G,value:BigInt(X||0)};if(xT(T))return lT(T)(L);let B=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(B),q=(await T.getNetwork()).chainId,M=j0(L)||x,Q=iy({chain:y,isEIP1559Compatible:x,provider:T}),U=M&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await Q())[f]).reduce((F,[K,d])=>({...F,[K]:zT(BigInt(d))}),{}):{},t;try{t=zT(L.gasLimit||await T.estimateGas(L)*11n/10n)}catch(F){throw new P.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:F})}try{let F={...L,chainId:q,gasLimit:t,nonce:w,type:M?2:0,...U};try{return(await n.sendTransaction(F)).hash}catch{let K=await n.signTransaction({...F,from:B});return(await T.broadcastTransaction(K)).hash}}catch(F){throw new P.SwapKitError("toolbox_evm_error_sending_transaction",{error:F})}}}function rn({provider:T,signer:n}){return async function({assetValue:y,memo:o,recipient:f,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:X,..._}){let L=y.getBaseValue("bigint"),B=y.chain,w=C||await n?.getAddress();if(!w)throw new P.SwapKitError("toolbox_evm_no_from_address");if(P.isGasAsset(y)){let{hexlify:Q,toUtf8Bytes:U}=await import("ethers");return{..._,data:l||Q(U(o||"")),from:w,to:f,value:L}}let q=CT(y,B);if(!q)throw new P.SwapKitError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:fT.erc20ABI,contractAddress:q,funcName:"transfer",funcParams:[f,L],txOverrides:{from:w,gasPrice:X,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function c0({provider:T,signer:n,chain:x}){return async function({assetAddress:o,spenderAddress:f,amount:l,from:C}){let G=await n?.getAddress()||C,N=my({chain:x,provider:T}),X=["bigint","number"].includes(typeof l)?l:l||YT;return await N({abi:fT.erc20ABI,contractAddress:o,funcName:"approve",funcParams:[f,BigInt(X)],txOverrides:{from:G}})}}function m0({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=P.FeeOption.Fast,chain:o,...f}){let C=await iy({chain:o,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(f),N=P.AssetValue.from({chain:o}),{gasPrice:X,maxFeePerGas:_,maxPriorityFeePerGas:L}=C[y];if(!n&&X)return N.set(P.SwapKitNumber.fromBigInt(X*G,N.decimal));if(_&&L){let B=(_+L)*G;return N.set(P.SwapKitNumber.fromBigInt(B,N.decimal))}throw new P.SwapKitError("toolbox_evm_no_gas_price")}}var P,fT,Xy,YT,t0,V0,yf,K0,j0=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var Tn=R(()=>{nT();P=require("@swapkit/helpers"),fT=require("@swapkit/helpers/contracts"),Xy=require("ethers"),YT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");t0=["payable","nonpayable"];V0=P.EVMChains.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),yf={...V0,[P.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[P.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},K0=[P.Chain.Arbitrum,P.Chain.Aurora,P.Chain.Base,P.Chain.Optimism]});async function nn({provider:T,...n}){let x=await oy(a.Chain.Ethereum)({provider:T,...n});async function y(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=a.FeeOption.Fast){let G=await x.createContractTxObject({abi:Fo,contractAddress:f,funcName:l,funcParams:[o]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function oy(T){return async function({provider:x,...y}){let{HDNodeWallet:o}=await import("ethers"),f=await a.getRPCUrl(T),l=x||await cy(T,f),C=dn(T),G=HT.match(y).with({phrase:HT.P.string},({phrase:X})=>o.fromPhrase(X).connect(l)).with({signer:HT.P.any},({signer:X})=>X).otherwise(()=>{return});return{...oT({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:PT(T).getBalance,getNetworkParams:gn(T)}}}var a,HT,fn,on,xn,ln,Cn,Gn,po,Nn,_n,Ln,Xn,Bn,wn,RT,Zn,Jn;var nf=R(()=>{yn();Ao();nT();Tn();a=require("@swapkit/helpers"),HT=require("ts-pattern");fn=oy(a.Chain.Arbitrum),on=oy(a.Chain.Aurora),xn=oy(a.Chain.Avalanche),ln=oy(a.Chain.Base),Cn=oy(a.Chain.Berachain),Gn=oy(a.Chain.BinanceSmartChain),po=oy(a.Chain.Botanix),Nn=oy(a.Chain.Core),_n=oy(a.Chain.Corn),Ln=oy(a.Chain.Cronos),Xn=oy(a.Chain.Gnosis),Bn=oy(a.Chain.Hyperevm),wn=oy(a.Chain.Polygon),RT=oy(a.Chain.Sonic),Zn=oy(a.Chain.Unichain),Jn=oy(a.Chain.XLayer)});var ho;var jo=R(()=>{ho=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function ff(T){return new qn.Contract(g0,ho,T)}function co(T){return async function(){let x=ff(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function mo(T){return async function({from:x,to:y,nonce:o,...f}){let{Transaction:l}=await import("ethers");if(!y)throw new p.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...f,authorizationList:f.authorizationList,nonce:o?o:x?await T.getTransactionCount(x):0,to:y}).serialized}}function io(T){return async function(x){let y=ff(T),o=await mo(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(o)}}function go(T){return async function(x){let y=await T.send("eth_gasPrice",[]),o=await T.estimateGas(x);return y.mul(o)}}function d0(T){return async function(x){let y=await io(T)(x),o=await go(T)(x);return y.add(o)}}function r0(T){return async function(x){let y=ff(T),o=await mo(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(o)}}function a0(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:o}=p.getChainConfig(p.Chain.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:p.Chain.Ethereum},rpcUrls:o}}async function s0(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),o=await co(T)(),f=y;if(!(n&&x))throw new p.SwapKitError("toolbox_evm_no_fee_data");return{[p.FeeOption.Average]:{gasPrice:f,l1GasPrice:o,maxFeePerGas:n,maxPriorityFeePerGas:x},[p.FeeOption.Fast]:{gasPrice:p.applyFeeMultiplierToBigInt(f,p.FeeOption.Fast),l1GasPrice:p.applyFeeMultiplierToBigInt(o||0n,p.FeeOption.Fast),maxFeePerGas:n,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(x,p.FeeOption.Fast)},[p.FeeOption.Fastest]:{gasPrice:p.applyFeeMultiplierToBigInt(f,p.FeeOption.Fastest),l1GasPrice:p.applyFeeMultiplierToBigInt(o||0n,p.FeeOption.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(x,p.FeeOption.Fastest)}}}catch(n){throw new p.SwapKitError("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}async function Qn({provider:T,...n}){let x=p.Chain.Optimism,y=await p.getRPCUrl(x),o=T||await cy(x,y),f=OT.match(n).with({phrase:OT.P.string},({phrase:G})=>qn.HDNodeWallet.fromPhrase(G).connect(o)).with({signer:OT.P.any},({signer:G})=>G).otherwise(()=>{return}),l=oT({provider:o,signer:f}),C=co(o);return{...l,estimateGasPrices:s0(o),estimateL1Gas:r0(o),estimateL1GasCost:io(o),estimateL2GasCost:go(o),estimateTotalGasCost:d0(o),getBalance:PT(p.Chain.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:a0}}var p,qn,OT,g0="0x420000000000000000000000000000000000000f";var of=R(()=>{yn();jo();nT();Tn();p=require("@swapkit/helpers"),qn=require("ethers"),OT=require("ts-pattern")});var so={};Ny(so,{toChecksumAddress:()=>to,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getEvmToolbox:()=>ao,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>my,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>an,createContract:()=>UT,XLayerToolbox:()=>Jn,UNIToolbox:()=>Zn,SONICToolbox:()=>RT,OPToolbox:()=>Qn,MAX_APPROVAL:()=>YT,MATICToolbox:()=>wn,HYPEREVMToolbox:()=>Bn,GNOToolbox:()=>Xn,ETHToolbox:()=>nn,ContractAddress:()=>yf,CROToolbox:()=>Ln,CORNToolbox:()=>_n,COREToolbox:()=>Nn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Gn,BERAToolbox:()=>Cn,BASEToolbox:()=>ln,AVAXToolbox:()=>xn,AURORAToolbox:()=>on,ARBToolbox:()=>fn});async function ao(T,n){let x={...n,provider:n?.provider||await cy(T)};return ro.match(T).returnType().with(ny.Chain.Arbitrum,()=>fn(x)).with(ny.Chain.Aurora,()=>on(x)).with(ny.Chain.Avalanche,()=>xn(x)).with(ny.Chain.Base,()=>ln(x)).with(ny.Chain.Berachain,()=>Cn(x)).with(ny.Chain.BinanceSmartChain,()=>Gn(x)).with(ny.Chain.Botanix,()=>RT(x)).with(ny.Chain.Core,()=>Nn(x)).with(ny.Chain.Corn,()=>_n(x)).with(ny.Chain.Cronos,()=>Ln(x)).with(ny.Chain.Ethereum,()=>nn(x)).with(ny.Chain.Gnosis,()=>Xn(x)).with(ny.Chain.Hyperevm,()=>Bn(x)).with(ny.Chain.Optimism,()=>Qn(x)).with(ny.Chain.Polygon,()=>wn(x)).with(ny.Chain.Sonic,()=>RT(x)).with(ny.Chain.Unichain,()=>Zn(x)).with(ny.Chain.XLayer,()=>Jn(x)).exhaustive()}var ny,ro;var xf=R(()=>{nT();nf();of();ny=require("@swapkit/helpers"),ro=require("ts-pattern");Tn();nf();of()});var eo;var yx=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(eo||={})});var Tx={};Ny(Tx,{toHexString:()=>zT,toChecksumAddress:()=>to,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getProvider:()=>cy,getNetworkParams:()=>gn,getIsEIP1559Compatible:()=>dn,getEvmToolbox:()=>ao,getEvmApi:()=>PT,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>my,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>an,createCustomEvmApi:()=>u0,createContract:()=>UT,XLayerToolbox:()=>Jn,UNIToolbox:()=>Zn,SONICToolbox:()=>RT,OPToolbox:()=>Qn,MAX_APPROVAL:()=>YT,MATICToolbox:()=>wn,HYPEREVMToolbox:()=>Bn,GNOToolbox:()=>Xn,EthNetwork:()=>eo,ETHToolbox:()=>nn,ContractAddress:()=>yf,CROToolbox:()=>Ln,CORNToolbox:()=>_n,COREToolbox:()=>Nn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Gn,BERAToolbox:()=>Cn,BASEToolbox:()=>ln,AVAXToolbox:()=>xn,AURORAToolbox:()=>on,ARBToolbox:()=>fn});module.exports=Ly(Tx);var nx=R(()=>{yn();nT();xf();yx()});async function lf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function yl(T){try{let{MeshWallet:n}=await import("@meshsdk/core"),x=await lf(),y=new n({fetcher:x,key:{address:T,type:"address"},networkId:1});await y.init();let o=await y.getBalance(),f=[];for(let l of o)if(l.unit===e0){let{baseDecimal:C}=s.getChainConfig(s.Chain.Cardano);f.push(s.AssetValue.from({chain:s.Chain.Cardano,fromBaseDecimal:C,value:l.quantity}))}else f.push(s.AssetValue.from({asset:`${s.Chain.Cardano}.${l.unit}`,value:l.quantity}));if(f.length===0)return[s.AssetValue.from({chain:s.Chain.Cardano})];return f}catch(n){return console.error("Cardano balance fetch error:",n),[s.AssetValue.from({chain:s.Chain.Cardano})]}}async function fx(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function Tl(T){let n=await fx(),x=await ST.match(T).with({phrase:ST.P.string},async({phrase:X})=>{let{MeshWallet:_}=await import("@meshsdk/core"),L=await lf(),B=new _({fetcher:L,key:{type:"mnemonic",words:X.split(" ")},networkId:1,submitter:L});return await B.init(),B}).with({signer:ST.P.any},({signer:X})=>X).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function o(){return y||""}function f(X){let _=X||o();if(!_)throw new s.SwapKitError("core_wallet_connection_not_found");return yl(_)}function l(){return Promise.resolve(s.AssetValue.from({chain:s.Chain.Cardano,value:"0.01"}))}async function C({recipient:X,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");let{Transaction:B}=await import("@meshsdk/core"),[,w]=_.symbol.split("-");if(!_.isGasAsset&&!w)throw new s.SwapKitError("core_wallet_connection_not_found");let q=new B({initiator:x});if(q.sendAssets({address:X},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),L)q.setMetadata(0,L);let M=await q.build();return{tx:q,unsignedTx:M}}function G(X){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");return x.signTx(X)}async function N({recipient:X,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:B}=await C({assetValue:_,memo:L,recipient:X}),w=await G(B);return await(await lf()).submitTx(w)}return{createTransaction:C,estimateTransactionFee:l,getAddress:o,getBalance:f,signTransaction:G,transfer:N,validateAddress:n}}var s,ST,e0="lovelace";var ox=R(()=>{s=require("@swapkit/helpers"),ST=require("ts-pattern")});var Cf={};Ny(Cf,{getCardanoToolbox:()=>Tl,getCardanoAddressValidator:()=>fx});module.exports=Ly(Cf);var Gf=R(()=>{ox()});function DT(T){return ky.base64.encode(Uint8Array.from(ky.bech32.fromWords(ky.bech32.decode(T).words)))}function IT(T,n="thor"){return ky.bech32.encode(n,ky.bech32.toWords(ky.base64.decode(T)))}function nl(T){return Mn.fromByteArray(T)}function fl(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new xx.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Mn.toByteArray(T)}var ky,xx,Mn;var Nf=R(()=>{ky=require("@scure/base"),xx=require("@swapkit/helpers"),Mn=require("base64-js")});function Ry(T){switch(T){case S.Chain.Maya:return{amount:[],gas:"10000000000"};case S.Chain.THORChain:return{amount:[],gas:"500000000"};case S.Chain.Kujira:return Gx;case S.Chain.Noble:return Nx;default:return Cx}}async function Oy(T){let n=await import("@cosmjs/stargate"),x=n.StargateClient??n.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return x.connect({headers:y,url:T})}async function vT(T,n,x={}){let y=await import("@cosmjs/stargate"),o=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return o.connectWithSigner(T,n,{gasPrice:f.fromString(l),...C})}async function Lf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function Xf({sender:T,recipient:n,assetValue:x,memo:y="",feeRate:o,sequence:f,accountNumber:l}){let{chain:C,chainId:G}=x,N=await S.getRPCUrl(C),_=await(await Oy(N)).getAccount(T);if(!_)throw new S.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let L=S.AssetValue.from({chain:C}),B=vy(L.symbol),w=Ry(C),q=B&&o?{amount:[{amount:o.toString(),denom:B}],gas:w.gas}:w,M={amount:[{amount:x.getBaseValue("string"),denom:vy(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??_.accountNumber,chainId:G,fee:q,memo:y,msgs:[{typeUrl:ol(C),value:M}],sequence:f??_.sequence}}var S,_f="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",lx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Cx,Gx,Nx,vy=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return _f;case"uYUM":case"YUM":return lx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},kT=({symbol:T,chain:n})=>{if(n===S.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${S.Chain.Maya}.${T}`).toUpperCase();if(n===S.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${S.Chain.THORChain}.${T}`:T).toUpperCase();return vy(T,!1)},ol=(T)=>{switch(T){case S.Chain.Maya:case S.Chain.THORChain:return"/types.MsgSend";case S.Chain.Cosmos:case S.Chain.Kujira:case S.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new S.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},xl,Bf=(T,n)=>{let x=xl[T.toLowerCase()];if(!x)return S.AssetValue.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:o,decimals:f}=x,l=y?{chain:y}:{asset:o};return S.AssetValue.from({...l,fromBaseDecimal:f,value:n})};var ET=R(()=>{S=require("@swapkit/helpers"),Cx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Gx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Nx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};xl={atom:{chain:S.Chain.Cosmos,decimals:S.getChainConfig(S.Chain.Cosmos).baseDecimal},cacao:{chain:S.Chain.Maya,decimals:10},kuji:{chain:S.Chain.Kujira,decimals:S.getChainConfig(S.Chain.Kujira).baseDecimal},maya:{asset:`${S.Chain.Maya}.${S.Chain.Maya}`,decimals:4},rune:{chain:S.Chain.THORChain,decimals:S.getChainConfig(S.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:S.getChainConfig(S.Chain.THORChain).baseDecimal},uatom:{chain:S.Chain.Cosmos,decimals:S.getChainConfig(S.Chain.Cosmos).baseDecimal},ukuji:{chain:S.Chain.Kujira,decimals:S.getChainConfig(S.Chain.Kujira).baseDecimal},usdc:{chain:S.Chain.Noble,decimals:S.getChainConfig(S.Chain.Noble).baseDecimal},uusdc:{chain:S.Chain.Noble,decimals:S.getChainConfig(S.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:S.getChainConfig(S.Chain.THORChain).baseDecimal},[_f.toLowerCase()]:{asset:`${S.Chain.Kujira}.USK`,decimals:S.getChainConfig(S.Chain.Kujira).baseDecimal}}});var _x={};Ny(_x,{$root:()=>z});var fy,u,Jy,H,z;var Lx=R(()=>{fy=J(require("protobufjs/minimal.js")),u=fy.default.Reader,Jy=fy.default.Writer,H=fy.default.util,z=fy.default.roots.default||(fy.default.roots.default={});z.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))o.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))o.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))o.uint32(32).bool(y.synth);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Asset;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!H.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!H.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!H.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Asset)return y;let o=new z.common.Asset;if(y.chain!=null)o.chain=String(y.chain);if(y.symbol!=null)o.symbol=String(y.symbol);if(y.ticker!=null)o.ticker=String(y.ticker);if(y.synth!=null)o.synth=Boolean(y.synth);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=H.Long?H.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))z.common.Asset.encode(y.asset,o.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))o.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))o.uint32(24).int64(y.decimals);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Coin;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.asset=z.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let o=z.common.Asset.verify(y.asset);if(o)return"asset."+o}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!H.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!H.isInteger(y.decimals)&&!(y.decimals&&H.isInteger(y.decimals.low)&&H.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Coin)return y;let o=new z.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");o.asset=z.common.Asset.fromObject(y.asset)}if(y.amount!=null)o.amount=String(y.amount);if(y.decimals!=null){if(H.Long)(o.decimals=H.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")o.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")o.decimals=y.decimals;else if(typeof y.decimals==="object")o.decimals=new H.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)if(f.asset=null,f.amount="",H.Long){let l=new H.Long(0,0,!1);f.decimals=o.longs===String?l.toString():o.longs===Number?l.toNumber():l}else f.decimals=o.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=z.common.Asset.toObject(y.asset,o);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=o.longs===String?String(y.decimals):y.decimals;else f.decimals=o.longs===String?H.Long.prototype.toString.call(y.decimals):o.longs===Number?new H.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))o.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))o.uint32(18).string(y.ed25519);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.PubKeySet;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!H.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!H.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.PubKeySet)return y;let o=new z.common.PubKeySet;if(y.secp256k1!=null)o.secp256k1=String(y.secp256k1);if(y.ed25519!=null)o.ed25519=String(y.ed25519);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=H.emptyArray,n.prototype.gas=H.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))o.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)z.common.Coin.encode(y.gas[f],o.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(58).string(y.memo);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Tx;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(z.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!H.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!H.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!H.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!H.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let o=0;o<y.gas.length;++o){let f=z.common.Coin.verify(y.gas[o]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!H.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Tx)return y;let o=new z.common.Tx;if(y.id!=null)o.id=String(y.id);if(y.chain!=null)o.chain=String(y.chain);if(y.fromAddress!=null)o.fromAddress=String(y.fromAddress);if(y.toAddress!=null)o.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");o.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");o.gas[f]=z.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)o.memo=String(y.memo);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[],f.gas=[];if(o.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.gas?.length){f.gas=[];for(let l=0;l<y.gas.length;++l)f.gas[l]=z.common.Coin.toObject(y.gas[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=H.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))o.uint32(18).string(y.poolDeduct);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Fee;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!H.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Fee)return y;let o=new z.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)o.poolDeduct=String(y.poolDeduct);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))o.uint32(10).string(y.value);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.ProtoUint;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!H.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.ProtoUint)return y;let o=new z.common.ProtoUint;if(y.value!=null)o.value=String(y.value);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T})();z.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=H.emptyArray,n.prototype.memo="",n.prototype.signer=H.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))o.uint32(26).bytes(y.signer);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgDeposit;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!H.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||H.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof z.types.MsgDeposit)return y;let o=new z.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)o.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")H.base64.decode(y.signer,o.signer=H.newBuffer(H.base64.length(y.signer)),0);else if(y.signer.length)o.signer=y.signer}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults){if(f.memo="",o.bytes===String)f.signer="";else if(f.signer=[],o.bytes!==Array)f.signer=H.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=o.bytes===String?H.base64.encode(y.signer,0,y.signer.length):o.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.fromAddress=H.newBuffer([]),n.prototype.toAddress=H.newBuffer([]),n.prototype.amount=H.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=Jy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)z.cosmos.base.v1beta1.Coin.encode(y.amount[f],o.uint32(26).fork()).ldelim();return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof u))y=u.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgSend;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(z.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof u))y=new u(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||H.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||H.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let o=0;o<y.amount.length;++o){let f=z.cosmos.base.v1beta1.Coin.verify(y.amount[o]);if(f)return"amount."+f}}return null},n.fromObject=function(y){if(y instanceof z.types.MsgSend)return y;let o=new z.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")H.base64.decode(y.fromAddress,o.fromAddress=H.newBuffer(H.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)o.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")H.base64.decode(y.toAddress,o.toAddress=H.newBuffer(H.base64.length(y.toAddress)),0);else if(y.toAddress.length)o.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");o.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");o.amount[f]=z.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.amount=[];if(o.defaults){if(o.bytes===String)f.fromAddress="";else if(f.fromAddress=[],o.bytes!==Array)f.fromAddress=H.newBuffer(f.fromAddress);if(o.bytes===String)f.toAddress="";else if(f.toAddress=[],o.bytes!==Array)f.toAddress=H.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=o.bytes===String?H.base64.encode(y.fromAddress,0,y.fromAddress.length):o.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=o.bytes===String?H.base64.encode(y.toAddress,0,y.toAddress.length):o.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let l=0;l<y.amount.length;++l)f.amount[l]=z.cosmos.base.v1beta1.Coin.toObject(y.amount[l],o)}return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T})();z.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Jy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof u))f=u.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.Coin;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof u))f=new u(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!H.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!H.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.Coin)return f;let l=new z.cosmos.base.v1beta1.Coin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Jy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof u))f=u.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecCoin;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof u))f=new u(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!H.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!H.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecCoin)return f;let l=new z.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Jy.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))l.uint32(10).string(f.int);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof u))f=u.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.IntProto;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.int=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof u))f=new u(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!H.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.IntProto)return f;let l=new z.cosmos.base.v1beta1.IntProto;if(f.int!=null)l.int=String(f.int);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(f.int!=null&&f.hasOwnProperty("int"))C.int=f.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=Jy.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))l.uint32(10).string(f.dec);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof u))f=u.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecProto;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.dec=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof u))f=new u(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!H.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecProto)return f;let l=new z.cosmos.base.v1beta1.DecProto;if(f.dec!=null)l.dec=String(f.dec);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))C.dec=f.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x})(),n})(),T})()});async function gy(){let{$root:T}=await Promise.resolve().then(() => (Lx(),_x)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),o=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...o,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Ey(T){let n=await import("@cosmjs/stargate"),x=n.AminoTypes??n.default?.AminoTypes,y=T===Xx.Chain.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:o,...f})=>({...f,signer:DT(o)}),toAmino:({signer:o,...f})=>({...f,signer:IT(o)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:o,to_address:f,...l})=>({...l,fromAddress:DT(o),toAddress:DT(f)}),toAmino:({fromAddress:o,toAddress:f,...l})=>({...l,from_address:IT(o),to_address:IT(f)})}})}var Xx;var wf=R(()=>{Nf();Xx=require("@swapkit/helpers")});function qf(T){return function(x){let{assetValue:y,recipient:o,memo:f,sender:l,asSignable:C,asAminoMessage:G}=x;if(o)return wx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,recipient:o,sender:l});return Zx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,sender:l})}}function Fy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((n)=>{let x=qy.AssetValue.from({asset:n.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),o=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:o,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function uT({chain:T,memo:n,msgs:x}){let y=await gy(),o=await Ey(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>o.fromAmino(l))}};return y.encode(f)}var qy,ll,Cl,Zf=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===qy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:vy(x.symbol,!0)}],from_address:T,to_address:n}}},Jf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===qy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:kT(n)}],memo:x,signer:T}}},Wn=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Jf({assetValue:x,memo:y,sender:T}):Zf({assetValue:x,recipient:n,sender:T})},uy=async(T,n)=>{return(await Ey(n)).fromAmino(T)},Bx=async({rpcUrl:T,sender:n})=>{let y=await(await Oy(T)).getAccount(n);if(!y)throw new qy.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return y},wx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:o="",asSignable:f=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await Bx({rpcUrl:T,sender:n}),X=y.chain,{chainId:_}=qy.getChainConfig(X),L=Zf({assetValue:y,recipient:x,sender:n}),B=f?await uy(l?L:Fy(L),X):L;return{accountNumber:G||N.accountNumber,chainId:_,fee:Ry(X),memo:o,msgs:[B],sequence:C||N.sequence}},Zx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:o=!0,asAminoMessage:f=!1,sequence:l,accountNumber:C})=>{let G=await Bx({rpcUrl:T,sender:n}),N=x.chain,{chainId:X}=qy.getChainConfig(N),_=Jf({assetValue:x,memo:y,sender:n}),L=o?await uy(f?_:Fy(_),N):_;return{accountNumber:C||G.accountNumber,chainId:X,fee:Ry(N),memo:y,msgs:[L],sequence:l||G.sequence}};var Jx=R(()=>{ET();wf();qy=require("@swapkit/helpers"),ll=Ry(qy.Chain.THORChain).gas,Cl=Ry(qy.Chain.Maya).gas});var qx=()=>{};var Qx=R(()=>{qx()});var Qf=R(()=>{Nf();Jx();wf();Qx()});async function Pf(T,n){try{let y=(await Wf.SwapKitApi.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Mf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),o=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),l=f.stringToPath??f.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${E.DerivationPath[x.chain]}/${x.index}`;return o.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function Gl({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function zx(T){return async function({signature:x,message:y,address:o}){let f=await T(o);if(!f?.pubkey)throw new E.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,N=C.fromFixedLength(Ay.base64.decode(x));return G.verifySignature(N,Ay.base64.decode(y),f.pubkey.value)}}async function AT({chain:T,...n}){let x=await E.getRPCUrl(T),y=E.CosmosChainPrefixes[T],o="index"in n?n.index||0:0,f=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[T],{index:o})),l=await FT.match(n).with({phrase:FT.P.string},({phrase:_})=>Mf({derivationPath:f,phrase:_,prefix:y})).with({signer:FT.P.any},({signer:_})=>_).otherwise(()=>{return});async function C(_){return(await Oy(x)).getAccount(_)}async function G(){let[_]=await l?.getAccounts()||[];return _?.address}async function N(){let[_]=await l?.getAccounts()||[];if(!_?.pubkey)throw new E.SwapKitError("toolbox_cosmos_signer_not_defined");return Ay.base64.encode(_?.pubkey)}async function X({recipient:_,assetValue:L,memo:B="",feeRate:w,feeOptionKey:q=E.FeeOption.Fast}){let M=await G();if(!(l&&M))throw new E.SwapKitError("toolbox_cosmos_signer_not_defined");let Q=E.AssetValue.from({chain:T}),U=kT(Q),t=w||Ll((await Wx(T,Mx[T]))[q],U),F=await vT(x,l),K=[{amount:L.getBaseValue("string"),denom:vy(`u${L.symbol}`).toLowerCase()}],{transactionHash:d}=await F.sendTokens(M,_,K,t,B);return d}return{createPrivateKeyFromPhrase:Bl(f),createTransaction:Xf,fetchFeeRateFromSwapKit:Pf,getAccount:C,getAddress:G,getBalance:async(_,L)=>{let B=await Px(x)(_),w=await Promise.all(B.filter(({denom:q})=>q&&!q.includes("IBC/")).map(({denom:q,amount:M})=>{let Q=[E.Chain.THORChain,E.Chain.Maya].includes(T)&&(q.includes("/")||q.includes("˜"))?`${T}.${q}`:q;return Bf(Q,M)}));if(w.length===0)return[E.AssetValue.from({chain:T})];return w},getBalanceAsDenoms:Px(x),getFees:()=>Wx(T,Mx[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:L})=>Mf({derivationPath:E.derivationPathToString(L),index:o,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:X,validateAddress:Yx(T),verifySignature:zx(C)}}async function Nl(T,n){try{let y=(await Wf.SwapKitApi.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function _l({assetValue:{chain:T}}){return E.AssetValue.from({chain:T,value:Xl(T)})}async function Wx(T,n){let{chainId:x,baseDecimal:y}=E.getChainConfig(T),o=await Pf(x,n);return{average:E.SwapKitNumber.fromBigInt(BigInt(o),y),fast:E.SwapKitNumber.fromBigInt(BigInt(E.applyFeeMultiplier(o,E.FeeOption.Fast,!0)),y),fastest:E.SwapKitNumber.fromBigInt(BigInt(E.applyFeeMultiplier(o,E.FeeOption.Fastest,!0)),y)}}function Ll(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function Xl(T){return{[E.Chain.Cosmos]:0.007,[E.Chain.Kujira]:0.02,[E.Chain.Noble]:0.01,[E.Chain.THORChain]:0.02,[E.Chain.Maya]:0.02,[E.Chain.Harbor]:0.02}[T]||0}function Yx(T){let n=E.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:o,words:f}=Ay.bech32.decode(y);return Ay.bech32.encode(o,f)===y.toLocaleLowerCase()}catch{return!1}}}function Px(T){return async function(x){return(await(await Oy(T)).getAllBalances(x)).map((l)=>({...l,denom:l.denom.includes("/")?l.denom.toUpperCase():l.denom}))}}function Bl(T){return async function(x){let y=await import("@cosmjs/crypto"),o=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),X=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(f.Secp256k1,X,o(T));return _}}var Ay,E,Wf,FT,Mx;var Pn=R(()=>{ET();Ay=require("@scure/base"),E=require("@swapkit/helpers"),Wf=require("@swapkit/helpers/api"),FT=require("ts-pattern");Mx={[E.Chain.Cosmos]:500,[E.Chain.Kujira]:1000,[E.Chain.Noble]:1000,[E.Chain.THORChain]:5000000,[E.Chain.Maya]:5000000,[E.Chain.Harbor]:5000000}});function wl({prefix:T,derivationPath:n}){return async function(y,o=0){let f=await import("@cosmjs/amino"),l=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${o}`)],prefix:T})}}function Zl(T){return ty.base64.encode(T)}function Jl(T){return async function({wallet:x,tx:y}){let{msgs:o,accountNumber:f,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,X=(await x.getAccounts())?.[0]?.address||"",_=await Ey(T),L=await gy(),B=await Lf(x,{aminoTypes:_,registry:L}),w=[];for(let Q of o){let U=await uy(Q,T);w.push(U)}let{signatures:[q]}=await B.sign(X,w,G,N,{accountNumber:f,chainId:C,sequence:l});return{bodyBytes:await uT({chain:T,memo:N,msgs:o.map(Fy)}),signature:Zl(q)}}}function ql({prefix:T,rpcUrl:n}){return async function(y,o,f,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:X}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:L}=JSON.parse(y),B=await Ux(f,l),w=o.map((Q)=>[N(G(ty.base64.decode(Q.pubKey)),T),ty.base64.decode(Q.signature)]),q=await Oy(n),{transactionHash:M}=await q.broadcastTx(X(B,_,L,C,new Map(w)));return M}}async function Ux(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:o}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>o(ty.base64.decode(f))),n,x)}function Ql(T){return ty.base64.decode(T)}async function Ml({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(ty.base64.decode(n),T);return ty.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function zf({chain:T,...n}){let x=await c.getRPCUrl(T),{nodeUrl:y}=c.getChainConfig(T),{isStagenet:o}=c.SKConfig.get("envs"),f=T===c.Chain.THORChain,l=`${o?"s":""}${c.CosmosChainPrefixes[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[T],{index:C}),N=await AT({chain:T,...n}),X=await tT.match(n).with({phrase:tT.P.string},({phrase:w})=>N.getSignerFromPhrase({derivationPath:G,phrase:w})).with({signer:tT.P.any},({signer:w})=>w).otherwise(()=>{return}),_=Ry(T);async function L(){let w,q=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await c.RequestClient.get(q);if(!M||Number.isNaN(M)||M<0)throw new c.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});w=new c.SwapKitNumber(M)}catch{w=new c.SwapKitNumber({decimal:c.getChainConfig(T).baseDecimal,value:f?0.02:1})}return{[c.FeeOption.Average]:w,[c.FeeOption.Fast]:w,[c.FeeOption.Fastest]:w}}async function B({assetValue:w,memo:q="",recipient:M}){let{TxRaw:Q}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),U=(await X?.getAccounts())?.[0]?.address;if(!(U&&X))throw new c.SwapKitError("toolbox_cosmos_no_signer");let t="signAmino"in X,F=await gy(),K=await Ey(T),d=await vT(x,X,{aminoTypes:K,registry:F}),Gy=Wn({assetValue:w,memo:q,recipient:M,sender:U});if(t){let Y=await uy(Gy,T),{signatures:O,authInfoBytes:k}=await d.sign(U,[Y],_,q),A=Q.encode({authInfoBytes:k,bodyBytes:await uT({chain:T,memo:q,msgs:[Gy].map(Fy)}),signatures:O}).finish();return(await d.broadcastTx(A)).transactionHash}let Iy=Fy(Gy),Z=await uy(Iy,T);return(await d.signAndBroadcast(U,[Z],_,q)).transactionHash}return{...N,broadcastMultisigTx:ql({prefix:l,rpcUrl:x}),buildAminoMsg:Wn,buildEncodedTxBody:uT,convertToSignable:uy,createDefaultAminoTypes:()=>Ey(T),createDefaultRegistry:gy,createMultisig:Ux,createTransaction:qf(x),deposit:B,getFees:L,importSignature:Ql,parseAminoMessageForDirectSigning:Fy,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:q}=(await import("@cosmjs/amino")).default;return q(w,l)},secp256k1HdWalletFromMnemonic:wl({derivationPath:c.derivationPathToString(G),prefix:l}),signMultisigTx:Jl(T),signWithPrivateKey:Ml,transfer:B}}var ty,c,tT;var Yf=R(()=>{Qf();ET();Pn();ty=require("@scure/base"),c=require("@swapkit/helpers"),tT=require("ts-pattern")});var Vy,Wl=(T,n)=>{switch(T){case Vy.Chain.Cosmos:case Vy.Chain.Kujira:case Vy.Chain.Noble:return AT({chain:T,...n});case Vy.Chain.Maya:case Vy.Chain.THORChain:return zf({chain:T,...n});default:throw new Vy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var Hx=R(()=>{Pn();Yf();Vy=require("@swapkit/helpers");Pn();Yf()});var zn={};Ny(zn,{verifySignature:()=>zx,transferMsgAmino:()=>Zf,toBase64:()=>nl,parseAminoMessageForDirectSigning:()=>Fy,getSignerFromPrivateKey:()=>Gl,getSignerFromPhrase:()=>Mf,getMsgSendDenom:()=>vy,getFeeRateFromSwapKit:()=>Nl,getDenomWithChain:()=>kT,getDefaultChainFee:()=>Ry,getCreateTransaction:()=>qf,getCosmosValidateAddress:()=>Yx,getCosmosToolbox:()=>Wl,getAssetFromDenom:()=>Bf,fromBase64:()=>fl,fetchFeeRateFromSwapKit:()=>Pf,estimateTransactionFee:()=>_l,depositMsgAmino:()=>Jf,createThorchainToolbox:()=>zf,createStargateClient:()=>Oy,createSigningStargateClient:()=>vT,createOfflineStargateClient:()=>Lf,createDefaultRegistry:()=>gy,createDefaultAminoTypes:()=>Ey,createCosmosToolbox:()=>AT,cosmosCreateTransaction:()=>Xf,convertToSignable:()=>uy,buildTransferTx:()=>wx,buildEncodedTxBody:()=>uT,buildDepositTx:()=>Zx,buildAminoMsg:()=>Wn,bech32ToBase64:()=>DT,base64ToBech32:()=>IT,YUM_KUJIRA_FACTORY_DENOM:()=>lx,USK_KUJIRA_FACTORY_DENOM:()=>_f,THORCHAIN_GAS_VALUE:()=>ll,MAYA_GAS_VALUE:()=>Cl,DEFAULT_NOBLE_FEE_MAINNET:()=>Nx,DEFAULT_KUJI_FEE_MAINNET:()=>Gx,DEFAULT_COSMOS_FEE_MAINNET:()=>Cx});module.exports=Ly(zn);var Yn=R(()=>{Qf();Hx();ET()});async function Ox(T){let n=b.AssetValue.from({address:T,chain:b.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:T,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let x=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(x);if(!y.ok)return null;let o=await y.json();if(!Array.isArray(o)||o.length===0)return null;return o.find((l)=>l.id===T)||null}catch{return null}}async function Pl(T){let n=await dy(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),o=new x(T),f=[],l=await n.getBalance(o);if(l>0){let{baseDecimal:G}=b.getChainConfig(b.Chain.Solana);f.push(b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(o,{programId:y});for(let{account:G}of C.value){let N=G.data.parsed.info,X=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let L=await Ox(X),B=L?.symbol||"UNKNOWN",w=L?.decimals||N.tokenAmount.decimals;f.push(b.AssetValue.from({asset:`${b.Chain.Solana}.${B}-${X}`,fromBaseDecimal:w,value:_}))}return f}async function Rf(){let{PublicKey:T}=await import("@solana/web3.js");return(n)=>{try{let x=new T(n);return T.isOnCurve(x.toBytes())}catch{return!1}}}async function zl(T){let n=T&&"index"in T?T.index||0:0,x=b.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Solana],{index:n})),y=await VT.match(T).with({phrase:VT.P.string},({phrase:l})=>Hf({derivationPath:x,phrase:l})).with({signer:VT.P.any},({signer:l})=>l).otherwise(()=>{return});function o(){return y?.publicKey?Rx(y.publicKey):""}function f(l){let C=l||o();if(!C)throw new b.SwapKitError("core_wallet_connection_not_found");return Pl(C)}return{broadcastTransaction:Uf(dy),createKeysForPath:Hf,createTransaction:Of(dy),createTransactionFromInstructions:Rl,estimateTransactionFee:Yl(dy),getAddress:o,getAddressFromPubKey:Rx,getAddressValidator:Rf,getBalance:f,getConnection:dy,getPubkeyFromAddress:Sf,signTransaction:Sl(dy,y),transfer:Ol(dy,y)}}function Yl(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let l=await T(),G=(await Of(T)({assetValue:x,isProgramDerivedAddress:o,memo:y,recipient:n,sender:f})).compileMessage(),N=await l.getFeeForMessage(G);if(N.value===null)throw new b.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=b.getChainConfig(b.Chain.Solana);return b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:X,value:N.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),n=await b.getRPCUrl(b.Chain.Solana);return new T(n,"confirmed")}function Ul(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:o})=>{let f=await T(),l=await Sf(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:N}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new N(x)}))}if(n.address)return Hl({amount:n.getBaseValue("number"),connection:f,decimals:n.decimal,from:l,isProgramDerivedAddress:o,recipient:x,tokenAddress:n.address});return}}async function Hl({tokenAddress:T,recipient:n,from:x,connection:y,amount:o,decimals:f,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),B=new _,w=new L(T),q=await C(w,x),M=new L(n),Q=await C(w,M,l),U=!1;try{await G(y,Q),U=!0}catch{}if(!U)B.add(N(x,Q,M,w));return B.add(X(q,w,Q,x,o,f)),B}function Of(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Sf(f),G=await Rf();if(!(o||G(n)))throw new b.SwapKitError("core_transaction_invalid_recipient_address");let N=await T(),X=await Ul(T)({assetValue:x,isProgramDerivedAddress:o,recipient:n,sender:f});if(!X)throw new b.SwapKitError("core_transaction_invalid_sender_address");if(y)X.add(l(y));let _=await N.getLatestBlockhash();return X.recentBlockhash=_.blockhash,X.feePayer=C,X}}async function Rl({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new b.SwapKitError("core_transaction_invalid_sender_address");return x}function Ol(T,n){return async({recipient:x,assetValue:y,memo:o,isProgramDerivedAddress:f})=>{if(!n)throw new b.SwapKitError("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Of(T)({assetValue:y,isProgramDerivedAddress:f,memo:o,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Uf(T)(G)}return C.sign(n),Uf(T)(C)}}function Uf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function Sl(T,n){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!n)throw new b.SwapKitError("toolbox_solana_no_signer");if(!(x instanceof y)){let f=await(await T()).getLatestBlockhash();x.recentBlockhash=f.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Hf({phrase:T,derivationPath:n=b.DerivationPath.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:o}=await import("@solana/web3.js"),f=y(T),l=x.fromMasterSeed(f);return o.fromSeed(l.derive(n,!0).privateKey)}function Rx(T){return T.toString()}async function Sf(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var b,VT;var Sx=R(()=>{b=require("@swapkit/helpers"),VT=require("ts-pattern")});var Df={};Ny(Df,{getSolanaToolbox:()=>zl,getSolanaAddressValidator:()=>Rf,fetchTokenMetaData:()=>Ox,createKeysForPath:()=>Hf});module.exports=Ly(Df);var If=R(()=>{Sx()});async function Dx(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(x){try{return T(x)}catch{return!1}}}async function Dl({provider:T,...n}={}){let x=await Dx(),y=await KT.match(n).with({phrase:KT.P.string},async({phrase:_})=>{let{Ed25519Keypair:L}=await import("@mysten/sui/keypairs/ed25519");return L.deriveKeypair(_)}).with({signer:KT.P.any},({signer:_})=>_).otherwise(()=>{return});async function o(_=T){let{SuiClient:L,getFullnodeUrl:B}=await import("@mysten/sui/client");return new L({url:_||B("mainnet")})}function f(){return y?.toSuiAddress()||""}async function l(_){let L=_||f();if(!L)throw new e.SwapKitError("toolbox_sui_address_required");try{let B=await o(),{totalBalance:w}=await B.getBalance({owner:L}),{baseDecimal:q,chain:M}=e.getChainConfig(e.Chain.Sui),Q=[e.AssetValue.from({chain:M,fromBaseDecimal:q,value:w})],U=await B.getAllBalances({owner:L});for(let{coinType:t,totalBalance:F}of U){if(t==="0x2::sui::SUI")continue;if(Number(F)>0){let K=t.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${M}.${K}-${t}`;Q.push(e.AssetValue.from({asset:d,fromBaseDecimal:q,value:F}))}}return Q}catch(B){throw new e.SwapKitError("toolbox_sui_balance_error",{error:B})}}async function C(_){let L=e.AssetValue.from({chain:e.Chain.Sui,value:"0.01"});if(!_)return L;try{let B=await o(),{txBytes:w}=await G(_),{effects:{status:q,gasUsed:M}}=await B.dryRunTransactionBlock({transactionBlock:w});if(q.status!=="success")return L;let Q=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return e.AssetValue.from({chain:e.Chain.Sui,value:Q.toString()})}catch{return L}}async function G({recipient:_,assetValue:L,gasBudget:B,sender:w}){let{Transaction:q}=await import("@mysten/sui/transactions"),M=w||f();if(!M)throw new e.SwapKitError("toolbox_sui_no_sender");try{let Q=new q;if(Q.setSender(M),L.isGasAsset||L.symbol==="SUI"){let[F]=Q.splitCoins(Q.gas,[L.getBaseValue("string")]);Q.transferObjects([F],_)}else throw new e.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(B)Q.setGasBudget(B);let U=await o(),t=await Q.build({client:U});return{tx:Q,txBytes:t}}catch(Q){throw new e.SwapKitError("toolbox_sui_transaction_creation_error",{error:Q})}}async function N(_){if(!y)throw new e.SwapKitError("toolbox_sui_no_signer");if(_ instanceof Uint8Array)return y.signTransaction(_);let{txBytes:L}="tx"in _?_:await G(_);return y.signTransaction(L)}async function X({assetValue:_,gasBudget:L,recipient:B}){if(!y)throw new e.SwapKitError("toolbox_sui_no_signer");let w=y.toSuiAddress()||f();if(!w)throw new e.SwapKitError("toolbox_sui_no_sender");let{txBytes:q}=await G({assetValue:_,gasBudget:L,recipient:B,sender:w}),M=await o(),{digest:Q}=await M.signAndExecuteTransaction({signer:y,transaction:q});return Q}return{createTransaction:G,estimateTransactionFee:C,getAddress:f,getBalance:l,signTransaction:N,transfer:X,validateAddress:x}}var e,KT;var Ix=R(()=>{e=require("@swapkit/helpers"),KT=require("ts-pattern")});var Un={};Ny(Un,{getSuiToolbox:()=>Dl,getSuiAddressValidator:()=>Dx});module.exports=Ly(Un);var Hn=R(()=>{Ix()});async function Il(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:o}=await import("@ton/ton"),f=await kx(),l,C,G=await bT.match(T).with({phrase:bT.P.string},async({phrase:Q})=>n(Q.split(" "))).with({signer:bT.P.any},({signer:Q})=>Q).otherwise(()=>{return});function N(){let{rpcUrls:Q}=yy.getChainConfig(yy.Chain.Ton),[U]=Q;if(!l||l.parameters.endpoint!==U)l=new y({endpoint:U});return l}function X(Q){if(!C||Q){let U=N(),t=Q||G;if(!t)throw new yy.SwapKitError("core_wallet_connection_not_found");let F=o.create({publicKey:t.publicKey,workchain:0});C=U.open(F)}return C}async function _(Q){let U=N(),{baseDecimal:t}=yy.getChainConfig(yy.Chain.Ton);try{let F=await U.getBalance(x.parse(Q));return[yy.AssetValue.from({chain:yy.Chain.Ton,value:yy.SwapKitNumber.fromBigInt(F,t)})]}catch(F){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:F})}}async function L({assetValue:Q,recipient:U,memo:t}){let F=X();if(!F||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let{toNano:K,comment:d,internal:Gy}=await import("@ton/ton"),Iy=await F.getSeqno(),Z=K(Q.getValue("string")),W=t?d(t):void 0;return F.createTransfer({messages:[Gy({body:W,to:U,value:Z})],secretKey:G.secretKey,seqno:Iy})}async function B({assetValue:Q,recipient:U,memo:t}){let F=X();if(!F||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let K=await L({assetValue:Q,memo:t,recipient:U});return await F.send(K),K.hash().toString()}async function w(Q){let U=X();if(!U)throw new yy.SwapKitError("core_wallet_connection_not_found");try{return await U.send(Q),Q.hash().toString("hex")}catch(t){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:t})}}function q(){return X().address.toString()}function M(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Ton,value:"0.0001"}))}return{createTransaction:L,estimateTransactionFee:M,getAddress:q,getBalance:_,sendTransaction:w,transfer:B,validateAddress:f}}async function kx(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var yy,bT;var vx=R(()=>{yy=require("@swapkit/helpers"),bT=require("ts-pattern")});var Rn={};Ny(Rn,{getTONToolbox:()=>Il,getTONAddressValidator:()=>kx});module.exports=Ly(Rn);var On=R(()=>{vx()});var GT;var kf=R(()=>{GT=[{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 ux(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${kl}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let o=await y.json();if(!(o.success&&o.data)||o.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=x.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let l=o.data.find((C)=>{return C.address.toLowerCase()===f});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new Ex.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var Ex,kl="https://api.trongrid.io";var Fx=R(()=>{Ex=require("@swapkit/helpers")});async function vf(){let T=await import("tronweb"),n=T.TronWeb??T.default?.TronWeb;return(x)=>{return n.isAddress(x)}}async function tx({phrase:T,derivationPath:n,index:x}){let y=n||I.derivationPathToString(I.updateDerivationPath(I.NetworkDerivationPath[I.Chain.Tron],{index:x||0})),{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),l=f(T),G=o.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new I.SwapKitError("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function Al({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),f=o(T),C=y.fromMasterSeed(f).derive(n);if(!C.privateKey)throw new I.SwapKitError("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let N=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof N==="string"?N:""),signTransaction:async(X)=>{return await x.trx.sign(X,G)}}}var I,$T,vl=268,El=13000,ul=345,Ax="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Fl="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",Vx=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await I.getRPCUrl(I.Chain.Tron),o=void 0,f=new x({fullHost:y,headers:void 0}),l="index"in T?T.index||0:0,C=I.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:I.updateDerivationPath(I.NetworkDerivationPath[I.Chain.Tron],{index:l})),G=await $T.match(T).with({phrase:$T.P.string},async({phrase:Z})=>Al({derivationPath:C,phrase:Z,tronWeb:f})).with({signer:$T.P.any},({signer:Z})=>Promise.resolve(Z)).otherwise(()=>Promise.resolve(void 0)),N=async()=>{if(!G)throw new I.SwapKitError("toolbox_tron_no_signer");return await G.getAddress()},X=()=>{return 1e8},_=async()=>{try{let Z=await f.trx.getChainParameters(),W={};for(let Y of Z)W[Y.key]=Y.value;return{bandwidthFee:W.getTransactionFee||1000,createAccountFee:W.getCreateAccountFee||1e5,energyFee:W.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},L=async(Z)=>{try{let W=await f.trx.getAccount(Z);return W&&Object.keys(W).length>0}catch{return!1}},B=async(Z)=>{try{let W=await f.trx.getAccountResources(Z);return{bandwidth:{free:W.freeNetLimit-W.freeNetUsed,total:W.NetLimit||0,used:W.NetUsed||0},energy:{total:W.EnergyLimit||0,used:W.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(Z,W)=>{try{let Y=f.contract(GT,W);if(!Y.methods?.balanceOf)return 0n;let[O]=await Y.methods.balanceOf(Z).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(Y){return console.warn(`balanceOf() failed for ${W}:`,Y),0n}},q=async(Z,W)=>{try{f.setAddress(W);let Y=f.contract(GT,Z),[O,k]=await Promise.all([Y.symbol().call().catch(()=>"UNKNOWN"),Y.decimals().call().catch(()=>"18")]);return{decimals:Number(k??18),symbol:O??"UNKNOWN"}}catch(Y){return I.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Z}: ${Y instanceof Error?Y.message:Y}`}),null}},M=async(Z,W=!0)=>{let Y=[I.AssetValue.from({chain:I.Chain.Tron})];try{let O=await ux(Z);if(O){let k=[];k.push(I.AssetValue.from({chain:I.Chain.Tron,fromBaseDecimal:6,value:O.balance}));for(let A of O.trc20){let[j,r]=Object.entries(A)[0]||[];if(!(j&&r))continue;let $=await q(j,Z);if(!$)continue;k.push(I.AssetValue.from({asset:`TRON.${$.symbol}-${j}`,fromBaseDecimal:$.decimals,value:BigInt(r||0)}))}return k}return Y}catch(O){I.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${O instanceof Error?O.message:O}`});try{let k=[],A=await f.trx.getBalance(Z);if(A&&Number(A)>0)k.push(I.AssetValue.from({chain:I.Chain.Tron,fromBaseDecimal:6,value:A}));let j=await w(Z,Ax);if(j)k.push(I.AssetValue.from({asset:`TRON.USDT-${Ax}`,fromBaseDecimal:6,value:j}));if(k.length===0)return Y;return k}catch(k){return console.error("Tron balance fetch failed:",k),Y}}},Q=async({recipient:Z,assetValue:W,memo:Y})=>{if(!G)throw new I.SwapKitError("toolbox_tron_no_signer");let O=await N();if(f.setAddress(O),W.isGasAsset){let $=await f.transactionBuilder.sendTrx(Z,W.getBaseValue("number"),O);if(Y){let _y=await f.transactionBuilder.addUpdateData($,Y,"utf8"),Hy=await G.signTransaction(_y),{txid:hy}=await f.trx.sendRawTransaction(Hy);return hy}let wy=await G.signTransaction($),{txid:Zy}=await f.trx.sendRawTransaction(wy);return Zy}let A=await t({assetValue:W,memo:Y,recipient:Z,sender:O}),j=await G.signTransaction(A),{txid:r}=await f.trx.sendRawTransaction(j);if(!r)throw new I.SwapKitError("toolbox_tron_token_transfer_failed");return r},U=async({assetValue:Z,recipient:W,sender:Y})=>{let O=Z.isGasAsset;try{let k=Y?Y:G?await N():void 0;if(!k)return O?I.AssetValue.from({chain:I.Chain.Tron,fromBaseDecimal:0,value:0.1}):I.AssetValue.from({chain:I.Chain.Tron,fromBaseDecimal:0,value:15});let A=await _(),r=await L(W)?0:A.createAccountFee,$=await B(k);if(O){let jy=vl,So=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),Do=0;if(jy>So)Do=(jy-So)*A.bandwidthFee;let D0=r+Do;return I.AssetValue.from({chain:I.Chain.Tron,fromBaseDecimal:I.BaseDecimal.TRON,value:D0})}let wy=ul,Zy=El,_y=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),Hy=$.energy.total-$.energy.used,hy=0;if(wy>_y)hy=(wy-_y)*A.bandwidthFee;let aT=0;if(Zy>Hy)aT=(Zy-Hy)*A.energyFee;let cn=r+hy+aT;return I.AssetValue.from({chain:I.Chain.Tron,fromBaseDecimal:I.BaseDecimal.TRON,value:cn})}catch(k){throw I.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${k instanceof Error?k.message:k}`}),new I.SwapKitError("toolbox_tron_fee_estimation_failed",{error:k})}},t=async(Z)=>{let{recipient:W,assetValue:Y,memo:O,sender:k,expiration:A}=Z;if(Y.isGasAsset){let $=await f.transactionBuilder.sendTrx(W,Y.getBaseValue("number"),k);if(O)return f.transactionBuilder.addUpdateData($,O,"utf8");if(A)f.transactionBuilder.extendExpiration($,A);return $}f.setAddress(k);let r=Y.address;if(!r)throw new I.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});try{let wy=[{type:"address",value:W},{type:"uint256",value:Y.getBaseValue("string")}],Zy={callValue:0,feeLimit:X()},_y=await f.transactionBuilder.triggerSmartContract(r,"transfer(address,uint256)",Zy,wy,k);if(O)return f.transactionBuilder.addUpdateData(_y.transaction,O,"utf8");if(A)f.transactionBuilder.extendExpiration(_y.transaction,A);return _y.transaction}catch($){throw new I.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:$ instanceof Error?$.message:String($)})}},F=async(Z)=>{if(!G)throw new I.SwapKitError("toolbox_tron_no_signer");return await G.signTransaction(Z)},K=async(Z)=>{let{txid:W}=await f.trx.sendRawTransaction(Z);return W},d=async({assetAddress:Z,spenderAddress:W,from:Y})=>{try{let O=f.contract(GT,Z);if(!O.methods?.allowance)throw new I.SwapKitError("toolbox_tron_invalid_token_contract");let[k]=await O.methods.allowance(Y,W).call();return k?typeof k==="bigint"?k:BigInt(k):0n}catch(O){throw new I.SwapKitError("toolbox_tron_allowance_check_failed",{error:O})}};return{approve:async({assetAddress:Z,spenderAddress:W,amount:Y,from:O})=>{if(!G)throw new I.SwapKitError("toolbox_tron_no_signer");let k=O||await N(),A=Y!==void 0?BigInt(Y).toString():Fl,j="approve(address,uint256)",r=[{type:"address",value:W},{type:"uint256",value:A}],wy={callValue:0,feeLimit:X()};try{let{transaction:Zy}=await f.transactionBuilder.triggerSmartContract(Z,j,wy,r,k),_y=await G.signTransaction(Zy),{txid:Hy}=await f.trx.sendRawTransaction(_y);if(!Hy)throw new I.SwapKitError("toolbox_tron_approve_failed");return Hy}catch(Zy){throw new I.SwapKitError("toolbox_tron_approve_failed",{error:Zy})}},broadcastTransaction:K,createTransaction:t,estimateTransactionFee:U,getAddress:N,getApprovedAmount:d,getBalance:M,isApproved:async({assetAddress:Z,spenderAddress:W,from:Y,amount:O})=>{let k=await d({assetAddress:Z,from:Y,spenderAddress:W});if(!O)return k>0n;let A=BigInt(O);return k>=A},signTransaction:F,transfer:Q,tronWeb:f,validateAddress:await vf()}};var Kx=R(()=>{kf();Fx();I=require("@swapkit/helpers"),$T=require("ts-pattern")});var Ef={};Ny(Ef,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>tx,getTronAddressValidator:()=>vf,createTronToolbox:()=>Vx});module.exports=Ly(Ef);var uf=R(()=>{kf();Kx()});async function tl({chain:T,txHash:n}){let x=`${Sn(T)}/push/transaction`,y=JSON.stringify({data:n});try{let o=await V.RequestClient.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(o.context.code!==200)throw new V.SwapKitError("toolbox_utxo_broadcast_failed",{error:o.context.error||"Transaction broadcast failed"});return o.data?.transaction_hash||n}catch(o){let f=await V.getRPCUrl(T);if(f){let l=JSON.stringify({id:uo(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await V.RequestClient.post(f,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new V.SwapKitError("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new V.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw o}}function Sn(T){return`https://api.blockchair.com/${Vl(T)}`}function bx(T){switch(T){case V.Chain.Bitcoin:return 5;case V.Chain.Dogecoin:return 1e4;case V.Chain.Litecoin:return 1;case V.Chain.Zcash:return 1;default:return 2}}function Vl(T){switch(T){case V.Chain.BitcoinCash:return"bitcoin-cash";case V.Chain.Litecoin:return"litecoin";case V.Chain.Dash:return"dash";case V.Chain.Dogecoin:return"dogecoin";case V.Chain.Zcash:return"zcash";case V.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function Kl(T){try{let{feePerKb:n}=await V.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,bx(T))}catch{return bx(T)}}async function Ff(T,n){let x=await V.RequestClient.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new V.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function jx({address:T,chain:n,apiKey:x}){if(!T)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Ff(`${Sn(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function bl({address:T,chain:n,apiKey:x}){return(await jx({address:T,apiKey:x,chain:n}))?.address.balance||0}async function cx({chain:T,apiKey:n,txHash:x}){if(!x)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Ff(`${Sn(T)}/raw/transaction/${x}`,n))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function $l({chain:T,address:n,apiKey:x,offset:y=0,limit:o=30}){return(await Ff(`${Sn(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${o}&offset=${y}`,x)).map(({is_spent:G,script_hex:N,block_id:X,transaction_hash:_,index:L,value:B,spending_signature_hex:w})=>({hash:_,index:L,is_confirmed:X!==-1,is_spent:G,script_hex:N,txHex:w,value:B}))}function pl(T){return T.reduce((n,x)=>n+x.value,0)}function $x(T,n){let x=[...T].sort((y,o)=>o.value-y.value);if(n){let y=[],o=0;for(let f of x)if(y.push(f),o+=f.value,o>=n)break;return y}return x}async function mx({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:o=0,offset:f=0,limit:l=30}){if(!n)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await $l({address:n,apiKey:x,chain:T,limit:l,offset:f,targetValue:y}),N=C.length<l,X=C.filter(({is_spent:M})=>!M),_=pl(X),L=o+_,B=y&&L>=y;if(N||B)return $x(X,y);let w=await mx({accumulativeValue:L,address:n,apiKey:x,chain:T,limit:l,offset:f+l,targetValue:y}),q=[...X,...w];return $x(q,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function hl({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:o}){let f=await mx({address:T,apiKey:x,chain:n,targetValue:o}),l=[];for(let{hash:C,index:G,script_hex:N,value:X}of f){let _;if(y)_=await cx({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:X,witnessUtxo:{script:Buffer.from(N,"hex"),value:X}})}return l}function jl(T){let n=V.SKConfig.get("apiKeys").blockchair||"";return V.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>tl({chain:T,txHash:x}),getAddressData:(x)=>jx({address:x,apiKey:n,chain:T}),getBalance:(x)=>bl({address:x,apiKey:n,chain:T}),getRawTx:(x)=>cx({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>Kl(T),getUtxos:(x)=>hl({...x,apiKey:n,chain:T})}}function cl(T){return T}function By(T){let n=V.SKConfig.get("apis")[T];if(n)return V.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return jl(T)}function Wy(){return function(n){switch(n){case V.Chain.Bitcoin:return hx.networks.bitcoin;case V.Chain.BitcoinCash:return NT.default.bitcoincash.main.toBitcoinJS();case V.Chain.Dash:return NT.default.dash.main.toBitcoinJS();case V.Chain.Litecoin:return NT.default.litecoin.main.toBitcoinJS();case V.Chain.Dogecoin:{let x={private:70615956,public:70617039},y=NT.default.dogecoin.test;return y.versions.bip32=x,NT.default.dogecoin.main.toBitcoinJS()}case V.Chain.Zcash:return px.networks.zcash;default:throw new V.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var px,V,hx,NT;var ix=R(()=>{WT();px=require("@bitgo/utxo-lib"),V=require("@swapkit/helpers"),hx=require("bitcoinjs-lib"),NT=J(require("coininfo"))});function bf(T){try{return Dn(T),!0}catch{return!1}}function $f(T){return Dn(T)?.network}function _T(T){let n=Dn(T);if(n?.format==="legacy")return T;return gl(n)}function pT(T){let n=Dn(T);return dl(n)}function Dn(T){try{let n=ml(T);if(n)return n}catch{}try{let n=il(T);if(n)return n}catch{}throw new Af.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function ml(T){try{let n=tf.default.decode(T);if(n.length!==21)throw new Af.SwapKitError("toolbox_utxo_invalid_address",{address:T});let x=n[0],y=Array.prototype.slice.call(n,1);switch(x){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 il(T){if(T.indexOf(":")!==-1)try{return gx(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return gx(`${x}:${T}`)}catch{}}return}function gx(T){try{let{hash:n,prefix:x,type:y}=Vf.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function gl(T){let n=ry.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=n,x.set(T.hash,1),tf.default.encode(x)}function dl(T){let n=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Vf.default.encode(n,x,y)}var Af,tf,Vf,Kf,ry;var dx=R(()=>{Af=require("@swapkit/helpers"),tf=J(require("bs58check")),Vf=J(require("cashaddrjs"));((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Kf||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Py(T){let n=Buffer.from(T,"utf8");return vn.script.compile([vn.opcodes.OP_RETURN,n])}var rx,vn,rl=1000,En=10,ax=10,al=41,sl=107,un,In,kn,hT=(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 rx.SwapKitError("toolbox_utxo_invalid_address",{address:T})},LT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?hT(T[0].address):"P2PKH",o=T.filter((l)=>l.value>=In["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+Ky(C),0),f=n?.reduce((l,C)=>l+jT(C),0)||kn[y];return En+o+f},Ky=(T)=>{if("type"in T)return In[T.type];if("address"in T&&T.address)return In[hT(T.address)];return al+sl},jT=(T,n)=>{if(T?.script)return ax+T.script.length+(T.script.length>=74?2:1);if(n)return kn[n];return kn.P2PKH};var pf=R(()=>{rx=require("@swapkit/helpers"),vn=require("bitcoinjs-lib");((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(un||={});In={["P2PKH"]:148,["P2WPKH"]:68},kn={["P2PKH"]:34,["P2WPKH"]:31}});function Fn(T){switch(T){case zy.Chain.Bitcoin:case zy.Chain.BitcoinCash:return 550;case zy.Chain.Dash:case zy.Chain.Litecoin:return 5500;case zy.Chain.Dogecoin:return 1e5;case zy.Chain.Zcash:return 546;default:throw new zy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Yy({inputs:T,outputs:n,feeRate:x=1,chain:y=zy.Chain.Bitcoin,changeAddress:o=""}){let f=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?hT(T[0].address):"P2PKH",C=T.filter((B)=>Ky(B)*f<=B.value),G=En+n.reduce((B,w)=>B+jT(w,l),0),N=n.reduce((B,w)=>B+w.value,0),X=G*f,_=0,L=[];for(let B of C){let w=Ky(B),q=f*w;X+=q,_+=B.value,L.push(B);let M=X+N;if(_<M)continue;let Q=_-M,U=f*jT({address:"",value:0},l);if(Q>U){let t=U+X,F=_-(N+t);if(F>Math.max(Ky({})*f,Fn(y)))return{fee:t,inputs:L,outputs:n.concat({address:o,value:F})}}return{fee:X,inputs:L,outputs:n}}return{fee:f*LT({feeRate:f,inputs:T,outputs:n})}}var zy;var sx=R(()=>{pf();zy=require("@swapkit/helpers")});var XT=R(()=>{ix();dx();sx();pf()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function by(T){let n=ay(T);return bf(n)&&$f(n)==="mainnet"}function BT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let n=An.networks.zcash;try{return An.address.toOutputScript(T,n),!0}catch{let x=ex.default.decode(T);if(x.length<21)return!1;let y=x[0];return y===n.pubKeyHash||y===n.scriptHash}}catch{return!1}}var An,ex;var cT=R(()=>{XT();An=require("@bitgo/utxo-lib"),ex=J(require("bs58check"))});function n0({inputs:T,outputs:n,chain:x,psbt:y,sender:o,compiledMemo:f}){for(let l of T){let C=!!l.witnessUtxo&&!mT.includes(x)&&{witnessUtxo:l.witnessUtxo},G=mT.includes(x)&&{nonWitnessUtxo:l.txHex?Buffer.from(l.txHex,"hex"):void 0};y.addInput({hash:l.hash,index:l.index,...C,...G})}for(let l of n){let C="address"in l&&l.address?l.address:o,G=l.script;if(G&&!f)continue;let N=G?{script:f,value:0}:{address:C,value:l.value};Uy.initEccLib(tn.default),y.addOutput(N)}return{inputs:T,psbt:y}}async function f0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,fetchTxHex:f=!1}){let l=T.chain,C=x?await Py(x):null,G=await l0({assetValue:T,fetchTxHex:f,memo:x,recipient:n,sender:o}),{inputs:N,outputs:X}=Yy({...G,chain:l,feeRate:y});if(!(N&&X))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let _=await Wy(),L=new Uy.Psbt({network:_(l)});if(l===v.Chain.Dogecoin)L.setMaximumFeeRate(650000000);let{psbt:B,inputs:w}=await n0({chain:l,compiledMemo:C,inputs:N,outputs:X,psbt:L,sender:o});return{inputs:w,psbt:B,utxos:G.inputs}}async function o0(){let T=await Wy();return function({address:x,chain:y}){if(y===v.Chain.BitcoinCash)return by(x);if(y===v.Chain.Zcash)return BT(x);try{return Uy.initEccLib(tn.default),Uy.address.toOutputScript(x,T(y)),!0}catch{return!1}}}async function el({chain:T,phrase:n,derivationPath:x}){let y=(await iT(T))({derivationPath:x,phrase:n});async function o(l){return await l.signAllInputs(y),l}function f(){return jf(T)(y)}return{getAddress:f,signTransaction:o}}async function sy({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,o=v.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),f=x?await el({chain:T,derivationPath:o,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let C=await o0(),G=await iT(T);return{accumulative:Yy,broadcastTx:(N)=>By(T).broadcastTx(N),calculateTxSize:LT,createKeysForPath:G,createTransaction:f0,estimateMaxSendableAmount:y1(T),estimateTransactionFee:T1(T),getAddress:l,getAddressFromKeys:jf(T),getBalance:TT(T),getFeeRates:()=>gT(T),getInputsOutputsFee:x0,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:n1(f),validateAddress:(N)=>C({address:N,chain:T})}}async function x0({assetValue:T,feeOptionKey:n=v.FeeOption.Fast,feeRate:x,memo:y,sender:o,recipient:f}){let l=T.chain,C=await l0({assetValue:T,memo:y,recipient:f,sender:o}),G=x?Math.floor(x):(await gT(l))[n];return Yy({...C,chain:l,feeRate:G})}function y1(T){return async function({from:x,memo:y,feeRate:o,feeOptionKey:f=v.FeeOption.Fast,recipients:l=1}){let C=await By(T).getAddressData(x),G=o?Math.ceil(o):(await gT(T))[f],N=C?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Fn(T),Ky(w)*G));if(!N?.length)return v.AssetValue.from({chain:T});let X=v.AssetValue.from({chain:T,value:N.reduce((w,q)=>w+q.value,0)}),_=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let w=await Py(y);_.push({address:x,script:w,value:0})}let B=LT({feeRate:G,inputs:N,outputs:_})*G;return X.sub(B)}}function T1(T){return async(n)=>{let x=await x0(n);return v.AssetValue.from({chain:T,value:v.SwapKitNumber.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function iT(T){let n=await Wy();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:o=`${v.DerivationPath.BCH}/0`,wif:f}){let l=n(T);if(f)return Vn.ECPair.fromWIF(f,l);if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return Vn.HDNode.fromSeedBuffer(Buffer.from(hf.mnemonicToSeedSync(y)),l).derivePath(o).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:o,derivationPath:f}){if(!(o||y))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=T0.ECPairFactory(tn.default),C=n(T);if(o)return l.fromWIF(o,C);let G=hf.mnemonicToSeedSync(y),N=y0.HDKey.fromMasterSeed(G,C).derive(f);if(!N.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(N.privateKey),{network:C})};default:throw new v.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function jf(T){let n=Wy();return function(y){if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let o=mT.includes(T)?Uy.payments.p2pkh:Uy.payments.p2wpkh,{address:f}=o({network:n(T),pubkey:y.publicKey});if(!f)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function n1(T){return async function({memo:x,recipient:y,feeOptionKey:o,feeRate:f,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=f||(await gT(G))[o||v.FeeOption.Fast],{psbt:X}=await f0({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(X);return _.finalizeAllInputs(),By(G).broadcastTx(_.extractTransaction().toHex())}}async function gT(T){let n=await By(T).getSuggestedTxFee();return{[v.FeeOption.Average]:n,[v.FeeOption.Fast]:v.applyFeeMultiplier(n,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(n,v.FeeOption.Fastest)}}async function l0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:o=!1}){let f=T.chain,l=(await gT(f))[v.FeeOption.Fastest],C=o||mT.includes(f),G=T.getBaseValue("number"),N=Math.ceil(G+l*5000);return{inputs:await By(f).getUtxos({address:y,fetchTxHex:C,targetValue:N}),outputs:[{address:n,value:G},...x?[{address:"",script:await Py(x),value:0}]:[]]}}var tn,Vn,y0,hf,v,Uy,T0,mT;var dT=R(()=>{WT();XT();cT();tn=J(require("@bitcoinerlab/secp256k1")),Vn=require("@psf/bitcoincashjs-lib"),y0=require("@scure/bip32"),hf=require("@scure/bip39"),v=require("@swapkit/helpers"),Uy=require("bitcoinjs-lib"),T0=require("ecpair"),mT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function f1(T){function n({builder:y,utxos:o}){return o.forEach((f,l)=>{y.sign(l,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:n}}async function cf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=ly.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:ly.updateDerivationPath(ly.NetworkDerivationPath[Qy],{index:x})),o=n?(await iT(Qy))({derivationPath:y,phrase:n}):void 0,f=o?f1(o):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...X}=await sy({chain:Qy});function _(L,B=!0){return C(ay(pT(L)))}return{...X,broadcastTx:N,buildTx:x1,createTransaction:G0,getAddress:l,getAddressFromKeys:l1,getBalance:_,getFeeRates:G,stripPrefix:ay,stripToCashAddress:ey,transfer:o1({broadcastTx:N,getFeeRates:G,signer:f}),validateAddress:by}}async function G0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o}){if(!by(n))throw new ly.SwapKitError("toolbox_utxo_invalid_address",{address:n});let f=Math.ceil(T.getBaseValue("number")+y*7500),l=await By(Qy).getUtxos({address:ey(o),fetchTxHex:!0,targetValue:f}),C=x?await Py(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:X}=Yy({chain:Qy,feeRate:y,inputs:l,outputs:G});if(!(N&&X))throw new ly.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let _=await Wy(),L=new wT.TransactionBuilder(_(Qy));await Promise.all(N.map(async(B)=>{let w=await By(Qy).getRawTx(B.hash);L.addInput(wT.Transaction.fromBuffer(Buffer.from(w,"hex")),B.index)}));for(let B of X){let w="address"in B&&B.address?B.address:_T(o),q=await Wy(),M=wT.address.toOutputScript(_T(w),q(Qy));L.addOutput(M,B.value)}if(C)L.addOutput(C,0);return{builder:L,utxos:N}}function o1({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:o,assetValue:f,feeOptionKey:l=ly.FeeOption.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new ly.SwapKitError("toolbox_utxo_no_signer");if(!o)throw new ly.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=C.feeRate||(await n())[l],{builder:X,utxos:_}=await G0({...C,assetValue:f,feeRate:N,recipient:o,sender:G}),B=(await x.signTransaction({builder:X,utxos:_})).toHex();return T(B)}}async function x1({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,setSigHashType:f}){let l=pT(n);if(!by(l))throw new ly.SwapKitError("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await By(Qy).getUtxos({address:ey(o),fetchTxHex:!1,targetValue:C}),N=Number(y.toFixed(0)),X=x?await Py(x):null,_=[];if(_.push({address:_T(n),value:T.getBaseValue("number")}),X)_.push({script:X,value:0});let{inputs:L,outputs:B}=Yy({chain:Qy,feeRate:N,inputs:G,outputs:_});if(!(L&&B))throw new ly.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let w=await Wy(),q=new C0.Psbt({network:w(Qy)});for(let{hash:M,index:Q,witnessUtxo:U}of L)q.addInput({hash:M,index:Q,sighashType:f?65:void 0,witnessUtxo:U});for(let M of B){let Q="address"in M&&M.address?M.address:_T(o),U=M.script?X?{script:X,value:0}:void 0:{address:Q,value:M.value};if(U)q.addOutput(U)}return{inputs:L,psbt:q,utxos:G}}function l1(T){let n=T.getAddress(0);return ey(n)}var wT,ly,C0,Qy;var Kn=R(()=>{XT();dT();cT();wT=require("@psf/bitcoincashjs-lib"),ly=require("@swapkit/helpers"),C0=require("bitcoinjs-lib"),Qy=ly.Chain.BitcoinCash});function L0(){return My.networks.zcash}function X0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function C1({phrase:T,derivationPath:n}){let x=gf.mnemonicToSeedSync(T),o=mf.HDKey.fromMasterSeed(x).derive(n);if(!o.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let f=X0(),l=My.ECPair.fromPrivateKey(Buffer.from(o.privateKey),{network:f}),C=My.crypto.hash160(l.publicKey),{isStagenet:G}=Ty.SKConfig.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),X=Buffer.concat([N,C]),_=_0.default.encode(X);return{getAddress:()=>Promise.resolve(_),signTransaction:(L)=>{let B=L.signAllInputs(l);return Promise.resolve(B)}}}function G1({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:o}){for(let f of T){let l=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},C=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};x.addInput({hash:f.hash,index:f.index,...l,...C})}for(let f of n){let l="address"in f&&f.address?f.address:y,C=f.script;if(C&&!o)continue;let G=C?{script:o,value:0n}:{script:My.address.toOutputScript(l,L0()),value:BigInt(f.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function N0(T){let{assetValue:n,recipient:x,memo:y,feeRate:o,sender:f,fetchTxHex:l}=T,C=y?Py(y):null,G=await By(Ty.Chain.Zcash).getUtxos({address:f,fetchTxHex:l!==!1}),N=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:X,outputs:_}=Yy({chain:Ty.Chain.Zcash,changeAddress:f,feeRate:o,inputs:G,outputs:N});if(!(X&&_))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let L=My.bitgo.createPsbtForNetwork({network:L0()},{version:455}),w=3268858036,q=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),M=Buffer.allocUnsafe(4);M.writeUInt32LE(w>>>0,0),L.addUnknownKeyValToGlobal({key:q,value:M});let{psbt:Q,inputs:U}=await G1({compiledMemo:C,inputs:X,outputs:_,psbt:L,sender:f});return{inputs:U,outputs:_,psbt:Q}}async function df(T){let n=await ZT.match(T).with({signer:ZT.P.not(ZT.P.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:ZT.P.string},({phrase:l,derivationPath:C,index:G=0})=>{let N=C||Ty.NetworkDerivationPath[Ty.Chain.Zcash]||[44,133,0,0,0],X=Ty.updateDerivationPath(N,{index:G}),_=Ty.derivationPathToString(X);return C1({derivationPath:_,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await sy({chain:Ty.Chain.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=Ty.FeeOption.Fast,...N}){let X=await n?.getAddress();if(!(n&&X))throw new Ty.SwapKitError("toolbox_utxo_no_signer");let _=N.feeRate||(await x.getFeeRates())[G],{psbt:L}=await N0({...N,assetValue:C,feeRate:_,recipient:l,sender:X}),B=await n.signTransaction(L);return B.finalizeAllInputs(),x.broadcastTx(B.extractTransaction().toHex())}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=gf.mnemonicToSeedSync(l),X=mf.HDKey.fromMasterSeed(G).derive(C);if(!X.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let _=X0();return My.ECPair.fromPrivateKey(Buffer.from(X.privateKey),{network:_})}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return o({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:o,createTransaction:N0,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:BT}}var My,mf,gf,Ty,_0,ZT;var rf=R(()=>{XT();dT();cT();My=require("@bitgo/utxo-lib"),mf=require("@scure/bip32"),gf=require("@scure/bip39"),Ty=require("@swapkit/helpers"),_0=J(require("bs58check")),ZT=require("ts-pattern")});async function N1(T,n){switch(T){case Sy.Chain.BitcoinCash:return await cf(n||{});case Sy.Chain.Zcash:return await df(n);case Sy.Chain.Bitcoin:case Sy.Chain.Dogecoin:case Sy.Chain.Litecoin:case Sy.Chain.Dash:return await sy({chain:T,...n});default:throw new Sy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Sy;var B0=R(()=>{Kn();dT();rf();Kn();cT();Sy=require("@swapkit/helpers")});var af={};Ny(af,{validateZcashAddress:()=>BT,toLegacyAddress:()=>_T,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>mT,isValidAddress:()=>bf,getUtxoToolbox:()=>N1,getUtxoNetwork:()=>Wy,getUtxoApi:()=>By,getUTXOAddressValidator:()=>o0,getScriptTypeForAddress:()=>hT,getOutputSize:()=>jT,getInputSize:()=>Ky,getDustThreshold:()=>Fn,getCreateKeysForPath:()=>iT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>cl,createBCHToolbox:()=>cf,compileMemo:()=>Py,calculateTxSize:()=>LT,bchValidateAddress:()=>by,addressFromKeysGetter:()=>jf,addInputsAndOutputs:()=>n0,accumulative:()=>Yy,UtxoNetwork:()=>Kf,UTXOScriptType:()=>un,TX_OVERHEAD:()=>En,OutputSizes:()=>kn,OP_RETURN_OVERHEAD:()=>ax,MIN_TX_FEE:()=>rl,InputSizes:()=>In});module.exports=Ly(af);var sf=R(()=>{XT();B0();Kn();dT();rf()});async function $n(){let{validateAccountId:T}=await import("near-sdk-js");return(n)=>{try{return T(n)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return n.length>=2&&n.length<=64&&x.test(n)}}}async function pn(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,o=T.derivationPath?bn.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=n(T.phrase,o),l=x.fromString(f);return J0(l)}async function ef(T){let{KeyPair:n}=await import("near-api-js/lib/utils"),x=n.fromString(T);return J0(x)}function J0(T){return new Z0(T)}async function hn(T,n){let y=(await T.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((C)=>C.access_key.permission==="FullAccess");if(!y)throw new bn.SwapKitError("toolbox_near_no_public_key_found");let{utils:o}=await import("near-api-js"),f=o.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var bn,w0,Z0;var yo=R(()=>{bn=require("@swapkit/helpers"),w0=require("near-api-js");Z0=class Z0 extends w0.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),n=Buffer.from(T.data).toString("hex");return Promise.resolve(n)}}});function To(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function no(T){return"contractId"in T&&"methodName"in T}function fo(T){return"actions"in T}function oo(T){return"newAccountId"in T}function xo(T){return"contractCode"in T}function lo(T){return"customEstimator"in T}function Co(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(Cy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Cy.CONTRACT_CALL);break;case"createAccount":n+=Number(Cy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Cy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Cy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Cy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Cy.STAKE);break;default:n+=Number(Cy.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Cy.TOKEN_TRANSFER;if(T==="storage_deposit")return Cy.STORAGE_DEPOSIT;return Cy.CONTRACT_CALL}function _1(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function L1(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Cy;var No=R(()=>{Cy={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 jn({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:o}=await import("near-api-js");return new o(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function _o({contractId:T,account:n}){let x=(await import("bn.js")).default,y=await jn({account:n,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),o=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let G=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new x("100000000000000"),new x(G))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:o,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,l)=>y.storage_deposit({account_id:f},new x("100000000000000"),new x(l||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,l,C)=>{return await o(f),y.ft_transfer({amount:l,memo:C,receiver_id:f},new x("100000000000000"),new x("1"))},transferCall:async(f,l,C,G)=>{return await o(f),y.ft_transfer_call({amount:l,memo:G,msg:C,receiver_id:f},new x("100000000000000"),new x("1"))}}}async function X1(T){let{P:n,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),o=await x(T).with({phrase:n.string},async(Z)=>{return await pn(Z)}).with({signer:n.any},({signer:Z})=>Z).otherwise(()=>{return}),f=await m.getRPCUrl(m.Chain.Near),l=new y.JsonRpcProvider({url:f});async function C(Z){let{Account:W}=await import("near-api-js"),Y=Z||await G();return new W(Y,l,o)}async function G(){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");return await o.getAddress()}async function N(Z){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let W=await X({...Z,sender:await G()});return q(await w(W))}async function X(Z){let{recipient:W,assetValue:Y,memo:O,attachedDeposit:k,sender:A,functionCall:j}=Z,r=await $n();if(!r(W))throw new m.SwapKitError("toolbox_near_invalid_address",{recipient:W});if(!r(A))throw new m.SwapKitError("toolbox_near_invalid_address",{signerId:A});if(j)return L({...j,sender:A});if(!Y.isGasAsset){let jy=Y.address;if(!jy)throw new m.SwapKitError("toolbox_near_missing_contract_address");return L({args:{amount:Y.getBaseValue("string"),memo:O||null,receiver_id:W},attachedDeposit:k||"1",contractId:jy,gas:"250000000000000",methodName:"ft_transfer",sender:A})}let{publicKey:$,nonce:wy}=await hn(l,A),Zy=Y.getBaseValue("bigint"),{transactions:_y,utils:Hy}=await import("near-api-js"),hy=[_y.transfer(Zy)];if(O&&k)hy.push(_y.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(k)));let aT=await l.block({finality:"final"}),cn=Hy.serialize.base_decode(aT.header.hash);return _y.createTransaction(A,$,W,wy+1,hy,cn)}async function _(Z){let{SCHEMA:W}=await import("near-api-js/lib/transaction"),{utils:Y}=await import("near-api-js"),O=Y.serialize.serialize(W.Transaction,Z);return Buffer.from(O).toString("base64")}async function L(Z){let{sender:W}=Z,{publicKey:Y,nonce:O}=await hn(l,W),{transactions:k,utils:A}=await import("near-api-js"),j=await l.block({finality:"final"}),r=A.serialize.base_decode(j.header.hash),$=[k.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return k.createTransaction(W,Y,Z.contractId,O+1,$,r)}async function B(Z){let{transactions:W}=await import("near-api-js");return W.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function w(Z){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let[W,Y]=await o.signTransaction(Z);return Y}async function q(Z){return(await l.sendTransaction(Z)).transaction.hash}async function M(Z){if("assetValue"in Z){let k=BigInt("115123062500")+BigInt("108059500000"),A=await Q(),j=k*BigInt(A.toString()),{baseDecimal:r}=m.getChainConfig(m.Chain.Near);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:r,value:j.toString()})}let W=o?await C():void 0;return Gy(Z,W)}async function Q(){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,W,Y){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let O=await C(),{utils:k}=await import("near-api-js"),A=k.format.parseNearAmount(Y)||"0";return(await O.createAccount(Z,k.PublicKey.fromString(W),BigInt(A))).transaction.hash}async function t(Z){try{if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let{transactions:W}=await import("near-api-js"),{contractId:Y,methodName:O,args:k,deposit:A}=Z,j=await C(),r=await Gy({args:k||{},contractId:Y,methodName:O}),$=W.functionCall(O,k||{},r.getBaseValue("bigint"),BigInt(A||"1"));return(await j.signAndSendTransaction({actions:[$],receiverId:Y})).transaction_outcome.id}catch(W){throw new m.SwapKitError("toolbox_near_transfer_failed",{error:W})}}async function F(Z){let W=await C();return jn({account:W,changeMethods:Z.changeMethods,contractId:Z.contractId,viewMethods:Z.viewMethods})}async function K(Z){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");if(Z.actions.length===0)throw new m.SwapKitError("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:Z.actions,receiverId:Z.receiverId})).transaction.hash}async function d(Z){let W=await C();return _o({account:W,contractId:Z})}async function Gy(Z,W){let{baseDecimal:Y}=m.getChainConfig(m.Chain.Near),O=await x(Z).when(To,()=>Cy.SIMPLE_TRANSFER).when(no,(j)=>Go(j.methodName)).when(fo,(j)=>Co(j.actions)).when(oo,()=>Cy.ACCOUNT_CREATION).when(xo,()=>Cy.CONTRACT_DEPLOYMENT).when(lo,(j)=>{if(!W)throw new m.SwapKitError("toolbox_near_no_account");return j.customEstimator(W)}).otherwise(()=>{throw new m.SwapKitError("toolbox_near_invalid_gas_params")}),A=BigInt(O)*BigInt(1000000000000);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:Y,value:A})}async function Iy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:q,callFunction:t,createAction:B,createContract:F,createContractFunctionCall:L,createSubAccount:U,createTransaction:X,estimateGas:Gy,estimateTransactionFee:M,executeBatchTransaction:K,getAddress:G,getBalance:TT(m.Chain.Near),getGasPrice:Iy,getPublicKey:async()=>o?(await o.getPublicKey()).toString():"",getSignerFromPhrase:(Z)=>pn(Z),getSignerFromPrivateKey:ef,nep141:d,provider:l,serializeTransaction:_,signTransaction:w,transfer:N,validateAddress:await $n()}}var m;var Lo=R(()=>{WT();yo();No();m=require("@swapkit/helpers")});var q0=R(()=>{Lo()});var Xo={};Ny(Xo,{tgasToGas:()=>_1,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>$n,getNearToolbox:()=>X1,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>pn,getFullAccessPublicKey:()=>hn,getContractMethodGas:()=>Go,gasToTGas:()=>L1,estimateBatchGas:()=>Co,createNearContract:()=>jn,createNEP141Token:()=>_o,GAS_COSTS:()=>Cy});module.exports=Ly(Xo);var Bo=R(()=>{yo();No();Lo();q0()});var wo={};Ny(wo,{radixValidateAddress:()=>Q0,RadixToolbox:()=>q1});module.exports=Ly(wo);function Q0(T){return T.startsWith("account_rdx1")&&T.length===66}function B1({networkApi:T}){return async function(x){let y=await w1({address:x,networkApi:T});return Z1({networkApi:T,resources:y})}}async function w1({address:T,networkApi:n}){let x=!0,y,o=[],f=await J1(n);while(x){let l={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(o=o.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return o}async function Z1({resources:T,networkApi:n}){let x=[],y=50,o=[];for(let f=0;f<T.length;f+=50)o.push(T.slice(f,f+50));for(let f of o){let l=f.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let X=N.metadata?.items.find((L)=>L.key==="symbol"),_=X?.value.typed.type==="String"?X.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of f)if(N.aggregation_level==="Global"){let X=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=Dy.AssetValue.from({asset:X.symbol!==Dy.Chain.Radix?`${Dy.Chain.Radix}.${X.symbol}-${N.resource_address}`:"XRD.XRD",value:N.amount});x.push(_)}}return x}function J1(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var Dy,q1=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||Dy.SKConfig.get("integrations").radix,o=n({...y,networkId:y.network?.networkId||1}),f=x.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:B1({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new Dy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:Q0}};var Zo=R(()=>{Dy=require("@swapkit/helpers")});var qo={};Ny(qo,{rippleValidateAddress:()=>Jo,hashes:()=>W0.hashes,getRippleToolbox:()=>M1});module.exports=Ly(qo);function M0(T){let n=$y.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function Jo(T){return $y.isValidAddress(T)}var h,$y,W0,Q1,M1=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?M0(T.phrase):void 0,x=await h.getRPCUrl(h.Chain.Ripple);if(!x)throw new h.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:h.Chain.Ripple}});let y=new $y.Client(x);await y.connect();let o=()=>{if(!n)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},f=async(L)=>{let B=L||await o(),{baseDecimal:w}=h.getChainConfig(h.Chain.Ripple);try{let M=(await y.request({account:B,command:"account_info"})).result.account_data.Balance;return[h.AssetValue.from({chain:h.Chain.Ripple,fromBaseDecimal:w,value:M})]}catch(q){if(q.data.error_code===Q1.ACCOUNT_NOT_FOUND)return[h.AssetValue.from({chain:h.Chain.Ripple,value:0})];throw new h.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:B,error:q}})}},l=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:w}=h.getChainConfig(h.Chain.Ripple);return h.AssetValue.from({chain:h.Chain.Ripple,fromBaseDecimal:w,value:h.SwapKitNumber.fromBigInt(BigInt(B),w)})},C=async({assetValue:L,recipient:B,memo:w,sender:q})=>{if(!Jo(B))throw new h.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let M=q||await o();if(!L.isGasAsset||L.chain!==h.Chain.Ripple)throw new h.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let Q={Account:M,Amount:$y.xrpToDrops(L.getValue("string")),Destination:B,TransactionType:"Payment"};if(w)Q.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(Q)},G=(L)=>{if(!n)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)},N=async(L)=>{let w=(await y.submitAndWait(L)).result;if(w.validated)return w.hash;throw new h.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:h.Chain.Ripple}})};return{broadcastTransaction:N,createSigner:M0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:o,getBalance:f,signer:n,signTransaction:G,transfer:async(L)=>{if(!n)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let B=await n.getAddress(),w=await C({...L,sender:B}),q=await G(w);return N(q.tx_blob)},validateAddress:Jo}};var Qo=R(()=>{h=require("@swapkit/helpers"),$y=require("xrpl"),W0=require("xrpl"),Q1={ACCOUNT_NOT_FOUND:19}});async function W1(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:o}}=y,f=yT.SwapKitNumber.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function P1(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let o=y.balance||y.data?.balance;if(!o||o.isEmpty)return[n.set(0)];let f=yT.SwapKitNumber.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function P0(T,n){return function(y){let o=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return P1(n,o,y);default:return W1(n,o,y)}}}var yT;var z0=R(()=>{yT=require("@swapkit/helpers")});var z1,Y1,U1,py;var Mo=R(()=>{z1={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},Y1={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},U1={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},py={DOT:z1,FLIP:Y1,GENERIC:U1}});function H1(T,n){switch(T){case g.Chain.Chainflip:return U0(n);case g.Chain.Polkadot:return Y0(n);default:throw new g.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function JT(T){return"address"in T}async function Po(T,n){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:n,type:"sr25519"}).addFromUri(T)}function v1(T,n){let x=QT.decodeAddress(T);return QT.encodeAddress(x,n)}function H0(T,n){return qT.isHex(T)?qT.hexToU8a(T):QT.decodeAddress(T,void 0,n)}function R0(T,n="ss58",x){if(n==="hex")return qT.u8aToHex(T);return QT.encodeAddress(T,x)}async function Uo({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:o}=await import("@polkadot/api"),f=await g.getRPCUrl(n),l=new o(f),C=await y.create({provider:l}),G=g.AssetValue.from({chain:n}),N=T?py.GENERIC:py[n],X=await rT.match(x).with({phrase:rT.P.string},({phrase:_})=>Po(_,py[n].prefix)).with({signer:rT.P.any},({signer:_})=>_).otherwise(()=>{return});return O0({api:C,chain:n,gasAsset:G,network:N,signer:X})}var qT,QT,g,rT,Y0=({generic:T=!1,...n}={})=>{return Uo({chain:g.Chain.Polkadot,generic:T,...n})},U0=async({generic:T=!1,...n}={})=>{return{...await Uo({chain:g.Chain.Chainflip,generic:T,...n})}},zo=(T,n)=>T.rpc.system.accountNextIndex(n),Wo=(T,n)=>{try{let x=H0(T,n);return R0(x,"ss58",n),!0}catch{return!1}},Yo=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),R1=async(T,n,{recipient:x,assetValue:y,sender:o})=>{let f=Yo(T,{assetValue:y,recipient:x});if(!f)throw new g.SwapKitError("toolbox_substrate_transfer_error");let l=JT(n),C=l?n.address:o;if(!C)throw new g.SwapKitError("core_transaction_invalid_sender_address");let G=await zo(T,C);return(await f.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},O1=async(T,n,x,{recipient:y,assetValue:o,sender:f})=>{let l=Yo(T,{assetValue:o,recipient:y}),C=JT(n)?n.address:f;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await zo(T,C)})||{partialFee:0};return x.set(g.SwapKitNumber.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},S1=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},D1=async(T,n)=>{return await n.signAsync(T)},I1=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},k1=async({signer:T,address:n,tx:x,callback:y,api:o})=>{let f=await zo(o,n);if(y)x.signAndSend(n,{nonce:f,signer:T},y);return x.signAndSend(n,{nonce:f,signer:T}).toString()},O0=({api:T,network:n,gasAsset:x,signer:y,chain:o})=>({api:T,broadcast:S1,convertAddress:v1,createKeyring:(f)=>Po(f,n.prefix),createTransaction:(f)=>Yo(T,f),decodeAddress:H0,encodeAddress:R0,estimateTransactionFee:(f)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return O1(T,y,x,f)},gasAsset:x,getAddress:(f)=>{let l=f||y;if(!l)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return JT(l)?l.address:void 0},getBalance:P0(o||g.Chain.Polkadot,T),network:n,sign:(f)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return D1(y,f);throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:l,address:C})=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return I1(y,f,l);if(C)return k1({address:C,api:T,callback:l,signer:y,tx:f});throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return R1(T,y,f)},validateAddress:(f)=>Wo(f,n.prefix)}),E1=({address:T,chain:n})=>{let{prefix:x}=n===g.Chain.Polkadot?py.DOT:py.FLIP;return Wo(T,x)||Wo(T,py.GENERIC.prefix)};var S0=R(()=>{z0();Mo();qT=require("@polkadot/util"),QT=require("@polkadot/util-crypto"),g=require("@swapkit/helpers"),rT=require("ts-pattern")});var Ho={};Ny(Ho,{substrateValidateAddress:()=>E1,isKeyringPair:()=>JT,getSubstrateToolbox:()=>H1,createSubstrateToolbox:()=>Uo,createKeyring:()=>Po,SubstrateNetwork:()=>py,PolkadotToolbox:()=>Y0,ChainflipToolbox:()=>U0,BaseSubstrateToolbox:()=>O0});module.exports=Ly(Ho);var Ro=R(()=>{S0();Mo()});var A1={};Ny(A1,{getToolbox:()=>Oo,getFeeEstimator:()=>F1,getAddressValidator:()=>u1});module.exports=Ly(A1);var D=require("@swapkit/helpers");async function u1(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (nx(),Tx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (Gf(),Cf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Yn(),zn)),{getSolanaAddressValidator:o}=await Promise.resolve().then(() => (If(),Df)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (Hn(),Un)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (On(),Rn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (uf(),Ef)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:N}=await Promise.resolve().then(() => (Bo(),Xo)),{radixValidateAddress:X}=await Promise.resolve().then(() => (Zo(),wo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (Qo(),qo)),{substrateValidateAddress:L}=await Promise.resolve().then(() => (Ro(),Ho)),B=await x(),w=await N(),q=await o(),M=await f(),Q=await l(),U=await C(),t=await G();return function({address:K,chain:d}){return T(d).with(...D.EVMChains,()=>n({address:K})).with(...D.UTXOChains,()=>t({address:K,chain:d})).with(D.Chain.Cosmos,D.Chain.Kujira,D.Chain.Noble,D.Chain.Maya,D.Chain.THORChain,(Iy)=>{return y(Iy)(K)}).with(D.Chain.Chainflip,D.Chain.Polkadot,()=>L({address:K,chain:d})).with(D.Chain.Radix,()=>X(K)).with(D.Chain.Near,()=>w(K)).with(D.Chain.Ripple,()=>_(K)).with(D.Chain.Solana,()=>q(K)).with(D.Chain.Sui,()=>M(K)).with(D.Chain.Ton,()=>Q(K)).with(D.Chain.Tron,()=>U(K)).with(D.Chain.Cardano,()=>B(K)).otherwise(()=>!1)}}function F1(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...D.EVMChains,async(o)=>{let f=await Oo(o),l=await f.createTransaction(x);return f.estimateTransactionFee({...l,chain:o,feeOption:x.feeOptionKey||D.FeeOption.Fast})}).with(D.Chain.Bitcoin,D.Chain.BitcoinCash,D.Chain.Dogecoin,D.Chain.Dash,D.Chain.Litecoin,D.Chain.Polkadot,D.Chain.Solana,D.Chain.Ripple,D.Chain.Tron,D.Chain.Near,D.Chain.Cardano,async(o)=>{return(await Oo(o)).estimateTransactionFee(x)}).with(D.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Hn(),Un));return(await o()).estimateTransactionFee(x)}).with(D.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (On(),Rn));return(await o()).estimateTransactionFee()}).with(...D.CosmosChains,async()=>{let{estimateTransactionFee:o}=await Promise.resolve().then(() => (Yn(),zn));return o(x)}).otherwise(async()=>D.AssetValue.from({chain:T}))}}async function Oo(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...D.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (xf(),so));return await y(T,n)}).with(...D.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (sf(),af));return await y(T,n)}).with(...D.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Yn(),zn));return await y(T,n)}).with(...D.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Ro(),Ho));return await y(T,n)}).with(D.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Zo(),wo));return await y(n)}).with(D.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Qo(),qo));return await y(n)}).with(D.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (If(),Df));return await y(n)}).with(D.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Hn(),Un));return await y(n)}).with(D.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (uf(),Ef));return await y(n)}).with(D.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (Bo(),Xo));return await y(n)}).with(D.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (Gf(),Cf));return await y(n)}).with(D.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (On(),Rn));return await y(n)}).otherwise(()=>{throw new D.SwapKitError("toolbox_not_supported",{chain:T})})}
1
+ var Dl=Object.create;var{getPrototypeOf:Sl,defineProperty:zT,getOwnPropertyNames:So,getOwnPropertyDescriptor:ul}=Object,uo=Object.prototype.hasOwnProperty;var J=(T,n,x)=>{x=T!=null?Dl(Sl(T)):{};let y=n||!T||!T.__esModule?zT(x,"default",{value:T,enumerable:!0}):x;for(let f of So(T))if(!uo.call(y,f))zT(y,f,{get:()=>T[f],enumerable:!0});return y},Do=new WeakMap,Xy=(T)=>{var n=Do.get(T),x;if(n)return n;if(n=zT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")So(T).map((y)=>!uo.call(n,y)&&zT(n,y,{get:()=>T[y],enumerable:!(x=ul(T,y))||x.enumerable}));return Do.set(T,n),n};var Ny=(T,n)=>{for(var x in n)zT(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var R=(T,n)=>()=>(T&&(n=T(T=0)),n);function vo(){function T(){let n=Date.now(),x=mn||n;return mn=x,n>mn?n:x+1}return kl+T().toString(36)}function TT(T){return async function(x,y=!0){let f=await ko.SwapKitApi.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:o}=eT.getChainConfig(T);return f.map(({identifier:l,value:C,decimal:G})=>{return new eT.AssetValue({decimal:G||o,identifier:l,value:C})})}}var eT,ko,kl,mn=0;var YT=R(()=>{eT=require("@swapkit/helpers"),ko=require("@swapkit/helpers/api"),kl=typeof process<"u"&&process.pid?process.pid.toString(36):""});function PT(T){let n=yn.SKConfig.get("apis")[T];if(n)return yn.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return El(T)}function vl(T){return T}function El(T){return{getBalance:TT(T)}}var yn;var Tn=R(()=>{YT();yn=require("@swapkit/helpers")});async function hy(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await i.getRPCUrl(T))}function HT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function gn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=i.getChainConfig(T);return()=>T===i.Chain.Ethereum?void 0:{...tl({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function dn(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function tl({chain:T}){let{baseDecimal:n}=i.getChainConfig(T);switch(T){case i.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case i.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case i.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case i.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case i.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:i.Chain.Polygon}};default:throw new i.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var i;var nT=R(()=>{i=require("@swapkit/helpers")});var Eo;var to=R(()=>{Eo=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function oT({chain:T=z.Chain.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:bl({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:Vo({chain:T,provider:n}),broadcastTransaction:n.broadcastTransaction,call:Tf({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),createApprovalTx:jl({chain:T,provider:n,signer:x}),createContract:sn({chain:T,provider:n}),createContractTxObject:jy({chain:T,provider:n}),createTransaction:rn({chain:T,provider:n,signer:x}),createTransferTx:rn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:lT(n),estimateCall:Ko({provider:n,signer:x}),estimateGasLimit:pl({chain:T,provider:n,signer:x}),estimateGasPrices:cy({chain:T,isEIP1559Compatible:y,provider:n}),estimateTransactionFee:cl({chain:T,isEIP1559Compatible:y,provider:n}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:Kl({chain:T,provider:n}),sendTransaction:bo({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:$l({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(f)=>an({address:f})}}function an({address:T}){try{return wy.getAddress(T),!0}catch{return!1}}function xT(T){return T instanceof wy.BrowserProvider}function RT(T,n,x){return new wy.Contract(T,wy.Interface.from(n),x)}function sn({provider:T}){return function(x,y){return new wy.Contract(x,wy.Interface.from(y),T)}}function en({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new z.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&Fl.includes(x.stateMutability)}function Fo(T){return wy.getAddress(T)}function lT(T){return function({value:x,...y}){if(!xT(T))throw new z.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:o,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:HT(BigInt(x||0))}])}}function Ao(T,n){let x=CT(T,n);if(x)return wy.getAddress(x.toLowerCase());throw new z.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function CT({chain:T,symbol:n,ticker:x},y){try{let f=T===z.Chain.BinanceSmartChain&&n==="BNB"&&x==="BNB",o=T===y&&n===y&&x===y,l=Vl.includes(T)&&n==="ETH"&&x==="ETH";if(o||f||l)return yf[y];return wy.getAddress(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function jy({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:f=[],txOverrides:o})=>RT(n,x,T).getFunction(y).populateTransaction(...f.concat(o).filter((l)=>typeof l<"u"))}function cy({chain:T,provider:n,isEIP1559Compatible:x=!0}){if(T===z.Chain.Arbitrum)return async function(){try{let{gasPrice:f}=await n.getFeeData();if(!f)throw new z.SwapKitError("toolbox_evm_no_fee_data");return{[z.FeeOption.Average]:{gasPrice:f},[z.FeeOption.Fast]:{gasPrice:f},[z.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new z.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}};return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:o,gasPrice:l}=await n.getFeeData();if(x){if(f===null||o===null)throw new z.SwapKitError("toolbox_evm_no_fee_data");return{[z.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:o},[z.FeeOption.Fast]:{maxFeePerGas:z.applyFeeMultiplierToBigInt(f,z.FeeOption.Fast),maxPriorityFeePerGas:z.applyFeeMultiplierToBigInt(o,z.FeeOption.Fast)},[z.FeeOption.Fastest]:{maxFeePerGas:z.applyFeeMultiplierToBigInt(f,z.FeeOption.Fastest),maxPriorityFeePerGas:z.applyFeeMultiplierToBigInt(o,z.FeeOption.Fastest)}}}if(!l)throw new z.SwapKitError("toolbox_evm_no_gas_price");return{[z.FeeOption.Average]:{gasPrice:l},[z.FeeOption.Fast]:{gasPrice:z.applyFeeMultiplierToBigInt(l,z.FeeOption.Fast)},[z.FeeOption.Fastest]:{gasPrice:z.applyFeeMultiplierToBigInt(l,z.FeeOption.Fastest)}}}catch(f){throw new z.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}function Tf({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:o,contractAddress:l,abi:C,funcName:G,funcParams:N=[],txOverrides:L={},feeOption:_=z.FeeOption.Fast}){let B=o||T;if(!l)throw new z.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=en({abi:C,funcName:G});if(X&&xT(B)&&x){let M=jy({chain:y,provider:B}),Q=L?.from||await x?.getAddress(),H=await M({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...L,from:Q}});return lT(B)(H)}let w=RT(l,C,B);if(X){if(!x)throw new z.SwapKitError("toolbox_evm_no_signer");let M=L?.from||await x.getAddress();if(!M)throw new z.SwapKitError("toolbox_evm_no_signer_address");let Q=w.connect(x),H=cy({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:A,maxPriorityFeePerGas:t,gasPrice:K}=(await H())[_],d=await w.getFunction(G).estimateGas(...N,L),Gy=await Q[G](...N,{...L,gasLimit:d,gasPrice:K,maxFeePerGas:A,maxPriorityFeePerGas:t,nonce:L?.nonce||await B.getTransactionCount(M)});return typeof Gy?.hash==="string"?Gy?.hash:Gy}let q=await w[G]?.(...N);return typeof q?.hash==="string"?q?.hash:q}}function Vo({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:f,from:o}){return Tf({chain:n,isEIP1559Compatible:!0,provider:T})({abi:fT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[o,f]})}}function Kl({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:f,from:o,amount:l=UT}){let C=await Vo({chain:n,provider:T})({assetAddress:y,from:o,spenderAddress:f});return z.SwapKitNumber.fromBigInt(C).gte(z.SwapKitNumber.fromBigInt(BigInt(l)))}}function bl({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:o,spenderAddress:l,feeOptionKey:C=z.FeeOption.Fast,amount:G,gasLimitFallback:N,from:L,nonce:_}){let B=[l,BigInt(G||UT)],X=await T?.getAddress()||L,w={abi:fT.erc20ABI,contractAddress:o,funcName:"approve",funcParams:B,signer:T,txOverrides:{from:X}};if(xT(x)){let M=jy({chain:y,provider:x}),Q=lT(x),H=await M(w);return Q(H)}return Tf({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:B,txOverrides:{from:X,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function $l({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:f,memo:o,recipient:l,feeOptionKey:C=z.FeeOption.Fast,sender:G,...N}){let{hexlify:L,toUtf8Bytes:_}=await import("ethers"),B=f.getBaseValue("bigint"),X=f.chain,w=G||await T?.getAddress(),q=bo({chain:X,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new z.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let K={...N,data:L(_(o||"")),feeOptionKey:C,from:w,to:l,value:B};return q(K)}if(!CT(f,X))throw new z.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:Q,maxPriorityFeePerGas:H,gasPrice:A}=(await cy({chain:X,isEIP1559Compatible:n,provider:x})())[C],t=await rn({chain:X,provider:x,signer:T})({assetValue:f,data:L(_(o||"")),gasPrice:A,maxFeePerGas:Q,maxPriorityFeePerGas:H,memo:o,recipient:l,sender:w});return q(t)}}function Ko({provider:T,signer:n}){return function({contractAddress:y,abi:f,funcName:o,funcParams:l=[],txOverrides:C}){if(!y)throw new z.SwapKitError("toolbox_evm_no_contract_address");let G=RT(y,f,T);return n?G.connect(n).getFunction(o).estimateGas(...l,C):G.getFunction(o).estimateGas(...l,C)}}function pl({provider:T,signer:n}){return async function({assetValue:y,recipient:f,memo:o,data:l,sender:C,funcName:G,funcParams:N,txOverrides:L}){let _=y.bigIntValue,B=y.isGasAsset?null:CT(y,y.chain);if(B&&G)return Ko({provider:T,signer:n})({abi:fT.erc20ABI,contractAddress:B,funcName:G,funcParams:N,txOverrides:L});let{hexlify:X,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:o?X(w(o)):void 0,from:C,to:f,value:_})}}function bo({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:o=z.FeeOption.Fast,...l}){let{from:C,to:G,data:N,value:L,..._}=l;if(!n)throw new z.SwapKitError("toolbox_evm_no_signer");if(!G)throw new z.SwapKitError("toolbox_evm_no_to_address");let B={..._,data:N||"0x",from:C,to:G,value:BigInt(L||0)};if(xT(T))return lT(T)(B);let X=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(X),q=(await T.getNetwork()).chainId,M=hl(B)||x,Q=cy({chain:y,isEIP1559Compatible:x,provider:T}),H=M&&!(B.maxFeePerGas&&B.maxPriorityFeePerGas)||!B.gasPrice?Object.entries((await Q())[o]).reduce((t,[K,d])=>({...t,[K]:HT(BigInt(d))}),{}):{},A;try{A=HT(B.gasLimit||await T.estimateGas(B)*11n/10n)}catch(t){throw new z.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:t})}try{let t={...B,chainId:q,gasLimit:A,nonce:w,type:M?2:0,...H};try{return(await n.sendTransaction(t)).hash}catch{let K=await n.signTransaction({...t,from:X});return(await T.broadcastTransaction(K)).hash}}catch(t){throw new z.SwapKitError("toolbox_evm_error_sending_transaction",{error:t})}}}function rn({provider:T,signer:n}){return async function({assetValue:y,memo:f,recipient:o,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:L,..._}){let B=y.getBaseValue("bigint"),X=y.chain,w=C||await n?.getAddress();if(!w)throw new z.SwapKitError("toolbox_evm_no_from_address");if(z.isGasAsset(y)){let{hexlify:Q,toUtf8Bytes:H}=await import("ethers");return{..._,data:l||Q(H(f||"")),from:w,to:o,value:B}}let q=CT(y,X);if(!q)throw new z.SwapKitError("toolbox_evm_no_contract_address");return jy({chain:y.chain,provider:T})({abi:fT.erc20ABI,contractAddress:q,funcName:"transfer",funcParams:[o,B],txOverrides:{from:w,gasPrice:L,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function jl({provider:T,signer:n,chain:x}){return async function({assetAddress:f,spenderAddress:o,amount:l,from:C}){let G=await n?.getAddress()||C,N=jy({chain:x,provider:T}),L=["bigint","number"].includes(typeof l)?l:l||UT;return await N({abi:fT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[o,BigInt(L)],txOverrides:{from:G}})}}function cl({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=z.FeeOption.Fast,chain:f,...o}){let C=await cy({chain:f,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(o),N=z.AssetValue.from({chain:f}),{gasPrice:L,maxFeePerGas:_,maxPriorityFeePerGas:B}=C[y];if(!n&&L)return N.set(z.SwapKitNumber.fromBigInt(L*G,N.decimal));if(_&&B){let X=(_+B)*G;return N.set(z.SwapKitNumber.fromBigInt(X,N.decimal))}throw new z.SwapKitError("toolbox_evm_no_gas_price")}}var z,fT,wy,UT,Fl,Al,yf,Vl,hl=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var nn=R(()=>{nT();z=require("@swapkit/helpers"),fT=require("@swapkit/helpers/contracts"),wy=require("ethers"),UT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Fl=["payable","nonpayable"];Al=z.EVMChains.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),yf={...Al,[z.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[z.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},Vl=[z.Chain.Arbitrum,z.Chain.Aurora,z.Chain.Base,z.Chain.Optimism]});async function fn({provider:T,...n}){let x=await oy(a.Chain.Ethereum)({provider:T,...n});async function y(f,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=a.FeeOption.Fast){let G=await x.createContractTxObject({abi:Eo,contractAddress:o,funcName:l,funcParams:[f]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function oy(T){return async function({provider:x,...y}){let{HDNodeWallet:f}=await import("ethers"),o=await a.getRPCUrl(T),l=x||await hy(T,o),C=dn(T),G=IT.match(y).with({phrase:IT.P.string},({phrase:L})=>f.fromPhrase(L).connect(l)).with({signer:IT.P.any},({signer:L})=>L).otherwise(()=>{return});return{...oT({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:PT(T).getBalance,getNetworkParams:gn(T)}}}var a,IT,on,xn,ln,Cn,Gn,Nn,$o,_n,Bn,Ln,Xn,wn,Zn,OT,Jn,qn;var nf=R(()=>{Tn();to();nT();nn();a=require("@swapkit/helpers"),IT=require("ts-pattern");on=oy(a.Chain.Arbitrum),xn=oy(a.Chain.Aurora),ln=oy(a.Chain.Avalanche),Cn=oy(a.Chain.Base),Gn=oy(a.Chain.Berachain),Nn=oy(a.Chain.BinanceSmartChain),$o=oy(a.Chain.Botanix),_n=oy(a.Chain.Core),Bn=oy(a.Chain.Corn),Ln=oy(a.Chain.Cronos),Xn=oy(a.Chain.Gnosis),wn=oy(a.Chain.Hyperevm),Zn=oy(a.Chain.Polygon),OT=oy(a.Chain.Sonic),Jn=oy(a.Chain.Unichain),qn=oy(a.Chain.XLayer)});var po;var ho=R(()=>{po=[{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 ff(T){return new Qn.Contract(il,po,T)}function jo(T){return async function(){let x=ff(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function co(T){return async function({from:x,to:y,nonce:f,...o}){let{Transaction:l}=await import("ethers");if(!y)throw new h.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...o,authorizationList:o.authorizationList,nonce:f?f:x?await T.getTransactionCount(x):0,to:y}).serialized}}function mo(T){return async function(x){let y=ff(T),f=await co(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function io(T){return async function(x){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(x);return y.mul(f)}}function gl(T){return async function(x){let y=await mo(T)(x),f=await io(T)(x);return y.add(f)}}function dl(T){return async function(x){let y=ff(T),f=await co(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}function rl(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:f}=h.getChainConfig(h.Chain.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Chain.Ethereum},rpcUrls:f}}async function al(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),f=await jo(T)(),o=y;if(!(n&&x))throw new h.SwapKitError("toolbox_evm_no_fee_data");return{[h.FeeOption.Average]:{gasPrice:o,l1GasPrice:f,maxFeePerGas:n,maxPriorityFeePerGas:x},[h.FeeOption.Fast]:{gasPrice:h.applyFeeMultiplierToBigInt(o,h.FeeOption.Fast),l1GasPrice:h.applyFeeMultiplierToBigInt(f||0n,h.FeeOption.Fast),maxFeePerGas:n,maxPriorityFeePerGas:h.applyFeeMultiplierToBigInt(x,h.FeeOption.Fast)},[h.FeeOption.Fastest]:{gasPrice:h.applyFeeMultiplierToBigInt(o,h.FeeOption.Fastest),l1GasPrice:h.applyFeeMultiplierToBigInt(f||0n,h.FeeOption.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:h.applyFeeMultiplierToBigInt(x,h.FeeOption.Fastest)}}}catch(n){throw new h.SwapKitError("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}async function Mn({provider:T,...n}){let x=h.Chain.Optimism,y=await h.getRPCUrl(x),f=T||await hy(x,y),o=DT.match(n).with({phrase:DT.P.string},({phrase:G})=>Qn.HDNodeWallet.fromPhrase(G).connect(f)).with({signer:DT.P.any},({signer:G})=>G).otherwise(()=>{return}),l=oT({provider:f,signer:o}),C=jo(f);return{...l,estimateGasPrices:al(f),estimateL1Gas:dl(f),estimateL1GasCost:mo(f),estimateL2GasCost:io(f),estimateTotalGasCost:gl(f),getBalance:PT(h.Chain.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:rl}}var h,Qn,DT,il="0x420000000000000000000000000000000000000f";var of=R(()=>{Tn();ho();nT();nn();h=require("@swapkit/helpers"),Qn=require("ethers"),DT=require("ts-pattern")});var ao={};Ny(ao,{toChecksumAddress:()=>Fo,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getEvmToolbox:()=>ro,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>jy,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Ao,evmValidateAddress:()=>an,createContract:()=>RT,XLayerToolbox:()=>qn,UNIToolbox:()=>Jn,SONICToolbox:()=>OT,OPToolbox:()=>Mn,MAX_APPROVAL:()=>UT,MATICToolbox:()=>Zn,HYPEREVMToolbox:()=>wn,GNOToolbox:()=>Xn,ETHToolbox:()=>fn,ContractAddress:()=>yf,CROToolbox:()=>Ln,CORNToolbox:()=>Bn,COREToolbox:()=>_n,BotanixToolbox:()=>$o,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Nn,BERAToolbox:()=>Gn,BASEToolbox:()=>Cn,AVAXToolbox:()=>ln,AURORAToolbox:()=>xn,ARBToolbox:()=>on});async function ro(T,n){let x={...n,provider:n?.provider||await hy(T)};return go.match(T).returnType().with(ny.Chain.Arbitrum,()=>on(x)).with(ny.Chain.Aurora,()=>xn(x)).with(ny.Chain.Avalanche,()=>ln(x)).with(ny.Chain.Base,()=>Cn(x)).with(ny.Chain.Berachain,()=>Gn(x)).with(ny.Chain.BinanceSmartChain,()=>Nn(x)).with(ny.Chain.Botanix,()=>OT(x)).with(ny.Chain.Core,()=>_n(x)).with(ny.Chain.Corn,()=>Bn(x)).with(ny.Chain.Cronos,()=>Ln(x)).with(ny.Chain.Ethereum,()=>fn(x)).with(ny.Chain.Gnosis,()=>Xn(x)).with(ny.Chain.Hyperevm,()=>wn(x)).with(ny.Chain.Optimism,()=>Mn(x)).with(ny.Chain.Polygon,()=>Zn(x)).with(ny.Chain.Sonic,()=>OT(x)).with(ny.Chain.Unichain,()=>Jn(x)).with(ny.Chain.XLayer,()=>qn(x)).exhaustive()}var ny,go;var xf=R(()=>{nT();nf();of();ny=require("@swapkit/helpers"),go=require("ts-pattern");nn();nf();of()});var so;var eo=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(so||={})});var yx={};Ny(yx,{toHexString:()=>HT,toChecksumAddress:()=>Fo,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getProvider:()=>hy,getNetworkParams:()=>gn,getIsEIP1559Compatible:()=>dn,getEvmToolbox:()=>ro,getEvmApi:()=>PT,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>jy,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Ao,evmValidateAddress:()=>an,createCustomEvmApi:()=>vl,createContract:()=>RT,XLayerToolbox:()=>qn,UNIToolbox:()=>Jn,SONICToolbox:()=>OT,OPToolbox:()=>Mn,MAX_APPROVAL:()=>UT,MATICToolbox:()=>Zn,HYPEREVMToolbox:()=>wn,GNOToolbox:()=>Xn,EthNetwork:()=>so,ETHToolbox:()=>fn,ContractAddress:()=>yf,CROToolbox:()=>Ln,CORNToolbox:()=>Bn,COREToolbox:()=>_n,BotanixToolbox:()=>$o,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Nn,BERAToolbox:()=>Gn,BASEToolbox:()=>Cn,AVAXToolbox:()=>ln,AURORAToolbox:()=>xn,ARBToolbox:()=>on});module.exports=Xy(yx);var Tx=R(()=>{Tn();nT();xf();eo()});async function lf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function el(T){try{let{MeshWallet:n}=await import("@meshsdk/core"),x=await lf(),y=new n({fetcher:x,key:{address:T,type:"address"},networkId:1});await y.init();let f=await y.getBalance(),o=[];for(let l of f)if(l.unit===sl){let{baseDecimal:C}=s.getChainConfig(s.Chain.Cardano);o.push(s.AssetValue.from({chain:s.Chain.Cardano,fromBaseDecimal:C,value:l.quantity}))}else o.push(s.AssetValue.from({asset:`${s.Chain.Cardano}.${l.unit}`,value:l.quantity}));if(o.length===0)return[s.AssetValue.from({chain:s.Chain.Cardano})];return o}catch(n){return console.error("Cardano balance fetch error:",n),[s.AssetValue.from({chain:s.Chain.Cardano})]}}async function nx(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function y0(T){let n=await nx(),x=await ST.match(T).with({phrase:ST.P.string},async({phrase:L})=>{let{MeshWallet:_}=await import("@meshsdk/core"),B=await lf(),X=new _({fetcher:B,key:{type:"mnemonic",words:L.split(" ")},networkId:1,submitter:B});return await X.init(),X}).with({signer:ST.P.any},({signer:L})=>L).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function f(){return y||""}function o(L){let _=L||f();if(!_)throw new s.SwapKitError("core_wallet_connection_not_found");return el(_)}function l(){return Promise.resolve(s.AssetValue.from({chain:s.Chain.Cardano,value:"0.01"}))}async function C({recipient:L,assetValue:_,memo:B}){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");let{Transaction:X}=await import("@meshsdk/core"),[,w]=_.symbol.split("-");if(!_.isGasAsset&&!w)throw new s.SwapKitError("core_wallet_connection_not_found");let q=new X({initiator:x});if(q.sendAssets({address:L},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),B)q.setMetadata(0,B);let M=await q.build();return{tx:q,unsignedTx:M}}function G(L){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");return x.signTx(L)}async function N({recipient:L,assetValue:_,memo:B}){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:X}=await C({assetValue:_,memo:B,recipient:L}),w=await G(X);return await(await lf()).submitTx(w)}return{createTransaction:C,estimateTransactionFee:l,getAddress:f,getBalance:o,signTransaction:G,transfer:N,validateAddress:n}}var s,ST,sl="lovelace";var fx=R(()=>{s=require("@swapkit/helpers"),ST=require("ts-pattern")});var Cf={};Ny(Cf,{getCardanoToolbox:()=>y0,getCardanoAddressValidator:()=>nx});module.exports=Xy(Cf);var Gf=R(()=>{fx()});function uT(T){return uy.base64.encode(Uint8Array.from(uy.bech32.fromWords(uy.bech32.decode(T).words)))}function kT(T,n="thor"){return uy.bech32.encode(n,uy.bech32.toWords(uy.base64.decode(T)))}function T0(T){return Wn.fromByteArray(T)}function n0(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new ox.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Wn.toByteArray(T)}var uy,ox,Wn;var Nf=R(()=>{uy=require("@scure/base"),ox=require("@swapkit/helpers"),Wn=require("base64-js")});function Ry(T){switch(T){case I.Chain.Maya:return{amount:[],gas:"10000000000"};case I.Chain.THORChain:return{amount:[],gas:"500000000"};case I.Chain.Kujira:return Cx;case I.Chain.Noble:return Gx;default:return lx}}async function Iy(T){let n=await import("@cosmjs/stargate"),x=n.StargateClient??n.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return x.connect({headers:y,url:T})}async function ET(T,n,x={}){let y=await import("@cosmjs/stargate"),f=y.SigningStargateClient??y.default?.SigningStargateClient,o=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return f.connectWithSigner(T,n,{gasPrice:o.fromString(l),...C})}async function Bf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function Lf({sender:T,recipient:n,assetValue:x,memo:y="",feeRate:f,sequence:o,accountNumber:l}){let{chain:C,chainId:G}=x,N=await I.getRPCUrl(C),_=await(await Iy(N)).getAccount(T);if(!_)throw new I.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let B=I.AssetValue.from({chain:C}),X=ky(B.symbol),w=Ry(C),q=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:w.gas}:w,M={amount:[{amount:x.getBaseValue("string"),denom:ky(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??_.accountNumber,chainId:G,fee:q,memo:y,msgs:[{typeUrl:f0(C),value:M}],sequence:o??_.sequence}}var I,_f="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",xx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",lx,Cx,Gx,ky=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return _f;case"uYUM":case"YUM":return xx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},vT=({symbol:T,chain:n})=>{if(n===I.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${I.Chain.Maya}.${T}`).toUpperCase();if(n===I.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${I.Chain.THORChain}.${T}`:T).toUpperCase();return ky(T,!1)},f0=(T)=>{switch(T){case I.Chain.Maya:case I.Chain.THORChain:return"/types.MsgSend";case I.Chain.Cosmos:case I.Chain.Kujira:case I.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new I.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},o0,Xf=(T,n)=>{let x=o0[T.toLowerCase()];if(!x)return I.AssetValue.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:f,decimals:o}=x,l=y?{chain:y}:{asset:f};return I.AssetValue.from({...l,fromBaseDecimal:o,value:n})};var tT=R(()=>{I=require("@swapkit/helpers"),lx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Cx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Gx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};o0={atom:{chain:I.Chain.Cosmos,decimals:I.getChainConfig(I.Chain.Cosmos).baseDecimal},cacao:{chain:I.Chain.Maya,decimals:10},kuji:{chain:I.Chain.Kujira,decimals:I.getChainConfig(I.Chain.Kujira).baseDecimal},maya:{asset:`${I.Chain.Maya}.${I.Chain.Maya}`,decimals:4},rune:{chain:I.Chain.THORChain,decimals:I.getChainConfig(I.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:I.getChainConfig(I.Chain.THORChain).baseDecimal},uatom:{chain:I.Chain.Cosmos,decimals:I.getChainConfig(I.Chain.Cosmos).baseDecimal},ukuji:{chain:I.Chain.Kujira,decimals:I.getChainConfig(I.Chain.Kujira).baseDecimal},usdc:{chain:I.Chain.Noble,decimals:I.getChainConfig(I.Chain.Noble).baseDecimal},uusdc:{chain:I.Chain.Noble,decimals:I.getChainConfig(I.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:I.getChainConfig(I.Chain.THORChain).baseDecimal},[_f.toLowerCase()]:{asset:`${I.Chain.Kujira}.USK`,decimals:I.getChainConfig(I.Chain.Kujira).baseDecimal}}});var Nx={};Ny(Nx,{$root:()=>Y});var fy,E,Jy,U,Y;var _x=R(()=>{fy=J(require("protobufjs/minimal.js")),E=fy.default.Reader,Jy=fy.default.Writer,U=fy.default.util,Y=fy.default.roots.default||(fy.default.roots.default={});Y.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))f.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))f.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))f.uint32(32).bool(y.synth);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.common.Asset;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!U.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!U.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!U.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof Y.common.Asset)return y;let f=new Y.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.chain="",o.symbol="",o.ticker="",o.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))o.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))o.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))o.synth=y.synth;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=U.Long?U.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))Y.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.common.Coin;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.asset=Y.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let f=Y.common.Asset.verify(y.asset);if(f)return"asset."+f}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!U.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!U.isInteger(y.decimals)&&!(y.decimals&&U.isInteger(y.decimals.low)&&U.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof Y.common.Coin)return y;let f=new Y.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=Y.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(U.Long)(f.decimals=U.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new U.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)if(o.asset=null,o.amount="",U.Long){let l=new U.Long(0,0,!1);o.decimals=f.longs===String?l.toString():f.longs===Number?l.toNumber():l}else o.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))o.asset=Y.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))o.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")o.decimals=f.longs===String?String(y.decimals):y.decimals;else o.decimals=f.longs===String?U.Long.prototype.toString.call(y.decimals):f.longs===Number?new U.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))f.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))f.uint32(18).string(y.ed25519);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.common.PubKeySet;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!U.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!U.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof Y.common.PubKeySet)return y;let f=new Y.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.secp256k1="",o.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))o.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))o.ed25519=y.ed25519;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=U.emptyArray,n.prototype.gas=U.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))f.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))f.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(34).string(y.toAddress);if(y.coins?.length)for(let o=0;o<y.coins.length;++o)Y.common.Coin.encode(y.coins[o],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let o=0;o<y.gas.length;++o)Y.common.Coin.encode(y.gas[o],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.common.Tx;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(Y.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(Y.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!U.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!U.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!U.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!U.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let o=Y.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let o=Y.common.Coin.verify(y.gas[f]);if(o)return"gas."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!U.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof Y.common.Tx)return y;let f=new Y.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[o]=Y.common.Coin.fromObject(y.coins[o])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let o=0;o<y.gas.length;++o){if(typeof y.gas[o]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[o]=Y.common.Coin.fromObject(y.gas[o])}}if(y.memo!=null)f.memo=String(y.memo);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[],o.gas=[];if(f.defaults)o.id="",o.chain="",o.fromAddress="",o.toAddress="",o.memo="";if(y.id!=null&&y.hasOwnProperty("id"))o.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=y.toAddress;if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=Y.common.Coin.toObject(y.coins[l],f)}if(y.gas?.length){o.gas=[];for(let l=0;l<y.gas.length;++l)o.gas[l]=Y.common.Coin.toObject(y.gas[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=U.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)Y.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.common.Fee;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(Y.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let o=Y.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!U.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof Y.common.Fee)return y;let f=new Y.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[o]=Y.common.Coin.fromObject(y.coins[o])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults)o.poolDeduct="";if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=Y.common.Coin.toObject(y.coins[l],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))o.poolDeduct=y.poolDeduct;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))f.uint32(10).string(y.value);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.common.ProtoUint;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!U.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof Y.common.ProtoUint)return y;let f=new Y.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.value="";if(y.value!=null&&y.hasOwnProperty("value"))o.value=y.value;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T})();Y.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=U.emptyArray,n.prototype.memo="",n.prototype.signer=U.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)Y.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.types.MsgDeposit;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(Y.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let o=Y.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!U.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||U.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof Y.types.MsgDeposit)return y;let f=new Y.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[o]=Y.common.Coin.fromObject(y.coins[o])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")U.base64.decode(y.signer,f.signer=U.newBuffer(U.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults){if(o.memo="",f.bytes===String)o.signer="";else if(o.signer=[],f.bytes!==Array)o.signer=U.newBuffer(o.signer)}if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=Y.common.Coin.toObject(y.coins[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))o.signer=f.bytes===String?U.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.fromAddress=U.newBuffer([]),n.prototype.toAddress=U.newBuffer([]),n.prototype.amount=U.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))f.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))f.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let o=0;o<y.amount.length;++o)Y.cosmos.base.v1beta1.Coin.encode(y.amount[o],f.uint32(26).fork()).ldelim();return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new Y.types.MsgSend;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(Y.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof E))y=new E(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||U.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||U.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let f=0;f<y.amount.length;++f){let o=Y.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(o)return"amount."+o}}return null},n.fromObject=function(y){if(y instanceof Y.types.MsgSend)return y;let f=new Y.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")U.base64.decode(y.fromAddress,f.fromAddress=U.newBuffer(U.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")U.base64.decode(y.toAddress,f.toAddress=U.newBuffer(U.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let o=0;o<y.amount.length;++o){if(typeof y.amount[o]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[o]=Y.cosmos.base.v1beta1.Coin.fromObject(y.amount[o])}}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.amount=[];if(f.defaults){if(f.bytes===String)o.fromAddress="";else if(o.fromAddress=[],f.bytes!==Array)o.fromAddress=U.newBuffer(o.fromAddress);if(f.bytes===String)o.toAddress="";else if(o.toAddress=[],f.bytes!==Array)o.toAddress=U.newBuffer(o.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=f.bytes===String?U.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=f.bytes===String?U.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){o.amount=[];for(let l=0;l<y.amount.length;++l)o.amount[l]=Y.cosmos.base.v1beta1.Coin.toObject(y.amount[l],f)}return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T})();Y.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Jy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))l.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))l.uint32(18).string(o.amount);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof E))o=E.create(o);let C=l===void 0?o.len:o.pos+l,G=new Y.cosmos.base.v1beta1.Coin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof E))o=new E(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!U.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!U.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof Y.cosmos.base.v1beta1.Coin)return o;let l=new Y.cosmos.base.v1beta1.Coin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Jy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))l.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))l.uint32(18).string(o.amount);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof E))o=E.create(o);let C=l===void 0?o.len:o.pos+l,G=new Y.cosmos.base.v1beta1.DecCoin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof E))o=new E(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!U.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!U.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof Y.cosmos.base.v1beta1.DecCoin)return o;let l=new Y.cosmos.base.v1beta1.DecCoin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.int="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Jy.create();if(o.int!=null&&Object.hasOwnProperty.call(o,"int"))l.uint32(10).string(o.int);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof E))o=E.create(o);let C=l===void 0?o.len:o.pos+l,G=new Y.cosmos.base.v1beta1.IntProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.int=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof E))o=new E(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.int!=null&&o.hasOwnProperty("int")){if(!U.isString(o.int))return"int: string expected"}return null},y.fromObject=function(o){if(o instanceof Y.cosmos.base.v1beta1.IntProto)return o;let l=new Y.cosmos.base.v1beta1.IntProto;if(o.int!=null)l.int=String(o.int);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(o.int!=null&&o.hasOwnProperty("int"))C.int=o.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.dec="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=Jy.create();if(o.dec!=null&&Object.hasOwnProperty.call(o,"dec"))l.uint32(10).string(o.dec);return l},y.encodeDelimited=function(o,l){return this.encode(o,l).ldelim()},y.decode=function(o,l){if(!(o instanceof E))o=E.create(o);let C=l===void 0?o.len:o.pos+l,G=new Y.cosmos.base.v1beta1.DecProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.dec=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof E))o=new E(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.dec!=null&&o.hasOwnProperty("dec")){if(!U.isString(o.dec))return"dec: string expected"}return null},y.fromObject=function(o){if(o instanceof Y.cosmos.base.v1beta1.DecProto)return o;let l=new Y.cosmos.base.v1beta1.DecProto;if(o.dec!=null)l.dec=String(o.dec);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(o.dec!=null&&o.hasOwnProperty("dec"))C.dec=o.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x})(),n})(),T})()});async function my(){let{$root:T}=await Promise.resolve().then(() => (_x(),Nx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),f=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...f,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function vy(T){let n=await import("@cosmjs/stargate"),x=n.AminoTypes??n.default?.AminoTypes,y=T===Bx.Chain.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:f,...o})=>({...o,signer:uT(f)}),toAmino:({signer:f,...o})=>({...o,signer:kT(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:o,...l})=>({...l,fromAddress:uT(f),toAddress:uT(o)}),toAmino:({fromAddress:f,toAddress:o,...l})=>({...l,from_address:kT(f),to_address:kT(o)})}})}var Bx;var wf=R(()=>{Nf();Bx=require("@swapkit/helpers")});function qf(T){return function(x){let{assetValue:y,recipient:f,memo:o,sender:l,asSignable:C,asAminoMessage:G}=x;if(f)return Xx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,recipient:f,sender:l});return wx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,sender:l})}}function ty(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((n)=>{let x=qy.AssetValue.from({asset:n.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),f=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:f,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function FT({chain:T,memo:n,msgs:x}){let y=await my(),f=await vy(T),o={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>f.fromAmino(l))}};return y.encode(o)}var qy,x0,l0,Zf=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===qy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:ky(x.symbol,!0)}],from_address:T,to_address:n}}},Jf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===qy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:vT(n)}],memo:x,signer:T}}},zn=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Jf({assetValue:x,memo:y,sender:T}):Zf({assetValue:x,recipient:n,sender:T})},Ey=async(T,n)=>{return(await vy(n)).fromAmino(T)},Lx=async({rpcUrl:T,sender:n})=>{let y=await(await Iy(T)).getAccount(n);if(!y)throw new qy.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return y},Xx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:f="",asSignable:o=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await Lx({rpcUrl:T,sender:n}),L=y.chain,{chainId:_}=qy.getChainConfig(L),B=Zf({assetValue:y,recipient:x,sender:n}),X=o?await Ey(l?B:ty(B),L):B;return{accountNumber:G||N.accountNumber,chainId:_,fee:Ry(L),memo:f,msgs:[X],sequence:C||N.sequence}},wx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:f=!0,asAminoMessage:o=!1,sequence:l,accountNumber:C})=>{let G=await Lx({rpcUrl:T,sender:n}),N=x.chain,{chainId:L}=qy.getChainConfig(N),_=Jf({assetValue:x,memo:y,sender:n}),B=f?await Ey(o?_:ty(_),N):_;return{accountNumber:C||G.accountNumber,chainId:L,fee:Ry(N),memo:y,msgs:[B],sequence:l||G.sequence}};var Zx=R(()=>{tT();wf();qy=require("@swapkit/helpers"),x0=Ry(qy.Chain.THORChain).gas,l0=Ry(qy.Chain.Maya).gas});var Jx=()=>{};var qx=R(()=>{Jx()});var Qf=R(()=>{Nf();Zx();wf();qx()});async function zf(T,n){try{let y=(await Wf.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Mf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),f=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,o=await import("@cosmjs/crypto"),l=o.stringToPath??o.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${v.DerivationPath[x.chain]}/${x.index}`;return f.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function C0({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function zx(T){return async function({signature:x,message:y,address:f}){let o=await T(f);if(!o?.pubkey)throw new v.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,N=C.fromFixedLength(Fy.base64.decode(x));return G.verifySignature(N,Fy.base64.decode(y),o.pubkey.value)}}async function VT({chain:T,...n}){let x=await v.getRPCUrl(T),y=v.CosmosChainPrefixes[T],f="index"in n?n.index||0:0,o=v.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:f})),l=await AT.match(n).with({phrase:AT.P.string},({phrase:_})=>Mf({derivationPath:o,phrase:_,prefix:y})).with({signer:AT.P.any},({signer:_})=>_).otherwise(()=>{return});async function C(_){return(await Iy(x)).getAccount(_)}async function G(){let[_]=await l?.getAccounts()||[];return _?.address}async function N(){let[_]=await l?.getAccounts()||[];if(!_?.pubkey)throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");return Fy.base64.encode(_?.pubkey)}async function L({recipient:_,assetValue:B,memo:X="",feeRate:w,feeOptionKey:q=v.FeeOption.Fast}){let M=await G();if(!(l&&M))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let Q=v.AssetValue.from({chain:T}),H=vT(Q),A=w||_0((await Mx(T,Qx[T]))[q],H),t=await ET(x,l),K=[{amount:B.getBaseValue("string"),denom:ky(`u${B.symbol}`).toLowerCase()}],{transactionHash:d}=await t.sendTokens(M,_,K,A,X);return d}return{createPrivateKeyFromPhrase:L0(o),createTransaction:Lf,fetchFeeRateFromSwapKit:zf,getAccount:C,getAddress:G,getBalance:async(_,B)=>{let X=await Wx(x)(_),w=await Promise.all(X.filter(({denom:q})=>q&&!q.includes("IBC/")).map(({denom:q,amount:M})=>{let Q=[v.Chain.THORChain,v.Chain.Maya].includes(T)&&(q.includes("/")||q.includes("˜"))?`${T}.${q}`:q;return Xf(Q,M)}));if(w.length===0)return[v.AssetValue.from({chain:T})];return w},getBalanceAsDenoms:Wx(x),getFees:()=>Mx(T,Qx[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:B})=>Mf({derivationPath:v.derivationPathToString(B),index:f,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:L,validateAddress:Yx(T),verifySignature:zx(C)}}async function G0(T,n){try{let y=(await Wf.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function N0({assetValue:{chain:T}}){return v.AssetValue.from({chain:T,value:B0(T)})}async function Mx(T,n){let{chainId:x,baseDecimal:y}=v.getChainConfig(T),f=await zf(x,n);return{average:v.SwapKitNumber.fromBigInt(BigInt(f),y),fast:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(f,v.FeeOption.Fast,!0)),y),fastest:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(f,v.FeeOption.Fastest,!0)),y)}}function _0(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function B0(T){return{[v.Chain.Cosmos]:0.007,[v.Chain.Kujira]:0.02,[v.Chain.Noble]:0.01,[v.Chain.THORChain]:0.02,[v.Chain.Maya]:0.02,[v.Chain.Harbor]:0.02}[T]||0}function Yx(T){let n=v.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:f,words:o}=Fy.bech32.decode(y);return Fy.bech32.encode(f,o)===y.toLocaleLowerCase()}catch{return!1}}}function Wx(T){return async function(x){return(await(await Iy(T)).getAllBalances(x)).map((l)=>({...l,denom:l.denom.includes("/")?l.denom.toUpperCase():l.denom}))}}function L0(T){return async function(x){let y=await import("@cosmjs/crypto"),f=y.stringToPath??y.default?.stringToPath,o=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),L=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(o.Secp256k1,L,f(T));return _}}var Fy,v,Wf,AT,Qx;var Yn=R(()=>{tT();Fy=require("@scure/base"),v=require("@swapkit/helpers"),Wf=require("@swapkit/helpers/api"),AT=require("ts-pattern");Qx={[v.Chain.Cosmos]:500,[v.Chain.Kujira]:1000,[v.Chain.Noble]:1000,[v.Chain.THORChain]:5000000,[v.Chain.Maya]:5000000,[v.Chain.Harbor]:5000000}});function X0({prefix:T,derivationPath:n}){return async function(y,f=0){let o=await import("@cosmjs/amino"),l=o.Secp256k1HdWallet??o.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${f}`)],prefix:T})}}function w0(T){return Ay.base64.encode(T)}function Z0(T){return async function({wallet:x,tx:y}){let{msgs:f,accountNumber:o,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,L=(await x.getAccounts())?.[0]?.address||"",_=await vy(T),B=await my(),X=await Bf(x,{aminoTypes:_,registry:B}),w=[];for(let Q of f){let H=await Ey(Q,T);w.push(H)}let{signatures:[q]}=await X.sign(L,w,G,N,{accountNumber:o,chainId:C,sequence:l});return{bodyBytes:await FT({chain:T,memo:N,msgs:f.map(ty)}),signature:w0(q)}}}function J0({prefix:T,rpcUrl:n}){return async function(y,f,o,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:L}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:B}=JSON.parse(y),X=await Px(o,l),w=f.map((Q)=>[N(G(Ay.base64.decode(Q.pubKey)),T),Ay.base64.decode(Q.signature)]),q=await Iy(n),{transactionHash:M}=await q.broadcastTx(L(X,_,B,C,new Map(w)));return M}}async function Px(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((o)=>f(Ay.base64.decode(o))),n,x)}function q0(T){return Ay.base64.decode(T)}async function Q0({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(Ay.base64.decode(n),T);return Ay.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Yf({chain:T,...n}){let x=await m.getRPCUrl(T),{nodeUrl:y}=m.getChainConfig(T),{isStagenet:f}=m.SKConfig.get("envs"),o=T===m.Chain.THORChain,l=`${f?"s":""}${m.CosmosChainPrefixes[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[T],{index:C}),N=await VT({chain:T,...n}),L=await KT.match(n).with({phrase:KT.P.string},({phrase:w})=>N.getSignerFromPhrase({derivationPath:G,phrase:w})).with({signer:KT.P.any},({signer:w})=>w).otherwise(()=>{return}),_=Ry(T);async function B(){let w,q=`${y}/${o?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await m.RequestClient.get(q);if(!M||Number.isNaN(M)||M<0)throw new m.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});w=new m.SwapKitNumber(M)}catch{w=new m.SwapKitNumber({decimal:m.getChainConfig(T).baseDecimal,value:o?0.02:1})}return{[m.FeeOption.Average]:w,[m.FeeOption.Fast]:w,[m.FeeOption.Fastest]:w}}async function X({assetValue:w,memo:q="",recipient:M}){let{TxRaw:Q}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await L?.getAccounts())?.[0]?.address;if(!(H&&L))throw new m.SwapKitError("toolbox_cosmos_no_signer");let A="signAmino"in L,t=await my(),K=await vy(T),d=await ET(x,L,{aminoTypes:K,registry:t}),Gy=zn({assetValue:w,memo:q,recipient:M,sender:H});if(A){let P=await Ey(Gy,T),{signatures:S,authInfoBytes:u}=await d.sign(H,[P],_,q),F=Q.encode({authInfoBytes:u,bodyBytes:await FT({chain:T,memo:q,msgs:[Gy].map(ty)}),signatures:S}).finish();return(await d.broadcastTx(F)).transactionHash}let Sy=ty(Gy),Z=await Ey(Sy,T);return(await d.signAndBroadcast(H,[Z],_,q)).transactionHash}return{...N,broadcastMultisigTx:J0({prefix:l,rpcUrl:x}),buildAminoMsg:zn,buildEncodedTxBody:FT,convertToSignable:Ey,createDefaultAminoTypes:()=>vy(T),createDefaultRegistry:my,createMultisig:Px,createTransaction:qf(x),deposit:X,getFees:B,importSignature:q0,parseAminoMessageForDirectSigning:ty,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:q}=(await import("@cosmjs/amino")).default;return q(w,l)},secp256k1HdWalletFromMnemonic:X0({derivationPath:m.derivationPathToString(G),prefix:l}),signMultisigTx:Z0(T),signWithPrivateKey:Q0,transfer:X}}var Ay,m,KT;var Pf=R(()=>{Qf();tT();Yn();Ay=require("@scure/base"),m=require("@swapkit/helpers"),KT=require("ts-pattern")});var Vy,M0=(T,n)=>{switch(T){case Vy.Chain.Cosmos:case Vy.Chain.Kujira:case Vy.Chain.Noble:return VT({chain:T,...n});case Vy.Chain.Maya:case Vy.Chain.THORChain:return Yf({chain:T,...n});default:throw new Vy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var Hx=R(()=>{Yn();Pf();Vy=require("@swapkit/helpers");Yn();Pf()});var Pn={};Ny(Pn,{verifySignature:()=>zx,transferMsgAmino:()=>Zf,toBase64:()=>T0,parseAminoMessageForDirectSigning:()=>ty,getSignerFromPrivateKey:()=>C0,getSignerFromPhrase:()=>Mf,getMsgSendDenom:()=>ky,getFeeRateFromSwapKit:()=>G0,getDenomWithChain:()=>vT,getDefaultChainFee:()=>Ry,getCreateTransaction:()=>qf,getCosmosValidateAddress:()=>Yx,getCosmosToolbox:()=>M0,getAssetFromDenom:()=>Xf,fromBase64:()=>n0,fetchFeeRateFromSwapKit:()=>zf,estimateTransactionFee:()=>N0,depositMsgAmino:()=>Jf,createThorchainToolbox:()=>Yf,createStargateClient:()=>Iy,createSigningStargateClient:()=>ET,createOfflineStargateClient:()=>Bf,createDefaultRegistry:()=>my,createDefaultAminoTypes:()=>vy,createCosmosToolbox:()=>VT,cosmosCreateTransaction:()=>Lf,convertToSignable:()=>Ey,buildTransferTx:()=>Xx,buildEncodedTxBody:()=>FT,buildDepositTx:()=>wx,buildAminoMsg:()=>zn,bech32ToBase64:()=>uT,base64ToBech32:()=>kT,YUM_KUJIRA_FACTORY_DENOM:()=>xx,USK_KUJIRA_FACTORY_DENOM:()=>_f,THORCHAIN_GAS_VALUE:()=>x0,MAYA_GAS_VALUE:()=>l0,DEFAULT_NOBLE_FEE_MAINNET:()=>Gx,DEFAULT_KUJI_FEE_MAINNET:()=>Cx,DEFAULT_COSMOS_FEE_MAINNET:()=>lx});module.exports=Xy(Pn);var Hn=R(()=>{Qf();Hx();tT()});async function Rx(T){let n=b.AssetValue.from({address:T,chain:b.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:T,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let x=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(x);if(!y.ok)return null;let f=await y.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((l)=>l.id===T)||null}catch{return null}}async function W0(T){let n=await iy(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),f=new x(T),o=[],l=await n.getBalance(f);if(l>0){let{baseDecimal:G}=b.getChainConfig(b.Chain.Solana);o.push(b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(f,{programId:y});for(let{account:G}of C.value){let N=G.data.parsed.info,L=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let B=await Rx(L),X=B?.symbol||"UNKNOWN",w=B?.decimals||N.tokenAmount.decimals;o.push(b.AssetValue.from({asset:`${b.Chain.Solana}.${X}-${L}`,fromBaseDecimal:w,value:_}))}return o}async function Rf(){let{PublicKey:T}=await import("@solana/web3.js");return(n)=>{try{let x=new T(n);return T.isOnCurve(x.toBytes())}catch{return!1}}}async function z0(T){let n=T&&"index"in T?T.index||0:0,x=b.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Solana],{index:n})),y=await bT.match(T).with({phrase:bT.P.string},({phrase:l})=>Uf({derivationPath:x,phrase:l})).with({signer:bT.P.any},({signer:l})=>l).otherwise(()=>{return});function f(){return y?.publicKey?Ux(y.publicKey):""}function o(l){let C=l||f();if(!C)throw new b.SwapKitError("core_wallet_connection_not_found");return W0(C)}return{broadcastTransaction:Hf(iy),createKeysForPath:Uf,createTransaction:If(iy),createTransactionFromInstructions:U0,estimateTransactionFee:Y0(iy),getAddress:f,getAddressFromPubKey:Ux,getAddressValidator:Rf,getBalance:o,getConnection:iy,getPubkeyFromAddress:Of,signTransaction:I0(iy,y),transfer:R0(iy,y)}}function Y0(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let l=await T(),G=(await If(T)({assetValue:x,isProgramDerivedAddress:f,memo:y,recipient:n,sender:o})).compileMessage(),N=await l.getFeeForMessage(G);if(N.value===null)throw new b.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:L}=b.getChainConfig(b.Chain.Solana);return b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:L,value:N.value})}}async function iy(){let{Connection:T}=await import("@solana/web3.js"),n=await b.getRPCUrl(b.Chain.Solana);return new T(n,"confirmed")}function P0(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:f})=>{let o=await T(),l=await Of(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:N}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new N(x)}))}if(n.address)return H0({amount:n.getBaseValue("number"),connection:o,decimals:n.decimal,from:l,isProgramDerivedAddress:f,recipient:x,tokenAddress:n.address});return}}async function H0({tokenAddress:T,recipient:n,from:x,connection:y,amount:f,decimals:o,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:L}=await import("@solana/spl-token"),{Transaction:_,PublicKey:B}=await import("@solana/web3.js"),X=new _,w=new B(T),q=await C(w,x),M=new B(n),Q=await C(w,M,l),H=!1;try{await G(y,Q),H=!0}catch{}if(!H)X.add(N(x,Q,M,w));return X.add(L(q,w,Q,x,f,o)),X}function If(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Of(o),G=await Rf();if(!(f||G(n)))throw new b.SwapKitError("core_transaction_invalid_recipient_address");let N=await T(),L=await P0(T)({assetValue:x,isProgramDerivedAddress:f,recipient:n,sender:o});if(!L)throw new b.SwapKitError("core_transaction_invalid_sender_address");if(y)L.add(l(y));let _=await N.getLatestBlockhash();return L.recentBlockhash=_.blockhash,L.feePayer=C,L}}async function U0({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new b.SwapKitError("core_transaction_invalid_sender_address");return x}function R0(T,n){return async({recipient:x,assetValue:y,memo:f,isProgramDerivedAddress:o})=>{if(!n)throw new b.SwapKitError("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await If(T)({assetValue:y,isProgramDerivedAddress:o,memo:f,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Hf(T)(G)}return C.sign(n),Hf(T)(C)}}function Hf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function I0(T,n){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!n)throw new b.SwapKitError("toolbox_solana_no_signer");if(!(x instanceof y)){let o=await(await T()).getLatestBlockhash();x.recentBlockhash=o.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Uf({phrase:T,derivationPath:n=b.DerivationPath.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),o=y(T),l=x.fromMasterSeed(o);return f.fromSeed(l.derive(n,!0).privateKey)}function Ux(T){return T.toString()}async function Of(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var b,bT;var Ix=R(()=>{b=require("@swapkit/helpers"),bT=require("ts-pattern")});var Df={};Ny(Df,{getSolanaToolbox:()=>z0,getSolanaAddressValidator:()=>Rf,fetchTokenMetaData:()=>Rx,createKeysForPath:()=>Uf});module.exports=Xy(Df);var Sf=R(()=>{Ix()});async function Ox(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(x){try{return T(x)}catch{return!1}}}async function O0({provider:T,...n}={}){let x=await Ox(),y=await $T.match(n).with({phrase:$T.P.string},async({phrase:_})=>{let{Ed25519Keypair:B}=await import("@mysten/sui/keypairs/ed25519");return B.deriveKeypair(_)}).with({signer:$T.P.any},({signer:_})=>_).otherwise(()=>{return});async function f(_=T){let{SuiClient:B,getFullnodeUrl:X}=await import("@mysten/sui/client");return new B({url:_||X("mainnet")})}function o(){return y?.toSuiAddress()||""}async function l(_){let B=_||o();if(!B)throw new e.SwapKitError("toolbox_sui_address_required");try{let X=await f(),{totalBalance:w}=await X.getBalance({owner:B}),{baseDecimal:q,chain:M}=e.getChainConfig(e.Chain.Sui),Q=[e.AssetValue.from({chain:M,fromBaseDecimal:q,value:w})],H=await X.getAllBalances({owner:B});for(let{coinType:A,totalBalance:t}of H){if(A==="0x2::sui::SUI")continue;if(Number(t)>0){let K=A.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${M}.${K}-${A}`;Q.push(e.AssetValue.from({asset:d,fromBaseDecimal:q,value:t}))}}return Q}catch(X){throw new e.SwapKitError("toolbox_sui_balance_error",{error:X})}}async function C(_){let B=e.AssetValue.from({chain:e.Chain.Sui,value:"0.01"});if(!_)return B;try{let X=await f(),{txBytes:w}=await G(_),{effects:{status:q,gasUsed:M}}=await X.dryRunTransactionBlock({transactionBlock:w});if(q.status!=="success")return B;let Q=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return e.AssetValue.from({chain:e.Chain.Sui,value:Q.toString()})}catch{return B}}async function G({recipient:_,assetValue:B,gasBudget:X,sender:w}){let{Transaction:q}=await import("@mysten/sui/transactions"),M=w||o();if(!M)throw new e.SwapKitError("toolbox_sui_no_sender");try{let Q=new q;if(Q.setSender(M),B.isGasAsset||B.symbol==="SUI"){let[t]=Q.splitCoins(Q.gas,[B.getBaseValue("string")]);Q.transferObjects([t],_)}else throw new e.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(X)Q.setGasBudget(X);let H=await f(),A=await Q.build({client:H});return{tx:Q,txBytes:A}}catch(Q){throw new e.SwapKitError("toolbox_sui_transaction_creation_error",{error:Q})}}async function N(_){if(!y)throw new e.SwapKitError("toolbox_sui_no_signer");if(_ instanceof Uint8Array)return y.signTransaction(_);let{txBytes:B}="tx"in _?_:await G(_);return y.signTransaction(B)}async function L({assetValue:_,gasBudget:B,recipient:X}){if(!y)throw new e.SwapKitError("toolbox_sui_no_signer");let w=y.toSuiAddress()||o();if(!w)throw new e.SwapKitError("toolbox_sui_no_sender");let{txBytes:q}=await G({assetValue:_,gasBudget:B,recipient:X,sender:w}),M=await f(),{digest:Q}=await M.signAndExecuteTransaction({signer:y,transaction:q});return Q}return{createTransaction:G,estimateTransactionFee:C,getAddress:o,getBalance:l,signTransaction:N,transfer:L,validateAddress:x}}var e,$T;var Dx=R(()=>{e=require("@swapkit/helpers"),$T=require("ts-pattern")});var Un={};Ny(Un,{getSuiToolbox:()=>O0,getSuiAddressValidator:()=>Ox});module.exports=Xy(Un);var Rn=R(()=>{Dx()});async function D0(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),o=await Sx(),l,C,G=await pT.match(T).with({phrase:pT.P.string},async({phrase:Q})=>n(Q.split(" "))).with({signer:pT.P.any},({signer:Q})=>Q).otherwise(()=>{return});function N(){let{rpcUrls:Q}=yy.getChainConfig(yy.Chain.Ton),[H]=Q;if(!l||l.parameters.endpoint!==H)l=new y({endpoint:H});return l}function L(Q){if(!C||Q){let H=N(),A=Q||G;if(!A)throw new yy.SwapKitError("core_wallet_connection_not_found");let t=f.create({publicKey:A.publicKey,workchain:0});C=H.open(t)}return C}async function _(Q){let H=N(),{baseDecimal:A}=yy.getChainConfig(yy.Chain.Ton);try{let t=await H.getBalance(x.parse(Q));return[yy.AssetValue.from({chain:yy.Chain.Ton,value:yy.SwapKitNumber.fromBigInt(t,A)})]}catch(t){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:t})}}async function B({assetValue:Q,recipient:H,memo:A}){let t=L();if(!t||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let{toNano:K,comment:d,internal:Gy}=await import("@ton/ton"),Sy=await t.getSeqno(),Z=K(Q.getValue("string")),W=A?d(A):void 0;return t.createTransfer({messages:[Gy({body:W,to:H,value:Z})],secretKey:G.secretKey,seqno:Sy})}async function X({assetValue:Q,recipient:H,memo:A}){let t=L();if(!t||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let K=await B({assetValue:Q,memo:A,recipient:H});return await t.send(K),K.hash().toString()}async function w(Q){let H=L();if(!H)throw new yy.SwapKitError("core_wallet_connection_not_found");try{return await H.send(Q),Q.hash().toString("hex")}catch(A){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:A})}}function q(){return L().address.toString()}function M(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Ton,value:"0.0001"}))}return{createTransaction:B,estimateTransactionFee:M,getAddress:q,getBalance:_,sendTransaction:w,transfer:X,validateAddress:o}}async function Sx(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var yy,pT;var ux=R(()=>{yy=require("@swapkit/helpers"),pT=require("ts-pattern")});var In={};Ny(In,{getTONToolbox:()=>D0,getTONAddressValidator:()=>Sx});module.exports=Xy(In);var On=R(()=>{ux()});var GT;var uf=R(()=>{GT=[{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 vx(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${S0}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let f=await y.json();if(!(f.success&&f.data)||f.data.length===0)throw Error("Invalid response from TronGrid API");let o;try{o=x.address.toHex(T).toLowerCase()}catch{o=T.toLowerCase()}let l=f.data.find((C)=>{return C.address.toLowerCase()===o});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new kx.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var kx,S0="https://api.trongrid.io";var Ex=R(()=>{kx=require("@swapkit/helpers")});async function kf(){let T=await import("tronweb"),n=T.TronWeb??T.default?.TronWeb;return(x)=>{return n.isAddress(x)}}async function Fx({phrase:T,derivationPath:n,index:x}){let y=n||D.derivationPathToString(D.updateDerivationPath(D.NetworkDerivationPath[D.Chain.Tron],{index:x||0})),{HDKey:f}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),l=o(T),G=f.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new D.SwapKitError("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function t0({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),o=f(T),C=y.fromMasterSeed(o).derive(n);if(!C.privateKey)throw new D.SwapKitError("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let N=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof N==="string"?N:""),signTransaction:async(L)=>{return await x.trx.sign(L,G)}}}var D,hT,u0=268,k0=13000,v0=345,tx="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",E0="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",Ax=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await D.getRPCUrl(D.Chain.Tron),f=void 0,o=new x({fullHost:y,headers:void 0}),l="index"in T?T.index||0:0,C=D.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:D.updateDerivationPath(D.NetworkDerivationPath[D.Chain.Tron],{index:l})),G=await hT.match(T).with({phrase:hT.P.string},async({phrase:Z})=>t0({derivationPath:C,phrase:Z,tronWeb:o})).with({signer:hT.P.any},({signer:Z})=>Promise.resolve(Z)).otherwise(()=>Promise.resolve(void 0)),N=async()=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");return await G.getAddress()},L=()=>{return 1e8},_=async()=>{try{let Z=await o.trx.getChainParameters(),W={};for(let P of Z)W[P.key]=P.value;return{bandwidthFee:W.getTransactionFee||1000,createAccountFee:W.getCreateAccountFee||1e5,energyFee:W.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},B=async(Z)=>{try{let W=await o.trx.getAccount(Z);return W&&Object.keys(W).length>0}catch{return!1}},X=async(Z)=>{try{let W=await o.trx.getAccountResources(Z);return{bandwidth:{free:W.freeNetLimit-W.freeNetUsed,total:W.NetLimit||0,used:W.NetUsed||0},energy:{total:W.EnergyLimit||0,used:W.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(Z,W)=>{try{let P=o.contract(GT,W);if(!P.methods?.balanceOf)return 0n;let[S]=await P.methods.balanceOf(Z).call();return S?typeof S==="bigint"?S:BigInt(S):0n}catch(P){return console.warn(`balanceOf() failed for ${W}:`,P),0n}},q=async(Z,W)=>{try{o.setAddress(W);let P=o.contract(GT,Z),[S,u]=await Promise.all([P.symbol().call().catch(()=>"UNKNOWN"),P.decimals().call().catch(()=>"18")]);return{decimals:Number(u??18),symbol:S??"UNKNOWN"}}catch(P){return D.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Z}: ${P instanceof Error?P.message:P}`}),null}},M=async(Z,W=!0)=>{let P=[D.AssetValue.from({chain:D.Chain.Tron})];try{let S=await vx(Z);if(S){let u=[];u.push(D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:6,value:S.balance}));for(let F of S.trc20){let[p,r]=Object.entries(F)[0]||[];if(!(p&&r))continue;let $=await q(p,Z);if(!$)continue;u.push(D.AssetValue.from({asset:`TRON.${$.symbol}-${p}`,fromBaseDecimal:$.decimals,value:BigInt(r||0)}))}return u}return P}catch(S){D.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${S instanceof Error?S.message:S}`});try{let u=[],F=await o.trx.getBalance(Z);if(F&&Number(F)>0)u.push(D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:6,value:F}));let p=await w(Z,tx);if(p)u.push(D.AssetValue.from({asset:`TRON.USDT-${tx}`,fromBaseDecimal:6,value:p}));if(u.length===0)return P;return u}catch(u){return console.error("Tron balance fetch failed:",u),P}}},Q=async({recipient:Z,assetValue:W,memo:P})=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");let S=await N();if(o.setAddress(S),W.isGasAsset){let $=await o.transactionBuilder.sendTrx(Z,W.getBaseValue("number"),S);if(P){let Ly=await o.transactionBuilder.addUpdateData($,P,"utf8"),Uy=await G.signTransaction(Ly),{txid:ey}=await o.trx.sendRawTransaction(Uy);return ey}let _y=await G.signTransaction($),{txid:By}=await o.trx.sendRawTransaction(_y);return By}let F=await A({assetValue:W,memo:P,recipient:Z,sender:S}),p=await G.signTransaction(F),{txid:r}=await o.trx.sendRawTransaction(p);if(!r)throw new D.SwapKitError("toolbox_tron_token_transfer_failed");return r},H=async({assetValue:Z,recipient:W,sender:P})=>{let S=Z.isGasAsset;try{let u=P?P:G?await N():void 0;if(!u)return S?D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:0,value:0.1}):D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:0,value:15});let F=await _(),r=await B(W)?0:F.createAccountFee,$=await X(u);if(S){let yT=u0,WT=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),Oo=0;if(yT>WT)Oo=(yT-WT)*F.bandwidthFee;let Ol=r+Oo;return D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:D.BaseDecimal.TRON,value:Ol})}let _y=v0,By=k0,Ly=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),Uy=$.energy.total-$.energy.used,ey=0;if(_y>Ly)ey=(_y-Ly)*F.bandwidthFee;let MT=0;if(By>Uy)MT=(By-Uy)*F.energyFee;let cn=r+ey+MT;return D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:D.BaseDecimal.TRON,value:cn})}catch(u){throw D.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${u instanceof Error?u.message:u}`}),new D.SwapKitError("toolbox_tron_fee_estimation_failed",{error:u})}},A=async(Z)=>{let{recipient:W,assetValue:P,memo:S,sender:u,expiration:F}=Z;if(P.isGasAsset){let $=await o.transactionBuilder.sendTrx(W,P.getBaseValue("number"),u);if(S)return o.transactionBuilder.addUpdateData($,S,"utf8");if(F)o.transactionBuilder.extendExpiration($,F);return $}o.setAddress(u);let r=P.address;if(!r)throw new D.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:P.toString()});try{let _y=[{type:"address",value:W},{type:"uint256",value:P.getBaseValue("string")}],By={callValue:0,feeLimit:L()},Ly=await o.transactionBuilder.triggerSmartContract(r,"transfer(address,uint256)",By,_y,u);if(S)return o.transactionBuilder.addUpdateData(Ly.transaction,S,"utf8");if(F)o.transactionBuilder.extendExpiration(Ly.transaction,F);return Ly.transaction}catch($){throw new D.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:$ instanceof Error?$.message:String($)})}},t=async(Z)=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");return await G.signTransaction(Z)},K=async(Z)=>{let{txid:W}=await o.trx.sendRawTransaction(Z);return W},d=async({assetAddress:Z,spenderAddress:W,from:P})=>{try{let S=o.contract(GT,Z);if(!S.methods?.allowance)throw new D.SwapKitError("toolbox_tron_invalid_token_contract");let[u]=await S.methods.allowance(P,W).call();return u?typeof u==="bigint"?u:BigInt(u):0n}catch(S){throw new D.SwapKitError("toolbox_tron_allowance_check_failed",{error:S})}};return{approve:async({assetAddress:Z,spenderAddress:W,amount:P,from:S})=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");let u=S||await N(),F=P!==void 0?BigInt(P).toString():E0,p="approve(address,uint256)",r=[{type:"address",value:W},{type:"uint256",value:F}],_y={callValue:0,feeLimit:L()};try{let{transaction:By}=await o.transactionBuilder.triggerSmartContract(Z,p,_y,r,u),Ly=await G.signTransaction(By),{txid:Uy}=await o.trx.sendRawTransaction(Ly);if(!Uy)throw new D.SwapKitError("toolbox_tron_approve_failed");return Uy}catch(By){throw new D.SwapKitError("toolbox_tron_approve_failed",{error:By})}},broadcastTransaction:K,createTransaction:A,estimateTransactionFee:H,getAddress:N,getApprovedAmount:d,getBalance:M,isApproved:async({assetAddress:Z,spenderAddress:W,from:P,amount:S})=>{let u=await d({assetAddress:Z,from:P,spenderAddress:W});if(!S)return u>0n;let F=BigInt(S);return u>=F},signTransaction:t,transfer:Q,tronWeb:o,validateAddress:await kf()}};var Vx=R(()=>{uf();Ex();D=require("@swapkit/helpers"),hT=require("ts-pattern")});var vf={};Ny(vf,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>Fx,getTronAddressValidator:()=>kf,createTronToolbox:()=>Ax});module.exports=Xy(vf);var Ef=R(()=>{uf();Vx()});async function F0({chain:T,txHash:n}){let x=`${Dn(T)}/push/transaction`,y=JSON.stringify({data:n});try{let f=await V.RequestClient.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new V.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||n}catch(f){let o=await V.getRPCUrl(T);if(o){let l=JSON.stringify({id:vo(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await V.RequestClient.post(o,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new V.SwapKitError("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new V.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw f}}function Dn(T){return`https://api.blockchair.com/${A0(T)}`}function Kx(T){switch(T){case V.Chain.Bitcoin:return 5;case V.Chain.Dogecoin:return 1e4;case V.Chain.Litecoin:return 1;case V.Chain.Zcash:return 1;default:return 2}}function A0(T){switch(T){case V.Chain.BitcoinCash:return"bitcoin-cash";case V.Chain.Litecoin:return"litecoin";case V.Chain.Dash:return"dash";case V.Chain.Dogecoin:return"dogecoin";case V.Chain.Zcash:return"zcash";case V.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function V0(T){try{let{feePerKb:n}=await V.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,Kx(T))}catch{return Kx(T)}}async function tf(T,n){let x=await V.RequestClient.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new V.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function hx({address:T,chain:n,apiKey:x}){if(!T)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await tf(`${Dn(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function K0({address:T,chain:n,apiKey:x}){return(await hx({address:T,apiKey:x,chain:n}))?.address.balance||0}async function jx({chain:T,apiKey:n,txHash:x}){if(!x)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await tf(`${Dn(T)}/raw/transaction/${x}`,n))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function b0({chain:T,address:n,apiKey:x,offset:y=0,limit:f=30}){return(await tf(`${Dn(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${y}`,x)).map(({is_spent:G,script_hex:N,block_id:L,transaction_hash:_,index:B,value:X,spending_signature_hex:w})=>({hash:_,index:B,is_confirmed:L!==-1,is_spent:G,script_hex:N,txHex:w,value:X}))}function $0(T){return T.reduce((n,x)=>n+x.value,0)}function bx(T,n){let x=[...T].sort((y,f)=>f.value-y.value);if(n){let y=[],f=0;for(let o of x)if(y.push(o),f+=o.value,f>=n)break;return y}return x}async function cx({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:f=0,offset:o=0,limit:l=30}){if(!n)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await b0({address:n,apiKey:x,chain:T,limit:l,offset:o,targetValue:y}),N=C.length<l,L=C.filter(({is_spent:M})=>!M),_=$0(L),B=f+_,X=y&&B>=y;if(N||X)return bx(L,y);let w=await cx({accumulativeValue:B,address:n,apiKey:x,chain:T,limit:l,offset:o+l,targetValue:y}),q=[...L,...w];return bx(q,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function p0({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:f}){let o=await cx({address:T,apiKey:x,chain:n,targetValue:f}),l=[];for(let{hash:C,index:G,script_hex:N,value:L}of o){let _;if(y)_=await jx({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:L,witnessUtxo:{script:Buffer.from(N,"hex"),value:L}})}return l}function h0(T){let n=V.SKConfig.get("apiKeys").blockchair||"";return V.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>F0({chain:T,txHash:x}),getAddressData:(x)=>hx({address:x,apiKey:n,chain:T}),getBalance:(x)=>K0({address:x,apiKey:n,chain:T}),getRawTx:(x)=>jx({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>V0(T),getUtxos:(x)=>p0({...x,apiKey:n,chain:T})}}function j0(T){return T}function Zy(T){let n=V.SKConfig.get("apis")[T];if(n)return V.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return h0(T)}function Wy(){return function(n){switch(n){case V.Chain.Bitcoin:return px.networks.bitcoin;case V.Chain.BitcoinCash:return NT.default.bitcoincash.main.toBitcoinJS();case V.Chain.Dash:return NT.default.dash.main.toBitcoinJS();case V.Chain.Litecoin:return NT.default.litecoin.main.toBitcoinJS();case V.Chain.Dogecoin:{let x={private:70615956,public:70617039},y=NT.default.dogecoin.test;return y.versions.bip32=x,NT.default.dogecoin.main.toBitcoinJS()}case V.Chain.Zcash:return $x.networks.zcash;default:throw new V.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var $x,V,px,NT;var mx=R(()=>{YT();$x=require("@bitgo/utxo-lib"),V=require("@swapkit/helpers"),px=require("bitcoinjs-lib"),NT=J(require("coininfo"))});function bf(T){try{return Sn(T),!0}catch{return!1}}function $f(T){return Sn(T)?.network}function _T(T){let n=Sn(T);if(n?.format==="legacy")return T;return i0(n)}function jT(T){let n=Sn(T);return g0(n)}function Sn(T){try{let n=c0(T);if(n)return n}catch{}try{let n=m0(T);if(n)return n}catch{}throw new Ff.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function c0(T){try{let n=Af.default.decode(T);if(n.length!==21)throw new Ff.SwapKitError("toolbox_utxo_invalid_address",{address:T});let x=n[0],y=Array.prototype.slice.call(n,1);switch(x){case gy.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case gy.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case gy.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case gy.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case gy.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case gy.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function m0(T){if(T.indexOf(":")!==-1)try{return ix(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return ix(`${x}:${T}`)}catch{}}return}function ix(T){try{let{hash:n,prefix:x,type:y}=Vf.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function i0(T){let n=gy.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=n,x.set(T.hash,1),Af.default.encode(x)}function g0(T){let n=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Vf.default.encode(n,x,y)}var Ff,Af,Vf,Kf,gy;var gx=R(()=>{Ff=require("@swapkit/helpers"),Af=J(require("bs58check")),Vf=J(require("cashaddrjs"));((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Kf||={});gy={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function zy(T){let n=Buffer.from(T,"utf8");return vn.script.compile([vn.opcodes.OP_RETURN,n])}var dx,vn,d0=1000,En=10,rx=10,r0=41,a0=107,tn,un,kn,cT=(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 dx.SwapKitError("toolbox_utxo_invalid_address",{address:T})},BT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?cT(T[0].address):"P2PKH",f=T.filter((l)=>l.value>=un["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+Ky(C),0),o=n?.reduce((l,C)=>l+mT(C),0)||kn[y];return En+f+o},Ky=(T)=>{if("type"in T)return un[T.type];if("address"in T&&T.address)return un[cT(T.address)];return r0+a0},mT=(T,n)=>{if(T?.script)return rx+T.script.length+(T.script.length>=74?2:1);if(n)return kn[n];return kn.P2PKH};var pf=R(()=>{dx=require("@swapkit/helpers"),vn=require("bitcoinjs-lib");((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(tn||={});un={["P2PKH"]:148,["P2WPKH"]:68},kn={["P2PKH"]:34,["P2WPKH"]:31}});function Fn(T){switch(T){case Yy.Chain.Bitcoin:case Yy.Chain.BitcoinCash:return 550;case Yy.Chain.Dash:case Yy.Chain.Litecoin:return 5500;case Yy.Chain.Dogecoin:return 1e5;case Yy.Chain.Zcash:return 546;default:throw new Yy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Py({inputs:T,outputs:n,feeRate:x=1,chain:y=Yy.Chain.Bitcoin,changeAddress:f=""}){let o=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?cT(T[0].address):"P2PKH",C=T.filter((X)=>Ky(X)*o<=X.value),G=En+n.reduce((X,w)=>X+mT(w,l),0),N=n.reduce((X,w)=>X+w.value,0),L=G*o,_=0,B=[];for(let X of C){let w=Ky(X),q=o*w;L+=q,_+=X.value,B.push(X);let M=L+N;if(_<M)continue;let Q=_-M,H=o*mT({address:"",value:0},l);if(Q>H){let A=H+L,t=_-(N+A);if(t>Math.max(Ky({})*o,Fn(y)))return{fee:A,inputs:B,outputs:n.concat({address:f,value:t})}}return{fee:L,inputs:B,outputs:n}}return{fee:o*BT({feeRate:o,inputs:T,outputs:n})}}var Yy;var ax=R(()=>{pf();Yy=require("@swapkit/helpers")});var LT=R(()=>{mx();gx();ax();pf()});function dy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function by(T){let n=dy(T);return bf(n)&&$f(n)==="mainnet"}function XT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let n=An.networks.zcash;try{return An.address.toOutputScript(T,n),!0}catch{let x=sx.default.decode(T);if(x.length<21)return!1;let y=x[0];return y===n.pubKeyHash||y===n.scriptHash}}catch{return!1}}var An,sx;var iT=R(()=>{LT();An=require("@bitgo/utxo-lib"),sx=J(require("bs58check"))});function Tl({inputs:T,outputs:n,chain:x,psbt:y,sender:f,compiledMemo:o}){for(let l of T){let C=!!l.witnessUtxo&&!gT.includes(x)&&{witnessUtxo:l.witnessUtxo},G=gT.includes(x)&&{nonWitnessUtxo:l.txHex?Buffer.from(l.txHex,"hex"):void 0};y.addInput({hash:l.hash,index:l.index,...C,...G})}for(let l of n){let C="address"in l&&l.address?l.address:f,G=l.script;if(G&&!o)continue;let N=G?{script:o,value:0}:{address:C,value:l.value};Hy.initEccLib(Vn.default),y.addOutput(N)}return{inputs:T,psbt:y}}async function nl({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,fetchTxHex:o=!1}){let l=T.chain,C=x?await zy(x):null,G=await xl({assetValue:T,fetchTxHex:o,memo:x,recipient:n,sender:f}),{inputs:N,outputs:L}=Py({...G,chain:l,feeRate:y});if(!(N&&L))throw new k.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await Wy(),B=new Hy.Psbt({network:_(l)});if(l===k.Chain.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:X,inputs:w}=await Tl({chain:l,compiledMemo:C,inputs:N,outputs:L,psbt:B,sender:f});return{inputs:w,psbt:X,utxos:G.inputs}}async function fl(){let T=await Wy();return function({address:x,chain:y}){if(y===k.Chain.BitcoinCash)return by(x);if(y===k.Chain.Zcash)return XT(x);try{return Hy.initEccLib(Vn.default),Hy.address.toOutputScript(x,T(y)),!0}catch{return!1}}}async function s0({chain:T,phrase:n,derivationPath:x}){let y=(await dT(T))({derivationPath:x,phrase:n});async function f(l){return await l.signAllInputs(y),l}function o(){return jf(T)(y)}return{getAddress:o,signTransaction:f}}async function ry({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,f=k.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:k.updateDerivationPath(k.NetworkDerivationPath[T],{index:y})),o=x?await s0({chain:T,derivationPath:f,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let C=await fl(),G=await dT(T);return{accumulative:Py,broadcastTx:(N)=>Zy(T).broadcastTx(N),calculateTxSize:BT,createKeysForPath:G,createTransaction:nl,estimateMaxSendableAmount:e0(T),estimateTransactionFee:y1(T),getAddress:l,getAddressFromKeys:jf(T),getBalance:TT(T),getFeeRates:()=>rT(T),getInputsOutputsFee:ol,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:T1(o),validateAddress:(N)=>C({address:N,chain:T})}}async function ol({assetValue:T,feeOptionKey:n=k.FeeOption.Fast,feeRate:x,memo:y,sender:f,recipient:o}){let l=T.chain,C=await xl({assetValue:T,memo:y,recipient:o,sender:f}),G=x?Math.floor(x):(await rT(l))[n];return Py({...C,chain:l,feeRate:G})}function e0(T){return async function({from:x,memo:y,feeRate:f,feeOptionKey:o=k.FeeOption.Fast,recipients:l=1}){let C=await Zy(T).getAddressData(x),G=f?Math.ceil(f):(await rT(T))[o],N=C?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Fn(T),Ky(w)*G));if(!N?.length)return k.AssetValue.from({chain:T});let L=k.AssetValue.from({chain:T,value:N.reduce((w,q)=>w+q.value,0)}),_=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let w=await zy(y);_.push({address:x,script:w,value:0})}let X=BT({feeRate:G,inputs:N,outputs:_})*G;return L.sub(X)}}function y1(T){return async(n)=>{let x=await ol(n);return k.AssetValue.from({chain:T,value:k.SwapKitNumber.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function dT(T){let n=await Wy();switch(T){case k.Chain.BitcoinCash:return function({phrase:y,derivationPath:f=`${k.DerivationPath.BCH}/0`,wif:o}){let l=n(T);if(o)return Kn.ECPair.fromWIF(o,l);if(!y)throw new k.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return Kn.HDNode.fromSeedBuffer(Buffer.from(hf.mnemonicToSeedSync(y)),l).derivePath(f).keyPair};case k.Chain.Bitcoin:case k.Chain.Dogecoin:case k.Chain.Litecoin:case k.Chain.Zcash:case k.Chain.Dash:return function({phrase:y,wif:f,derivationPath:o}){if(!(f||y))throw new k.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=yl.ECPairFactory(Vn.default),C=n(T);if(f)return l.fromWIF(f,C);let G=hf.mnemonicToSeedSync(y),N=ex.HDKey.fromMasterSeed(G,C).derive(o);if(!N.privateKey)throw new k.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(N.privateKey),{network:C})};default:throw new k.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function jf(T){let n=Wy();return function(y){if(!y)throw new k.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=gT.includes(T)?Hy.payments.p2pkh:Hy.payments.p2wpkh,{address:o}=f({network:n(T),pubkey:y.publicKey});if(!o)throw new k.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return o}}function T1(T){return async function({memo:x,recipient:y,feeOptionKey:f,feeRate:o,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new k.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new k.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=o||(await rT(G))[f||k.FeeOption.Fast],{psbt:L}=await nl({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(L);return _.finalizeAllInputs(),Zy(G).broadcastTx(_.extractTransaction().toHex())}}async function rT(T){let n=await Zy(T).getSuggestedTxFee();return{[k.FeeOption.Average]:n,[k.FeeOption.Fast]:k.applyFeeMultiplier(n,k.FeeOption.Fast),[k.FeeOption.Fastest]:k.applyFeeMultiplier(n,k.FeeOption.Fastest)}}async function xl({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:f=!1}){let o=T.chain,l=(await rT(o))[k.FeeOption.Fastest],C=f||gT.includes(o),G=T.getBaseValue("number"),N=Math.ceil(G+l*5000);return{inputs:await Zy(o).getUtxos({address:y,fetchTxHex:C,targetValue:N}),outputs:[{address:n,value:G},...x?[{address:"",script:await zy(x),value:0}]:[]]}}var Vn,Kn,ex,hf,k,Hy,yl,gT;var aT=R(()=>{YT();LT();iT();Vn=J(require("@bitcoinerlab/secp256k1")),Kn=require("@psf/bitcoincashjs-lib"),ex=require("@scure/bip32"),hf=require("@scure/bip39"),k=require("@swapkit/helpers"),Hy=require("bitcoinjs-lib"),yl=require("ecpair"),gT=[k.Chain.Dash,k.Chain.Dogecoin,k.Chain.Zcash,k.Chain.BitcoinCash]});function ay(T){return dy(jT(T))}function n1(T){function n({builder:y,utxos:f}){return f.forEach((o,l)=>{y.sign(l,T,void 0,65,o.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ay(y))},signTransaction:n}}async function cf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=ly.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:ly.updateDerivationPath(ly.NetworkDerivationPath[Qy],{index:x})),f=n?(await dT(Qy))({derivationPath:y,phrase:n}):void 0,o=f?n1(f):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...L}=await ry({chain:Qy});function _(B,X=!0){return C(dy(jT(B)))}return{...L,broadcastTx:N,buildTx:o1,createTransaction:Cl,getAddress:l,getAddressFromKeys:x1,getBalance:_,getFeeRates:G,stripPrefix:dy,stripToCashAddress:ay,transfer:f1({broadcastTx:N,getFeeRates:G,signer:o}),validateAddress:by}}async function Cl({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f}){if(!by(n))throw new ly.SwapKitError("toolbox_utxo_invalid_address",{address:n});let o=Math.ceil(T.getBaseValue("number")+y*7500),l=await Zy(Qy).getUtxos({address:ay(f),fetchTxHex:!0,targetValue:o}),C=x?await zy(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:L}=Py({chain:Qy,feeRate:y,inputs:l,outputs:G});if(!(N&&L))throw new ly.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await Wy(),B=new wT.TransactionBuilder(_(Qy));await Promise.all(N.map(async(X)=>{let w=await Zy(Qy).getRawTx(X.hash);B.addInput(wT.Transaction.fromBuffer(Buffer.from(w,"hex")),X.index)}));for(let X of L){let w="address"in X&&X.address?X.address:_T(f),q=await Wy(),M=wT.address.toOutputScript(_T(w),q(Qy));B.addOutput(M,X.value)}if(C)B.addOutput(C,0);return{builder:B,utxos:N}}function f1({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:f,assetValue:o,feeOptionKey:l=ly.FeeOption.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new ly.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new ly.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=C.feeRate||(await n())[l],{builder:L,utxos:_}=await Cl({...C,assetValue:o,feeRate:N,recipient:f,sender:G}),X=(await x.signTransaction({builder:L,utxos:_})).toHex();return T(X)}}async function o1({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,setSigHashType:o}){let l=jT(n);if(!by(l))throw new ly.SwapKitError("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await Zy(Qy).getUtxos({address:ay(f),fetchTxHex:!1,targetValue:C}),N=Number(y.toFixed(0)),L=x?await zy(x):null,_=[];if(_.push({address:_T(n),value:T.getBaseValue("number")}),L)_.push({script:L,value:0});let{inputs:B,outputs:X}=Py({chain:Qy,feeRate:N,inputs:G,outputs:_});if(!(B&&X))throw new ly.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let w=await Wy(),q=new ll.Psbt({network:w(Qy)});for(let{hash:M,index:Q,witnessUtxo:H}of B)q.addInput({hash:M,index:Q,sighashType:o?65:void 0,witnessUtxo:H});for(let M of X){let Q="address"in M&&M.address?M.address:_T(f),H=M.script?L?{script:L,value:0}:void 0:{address:Q,value:M.value};if(H)q.addOutput(H)}return{inputs:B,psbt:q,utxos:G}}function x1(T){let n=T.getAddress(0);return ay(n)}var wT,ly,ll,Qy;var bn=R(()=>{LT();aT();iT();wT=require("@psf/bitcoincashjs-lib"),ly=require("@swapkit/helpers"),ll=require("bitcoinjs-lib"),Qy=ly.Chain.BitcoinCash});function _l(){return My.networks.zcash}function Bl(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function l1({phrase:T,derivationPath:n}){let x=gf.mnemonicToSeedSync(T),f=mf.HDKey.fromMasterSeed(x).derive(n);if(!f.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let o=Bl(),l=My.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:o}),C=My.crypto.hash160(l.publicKey),{isStagenet:G}=Ty.SKConfig.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),L=Buffer.concat([N,C]),_=Nl.default.encode(L);return{getAddress:()=>Promise.resolve(_),signTransaction:(B)=>{let X=B.signAllInputs(l);return Promise.resolve(X)}}}function C1({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:f}){for(let o of T){let l=!!o.witnessUtxo&&{witnessUtxo:{...o.witnessUtxo,value:BigInt(o.value)}},C=!o.witnessUtxo&&{nonWitnessUtxo:o.txHex?Buffer.from(o.txHex,"hex"):void 0};x.addInput({hash:o.hash,index:o.index,...l,...C})}for(let o of n){let l="address"in o&&o.address?o.address:y,C=o.script;if(C&&!f)continue;let G=C?{script:f,value:0n}:{script:My.address.toOutputScript(l,_l()),value:BigInt(o.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function Gl(T){let{assetValue:n,recipient:x,memo:y,feeRate:f,sender:o,fetchTxHex:l}=T,C=y?zy(y):null,G=await Zy(Ty.Chain.Zcash).getUtxos({address:o,fetchTxHex:l!==!1}),N=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:L,outputs:_}=Py({chain:Ty.Chain.Zcash,changeAddress:o,feeRate:f,inputs:G,outputs:N});if(!(L&&_))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:o});let B=My.bitgo.createPsbtForNetwork({network:_l()},{version:455}),w=3268858036,q=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),M=Buffer.allocUnsafe(4);M.writeUInt32LE(w>>>0,0),B.addUnknownKeyValToGlobal({key:q,value:M});let{psbt:Q,inputs:H}=await C1({compiledMemo:C,inputs:L,outputs:_,psbt:B,sender:o});return{inputs:H,outputs:_,psbt:Q}}async function df(T){let n=await ZT.match(T).with({signer:ZT.P.not(ZT.P.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:ZT.P.string},({phrase:l,derivationPath:C,index:G=0})=>{let N=C||Ty.NetworkDerivationPath[Ty.Chain.Zcash]||[44,133,0,0,0],L=Ty.updateDerivationPath(N,{index:G}),_=Ty.derivationPathToString(L);return l1({derivationPath:_,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await ry({chain:Ty.Chain.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=Ty.FeeOption.Fast,...N}){let L=await n?.getAddress();if(!(n&&L))throw new Ty.SwapKitError("toolbox_utxo_no_signer");let _=N.feeRate||(await x.getFeeRates())[G],{psbt:B}=await Gl({...N,assetValue:C,feeRate:_,recipient:l,sender:L}),X=await n.signTransaction(B);return X.finalizeAllInputs(),x.broadcastTx(X.extractTransaction().toHex())}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=gf.mnemonicToSeedSync(l),L=mf.HDKey.fromMasterSeed(G).derive(C);if(!L.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let _=Bl();return My.ECPair.fromPrivateKey(Buffer.from(L.privateKey),{network:_})}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return f({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:f,createTransaction:Gl,getPrivateKeyFromMnemonic:o,transfer:y,validateAddress:XT}}var My,mf,gf,Ty,Nl,ZT;var rf=R(()=>{LT();aT();iT();My=require("@bitgo/utxo-lib"),mf=require("@scure/bip32"),gf=require("@scure/bip39"),Ty=require("@swapkit/helpers"),Nl=J(require("bs58check")),ZT=require("ts-pattern")});async function G1(T,n){switch(T){case Oy.Chain.BitcoinCash:return await cf(n||{});case Oy.Chain.Zcash:return await df(n);case Oy.Chain.Bitcoin:case Oy.Chain.Dogecoin:case Oy.Chain.Litecoin:case Oy.Chain.Dash:return await ry({chain:T,...n});default:throw new Oy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Oy;var Ll=R(()=>{bn();aT();rf();bn();iT();Oy=require("@swapkit/helpers")});var af={};Ny(af,{validateZcashAddress:()=>XT,toLegacyAddress:()=>_T,toCashAddress:()=>jT,stripToCashAddress:()=>ay,stripPrefix:()=>dy,nonSegwitChains:()=>gT,isValidAddress:()=>bf,getUtxoToolbox:()=>G1,getUtxoNetwork:()=>Wy,getUtxoApi:()=>Zy,getUTXOAddressValidator:()=>fl,getScriptTypeForAddress:()=>cT,getOutputSize:()=>mT,getInputSize:()=>Ky,getDustThreshold:()=>Fn,getCreateKeysForPath:()=>dT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>ry,createCustomUtxoApi:()=>j0,createBCHToolbox:()=>cf,compileMemo:()=>zy,calculateTxSize:()=>BT,bchValidateAddress:()=>by,addressFromKeysGetter:()=>jf,addInputsAndOutputs:()=>Tl,accumulative:()=>Py,UtxoNetwork:()=>Kf,UTXOScriptType:()=>tn,TX_OVERHEAD:()=>En,OutputSizes:()=>kn,OP_RETURN_OVERHEAD:()=>rx,MIN_TX_FEE:()=>d0,InputSizes:()=>un});module.exports=Xy(af);var sf=R(()=>{LT();Ll();bn();aT();rf()});async function pn(){let{validateAccountId:T}=await import("near-sdk-js");return(n)=>{try{return T(n)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return n.length>=2&&n.length<=64&&x.test(n)}}}async function hn(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("@near-js/crypto"),y=T.index||0,f=T.derivationPath?$n.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:o}=n(T.phrase,f),l=x.fromString(o);return Zl(l)}async function ef(T){let{KeyPair:n}=await import("@near-js/crypto"),x=n.fromString(T);return Zl(x)}function Zl(T){return new wl(T)}async function jn(T,n){let y=(await T.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((C)=>C.access_key.permission==="FullAccess");if(!y)throw new $n.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),o=f.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:o}}var Xl,$n,wl;var yo=R(()=>{Xl=require("@near-js/signers"),$n=require("@swapkit/helpers");wl=class wl extends Xl.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),n=Buffer.from(T.data).toString("hex");return Promise.resolve(n)}}});function To(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function no(T){return"contractId"in T&&"methodName"in T}function fo(T){return"actions"in T}function oo(T){return"newAccountId"in T}function xo(T){return"contractCode"in T}function lo(T){return"customEstimator"in T}function Co(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(Cy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Cy.CONTRACT_CALL);break;case"createAccount":n+=Number(Cy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Cy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Cy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Cy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Cy.STAKE);break;default:n+=Number(Cy.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Cy.TOKEN_TRANSFER;if(T==="storage_deposit")return Cy.STORAGE_DEPOSIT;return Cy.CONTRACT_CALL}function N1(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function _1(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Cy;var No=R(()=>{Cy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function _o({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:f}=await import("@near-js/accounts");return new f(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function B1(T){let{P:n,match:x}=await import("ts-pattern"),{JsonRpcProvider:y}=await import("@near-js/providers"),f=await x(T).with({phrase:n.string},async(Z)=>{return await hn(Z)}).with({signer:n.any},({signer:Z})=>Z).otherwise(()=>{return}),o=await j.getRPCUrl(j.Chain.Near),l=new y({url:o});async function C(Z){let{Account:W}=await import("@near-js/accounts"),P=Z||await G();return new W(P,l,f)}async function G(){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");return await f.getAddress()}async function N(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let W=await L({...Z,sender:await G()});return M(W)}async function L(Z){let{recipient:W,assetValue:P,memo:S,attachedDeposit:u,sender:F,functionCall:p}=Z,r=await pn();if(!r(W))throw new j.SwapKitError("toolbox_near_invalid_address",{recipient:W});if(!r(F))throw new j.SwapKitError("toolbox_near_invalid_address",{signerId:F});if(p)return B({...p,sender:F});if(!P.isGasAsset){let WT=P.address;if(!WT)throw new j.SwapKitError("toolbox_near_missing_contract_address");return B({args:{amount:P.getBaseValue("string"),memo:S||null,receiver_id:W},attachedDeposit:u||"1",contractId:WT,gas:"250000000000000",methodName:"ft_transfer",sender:F})}let{publicKey:$,nonce:_y}=await jn(l,F),By=P.getBaseValue("bigint"),{actionCreators:Ly,createTransaction:Uy}=await import("@near-js/transactions"),{baseDecode:ey}=await import("@near-js/utils"),MT=[Ly.transfer(By)];if(S&&u)MT.push(Ly.functionCall("memo",{memo:S},BigInt("250000000000000"),BigInt(u)));let cn=await l.block({finality:"final"}),yT=ey(cn.header.hash);return Uy(F,$,W,_y+1,MT,yT)}function _(Z){let W=Z.encode();return Buffer.from(W).toString("base64")}async function B(Z){let{sender:W}=Z,{publicKey:P,nonce:S}=await jn(l,W),{createTransaction:u,actionCreators:F}=await import("@near-js/transactions"),{baseDecode:p}=await import("@near-js/utils"),r=await l.block({finality:"final"}),$=p(r.header.hash),_y=[F.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return u(W,P,Z.contractId,S+1,_y,$)}async function X(Z){let{actionCreators:W}=await import("@near-js/transactions");return W.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function w(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let[W,P]=await f.signTransaction(Z);return P}async function q(Z){return(await l.sendTransaction(Z)).transaction.hash}async function M(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");try{let W=await w(Z);return await q(W)}catch{return f.signAndSendTransactions?.({transactions:[Z]})}}async function Q(Z){if("assetValue"in Z){let u=BigInt("115123062500")+BigInt("108059500000"),F=await H(),p=u*BigInt(F.toString()),{baseDecimal:r}=j.getChainConfig(j.Chain.Near);return j.AssetValue.from({chain:j.Chain.Near,fromBaseDecimal:r,value:p.toString()})}let W=f?await C():void 0;return Gy(Z,W)}async function H(){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 A(Z,W,P){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let S=await C(),{formatNearAmount:u}=await import("@near-js/utils"),{PublicKey:F}=await import("@near-js/crypto"),p=u(P)||"0";return(await S.createAccount(Z,F.fromString(W),BigInt(p))).transaction.hash}async function t(Z){try{if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let{actionCreators:W}=await import("@near-js/transactions"),{contractId:P,methodName:S,args:u,deposit:F}=Z,p=await C(),r=await Gy({args:u||{},contractId:P,methodName:S}),$=W.functionCall(S,u||{},r.getBaseValue("bigint"),BigInt(F||"1"));return(await p.signAndSendTransaction({actions:[$],receiverId:P})).transaction_outcome.id}catch(W){throw new j.SwapKitError("toolbox_near_transfer_failed",{error:W})}}async function K(Z){let W=await C();return _o({account:W,changeMethods:Z.changeMethods,contractId:Z.contractId,viewMethods:Z.viewMethods})}async function d(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");if(Z.actions.length===0)throw new j.SwapKitError("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:Z.actions,receiverId:Z.receiverId})).transaction.hash}async function Gy(Z,W){let{baseDecimal:P}=j.getChainConfig(j.Chain.Near),S=await x(Z).when(To,()=>Cy.SIMPLE_TRANSFER).when(no,(p)=>Go(p.methodName)).when(fo,(p)=>Co(p.actions)).when(oo,()=>Cy.ACCOUNT_CREATION).when(xo,()=>Cy.CONTRACT_DEPLOYMENT).when(lo,(p)=>{if(!W)throw new j.SwapKitError("toolbox_near_no_account");return p.customEstimator(W)}).otherwise(()=>{throw new j.SwapKitError("toolbox_near_invalid_gas_params")}),F=BigInt(S)*BigInt(1000000000000);return j.AssetValue.from({chain:j.Chain.Near,fromBaseDecimal:P,value:F})}async function Sy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:q,callFunction:t,createAction:X,createContract:K,createContractFunctionCall:B,createSubAccount:A,createTransaction:L,estimateGas:Gy,estimateTransactionFee:Q,executeBatchTransaction:d,getAddress:G,getBalance:TT(j.Chain.Near),getGasPrice:Sy,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(Z)=>hn(Z),getSignerFromPrivateKey:ef,provider:l,serializeTransaction:_,signAndSendTransaction:M,signTransaction:w,transfer:N,validateAddress:await pn()}}var j;var Bo=R(()=>{YT();yo();No();j=require("@swapkit/helpers")});var Jl=R(()=>{Bo()});var Lo={};Ny(Lo,{tgasToGas:()=>N1,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>pn,getNearToolbox:()=>B1,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>hn,getFullAccessPublicKey:()=>jn,getContractMethodGas:()=>Go,gasToTGas:()=>_1,estimateBatchGas:()=>Co,createNearContract:()=>_o,GAS_COSTS:()=>Cy});module.exports=Xy(Lo);var Xo=R(()=>{yo();No();Bo();Jl()});var wo={};Ny(wo,{radixValidateAddress:()=>ql,RadixToolbox:()=>J1});module.exports=Xy(wo);function ql(T){return T.startsWith("account_rdx1")&&T.length===66}function L1({networkApi:T}){return async function(x){let y=await X1({address:x,networkApi:T});return w1({networkApi:T,resources:y})}}async function X1({address:T,networkApi:n}){let x=!0,y,f=[],o=await Z1(n);while(x){let l={address:T,at_ledger_state:{state_version:o},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(f=f.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return f}async function w1({resources:T,networkApi:n}){let x=[],y=50,f=[];for(let o=0;o<T.length;o+=50)f.push(T.slice(o,o+50));for(let o of f){let l=o.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let L=N.metadata?.items.find((B)=>B.key==="symbol"),_=L?.value.typed.type==="String"?L.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of o)if(N.aggregation_level==="Global"){let L=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=Dy.AssetValue.from({asset:L.symbol!==Dy.Chain.Radix?`${Dy.Chain.Radix}.${L.symbol}-${N.resource_address}`:"XRD.XRD",value:N.amount});x.push(_)}}return x}function Z1(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var Dy,J1=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||Dy.SKConfig.get("integrations").radix,f=n({...y,networkId:y.network?.networkId||1}),o=x.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:L1({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Dy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:ql}};var Zo=R(()=>{Dy=require("@swapkit/helpers")});var qo={};Ny(qo,{rippleValidateAddress:()=>Jo,hashes:()=>Ml.hashes,getRippleToolbox:()=>Q1});module.exports=Xy(qo);function Ql(T){let n=$y.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function Jo(T){return $y.isValidAddress(T)}var c,$y,Ml,q1,Q1=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?Ql(T.phrase):void 0,x=await c.getRPCUrl(c.Chain.Ripple);if(!x)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let y=new $y.Client(x);await y.connect();let f=()=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},o=async(B)=>{let X=B||await f(),{baseDecimal:w}=c.getChainConfig(c.Chain.Ripple);try{let M=(await y.request({account:X,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:w,value:M})]}catch(q){if(q.data.error_code===q1.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:X,error:q}})}},l=async()=>{let X=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:w}=c.getChainConfig(c.Chain.Ripple);return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:w,value:c.SwapKitNumber.fromBigInt(BigInt(X),w)})},C=async({assetValue:B,recipient:X,memo:w,sender:q})=>{if(!Jo(X))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let M=q||await f();if(!B.isGasAsset||B.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:B.toString()}});let Q={Account:M,Amount:$y.xrpToDrops(B.getValue("string")),Destination:X,TransactionType:"Payment"};if(w)Q.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(Q)},G=(B)=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(B)},N=async(B)=>{let w=(await y.submitAndWait(B)).result;if(w.validated)return w.hash;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:N,createSigner:Ql,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:f,getBalance:o,signer:n,signTransaction:G,transfer:async(B)=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let X=await n.getAddress(),w=await C({...B,sender:X}),q=await G(w);return N(q.tx_blob)},validateAddress:Jo}};var Qo=R(()=>{c=require("@swapkit/helpers"),$y=require("xrpl"),Ml=require("xrpl"),q1={ACCOUNT_NOT_FOUND:19}});async function M1(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:f}}=y,o=sy.SwapKitNumber.fromBigInt(BigInt(f.toString()),n.decimal).getValue("string");return[n.set(o)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function W1(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let f=y.balance||y.data?.balance;if(!f||f.isEmpty)return[n.set(0)];let o=sy.SwapKitNumber.fromBigInt(BigInt(f.toString()),n.decimal).getValue("string");return[n.set(o)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function Wl(T,n){return function(y){let f=sy.AssetValue.from({chain:T});switch(T){case sy.Chain.Chainflip:return W1(n,f,y);default:return M1(n,f,y)}}}var sy;var zl=R(()=>{sy=require("@swapkit/helpers")});var z1,Y1,P1,py;var Mo=R(()=>{z1={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},Y1={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},P1={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},py={DOT:z1,FLIP:Y1,GENERIC:P1}});function H1(T,n){switch(T){case g.Chain.Chainflip:return Pl(n);case g.Chain.Polkadot:return Yl(n);default:throw new g.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function JT(T){return"address"in T}async function zo(T,n){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:n,type:"sr25519"}).addFromUri(T)}function u1(T,n){let x=QT.decodeAddress(T);return QT.encodeAddress(x,n)}function Hl(T,n){return qT.isHex(T)?qT.hexToU8a(T):QT.decodeAddress(T,void 0,n)}function Ul(T,n="ss58",x){if(n==="hex")return qT.u8aToHex(T);return QT.encodeAddress(T,x)}async function Ho({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),o=await g.getRPCUrl(n),l=new f(o),C=await y.create({provider:l}),G=g.AssetValue.from({chain:n}),N=T?py.GENERIC:py[n],L=await sT.match(x).with({phrase:sT.P.string},({phrase:_})=>zo(_,py[n].prefix)).with({signer:sT.P.any},({signer:_})=>_).otherwise(()=>{return});return Rl({api:C,chain:n,gasAsset:G,network:N,signer:L})}var qT,QT,g,sT,Yl=({generic:T=!1,...n}={})=>{return Ho({chain:g.Chain.Polkadot,generic:T,...n})},Pl=async({generic:T=!1,...n}={})=>{return{...await Ho({chain:g.Chain.Chainflip,generic:T,...n})}},Yo=(T,n)=>T.rpc.system.accountNextIndex(n),Wo=(T,n)=>{try{let x=Hl(T,n);return Ul(x,"ss58",n),!0}catch{return!1}},Po=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),U1=async(T,n,{recipient:x,assetValue:y,sender:f})=>{let o=Po(T,{assetValue:y,recipient:x});if(!o)throw new g.SwapKitError("toolbox_substrate_transfer_error");let l=JT(n),C=l?n.address:f;if(!C)throw new g.SwapKitError("core_transaction_invalid_sender_address");let G=await Yo(T,C);return(await o.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},R1=async(T,n,x,{recipient:y,assetValue:f,sender:o})=>{let l=Po(T,{assetValue:f,recipient:y}),C=JT(n)?n.address:o;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Yo(T,C)})||{partialFee:0};return x.set(g.SwapKitNumber.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},I1=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},O1=async(T,n)=>{return await n.signAsync(T)},D1=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},S1=async({signer:T,address:n,tx:x,callback:y,api:f})=>{let o=await Yo(f,n);if(y)x.signAndSend(n,{nonce:o,signer:T},y);return x.signAndSend(n,{nonce:o,signer:T}).toString()},Rl=({api:T,network:n,gasAsset:x,signer:y,chain:f})=>({api:T,broadcast:I1,convertAddress:u1,createKeyring:(o)=>zo(o,n.prefix),createTransaction:(o)=>Po(T,o),decodeAddress:Hl,encodeAddress:Ul,estimateTransactionFee:(o)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return R1(T,y,x,o)},gasAsset:x,getAddress:(o)=>{let l=o||y;if(!l)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return JT(l)?l.address:void 0},getBalance:Wl(f||g.Chain.Polkadot,T),network:n,sign:(o)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return O1(y,o);throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:o,callback:l,address:C})=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return D1(y,o,l);if(C)return S1({address:C,api:T,callback:l,signer:y,tx:o});throw new g.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return U1(T,y,o)},validateAddress:(o)=>Wo(o,n.prefix)}),k1=({address:T,chain:n})=>{let{prefix:x}=n===g.Chain.Polkadot?py.DOT:py.FLIP;return Wo(T,x)||Wo(T,py.GENERIC.prefix)};var Il=R(()=>{zl();Mo();qT=require("@polkadot/util"),QT=require("@polkadot/util-crypto"),g=require("@swapkit/helpers"),sT=require("ts-pattern")});var Uo={};Ny(Uo,{substrateValidateAddress:()=>k1,isKeyringPair:()=>JT,getSubstrateToolbox:()=>H1,createSubstrateToolbox:()=>Ho,createKeyring:()=>zo,SubstrateNetwork:()=>py,PolkadotToolbox:()=>Yl,ChainflipToolbox:()=>Pl,BaseSubstrateToolbox:()=>Rl});module.exports=Xy(Uo);var Ro=R(()=>{Il();Mo()});var t1={};Ny(t1,{getToolbox:()=>Io,getFeeEstimator:()=>E1,getAddressValidator:()=>v1});module.exports=Xy(t1);var O=require("@swapkit/helpers");async function v1(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (Tx(),yx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (Gf(),Cf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Hn(),Pn)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (Sf(),Df)),{getSuiAddressValidator:o}=await Promise.resolve().then(() => (Rn(),Un)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (On(),In)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (Ef(),vf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:N}=await Promise.resolve().then(() => (Xo(),Lo)),{radixValidateAddress:L}=await Promise.resolve().then(() => (Zo(),wo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (Qo(),qo)),{substrateValidateAddress:B}=await Promise.resolve().then(() => (Ro(),Uo)),X=await x(),w=await N(),q=await f(),M=await o(),Q=await l(),H=await C(),A=await G();return function({address:K,chain:d}){return T(d).with(...O.EVMChains,()=>n({address:K})).with(...O.UTXOChains,()=>A({address:K,chain:d})).with(O.Chain.Cosmos,O.Chain.Kujira,O.Chain.Noble,O.Chain.Maya,O.Chain.THORChain,(Sy)=>{return y(Sy)(K)}).with(O.Chain.Chainflip,O.Chain.Polkadot,()=>B({address:K,chain:d})).with(O.Chain.Radix,()=>L(K)).with(O.Chain.Near,()=>w(K)).with(O.Chain.Ripple,()=>_(K)).with(O.Chain.Solana,()=>q(K)).with(O.Chain.Sui,()=>M(K)).with(O.Chain.Ton,()=>Q(K)).with(O.Chain.Tron,()=>H(K)).with(O.Chain.Cardano,()=>X(K)).otherwise(()=>!1)}}function E1(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...O.EVMChains,async(f)=>{let o=await Io(f),l=await o.createTransaction(x);return o.estimateTransactionFee({...l,chain:f,feeOption:x.feeOptionKey||O.FeeOption.Fast})}).with(O.Chain.Bitcoin,O.Chain.BitcoinCash,O.Chain.Dogecoin,O.Chain.Dash,O.Chain.Litecoin,O.Chain.Polkadot,O.Chain.Solana,O.Chain.Ripple,O.Chain.Tron,O.Chain.Near,O.Chain.Cardano,async(f)=>{return(await Io(f)).estimateTransactionFee(x)}).with(O.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Rn(),Un));return(await f()).estimateTransactionFee(x)}).with(O.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (On(),In));return(await f()).estimateTransactionFee()}).with(...O.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Hn(),Pn));return f(x)}).otherwise(async()=>O.AssetValue.from({chain:T}))}}async function Io(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...O.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (xf(),ao));return await y(T,n)}).with(...O.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (sf(),af));return await y(T,n)}).with(...O.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Hn(),Pn));return await y(T,n)}).with(...O.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Ro(),Uo));return await y(T,n)}).with(O.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Zo(),wo));return await y(n)}).with(O.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Qo(),qo));return await y(n)}).with(O.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (Sf(),Df));return await y(n)}).with(O.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Rn(),Un));return await y(n)}).with(O.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Ef(),vf));return await y(n)}).with(O.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (Xo(),Lo));return await y(n)}).with(O.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (Gf(),Cf));return await y(n)}).with(O.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (On(),In));return await y(n)}).otherwise(()=>{throw new O.SwapKitError("toolbox_not_supported",{chain:T})})}
3
3
 
4
- //# debugId=725256CB725114A464756E2164756E21
4
+ //# debugId=F11E1F4F8A5BC35D64756E2164756E21
5
5
  //# sourceMappingURL=index.cjs.map