@swapkit/toolboxes 4.1.10 → 4.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +3 -3
- package/dist/src/near/index.cjs +2 -2
- package/dist/src/near/index.cjs.map +3 -3
- package/dist/src/near/index.js +2 -2
- package/dist/src/near/index.js.map +3 -3
- package/dist/types/near/toolbox.d.ts.map +1 -1
- package/dist/types/near/types/nep141.d.ts +6 -0
- package/dist/types/near/types/nep141.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var S0=Object.create;var{getPrototypeOf:u0,defineProperty:YT,getOwnPropertyNames:So,getOwnPropertyDescriptor:k0}=Object,uo=Object.prototype.hasOwnProperty;var J=(T,n,x)=>{x=T!=null?S0(u0(T)):{};let y=n||!T||!T.__esModule?YT(x,"default",{value:T,enumerable:!0}):x;for(let f of So(T))if(!uo.call(y,f))YT(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=YT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")So(T).map((y)=>!uo.call(n,y)&&YT(n,y,{get:()=>T[y],enumerable:!(x=k0(T,y))||x.enumerable}));return Do.set(T,n),n};var Ny=(T,n)=>{for(var x in n)YT(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 v0+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,v0,mn=0;var MT=R(()=>{eT=require("@swapkit/helpers"),ko=require("@swapkit/helpers/api"),v0=typeof process<"u"&&process.pid?process.pid.toString(36):""});function HT(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 F0(T)}function E0(T){return T}function F0(T){return{getBalance:TT(T)}}var yn;var Tn=R(()=>{MT();yn=require("@swapkit/helpers")});async function hy(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await i.getRPCUrl(T))}function UT(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:{...t0({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function dn(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function t0({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.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:n,name:"OKB",symbol:"OKB"}};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 Fo=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=q.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: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:bo({provider:n,signer:x}),estimateGasLimit:h0({chain:T,provider:n,signer:x}),estimateGasPrices:cy({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:(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 q.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&A0.includes(x.stateMutability)}function Ao(T){return wy.getAddress(T)}function lT(T){return function({value:x,...y}){if(!xT(T))throw new q.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:UT(BigInt(x||0))}])}}function Vo(T,n){let x=CT(T,n);if(x)return wy.getAddress(x.toLowerCase());throw new q.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function CT({chain:T,symbol:n,ticker:x},y){try{let f=T===q.Chain.BinanceSmartChain&&n==="BNB"&&x==="BNB",o=T===y&&n===y&&x===y,l=K0.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}){return to.match(T).with(q.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:o}=await n.getFeeData();if(!f||o===null)throw new q.SwapKitError("toolbox_evm_no_fee_data");return{[q.FeeOption.Average]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Average),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Average)},[q.FeeOption.Fast]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fast),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fast)},[q.FeeOption.Fastest]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fastest),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fastest)}}}catch(f){throw new q.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(q.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await n.getFeeData();if(!f)throw new q.SwapKitError("toolbox_evm_no_fee_data");return{[q.FeeOption.Average]:{gasPrice:f},[q.FeeOption.Fast]:{gasPrice:f},[q.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new q.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:o,gasPrice:l}=await n.getFeeData();if(x){if(f===null||o===null)throw new q.SwapKitError("toolbox_evm_no_fee_data");return{[q.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:o},[q.FeeOption.Fast]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fast),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fast)},[q.FeeOption.Fastest]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fastest),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fastest)}}}if(!l)throw new q.SwapKitError("toolbox_evm_no_gas_price");return{[q.FeeOption.Average]:{gasPrice:l},[q.FeeOption.Fast]:{gasPrice:q.applyFeeMultiplierToBigInt(l,q.FeeOption.Fast)},[q.FeeOption.Fastest]:{gasPrice:q.applyFeeMultiplierToBigInt(l,q.FeeOption.Fastest)}}}catch(f){throw new q.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:B={},feeOption:_=q.FeeOption.Fast}){let L=o||T;if(!l)throw new q.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=en({abi:C,funcName:G});if(X&&xT(L)&&x){let z=jy({chain:y,provider:L}),W=B?.from||await x?.getAddress(),U=await z({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...B,from:W}});return lT(L)(U)}let w=RT(l,C,L);if(X){if(!x)throw new q.SwapKitError("toolbox_evm_no_signer");let z=B?.from||await x.getAddress();if(!z)throw new q.SwapKitError("toolbox_evm_no_signer_address");let W=w.connect(x),U=cy({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:A,maxPriorityFeePerGas:F,gasPrice:K}=(await U())[_],d=await w.getFunction(G).estimateGas(...N,B),Gy=await W[G](...N,{...B,gasLimit:d,gasPrice:K,maxFeePerGas:A,maxPriorityFeePerGas:F,nonce:B?.nonce||await L.getTransactionCount(z)});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:f,from:o}){return Tf({chain:n,isEIP1559Compatible:!0,provider:T})({abi:fT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[o,f]})}}function b0({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:f,from:o,amount:l=PT}){let C=await Ko({chain:n,provider:T})({assetAddress:y,from:o,spenderAddress:f});return q.SwapKitNumber.fromBigInt(C).gte(q.SwapKitNumber.fromBigInt(BigInt(l)))}}function $0({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:o,spenderAddress:l,feeOptionKey:C=q.FeeOption.Fast,amount:G,gasLimitFallback:N,from:B,nonce:_}){let L=[l,BigInt(G||PT)],X=await T?.getAddress()||B,w={abi:fT.erc20ABI,contractAddress:o,funcName:"approve",funcParams:L,signer:T,txOverrides:{from:X}};if(xT(x)){let z=jy({chain:y,provider:x}),W=lT(x),U=await z(w);return W(U)}return Tf({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:L,txOverrides:{from:X,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function p0({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:f,memo:o,recipient:l,feeOptionKey:C=q.FeeOption.Fast,sender:G,...N}){let{hexlify:B,toUtf8Bytes:_}=await import("ethers"),L=f.getBaseValue("bigint"),X=f.chain,w=G||await T?.getAddress(),Q=$o({chain:X,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new q.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let K={...N,data:B(_(o||"")),feeOptionKey:C,from:w,to:l,value:L};return Q(K)}if(!CT(f,X))throw new q.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:W,maxPriorityFeePerGas:U,gasPrice:A}=(await cy({chain:X,isEIP1559Compatible:n,provider:x})())[C],F=await rn({chain:X,provider:x,signer:T})({assetValue:f,data:B(_(o||"")),gasPrice:A,maxFeePerGas:W,maxPriorityFeePerGas:U,memo:o,recipient:l,sender:w});return Q(F)}}function bo({provider:T,signer:n}){return function({contractAddress:y,abi:f,funcName:o,funcParams:l=[],txOverrides:C}){if(!y)throw new q.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 h0({provider:T,signer:n}){return async function({assetValue:y,recipient:f,memo:o,data:l,sender:C,funcName:G,funcParams:N,txOverrides:B}){let _=y.bigIntValue,L=y.isGasAsset?null:CT(y,y.chain);if(L&&G)return bo({provider:T,signer:n})({abi:fT.erc20ABI,contractAddress:L,funcName:G,funcParams:N,txOverrides:B});let{hexlify:X,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:o?X(w(o)):void 0,from:C,to:f,value:_})}}function $o({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:o=q.FeeOption.Fast,...l}){let{from:C,to:G,data:N,value:B,..._}=l;if(!n)throw new q.SwapKitError("toolbox_evm_no_signer");if(!G)throw new q.SwapKitError("toolbox_evm_no_to_address");let L={..._,data:N||"0x",from:C,to:G,value:BigInt(B||0)};if(xT(T))return lT(T)(L);let X=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(X),Q=(await T.getNetwork()).chainId,z=j0(L)||x,W=cy({chain:y,isEIP1559Compatible:x,provider:T}),U=z&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await W())[o]).reduce((F,[K,d])=>({...F,[K]:UT(BigInt(d))}),{}):{},A;try{A=UT(L.gasLimit||await T.estimateGas(L)*11n/10n)}catch(F){throw new q.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:F})}try{let F={...L,chainId:Q,gasLimit:A,nonce:w,type:z?2:0,...U};try{return(await n.sendTransaction(F)).hash}catch{let K=await n.signTransaction({...F,from:X});return(await T.broadcastTransaction(K)).hash}}catch(F){throw new q.SwapKitError("toolbox_evm_error_sending_transaction",{error:F})}}}function rn({provider:T,signer:n}){return async function({assetValue:y,memo:f,recipient:o,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:B,..._}){let L=y.getBaseValue("bigint"),X=y.chain,w=C||await n?.getAddress();if(!w)throw new q.SwapKitError("toolbox_evm_no_from_address");if(q.isGasAsset(y)){let{hexlify:W,toUtf8Bytes:U}=await import("ethers");return{..._,data:l||W(U(f||"")),from:w,to:o,value:L}}let Q=CT(y,X);if(!Q)throw new q.SwapKitError("toolbox_evm_no_contract_address");return jy({chain:y.chain,provider:T})({abi:fT.erc20ABI,contractAddress:Q,funcName:"transfer",funcParams:[o,L],txOverrides:{from:w,gasPrice:B,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function c0({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}),B=["bigint","number"].includes(typeof l)?l:l||PT;return await N({abi:fT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[o,BigInt(B)],txOverrides:{from:G}})}}function m0({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=q.FeeOption.Fast,chain:f,...o}){let C=await cy({chain:f,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(o),N=q.AssetValue.from({chain:f}),{gasPrice:B,maxFeePerGas:_,maxPriorityFeePerGas:L}=C[y];if(!n&&B)return N.set(q.SwapKitNumber.fromBigInt(B*G,N.decimal));if(_&&L){let X=(_+L)*G;return N.set(q.SwapKitNumber.fromBigInt(X,N.decimal))}throw new q.SwapKitError("toolbox_evm_no_gas_price")}}var q,fT,wy,to,PT,A0,V0,yf,K0,j0=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var nn=R(()=>{nT();q=require("@swapkit/helpers"),fT=require("@swapkit/helpers/contracts"),wy=require("ethers"),to=require("ts-pattern"),PT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");A0=["payable","nonpayable"];V0=q.EVMChains.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),yf={...V0,[q.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[q.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},K0=[q.Chain.Arbitrum,q.Chain.Aurora,q.Chain.Base,q.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:B})=>f.fromPhrase(B).connect(l)).with({signer:IT.P.any},({signer:B})=>B).otherwise(()=>{return});return{...oT({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:HT(T).getBalance,getNetworkParams:gn(T)}}}var a,IT,on,xn,ln,Cn,Gn,Nn,po,_n,Ln,Bn,Xn,wn,Zn,OT,Jn,qn;var nf=R(()=>{Tn();Fo();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),po=oy(a.Chain.Botanix),_n=oy(a.Chain.Core),Ln=oy(a.Chain.Corn),Bn=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 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: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 io(T){return async function(x){let y=ff(T),f=await mo(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function go(T){return async function(x){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(x);return y.mul(f)}}function d0(T){return async function(x){let y=await io(T)(x),f=await go(T)(x);return y.add(f)}}function r0(T){return async function(x){let y=ff(T),f=await mo(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}function a0(){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 s0(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),f=await co(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 Wn({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=co(f);return{...l,estimateGasPrices:s0(f),estimateL1Gas:r0(f),estimateL1GasCost:io(f),estimateL2GasCost:go(f),estimateTotalGasCost:d0(f),getBalance:HT(h.Chain.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:a0}}var h,Qn,DT,g0="0x420000000000000000000000000000000000000f";var of=R(()=>{Tn();jo();nT();nn();h=require("@swapkit/helpers"),Qn=require("ethers"),DT=require("ts-pattern")});var so={};Ny(so,{toChecksumAddress:()=>Ao,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getEvmToolbox:()=>ao,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>jy,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>an,createContract:()=>RT,XLayerToolbox:()=>qn,UNIToolbox:()=>Jn,SONICToolbox:()=>OT,OPToolbox:()=>Wn,MAX_APPROVAL:()=>PT,MATICToolbox:()=>Zn,HYPEREVMToolbox:()=>wn,GNOToolbox:()=>Xn,ETHToolbox:()=>fn,ContractAddress:()=>yf,CROToolbox:()=>Bn,CORNToolbox:()=>Ln,COREToolbox:()=>_n,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Nn,BERAToolbox:()=>Gn,BASEToolbox:()=>Cn,AVAXToolbox:()=>ln,AURORAToolbox:()=>xn,ARBToolbox:()=>on});async function ao(T,n){let x={...n,provider:n?.provider||await hy(T)};return ro.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,()=>Ln(x)).with(ny.Chain.Cronos,()=>Bn(x)).with(ny.Chain.Ethereum,()=>fn(x)).with(ny.Chain.Gnosis,()=>Xn(x)).with(ny.Chain.Hyperevm,()=>wn(x)).with(ny.Chain.Optimism,()=>Wn(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,ro;var xf=R(()=>{nT();nf();of();ny=require("@swapkit/helpers"),ro=require("ts-pattern");nn();nf();of()});var eo;var yx=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(eo||={})});var Tx={};Ny(Tx,{toHexString:()=>UT,toChecksumAddress:()=>Ao,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getProvider:()=>hy,getNetworkParams:()=>gn,getIsEIP1559Compatible:()=>dn,getEvmToolbox:()=>ao,getEvmApi:()=>HT,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>jy,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>an,createCustomEvmApi:()=>E0,createContract:()=>RT,XLayerToolbox:()=>qn,UNIToolbox:()=>Jn,SONICToolbox:()=>OT,OPToolbox:()=>Wn,MAX_APPROVAL:()=>PT,MATICToolbox:()=>Zn,HYPEREVMToolbox:()=>wn,GNOToolbox:()=>Xn,EthNetwork:()=>eo,ETHToolbox:()=>fn,ContractAddress:()=>yf,CROToolbox:()=>Bn,CORNToolbox:()=>Ln,COREToolbox:()=>_n,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Nn,BERAToolbox:()=>Gn,BASEToolbox:()=>Cn,AVAXToolbox:()=>ln,AURORAToolbox:()=>xn,ARBToolbox:()=>on});module.exports=Xy(Tx);var nx=R(()=>{Tn();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 f=await y.getBalance(),o=[];for(let l of f)if(l.unit===e0){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 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:B})=>{let{MeshWallet:_}=await import("@meshsdk/core"),L=await lf(),X=new _({fetcher:L,key:{type:"mnemonic",words:B.split(" ")},networkId:1,submitter:L});return await X.init(),X}).with({signer:ST.P.any},({signer:B})=>B).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function f(){return y||""}function o(B){let _=B||f();if(!_)throw new 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:B,assetValue:_,memo:L}){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:B},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),L)Q.setMetadata(0,L);let z=await Q.build();return{tx:Q,unsignedTx:z}}function G(B){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");return x.signTx(B)}async function N({recipient:B,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:X}=await C({assetValue:_,memo:L,recipient:B}),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,e0="lovelace";var ox=R(()=>{s=require("@swapkit/helpers"),ST=require("ts-pattern")});var Cf={};Ny(Cf,{getCardanoToolbox:()=>Tl,getCardanoAddressValidator:()=>fx});module.exports=Xy(Cf);var Gf=R(()=>{ox()});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 nl(T){return zn.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 zn.toByteArray(T)}var uy,xx,zn;var Nf=R(()=>{uy=require("@scure/base"),xx=require("@swapkit/helpers"),zn=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 Gx;case I.Chain.Noble:return Nx;default:return Cx}}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 Lf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function Bf({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 L=I.AssetValue.from({chain:C}),X=ky(L.symbol),w=Ry(C),Q=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:w.gas}:w,z={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:ol(C),value:z}],sequence:o??_.sequence}}var I,_f="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",lx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Cx,Gx,Nx,ky=(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}},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)},ol=(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})}},xl,Xf=(T,n)=>{let x=xl[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 FT=R(()=>{I=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: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 _x={};Ny(_x,{$root:()=>M});var fy,E,Jy,P,M;var Lx=R(()=>{fy=J(require("protobufjs/minimal.js")),E=fy.default.Reader,Jy=fy.default.Writer,P=fy.default.util,M=fy.default.roots.default||(fy.default.roots.default={});M.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=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 M.common.Asset;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!P.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!P.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!P.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Asset)return y;let f=new M.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.chain="",o.symbol="",o.ticker="",o.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))o.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))o.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))o.synth=y.synth;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,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=P.Long?P.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))M.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Coin;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.asset=M.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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=M.common.Asset.verify(y.asset);if(f)return"asset."+f}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!P.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!P.isInteger(y.decimals)&&!(y.decimals&&P.isInteger(y.decimals.low)&&P.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Coin)return y;let f=new M.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=M.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(P.Long)(f.decimals=P.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)if(o.asset=null,o.amount="",P.Long){let l=new P.Long(0,0,!1);o.decimals=f.longs===String?l.toString():f.longs===Number?l.toNumber():l}else o.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))o.asset=M.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))o.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")o.decimals=f.longs===String?String(y.decimals):y.decimals;else o.decimals=f.longs===String?P.Long.prototype.toString.call(y.decimals):f.longs===Number?new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,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 M.common.PubKeySet;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!P.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!P.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.PubKeySet)return y;let f=new M.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.secp256k1="",o.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))o.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))o.ed25519=y.ed25519;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,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=P.emptyArray,n.prototype.gas=P.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=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)M.common.Coin.encode(y.coins[o],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let o=0;o<y.gas.length;++o)M.common.Coin.encode(y.gas[o],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Tx;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(M.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(M.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!P.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!P.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!P.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!P.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let o=M.common.Coin.verify(y.gas[f]);if(o)return"gas."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Tx)return y;let f=new M.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let o=0;o<y.gas.length;++o){if(typeof y.gas[o]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[o]=M.common.Coin.fromObject(y.gas[o])}}if(y.memo!=null)f.memo=String(y.memo);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[],o.gas=[];if(f.defaults)o.id="",o.chain="",o.fromAddress="",o.toAddress="",o.memo="";if(y.id!=null&&y.hasOwnProperty("id"))o.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=y.toAddress;if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.gas?.length){o.gas=[];for(let l=0;l<y.gas.length;++l)o.gas[l]=M.common.Coin.toObject(y.gas[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,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=P.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)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Fee;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!P.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Fee)return y;let f=new M.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults)o.poolDeduct="";if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))o.poolDeduct=y.poolDeduct;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,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 M.common.ProtoUint;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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(!P.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.ProtoUint)return y;let f=new M.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.value="";if(y.value!=null&&y.hasOwnProperty("value"))o.value=y.value;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T})();M.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=P.emptyArray,n.prototype.memo="",n.prototype.signer=P.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgDeposit;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||P.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof M.types.MsgDeposit)return y;let f=new M.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")P.base64.decode(y.signer,f.signer=P.newBuffer(P.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults){if(o.memo="",f.bytes===String)o.signer="";else if(o.signer=[],f.bytes!==Array)o.signer=P.newBuffer(o.signer)}if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))o.signer=f.bytes===String?P.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,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=P.newBuffer([]),n.prototype.toAddress=P.newBuffer([]),n.prototype.amount=P.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=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)M.cosmos.base.v1beta1.Coin.encode(y.amount[o],f.uint32(26).fork()).ldelim();return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof E))y=E.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgSend;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(M.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof 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"||P.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||P.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let f=0;f<y.amount.length;++f){let o=M.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(o)return"amount."+o}}return null},n.fromObject=function(y){if(y instanceof M.types.MsgSend)return y;let f=new M.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")P.base64.decode(y.fromAddress,f.fromAddress=P.newBuffer(P.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")P.base64.decode(y.toAddress,f.toAddress=P.newBuffer(P.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let o=0;o<y.amount.length;++o){if(typeof y.amount[o]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[o]=M.cosmos.base.v1beta1.Coin.fromObject(y.amount[o])}}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.amount=[];if(f.defaults){if(f.bytes===String)o.fromAddress="";else if(o.fromAddress=[],f.bytes!==Array)o.fromAddress=P.newBuffer(o.fromAddress);if(f.bytes===String)o.toAddress="";else if(o.toAddress=[],f.bytes!==Array)o.toAddress=P.newBuffer(o.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=f.bytes===String?P.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=f.bytes===String?P.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){o.amount=[];for(let l=0;l<y.amount.length;++l)o.amount[l]=M.cosmos.base.v1beta1.Coin.toObject(y.amount[l],f)}return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},n})(),T})();M.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=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 M.cosmos.base.v1beta1.Coin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof 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(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.Coin)return o;let l=new M.cosmos.base.v1beta1.Coin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,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 M.cosmos.base.v1beta1.DecCoin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof 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(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecCoin)return o;let l=new M.cosmos.base.v1beta1.DecCoin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,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 M.cosmos.base.v1beta1.IntProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.int=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof 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(!P.isString(o.int))return"int: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.IntProto)return o;let l=new M.cosmos.base.v1beta1.IntProto;if(o.int!=null)l.int=String(o.int);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(o.int!=null&&o.hasOwnProperty("int"))C.int=o.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,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 M.cosmos.base.v1beta1.DecProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.dec=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof 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(!P.isString(o.dec))return"dec: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecProto)return o;let l=new M.cosmos.base.v1beta1.DecProto;if(o.dec!=null)l.dec=String(o.dec);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(o.dec!=null&&o.hasOwnProperty("dec"))C.dec=o.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,fy.default.util.toJSONOptions)},y})(),x})(),n})(),T})()});async function my(){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"),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 wx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,recipient:f,sender:l});return Zx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,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(),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 tT({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,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: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}}},Yn=({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)},Xx=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},wx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:f="",asSignable:o=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await Xx({rpcUrl:T,sender:n}),B=y.chain,{chainId:_}=qy.getChainConfig(B),L=Zf({assetValue:y,recipient:x,sender:n}),X=o?await Ey(l?L:Fy(L),B):L;return{accountNumber:G||N.accountNumber,chainId:_,fee:Ry(B),memo:f,msgs:[X],sequence:C||N.sequence}},Zx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:f=!0,asAminoMessage:o=!1,sequence:l,accountNumber:C})=>{let G=await Xx({rpcUrl:T,sender:n}),N=x.chain,{chainId:B}=qy.getChainConfig(N),_=Jf({assetValue:x,memo:y,sender:n}),L=f?await Ey(o?_:Fy(_),N):_;return{accountNumber:C||G.accountNumber,chainId:B,fee:Ry(N),memo:y,msgs:[L],sequence:l||G.sequence}};var Jx=R(()=>{FT();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 Yf(T,n){try{let y=(await zf.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Wf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),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 Gl({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function Mx(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(ty.base64.decode(x));return G.verifySignature(N,ty.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:_})=>Wf({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 ty.base64.encode(_?.pubkey)}async function B({recipient:_,assetValue:L,memo:X="",feeRate:w,feeOptionKey:Q=v.FeeOption.Fast}){let z=await G();if(!(l&&z))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let W=v.AssetValue.from({chain:T}),U=vT(W),A=w||Ll((await zx(T,Wx[T]))[Q],U),F=await ET(x,l),K=[{amount:L.getBaseValue("string"),denom:ky(`u${L.symbol}`).toLowerCase()}],{transactionHash:d}=await F.sendTokens(z,_,K,A,X);return d}return{createPrivateKeyFromPhrase:Xl(o),createTransaction:Bf,fetchFeeRateFromSwapKit:Yf,getAccount:C,getAddress:G,getBalance:async(_,L)=>{let X=await Yx(x)(_),w=await Promise.all(X.filter(({denom:Q})=>Q&&!Q.includes("IBC/")).map(({denom:Q,amount:z})=>{let W=[v.Chain.THORChain,v.Chain.Maya].includes(T)&&(Q.includes("/")||Q.includes("˜"))?`${T}.${Q}`:Q;return Xf(W,z)}));if(w.length===0)return[v.AssetValue.from({chain:T})];return w},getBalanceAsDenoms:Yx(x),getFees:()=>zx(T,Wx[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:L})=>Wf({derivationPath:v.derivationPathToString(L),index:f,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:B,validateAddress:Hx(T),verifySignature:Mx(C)}}async function Nl(T,n){try{let y=(await zf.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function _l({assetValue:{chain:T}}){return v.AssetValue.from({chain:T,value:Bl(T)})}async function zx(T,n){let{chainId:x,baseDecimal:y}=v.getChainConfig(T),f=await Yf(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 Ll(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function Bl(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 Hx(T){let n=v.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:f,words:o}=ty.bech32.decode(y);return ty.bech32.encode(f,o)===y.toLocaleLowerCase()}catch{return!1}}}function Yx(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 Xl(T){return async function(x){let y=await import("@cosmjs/crypto"),f=y.stringToPath??y.default?.stringToPath,o=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),B=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(o.Secp256k1,B,f(T));return _}}var ty,v,zf,AT,Wx;var Mn=R(()=>{FT();ty=require("@scure/base"),v=require("@swapkit/helpers"),zf=require("@swapkit/helpers/api"),AT=require("ts-pattern");Wx={[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 wl({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 Zl(T){return Ay.base64.encode(T)}function Jl(T){return async function({wallet:x,tx:y}){let{msgs:f,accountNumber:o,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,B=(await x.getAccounts())?.[0]?.address||"",_=await vy(T),L=await my(),X=await Lf(x,{aminoTypes:_,registry:L}),w=[];for(let W of f){let U=await Ey(W,T);w.push(U)}let{signatures:[Q]}=await X.sign(B,w,G,N,{accountNumber:o,chainId:C,sequence:l});return{bodyBytes:await tT({chain:T,memo:N,msgs:f.map(Fy)}),signature:Zl(Q)}}}function ql({prefix:T,rpcUrl:n}){return async function(y,f,o,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:L}=JSON.parse(y),X=await Ux(o,l),w=f.map((W)=>[N(G(Ay.base64.decode(W.pubKey)),T),Ay.base64.decode(W.signature)]),Q=await Iy(n),{transactionHash:z}=await Q.broadcastTx(B(X,_,L,C,new Map(w)));return z}}async function Ux(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 Ql(T){return Ay.base64.decode(T)}async function Wl({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 Mf({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}),B=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 L(){let w,Q=`${y}/${o?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:z}}=await m.RequestClient.get(Q);if(!z||Number.isNaN(z)||z<0)throw new m.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:z.toString()});w=new m.SwapKitNumber(z)}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:z}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),U=(await B?.getAccounts())?.[0]?.address;if(!(U&&B))throw new m.SwapKitError("toolbox_cosmos_no_signer");let A="signAmino"in B,F=await my(),K=await vy(T),d=await ET(x,B,{aminoTypes:K,registry:F}),Gy=Yn({assetValue:w,memo:Q,recipient:z,sender:U});if(A){let H=await Ey(Gy,T),{signatures:S,authInfoBytes:u}=await d.sign(U,[H],_,Q),t=W.encode({authInfoBytes:u,bodyBytes:await tT({chain:T,memo:Q,msgs:[Gy].map(Fy)}),signatures:S}).finish();return(await d.broadcastTx(t)).transactionHash}let Sy=Fy(Gy),Z=await Ey(Sy,T);return(await d.signAndBroadcast(U,[Z],_,Q)).transactionHash}return{...N,broadcastMultisigTx:ql({prefix:l,rpcUrl:x}),buildAminoMsg:Yn,buildEncodedTxBody:tT,convertToSignable:Ey,createDefaultAminoTypes:()=>vy(T),createDefaultRegistry:my,createMultisig:Ux,createTransaction:qf(x),deposit:X,getFees:L,importSignature:Ql,parseAminoMessageForDirectSigning:Fy,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:Q}=(await import("@cosmjs/amino")).default;return Q(w,l)},secp256k1HdWalletFromMnemonic:wl({derivationPath:m.derivationPathToString(G),prefix:l}),signMultisigTx:Jl(T),signWithPrivateKey:Wl,transfer:X}}var Ay,m,KT;var Hf=R(()=>{Qf();FT();Mn();Ay=require("@scure/base"),m=require("@swapkit/helpers"),KT=require("ts-pattern")});var Vy,zl=(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 Mf({chain:T,...n});default:throw new Vy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var Px=R(()=>{Mn();Hf();Vy=require("@swapkit/helpers");Mn();Hf()});var Hn={};Ny(Hn,{verifySignature:()=>Mx,transferMsgAmino:()=>Zf,toBase64:()=>nl,parseAminoMessageForDirectSigning:()=>Fy,getSignerFromPrivateKey:()=>Gl,getSignerFromPhrase:()=>Wf,getMsgSendDenom:()=>ky,getFeeRateFromSwapKit:()=>Nl,getDenomWithChain:()=>vT,getDefaultChainFee:()=>Ry,getCreateTransaction:()=>qf,getCosmosValidateAddress:()=>Hx,getCosmosToolbox:()=>zl,getAssetFromDenom:()=>Xf,fromBase64:()=>fl,fetchFeeRateFromSwapKit:()=>Yf,estimateTransactionFee:()=>_l,depositMsgAmino:()=>Jf,createThorchainToolbox:()=>Mf,createStargateClient:()=>Iy,createSigningStargateClient:()=>ET,createOfflineStargateClient:()=>Lf,createDefaultRegistry:()=>my,createDefaultAminoTypes:()=>vy,createCosmosToolbox:()=>VT,cosmosCreateTransaction:()=>Bf,convertToSignable:()=>Ey,buildTransferTx:()=>wx,buildEncodedTxBody:()=>tT,buildDepositTx:()=>Zx,buildAminoMsg:()=>Yn,bech32ToBase64:()=>uT,base64ToBech32:()=>kT,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=Xy(Hn);var Un=R(()=>{Qf();Px();FT()});async function Ix(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 Yl(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,B=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let L=await Ix(B),X=L?.symbol||"UNKNOWN",w=L?.decimals||N.tokenAmount.decimals;o.push(b.AssetValue.from({asset:`${b.Chain.Solana}.${X}-${B}`,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 Ml(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})=>Pf({derivationPath:x,phrase:l})).with({signer:bT.P.any},({signer:l})=>l).otherwise(()=>{return});function f(){return y?.publicKey?Rx(y.publicKey):""}function o(l){let C=l||f();if(!C)throw new b.SwapKitError("core_wallet_connection_not_found");return Yl(C)}return{broadcastTransaction:Uf(iy),createKeysForPath:Pf,createTransaction:If(iy),createTransactionFromInstructions:Rl,estimateTransactionFee:Hl(iy),getAddress:f,getAddressFromPubKey:Rx,getAddressValidator:Rf,getBalance:o,getConnection:iy,getPubkeyFromAddress:Of,signTransaction:Ol(iy,y),transfer:Il(iy,y)}}function Hl(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:B}=b.getChainConfig(b.Chain.Solana);return b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:B,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 Ul(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 Pl({amount:n.getBaseValue("number"),connection:o,decimals:n.decimal,from:l,isProgramDerivedAddress:f,recipient:x,tokenAddress:n.address});return}}async function Pl({tokenAddress:T,recipient:n,from:x,connection:y,amount:f,decimals:o,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:B}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),X=new _,w=new L(T),Q=await C(w,x),z=new L(n),W=await C(w,z,l),U=!1;try{await G(y,W),U=!0}catch{}if(!U)X.add(N(x,W,z,w));return X.add(B(Q,w,W,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(),B=await Ul(T)({assetValue:x,isProgramDerivedAddress:f,recipient:n,sender:o});if(!B)throw new b.SwapKitError("core_transaction_invalid_sender_address");if(y)B.add(l(y));let _=await N.getLatestBlockhash();return B.recentBlockhash=_.blockhash,B.feePayer=C,B}}async function 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 Il(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 Uf(T)(G)}return C.sign(n),Uf(T)(C)}}function Uf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function Ol(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 Pf({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 Rx(T){return T.toString()}async function Of(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var b,bT;var Ox=R(()=>{b=require("@swapkit/helpers"),bT=require("ts-pattern")});var Df={};Ny(Df,{getSolanaToolbox:()=>Ml,getSolanaAddressValidator:()=>Rf,fetchTokenMetaData:()=>Ix,createKeysForPath:()=>Pf});module.exports=Xy(Df);var Sf=R(()=>{Ox()});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 $T.match(n).with({phrase:$T.P.string},async({phrase:_})=>{let{Ed25519Keypair:L}=await import("@mysten/sui/keypairs/ed25519");return L.deriveKeypair(_)}).with({signer:$T.P.any},({signer:_})=>_).otherwise(()=>{return});async function f(_=T){let{SuiClient:L,getFullnodeUrl:X}=await import("@mysten/sui/client");return new L({url:_||X("mainnet")})}function o(){return y?.toSuiAddress()||""}async function l(_){let L=_||o();if(!L)throw new e.SwapKitError("toolbox_sui_address_required");try{let X=await f(),{totalBalance:w}=await X.getBalance({owner:L}),{baseDecimal:Q,chain:z}=e.getChainConfig(e.Chain.Sui),W=[e.AssetValue.from({chain:z,fromBaseDecimal:Q,value:w})],U=await X.getAllBalances({owner:L});for(let{coinType:A,totalBalance:F}of U){if(A==="0x2::sui::SUI")continue;if(Number(F)>0){let K=A.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${z}.${K}-${A}`;W.push(e.AssetValue.from({asset:d,fromBaseDecimal:Q,value:F}))}}return W}catch(X){throw new e.SwapKitError("toolbox_sui_balance_error",{error:X})}}async function C(_){let L=e.AssetValue.from({chain:e.Chain.Sui,value:"0.01"});if(!_)return L;try{let X=await f(),{txBytes:w}=await G(_),{effects:{status:Q,gasUsed:z}}=await X.dryRunTransactionBlock({transactionBlock:w});if(Q.status!=="success")return L;let W=Number(z.computationCost)+Number(z.storageCost)-Number(z.storageRebate);return e.AssetValue.from({chain:e.Chain.Sui,value:W.toString()})}catch{return L}}async function G({recipient:_,assetValue:L,gasBudget:X,sender:w}){let{Transaction:Q}=await import("@mysten/sui/transactions"),z=w||o();if(!z)throw new e.SwapKitError("toolbox_sui_no_sender");try{let W=new Q;if(W.setSender(z),L.isGasAsset||L.symbol==="SUI"){let[F]=W.splitCoins(W.gas,[L.getBaseValue("string")]);W.transferObjects([F],_)}else throw new e.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(X)W.setGasBudget(X);let U=await f(),A=await W.build({client:U});return{tx:W,txBytes:A}}catch(W){throw new e.SwapKitError("toolbox_sui_transaction_creation_error",{error:W})}}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 B({assetValue:_,gasBudget:L,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:L,recipient:X,sender:w}),z=await f(),{digest:W}=await z.signAndExecuteTransaction({signer:y,transaction:Q});return W}return{createTransaction:G,estimateTransactionFee:C,getAddress:o,getBalance:l,signTransaction:N,transfer:B,validateAddress:x}}var e,$T;var Sx=R(()=>{e=require("@swapkit/helpers"),$T=require("ts-pattern")});var Pn={};Ny(Pn,{getSuiToolbox:()=>Dl,getSuiAddressValidator:()=>Dx});module.exports=Xy(Pn);var Rn=R(()=>{Sx()});async function Sl(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),o=await ux(),l,C,G=await pT.match(T).with({phrase:pT.P.string},async({phrase:W})=>n(W.split(" "))).with({signer:pT.P.any},({signer:W})=>W).otherwise(()=>{return});function N(){let{rpcUrls:W}=yy.getChainConfig(yy.Chain.Ton),[U]=W;if(!l||l.parameters.endpoint!==U)l=new y({endpoint:U});return l}function B(W){if(!C||W){let U=N(),A=W||G;if(!A)throw new yy.SwapKitError("core_wallet_connection_not_found");let F=f.create({publicKey:A.publicKey,workchain:0});C=U.open(F)}return C}async function _(W){let U=N(),{baseDecimal:A}=yy.getChainConfig(yy.Chain.Ton);try{let F=await U.getBalance(x.parse(W));return[yy.AssetValue.from({chain:yy.Chain.Ton,value:yy.SwapKitNumber.fromBigInt(F,A)})]}catch(F){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:F})}}async function L({assetValue:W,recipient:U,memo:A}){let F=B();if(!F||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let{toNano:K,comment:d,internal:Gy}=await import("@ton/ton"),Sy=await F.getSeqno(),Z=K(W.getValue("string")),Y=A?d(A):void 0;return F.createTransfer({messages:[Gy({body:Y,to:U,value:Z})],secretKey:G.secretKey,seqno:Sy})}async function X({assetValue:W,recipient:U,memo:A}){let F=B();if(!F||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let K=await L({assetValue:W,memo:A,recipient:U});return await F.send(K),K.hash().toString()}async function w(W){let U=B();if(!U)throw new yy.SwapKitError("core_wallet_connection_not_found");try{return await U.send(W),W.hash().toString("hex")}catch(A){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:A})}}function Q(){return B().address.toString()}function z(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Ton,value:"0.0001"}))}return{createTransaction:L,estimateTransactionFee:z,getAddress:Q,getBalance:_,sendTransaction:w,transfer:X,validateAddress:o}}async function ux(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var yy,pT;var kx=R(()=>{yy=require("@swapkit/helpers"),pT=require("ts-pattern")});var In={};Ny(In,{getTONToolbox:()=>Sl,getTONAddressValidator:()=>ux});module.exports=Xy(In);var On=R(()=>{kx()});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 Ex(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${ul}/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 vx.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var vx,ul="https://api.trongrid.io";var Fx=R(()=>{vx=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 Ax({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 tl({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(B)=>{return await x.trx.sign(B,G)}}}var D,hT,kl=268,vl=13000,El=345,tx="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Fl="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",Vx=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})=>tl({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()},B=()=>{return 1e8},_=async()=>{try{let Z=await o.trx.getChainParameters(),Y={};for(let H of Z)Y[H.key]=H.value;return{bandwidthFee:Y.getTransactionFee||1000,createAccountFee:Y.getCreateAccountFee||1e5,energyFee:Y.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},L=async(Z)=>{try{let Y=await o.trx.getAccount(Z);return Y&&Object.keys(Y).length>0}catch{return!1}},X=async(Z)=>{try{let Y=await o.trx.getAccountResources(Z);return{bandwidth:{free:Y.freeNetLimit-Y.freeNetUsed,total:Y.NetLimit||0,used:Y.NetUsed||0},energy:{total:Y.EnergyLimit||0,used:Y.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(Z,Y)=>{try{let H=o.contract(GT,Y);if(!H.methods?.balanceOf)return 0n;let[S]=await H.methods.balanceOf(Z).call();return S?typeof S==="bigint"?S:BigInt(S):0n}catch(H){return console.warn(`balanceOf() failed for ${Y}:`,H),0n}},Q=async(Z,Y)=>{try{o.setAddress(Y);let H=o.contract(GT,Z),[S,u]=await Promise.all([H.symbol().call().catch(()=>"UNKNOWN"),H.decimals().call().catch(()=>"18")]);return{decimals:Number(u??18),symbol:S??"UNKNOWN"}}catch(H){return D.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Z}: ${H instanceof Error?H.message:H}`}),null}},z=async(Z,Y=!0)=>{let H=[D.AssetValue.from({chain:D.Chain.Tron})];try{let S=await Ex(Z);if(S){let u=[];u.push(D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:6,value:S.balance}));for(let t of S.trc20){let[p,r]=Object.entries(t)[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 H}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=[],t=await o.trx.getBalance(Z);if(t&&Number(t)>0)u.push(D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:6,value:t}));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 H;return u}catch(u){return console.error("Tron balance fetch failed:",u),H}}},W=async({recipient:Z,assetValue:Y,memo:H})=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");let S=await N();if(o.setAddress(S),Y.isGasAsset){let $=await o.transactionBuilder.sendTrx(Z,Y.getBaseValue("number"),S);if(H){let By=await o.transactionBuilder.addUpdateData($,H,"utf8"),Py=await G.signTransaction(By),{txid:ey}=await o.trx.sendRawTransaction(Py);return ey}let _y=await G.signTransaction($),{txid:Ly}=await o.trx.sendRawTransaction(_y);return Ly}let t=await A({assetValue:Y,memo:H,recipient:Z,sender:S}),p=await G.signTransaction(t),{txid:r}=await o.trx.sendRawTransaction(p);if(!r)throw new D.SwapKitError("toolbox_tron_token_transfer_failed");return r},U=async({assetValue:Z,recipient:Y,sender:H})=>{let S=Z.isGasAsset;try{let u=H?H: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 t=await _(),r=await L(Y)?0:t.createAccountFee,$=await X(u);if(S){let yT=kl,zT=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),Oo=0;if(yT>zT)Oo=(yT-zT)*t.bandwidthFee;let D0=r+Oo;return D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:D.BaseDecimal.TRON,value:D0})}let _y=El,Ly=vl,By=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),Py=$.energy.total-$.energy.used,ey=0;if(_y>By)ey=(_y-By)*t.bandwidthFee;let WT=0;if(Ly>Py)WT=(Ly-Py)*t.energyFee;let cn=r+ey+WT;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:Y,assetValue:H,memo:S,sender:u,expiration:t}=Z;if(H.isGasAsset){let $=await o.transactionBuilder.sendTrx(Y,H.getBaseValue("number"),u);if(S)return o.transactionBuilder.addUpdateData($,S,"utf8");if(t)o.transactionBuilder.extendExpiration($,t);return $}o.setAddress(u);let r=H.address;if(!r)throw new D.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:H.toString()});try{let _y=[{type:"address",value:Y},{type:"uint256",value:H.getBaseValue("string")}],Ly={callValue:0,feeLimit:B()},By=await o.transactionBuilder.triggerSmartContract(r,"transfer(address,uint256)",Ly,_y,u);if(S)return o.transactionBuilder.addUpdateData(By.transaction,S,"utf8");if(t)o.transactionBuilder.extendExpiration(By.transaction,t);return By.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($)})}},F=async(Z)=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");return await G.signTransaction(Z)},K=async(Z)=>{let{txid:Y}=await o.trx.sendRawTransaction(Z);return Y},d=async({assetAddress:Z,spenderAddress:Y,from:H})=>{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(H,Y).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:Y,amount:H,from:S})=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");let u=S||await N(),t=H!==void 0?BigInt(H).toString():Fl,p="approve(address,uint256)",r=[{type:"address",value:Y},{type:"uint256",value:t}],_y={callValue:0,feeLimit:B()};try{let{transaction:Ly}=await o.transactionBuilder.triggerSmartContract(Z,p,_y,r,u),By=await G.signTransaction(Ly),{txid:Py}=await o.trx.sendRawTransaction(By);if(!Py)throw new D.SwapKitError("toolbox_tron_approve_failed");return Py}catch(Ly){throw new D.SwapKitError("toolbox_tron_approve_failed",{error:Ly})}},broadcastTransaction:K,createTransaction:A,estimateTransactionFee:U,getAddress:N,getApprovedAmount:d,getBalance:z,isApproved:async({assetAddress:Z,spenderAddress:Y,from:H,amount:S})=>{let u=await d({assetAddress:Z,from:H,spenderAddress:Y});if(!S)return u>0n;let t=BigInt(S);return u>=t},signTransaction:F,transfer:W,tronWeb:o,validateAddress:await kf()}};var Kx=R(()=>{uf();Fx();D=require("@swapkit/helpers"),hT=require("ts-pattern")});var vf={};Ny(vf,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>Ax,getTronAddressValidator:()=>kf,createTronToolbox:()=>Vx});module.exports=Xy(vf);var Ef=R(()=>{uf();Kx()});async function Al({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/${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(`${Dn(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(`${Dn(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:f=30}){return(await Ff(`${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:B,transaction_hash:_,index:L,value:X,spending_signature_hex:w})=>({hash:_,index:L,is_confirmed:B!==-1,is_spent:G,script_hex:N,txHex:w,value:X}))}function pl(T){return T.reduce((n,x)=>n+x.value,0)}function $x(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 mx({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 $l({address:n,apiKey:x,chain:T,limit:l,offset:o,targetValue:y}),N=C.length<l,B=C.filter(({is_spent:z})=>!z),_=pl(B),L=f+_,X=y&&L>=y;if(N||X)return $x(B,y);let w=await mx({accumulativeValue:L,address:n,apiKey:x,chain:T,limit:l,offset:o+l,targetValue:y}),Q=[...B,...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:f}){let o=await mx({address:T,apiKey:x,chain:n,targetValue:f}),l=[];for(let{hash:C,index:G,script_hex:N,value:B}of o){let _;if(y)_=await cx({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:B,witnessUtxo:{script:Buffer.from(N,"hex"),value:B}})}return l}function 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)=>Al({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 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 jl(T)}function zy(){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(()=>{MT();px=require("@bitgo/utxo-lib"),V=require("@swapkit/helpers"),hx=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 gl(n)}function jT(T){let n=Sn(T);return dl(n)}function Sn(T){try{let n=ml(T);if(n)return n}catch{}try{let n=il(T);if(n)return n}catch{}throw new tf.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function ml(T){try{let n=Af.default.decode(T);if(n.length!==21)throw new tf.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 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=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 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 tf,Af,Vf,Kf,gy;var dx=R(()=>{tf=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 Yy(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,Fn,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 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?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 al+sl},mT=(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"})(Fn||={});un={["P2PKH"]:148,["P2WPKH"]:68},kn={["P2PKH"]:34,["P2WPKH"]:31}});function tn(T){switch(T){case My.Chain.Bitcoin:case My.Chain.BitcoinCash:return 550;case My.Chain.Dash:case My.Chain.Litecoin:return 5500;case My.Chain.Dogecoin:return 1e5;case My.Chain.Zcash:return 546;default:throw new My.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Hy({inputs:T,outputs:n,feeRate:x=1,chain:y=My.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),B=G*o,_=0,L=[];for(let X of C){let w=Ky(X),Q=o*w;B+=Q,_+=X.value,L.push(X);let z=B+N;if(_<z)continue;let W=_-z,U=o*mT({address:"",value:0},l);if(W>U){let A=U+B,F=_-(N+A);if(F>Math.max(Ky({})*o,tn(y)))return{fee:A,inputs:L,outputs:n.concat({address:f,value:F})}}return{fee:B,inputs:L,outputs:n}}return{fee:o*LT({feeRate:o,inputs:T,outputs:n})}}var My;var sx=R(()=>{pf();My=require("@swapkit/helpers")});var BT=R(()=>{ix();dx();sx();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=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 iT=R(()=>{BT();An=require("@bitgo/utxo-lib"),ex=J(require("bs58check"))});function n0({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};Uy.initEccLib(Vn.default),y.addOutput(N)}return{inputs:T,psbt:y}}async function f0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,fetchTxHex:o=!1}){let l=T.chain,C=x?await Yy(x):null,G=await l0({assetValue:T,fetchTxHex:o,memo:x,recipient:n,sender:f}),{inputs:N,outputs:B}=Hy({...G,chain:l,feeRate:y});if(!(N&&B))throw new k.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await zy(),L=new Uy.Psbt({network:_(l)});if(l===k.Chain.Dogecoin)L.setMaximumFeeRate(650000000);let{psbt:X,inputs:w}=await n0({chain:l,compiledMemo:C,inputs:N,outputs:B,psbt:L,sender:f});return{inputs:w,psbt:X,utxos:G.inputs}}async function o0(){let T=await zy();return function({address:x,chain:y}){if(y===k.Chain.BitcoinCash)return by(x);if(y===k.Chain.Zcash)return XT(x);try{return Uy.initEccLib(Vn.default),Uy.address.toOutputScript(x,T(y)),!0}catch{return!1}}}async function el({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 el({chain:T,derivationPath:f,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let C=await o0(),G=await dT(T);return{accumulative:Hy,broadcastTx:(N)=>Zy(T).broadcastTx(N),calculateTxSize:LT,createKeysForPath:G,createTransaction:f0,estimateMaxSendableAmount:y1(T),estimateTransactionFee:T1(T),getAddress:l,getAddressFromKeys:jf(T),getBalance:TT(T),getFeeRates:()=>rT(T),getInputsOutputsFee:x0,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:n1(o),validateAddress:(N)=>C({address:N,chain:T})}}async function x0({assetValue:T,feeOptionKey:n=k.FeeOption.Fast,feeRate:x,memo:y,sender:f,recipient:o}){let l=T.chain,C=await l0({assetValue:T,memo:y,recipient:o,sender:f}),G=x?Math.floor(x):(await rT(l))[n];return Hy({...C,chain:l,feeRate:G})}function y1(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(tn(T),Ky(w)*G));if(!N?.length)return k.AssetValue.from({chain:T});let B=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 Yy(y);_.push({address:x,script:w,value:0})}let X=LT({feeRate:G,inputs:N,outputs:_})*G;return B.sub(X)}}function T1(T){return async(n)=>{let x=await x0(n);return k.AssetValue.from({chain:T,value:k.SwapKitNumber.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function dT(T){let n=await zy();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=T0.ECPairFactory(Vn.default),C=n(T);if(f)return l.fromWIF(f,C);let G=hf.mnemonicToSeedSync(y),N=y0.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=zy();return function(y){if(!y)throw new k.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=gT.includes(T)?Uy.payments.p2pkh:Uy.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 n1(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:B}=await f0({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(B);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 l0({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 Yy(x),value:0}]:[]]}}var Vn,Kn,y0,hf,k,Uy,T0,gT;var aT=R(()=>{MT();BT();iT();Vn=J(require("@bitcoinerlab/secp256k1")),Kn=require("@psf/bitcoincashjs-lib"),y0=require("@scure/bip32"),hf=require("@scure/bip39"),k=require("@swapkit/helpers"),Uy=require("bitcoinjs-lib"),T0=require("ecpair"),gT=[k.Chain.Dash,k.Chain.Dogecoin,k.Chain.Zcash,k.Chain.BitcoinCash]});function ay(T){return dy(jT(T))}function f1(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?f1(f):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...B}=await ry({chain:Qy});function _(L,X=!0){return C(dy(jT(L)))}return{...B,broadcastTx:N,buildTx:x1,createTransaction:G0,getAddress:l,getAddressFromKeys:l1,getBalance:_,getFeeRates:G,stripPrefix:dy,stripToCashAddress:ay,transfer:o1({broadcastTx:N,getFeeRates:G,signer:o}),validateAddress:by}}async function G0({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 Yy(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:B}=Hy({chain:Qy,feeRate:y,inputs:l,outputs:G});if(!(N&&B))throw new ly.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await zy(),L=new wT.TransactionBuilder(_(Qy));await Promise.all(N.map(async(X)=>{let w=await Zy(Qy).getRawTx(X.hash);L.addInput(wT.Transaction.fromBuffer(Buffer.from(w,"hex")),X.index)}));for(let X of B){let w="address"in X&&X.address?X.address:_T(f),Q=await zy(),z=wT.address.toOutputScript(_T(w),Q(Qy));L.addOutput(z,X.value)}if(C)L.addOutput(C,0);return{builder:L,utxos:N}}function o1({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:B,utxos:_}=await G0({...C,assetValue:o,feeRate:N,recipient:f,sender:G}),X=(await x.signTransaction({builder:B,utxos:_})).toHex();return T(X)}}async function x1({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)),B=x?await Yy(x):null,_=[];if(_.push({address:_T(n),value:T.getBaseValue("number")}),B)_.push({script:B,value:0});let{inputs:L,outputs:X}=Hy({chain:Qy,feeRate:N,inputs:G,outputs:_});if(!(L&&X))throw new ly.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let w=await zy(),Q=new C0.Psbt({network:w(Qy)});for(let{hash:z,index:W,witnessUtxo:U}of L)Q.addInput({hash:z,index:W,sighashType:o?65:void 0,witnessUtxo:U});for(let z of X){let W="address"in z&&z.address?z.address:_T(f),U=z.script?B?{script:B,value:0}:void 0:{address:W,value:z.value};if(U)Q.addOutput(U)}return{inputs:L,psbt:Q,utxos:G}}function l1(T){let n=T.getAddress(0);return ay(n)}var wT,ly,C0,Qy;var bn=R(()=>{BT();aT();iT();wT=require("@psf/bitcoincashjs-lib"),ly=require("@swapkit/helpers"),C0=require("bitcoinjs-lib"),Qy=ly.Chain.BitcoinCash});function L0(){return Wy.networks.zcash}function B0(){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),f=mf.HDKey.fromMasterSeed(x).derive(n);if(!f.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let o=B0(),l=Wy.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:o}),C=Wy.crypto.hash160(l.publicKey),{isStagenet:G}=Ty.SKConfig.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),B=Buffer.concat([N,C]),_=_0.default.encode(B);return{getAddress:()=>Promise.resolve(_),signTransaction:(L)=>{let X=L.signAllInputs(l);return Promise.resolve(X)}}}function G1({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:Wy.address.toOutputScript(l,L0()),value:BigInt(o.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function N0(T){let{assetValue:n,recipient:x,memo:y,feeRate:f,sender:o,fetchTxHex:l}=T,C=y?Yy(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:B,outputs:_}=Hy({chain:Ty.Chain.Zcash,changeAddress:o,feeRate:f,inputs:G,outputs:N});if(!(B&&_))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:o});let L=Wy.bitgo.createPsbtForNetwork({network:L0()},{version:455}),w=3268858036,Q=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),z=Buffer.allocUnsafe(4);z.writeUInt32LE(w>>>0,0),L.addUnknownKeyValToGlobal({key:Q,value:z});let{psbt:W,inputs:U}=await G1({compiledMemo:C,inputs:B,outputs:_,psbt:L,sender:o});return{inputs:U,outputs:_,psbt:W}}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],B=Ty.updateDerivationPath(N,{index:G}),_=Ty.derivationPathToString(B);return C1({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 B=await n?.getAddress();if(!(n&&B))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:B}),X=await n.signTransaction(L);return X.finalizeAllInputs(),x.broadcastTx(X.extractTransaction().toHex())}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=gf.mnemonicToSeedSync(l),B=mf.HDKey.fromMasterSeed(G).derive(C);if(!B.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let _=B0();return Wy.ECPair.fromPrivateKey(Buffer.from(B.privateKey),{network:_})}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return f({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:f,createTransaction:N0,getPrivateKeyFromMnemonic:o,transfer:y,validateAddress:XT}}var Wy,mf,gf,Ty,_0,ZT;var rf=R(()=>{BT();aT();iT();Wy=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 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 X0=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:()=>N1,getUtxoNetwork:()=>zy,getUtxoApi:()=>Zy,getUTXOAddressValidator:()=>o0,getScriptTypeForAddress:()=>cT,getOutputSize:()=>mT,getInputSize:()=>Ky,getDustThreshold:()=>tn,getCreateKeysForPath:()=>dT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>ry,createCustomUtxoApi:()=>cl,createBCHToolbox:()=>cf,compileMemo:()=>Yy,calculateTxSize:()=>LT,bchValidateAddress:()=>by,addressFromKeysGetter:()=>jf,addInputsAndOutputs:()=>n0,accumulative:()=>Hy,UtxoNetwork:()=>Kf,UTXOScriptType:()=>Fn,TX_OVERHEAD:()=>En,OutputSizes:()=>kn,OP_RETURN_OVERHEAD:()=>ax,MIN_TX_FEE:()=>rl,InputSizes:()=>un});module.exports=Xy(af);var sf=R(()=>{BT();X0();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 J0(l)}async function ef(T){let{KeyPair:n}=await import("@near-js/crypto"),x=n.fromString(T);return J0(x)}function J0(T){return new Z0(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 w0,$n,Z0;var yo=R(()=>{w0=require("@near-js/signers"),$n=require("@swapkit/helpers");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 _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:Y}=await import("@near-js/accounts"),H=Z||await G();return new Y(H,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 Y=await B({...Z,sender:await G()});return z(Y)}async function B(Z){let{recipient:Y,assetValue:H,memo:S,attachedDeposit:u,sender:t,functionCall:p}=Z,r=await pn();if(!r(Y))throw new j.SwapKitError("toolbox_near_invalid_address",{recipient:Y});if(!r(t))throw new j.SwapKitError("toolbox_near_invalid_address",{signerId:t});if(p)return L({...p,sender:t});if(!H.isGasAsset){let zT=H.address;if(!zT)throw new j.SwapKitError("toolbox_near_missing_contract_address");return L({args:{amount:H.getBaseValue("string"),memo:S||null,receiver_id:Y},attachedDeposit:u||"1",contractId:zT,gas:"250000000000000",methodName:"ft_transfer",sender:t})}let{publicKey:$,nonce:_y}=await jn(l,t),Ly=H.getBaseValue("bigint"),{actionCreators:By,createTransaction:Py}=await import("@near-js/transactions"),{baseDecode:ey}=await import("@near-js/utils"),WT=[By.transfer(Ly)];if(S&&u)WT.push(By.functionCall("memo",{memo:S},BigInt("250000000000000"),BigInt(u)));let cn=await l.block({finality:"final"}),yT=ey(cn.header.hash);return Py(t,$,Y,_y+1,WT,yT)}function _(Z){let Y=Z.encode();return Buffer.from(Y).toString("base64")}async function L(Z){let{sender:Y}=Z,{publicKey:H,nonce:S}=await jn(l,Y),{createTransaction:u,actionCreators:t}=await import("@near-js/transactions"),{baseDecode:p}=await import("@near-js/utils"),r=await l.block({finality:"final"}),$=p(r.header.hash),_y=[t.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return u(Y,H,Z.contractId,S+1,_y,$)}async function X(Z){let{actionCreators:Y}=await import("@near-js/transactions");return Y.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function w(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let[Y,H]=await f.signTransaction(Z);return H}async function Q(Z){return(await l.sendTransaction(Z)).transaction.hash}async function z(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");try{let Y=await w(Z);return await Q(Y)}catch{return f.signAndSendTransactions?.({transactions:[Z]})}}async function W(Z){if("assetValue"in Z){let u=BigInt("115123062500")+BigInt("108059500000"),t=await U(),p=u*BigInt(t.toString()),{baseDecimal:r}=j.getChainConfig(j.Chain.Near);return j.AssetValue.from({chain:j.Chain.Near,fromBaseDecimal:r,value:p.toString()})}let Y=f?await C():void 0;return Gy(Z,Y)}async function U(){try{return await l.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function A(Z,Y,H){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let S=await C(),{formatNearAmount:u}=await import("@near-js/utils"),{PublicKey:t}=await import("@near-js/crypto"),p=u(H)||"0";return(await S.createAccount(Z,t.fromString(Y),BigInt(p))).transaction.hash}async function F(Z){try{if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let{actionCreators:Y}=await import("@near-js/transactions"),{contractId:H,methodName:S,args:u,deposit:t}=Z,p=await C(),r=await Gy({args:u||{},contractId:H,methodName:S}),$=Y.functionCall(S,u||{},r.getBaseValue("bigint"),BigInt(t||"1"));return(await p.signAndSendTransaction({actions:[$],receiverId:H})).transaction_outcome.id}catch(Y){throw new j.SwapKitError("toolbox_near_transfer_failed",{error:Y})}}async function K(Z){let Y=await C();return _o({account:Y,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,Y){let{baseDecimal:H}=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(!Y)throw new j.SwapKitError("toolbox_near_no_account");return p.customEstimator(Y)}).otherwise(()=>{throw new j.SwapKitError("toolbox_near_invalid_gas_params")}),t=BigInt(S)*BigInt(1000000000000);return j.AssetValue.from({chain:j.Chain.Near,fromBaseDecimal:H,value:t})}async function Sy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:Q,callFunction:F,createAction:X,createContract:K,createContractFunctionCall:L,createSubAccount:A,createTransaction:B,estimateGas:Gy,estimateTransactionFee:W,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:z,signTransaction:w,transfer:N,validateAddress:await pn()}}var j;var Lo=R(()=>{MT();yo();No();j=require("@swapkit/helpers")});var q0=R(()=>{Lo()});var Bo={};Ny(Bo,{tgasToGas:()=>_1,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:()=>L1,estimateBatchGas:()=>Co,createNearContract:()=>_o,GAS_COSTS:()=>Cy});module.exports=Xy(Bo);var Xo=R(()=>{yo();No();Lo();q0()});var wo={};Ny(wo,{radixValidateAddress:()=>Q0,RadixToolbox:()=>q1});module.exports=Xy(wo);function Q0(T){return T.startsWith("account_rdx1")&&T.length===66}function X1({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,f=[],o=await J1(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 Z1({resources:T,networkApi:n}){let x=[],y=50,f=[];for(let o=0;o<T.length;o+=50)f.push(T.slice(o,o+50));for(let o of f){let l=o.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let B=N.metadata?.items.find((L)=>L.key==="symbol"),_=B?.value.typed.type==="String"?B.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of o)if(N.aggregation_level==="Global"){let B=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=Dy.AssetValue.from({asset:B.symbol!==Dy.Chain.Radix?`${Dy.Chain.Radix}.${B.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,f=n({...y,networkId:y.network?.networkId||1}),o=x.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:X1({networkApi:o}),networkApi:o,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:()=>z0.hashes,getRippleToolbox:()=>W1});module.exports=Xy(qo);function W0(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,z0,Q1,W1=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?W0(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(L)=>{let X=L||await f(),{baseDecimal:w}=c.getChainConfig(c.Chain.Ripple);try{let z=(await y.request({account:X,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:w,value:z})]}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:L,recipient:X,memo:w,sender:Q})=>{if(!Jo(X))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let z=Q||await f();if(!L.isGasAsset||L.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let W={Account:z,Amount:$y.xrpToDrops(L.getValue("string")),Destination:X,TransactionType:"Payment"};if(w)W.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(W)},G=(L)=>{if(!n)throw new c.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 c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:N,createSigner:W0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:f,getBalance:o,signer:n,signTransaction:G,transfer:async(L)=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let X=await n.getAddress(),w=await C({...L,sender:X}),Q=await G(w);return N(Q.tx_blob)},validateAddress:Jo}};var Qo=R(()=>{c=require("@swapkit/helpers"),$y=require("xrpl"),z0=require("xrpl"),Q1={ACCOUNT_NOT_FOUND:19}});async function z1(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 Y1(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 Y0(T,n){return function(y){let f=sy.AssetValue.from({chain:T});switch(T){case sy.Chain.Chainflip:return Y1(n,f,y);default:return z1(n,f,y)}}}var sy;var M0=R(()=>{sy=require("@swapkit/helpers")});var M1,H1,U1,py;var Wo=R(()=>{M1={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},H1={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:M1,FLIP:H1,GENERIC:U1}});function P1(T,n){switch(T){case g.Chain.Chainflip:return U0(n);case g.Chain.Polkadot:return H0(n);default:throw new g.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function JT(T){return"address"in T}async function Yo(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 k1(T,n){let x=QT.decodeAddress(T);return QT.encodeAddress(x,n)}function P0(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: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],B=await sT.match(x).with({phrase:sT.P.string},({phrase:_})=>Yo(_,py[n].prefix)).with({signer:sT.P.any},({signer:_})=>_).otherwise(()=>{return});return I0({api:C,chain:n,gasAsset:G,network:N,signer:B})}var qT,QT,g,sT,H0=({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})}},Mo=(T,n)=>T.rpc.system.accountNextIndex(n),zo=(T,n)=>{try{let x=P0(T,n);return R0(x,"ss58",n),!0}catch{return!1}},Ho=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),R1=async(T,n,{recipient:x,assetValue:y,sender:f})=>{let o=Ho(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 Mo(T,C);return(await o.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},I1=async(T,n,x,{recipient:y,assetValue:f,sender:o})=>{let l=Ho(T,{assetValue:f,recipient:y}),C=JT(n)?n.address:o;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Mo(T,C)})||{partialFee:0};return x.set(g.SwapKitNumber.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},O1=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},D1=async(T,n)=>{return await n.signAsync(T)},S1=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},u1=async({signer:T,address:n,tx:x,callback:y,api:f})=>{let o=await Mo(f,n);if(y)x.signAndSend(n,{nonce:o,signer:T},y);return x.signAndSend(n,{nonce:o,signer:T}).toString()},I0=({api:T,network:n,gasAsset:x,signer:y,chain:f})=>({api:T,broadcast:O1,convertAddress:k1,createKeyring:(o)=>Yo(o,n.prefix),createTransaction:(o)=>Ho(T,o),decodeAddress:P0,encodeAddress:R0,estimateTransactionFee:(o)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");return I1(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:Y0(f||g.Chain.Polkadot,T),network:n,sign:(o)=>{if(!y)throw new g.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return D1(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 S1(y,o,l);if(C)return u1({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 R1(T,y,o)},validateAddress:(o)=>zo(o,n.prefix)}),v1=({address:T,chain:n})=>{let{prefix:x}=n===g.Chain.Polkadot?py.DOT:py.FLIP;return zo(T,x)||zo(T,py.GENERIC.prefix)};var O0=R(()=>{M0();Wo();qT=require("@polkadot/util"),QT=require("@polkadot/util-crypto"),g=require("@swapkit/helpers"),sT=require("ts-pattern")});var Po={};Ny(Po,{substrateValidateAddress:()=>v1,isKeyringPair:()=>JT,getSubstrateToolbox:()=>P1,createSubstrateToolbox:()=>Uo,createKeyring:()=>Yo,SubstrateNetwork:()=>py,PolkadotToolbox:()=>H0,ChainflipToolbox:()=>U0,BaseSubstrateToolbox:()=>I0});module.exports=Xy(Po);var Ro=R(()=>{O0();Wo()});var t1={};Ny(t1,{getToolbox:()=>Io,getFeeEstimator:()=>F1,getAddressValidator:()=>E1});module.exports=Xy(t1);var O=require("@swapkit/helpers");async function E1(){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(() => (Un(),Hn)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (Sf(),Df)),{getSuiAddressValidator:o}=await Promise.resolve().then(() => (Rn(),Pn)),{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(),Bo)),{radixValidateAddress:B}=await Promise.resolve().then(() => (Zo(),wo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (Qo(),qo)),{substrateValidateAddress:L}=await Promise.resolve().then(() => (Ro(),Po)),X=await x(),w=await N(),Q=await f(),z=await o(),W=await l(),U=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,()=>L({address:K,chain:d})).with(O.Chain.Radix,()=>B(K)).with(O.Chain.Near,()=>w(K)).with(O.Chain.Ripple,()=>_(K)).with(O.Chain.Solana,()=>Q(K)).with(O.Chain.Sui,()=>z(K)).with(O.Chain.Ton,()=>W(K)).with(O.Chain.Tron,()=>U(K)).with(O.Chain.Cardano,()=>X(K)).otherwise(()=>!1)}}function F1(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(),Pn));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(() => (Un(),Hn));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(),so));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(() => (Un(),Hn));return await y(T,n)}).with(...O.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Ro(),Po));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(),Pn));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(),Bo));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})})}
|
|
1
|
+
var S0=Object.create;var{getPrototypeOf:u0,defineProperty:WT,getOwnPropertyNames:uo,getOwnPropertyDescriptor:v0}=Object,vo=Object.prototype.hasOwnProperty;var J=(T,n,x)=>{x=T!=null?S0(u0(T)):{};let y=n||!T||!T.__esModule?WT(x,"default",{value:T,enumerable:!0}):x;for(let f of uo(T))if(!vo.call(y,f))WT(y,f,{get:()=>T[f],enumerable:!0});return y},So=new WeakMap,Xy=(T)=>{var n=So.get(T),x;if(n)return n;if(n=WT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")uo(T).map((y)=>!vo.call(n,y)&&WT(n,y,{get:()=>T[y],enumerable:!(x=v0(T,y))||x.enumerable}));return So.set(T,n),n};var Ly=(T,n)=>{for(var x in n)WT(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 Eo(){function T(){let n=Date.now(),x=dn||n;return dn=x,n>dn?n:x+1}return k0+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}=Tn.getChainConfig(T);return f.map(({identifier:l,value:C,decimal:G})=>{return new Tn.AssetValue({decimal:G||o,identifier:l,value:C})})}}var Tn,ko,k0,dn=0;var zT=R(()=>{Tn=require("@swapkit/helpers"),ko=require("@swapkit/helpers/api"),k0=typeof process<"u"&&process.pid?process.pid.toString(36):""});function YT(T){let n=nn.SKConfig.get("apis")[T];if(n)return nn.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 E0(T){return T}function F0(T){return{getBalance:TT(T)}}var nn;var fn=R(()=>{zT();nn=require("@swapkit/helpers")});async function cy(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await g.getRPCUrl(T))}function MT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function rn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=g.getChainConfig(T);return()=>T===g.Chain.Ethereum?void 0:{...A0({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function an(T){return![g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(T)}function A0({chain:T}){let{baseDecimal:n}=g.getChainConfig(T);switch(T){case g.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:g.Chain.Ethereum}};case g.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:g.Chain.Ethereum}};case g.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case g.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:g.Chain.Ethereum}};case g.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case g.Chain.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:n,name:"OKB",symbol:"OKB"}};case g.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case g.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case g.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:g.Chain.Ethereum}};case g.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:g.Chain.Polygon}};default:throw new g.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var g;var nT=R(()=>{g=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=q.Chain.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:$0({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:bo({chain:T,provider:n}),broadcastTransaction:n.broadcastTransaction,call:ff({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),createApprovalTx:c0({chain:T,provider:n,signer:x}),createContract:yf({chain:T,provider:n}),createContractTxObject:my({chain:T,provider:n}),createTransaction:sn({chain:T,provider:n,signer:x}),createTransferTx:sn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:lT(n),estimateCall:$o({provider:n,signer:x}),estimateGasLimit:p0({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:ho({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:h0({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(f)=>en({address:f})}}function en({address:T}){try{return wy.getAddress(T),!0}catch{return!1}}function xT(T){return T instanceof wy.BrowserProvider}function UT(T,n,x){return new wy.Contract(T,wy.Interface.from(n),x)}function yf({provider:T}){return function(x,y){return new wy.Contract(x,wy.Interface.from(y),T)}}function Tf({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new q.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&t0.includes(x.stateMutability)}function Vo(T){return wy.getAddress(T)}function lT(T){return function({value:x,...y}){if(!xT(T))throw new q.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:MT(BigInt(x||0))}])}}function Ko(T,n){let x=CT(T,n);if(x)return wy.getAddress(x.toLowerCase());throw new q.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function CT({chain:T,symbol:n,ticker:x},y){try{let f=T===q.Chain.BinanceSmartChain&&n==="BNB"&&x==="BNB",o=T===y&&n===y&&x===y,l=K0.includes(T)&&n==="ETH"&&x==="ETH";if(o||f||l)return nf[y];return wy.getAddress(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function my({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:f=[],txOverrides:o})=>UT(n,x,T).getFunction(y).populateTransaction(...f.concat(o).filter((l)=>typeof l<"u"))}function iy({chain:T,provider:n,isEIP1559Compatible:x=!0}){return to.match(T).with(q.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:o}=await n.getFeeData();if(!f||o===null)throw new q.SwapKitError("toolbox_evm_no_fee_data");return{[q.FeeOption.Average]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Average),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Average)},[q.FeeOption.Fast]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fast),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fast)},[q.FeeOption.Fastest]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fastest),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fastest)}}}catch(f){throw new q.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(q.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await n.getFeeData();if(!f)throw new q.SwapKitError("toolbox_evm_no_fee_data");return{[q.FeeOption.Average]:{gasPrice:f},[q.FeeOption.Fast]:{gasPrice:f},[q.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new q.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:o,gasPrice:l}=await n.getFeeData();if(x){if(f===null||o===null)throw new q.SwapKitError("toolbox_evm_no_fee_data");return{[q.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:o},[q.FeeOption.Fast]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fast),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fast)},[q.FeeOption.Fastest]:{maxFeePerGas:q.applyFeeMultiplierToBigInt(f,q.FeeOption.Fastest),maxPriorityFeePerGas:q.applyFeeMultiplierToBigInt(o,q.FeeOption.Fastest)}}}if(!l)throw new q.SwapKitError("toolbox_evm_no_gas_price");return{[q.FeeOption.Average]:{gasPrice:l},[q.FeeOption.Fast]:{gasPrice:q.applyFeeMultiplierToBigInt(l,q.FeeOption.Fast)},[q.FeeOption.Fastest]:{gasPrice:q.applyFeeMultiplierToBigInt(l,q.FeeOption.Fastest)}}}catch(f){throw new q.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function ff({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:o,contractAddress:l,abi:C,funcName:G,funcParams:N=[],txOverrides:B={},feeOption:_=q.FeeOption.Fast}){let L=o||T;if(!l)throw new q.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=Tf({abi:C,funcName:G});if(X&&xT(L)&&x){let Y=my({chain:y,provider:L}),W=B?.from||await x?.getAddress(),U=await Y({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...B,from:W}});return lT(L)(U)}let w=UT(l,C,L);if(X){if(!x)throw new q.SwapKitError("toolbox_evm_no_signer");let Y=B?.from||await x.getAddress();if(!Y)throw new q.SwapKitError("toolbox_evm_no_signer_address");let W=w.connect(x),U=iy({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:V,maxPriorityFeePerGas:E,gasPrice:b}=(await U())[_],r=await w.getFunction(G).estimateGas(...N,B),By=await W[G](...N,{...B,gasLimit:r,gasPrice:b,maxFeePerGas:V,maxPriorityFeePerGas:E,nonce:B?.nonce||await L.getTransactionCount(Y)});return typeof By?.hash==="string"?By?.hash:By}let Q=await w[G]?.(...N);return typeof Q?.hash==="string"?Q?.hash:Q}}function bo({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:f,from:o}){return ff({chain:n,isEIP1559Compatible:!0,provider:T})({abi:fT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[o,f]})}}function b0({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:f,from:o,amount:l=HT}){let C=await bo({chain:n,provider:T})({assetAddress:y,from:o,spenderAddress:f});return q.SwapKitNumber.fromBigInt(C).gte(q.SwapKitNumber.fromBigInt(BigInt(l)))}}function $0({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:o,spenderAddress:l,feeOptionKey:C=q.FeeOption.Fast,amount:G,gasLimitFallback:N,from:B,nonce:_}){let L=[l,BigInt(G||HT)],X=await T?.getAddress()||B,w={abi:fT.erc20ABI,contractAddress:o,funcName:"approve",funcParams:L,signer:T,txOverrides:{from:X}};if(xT(x)){let Y=my({chain:y,provider:x}),W=lT(x),U=await Y(w);return W(U)}return ff({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:L,txOverrides:{from:X,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function h0({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:f,memo:o,recipient:l,feeOptionKey:C=q.FeeOption.Fast,sender:G,...N}){let{hexlify:B,toUtf8Bytes:_}=await import("ethers"),L=f.getBaseValue("bigint"),X=f.chain,w=G||await T?.getAddress(),Q=ho({chain:X,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new q.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let b={...N,data:B(_(o||"")),feeOptionKey:C,from:w,to:l,value:L};return Q(b)}if(!CT(f,X))throw new q.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:W,maxPriorityFeePerGas:U,gasPrice:V}=(await iy({chain:X,isEIP1559Compatible:n,provider:x})())[C],E=await sn({chain:X,provider:x,signer:T})({assetValue:f,data:B(_(o||"")),gasPrice:V,maxFeePerGas:W,maxPriorityFeePerGas:U,memo:o,recipient:l,sender:w});return Q(E)}}function $o({provider:T,signer:n}){return function({contractAddress:y,abi:f,funcName:o,funcParams:l=[],txOverrides:C}){if(!y)throw new q.SwapKitError("toolbox_evm_no_contract_address");let G=UT(y,f,T);return n?G.connect(n).getFunction(o).estimateGas(...l,C):G.getFunction(o).estimateGas(...l,C)}}function p0({provider:T,signer:n}){return async function({assetValue:y,recipient:f,memo:o,data:l,sender:C,funcName:G,funcParams:N,txOverrides:B}){let _=y.bigIntValue,L=y.isGasAsset?null:CT(y,y.chain);if(L&&G)return $o({provider:T,signer:n})({abi:fT.erc20ABI,contractAddress:L,funcName:G,funcParams:N,txOverrides:B});let{hexlify:X,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:o?X(w(o)):void 0,from:C,to:f,value:_})}}function ho({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:o=q.FeeOption.Fast,...l}){let{from:C,to:G,data:N,value:B,..._}=l;if(!n)throw new q.SwapKitError("toolbox_evm_no_signer");if(!G)throw new q.SwapKitError("toolbox_evm_no_to_address");let L={..._,data:N||"0x",from:C,to:G,value:BigInt(B||0)};if(xT(T))return lT(T)(L);let X=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(X),Q=(await T.getNetwork()).chainId,Y=j0(L)||x,W=iy({chain:y,isEIP1559Compatible:x,provider:T}),U=Y&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await W())[o]).reduce((E,[b,r])=>({...E,[b]:MT(BigInt(r))}),{}):{},V;try{V=MT(L.gasLimit||await T.estimateGas(L)*11n/10n)}catch(E){throw new q.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:E})}try{let E={...L,chainId:Q,gasLimit:V,nonce:w,type:Y?2:0,...U};try{return(await n.sendTransaction(E)).hash}catch{let b=await n.signTransaction({...E,from:X});return(await T.broadcastTransaction(b)).hash}}catch(E){throw new q.SwapKitError("toolbox_evm_error_sending_transaction",{error:E})}}}function sn({provider:T,signer:n}){return async function({assetValue:y,memo:f,recipient:o,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:B,..._}){let L=y.getBaseValue("bigint"),X=y.chain,w=C||await n?.getAddress();if(!w)throw new q.SwapKitError("toolbox_evm_no_from_address");if(q.isGasAsset(y)){let{hexlify:W,toUtf8Bytes:U}=await import("ethers");return{..._,data:l||W(U(f||"")),from:w,to:o,value:L}}let Q=CT(y,X);if(!Q)throw new q.SwapKitError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:fT.erc20ABI,contractAddress:Q,funcName:"transfer",funcParams:[o,L],txOverrides:{from:w,gasPrice:B,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function c0({provider:T,signer:n,chain:x}){return async function({assetAddress:f,spenderAddress:o,amount:l,from:C}){let G=await n?.getAddress()||C,N=my({chain:x,provider:T}),B=["bigint","number"].includes(typeof l)?l:l||HT;return await N({abi:fT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[o,BigInt(B)],txOverrides:{from:G}})}}function m0({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=q.FeeOption.Fast,chain:f,...o}){let C=await iy({chain:f,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(o),N=q.AssetValue.from({chain:f}),{gasPrice:B,maxFeePerGas:_,maxPriorityFeePerGas:L}=C[y];if(!n&&B)return N.set(q.SwapKitNumber.fromBigInt(B*G,N.decimal));if(_&&L){let X=(_+L)*G;return N.set(q.SwapKitNumber.fromBigInt(X,N.decimal))}throw new q.SwapKitError("toolbox_evm_no_gas_price")}}var q,fT,wy,to,HT,t0,V0,nf,K0,j0=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var on=R(()=>{nT();q=require("@swapkit/helpers"),fT=require("@swapkit/helpers/contracts"),wy=require("ethers"),to=require("ts-pattern"),HT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");t0=["payable","nonpayable"];V0=q.EVMChains.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),nf={...V0,[q.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[q.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},K0=[q.Chain.Arbitrum,q.Chain.Aurora,q.Chain.Base,q.Chain.Optimism]});async function xn({provider:T,...n}){let x=await xy(a.Chain.Ethereum)({provider:T,...n});async function y(f,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=a.FeeOption.Fast){let G=await x.createContractTxObject({abi:Fo,contractAddress:o,funcName:l,funcParams:[f]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function xy(T){return async function({provider:x,...y}){let{HDNodeWallet:f}=await import("ethers"),o=await a.getRPCUrl(T),l=x||await cy(T,o),C=an(T),G=PT.match(y).with({phrase:PT.P.string},({phrase:B})=>f.fromPhrase(B).connect(l)).with({signer:PT.P.any},({signer:B})=>B).otherwise(()=>{return});return{...oT({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:YT(T).getBalance,getNetworkParams:rn(T)}}}var a,PT,ln,Cn,Gn,Nn,_n,Ln,po,Bn,Xn,wn,Zn,Jn,qn,RT,Qn,Wn;var of=R(()=>{fn();Ao();nT();on();a=require("@swapkit/helpers"),PT=require("ts-pattern");ln=xy(a.Chain.Arbitrum),Cn=xy(a.Chain.Aurora),Gn=xy(a.Chain.Avalanche),Nn=xy(a.Chain.Base),_n=xy(a.Chain.Berachain),Ln=xy(a.Chain.BinanceSmartChain),po=xy(a.Chain.Botanix),Bn=xy(a.Chain.Core),Xn=xy(a.Chain.Corn),wn=xy(a.Chain.Cronos),Zn=xy(a.Chain.Gnosis),Jn=xy(a.Chain.Hyperevm),qn=xy(a.Chain.Polygon),RT=xy(a.Chain.Sonic),Qn=xy(a.Chain.Unichain),Wn=xy(a.Chain.XLayer)});var jo;var co=R(()=>{jo=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function xf(T){return new zn.Contract(g0,jo,T)}function mo(T){return async function(){let x=xf(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function io(T){return async function({from:x,to:y,nonce:f,...o}){let{Transaction:l}=await import("ethers");if(!y)throw new p.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 go(T){return async function(x){let y=xf(T),f=await io(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(f)}}function ro(T){return async function(x){let y=await T.send("eth_gasPrice",[]),f=await T.estimateGas(x);return y.mul(f)}}function d0(T){return async function(x){let y=await go(T)(x),f=await ro(T)(x);return y.add(f)}}function r0(T){return async function(x){let y=xf(T),f=await io(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(f)}}function a0(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:f}=p.getChainConfig(p.Chain.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:p.Chain.Ethereum},rpcUrls:f}}async function s0(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),f=await mo(T)(),o=y;if(!(n&&x))throw new p.SwapKitError("toolbox_evm_no_fee_data");return{[p.FeeOption.Average]:{gasPrice:o,l1GasPrice:f,maxFeePerGas:n,maxPriorityFeePerGas:x},[p.FeeOption.Fast]:{gasPrice:p.applyFeeMultiplierToBigInt(o,p.FeeOption.Fast),l1GasPrice:p.applyFeeMultiplierToBigInt(f||0n,p.FeeOption.Fast),maxFeePerGas:n,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(x,p.FeeOption.Fast)},[p.FeeOption.Fastest]:{gasPrice:p.applyFeeMultiplierToBigInt(o,p.FeeOption.Fastest),l1GasPrice:p.applyFeeMultiplierToBigInt(f||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 Yn({provider:T,...n}){let x=p.Chain.Optimism,y=await p.getRPCUrl(x),f=T||await cy(x,y),o=IT.match(n).with({phrase:IT.P.string},({phrase:G})=>zn.HDNodeWallet.fromPhrase(G).connect(f)).with({signer:IT.P.any},({signer:G})=>G).otherwise(()=>{return}),l=oT({provider:f,signer:o}),C=mo(f);return{...l,estimateGasPrices:s0(f),estimateL1Gas:r0(f),estimateL1GasCost:go(f),estimateL2GasCost:ro(f),estimateTotalGasCost:d0(f),getBalance:YT(p.Chain.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:a0}}var p,zn,IT,g0="0x420000000000000000000000000000000000000f";var lf=R(()=>{fn();co();nT();on();p=require("@swapkit/helpers"),zn=require("ethers"),IT=require("ts-pattern")});var eo={};Ly(eo,{toChecksumAddress:()=>Vo,isStateChangingCall:()=>Tf,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getEvmToolbox:()=>so,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>my,getCreateContract:()=>yf,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>en,createContract:()=>UT,XLayerToolbox:()=>Wn,UNIToolbox:()=>Qn,SONICToolbox:()=>RT,OPToolbox:()=>Yn,MAX_APPROVAL:()=>HT,MATICToolbox:()=>qn,HYPEREVMToolbox:()=>Jn,GNOToolbox:()=>Zn,ETHToolbox:()=>xn,ContractAddress:()=>nf,CROToolbox:()=>wn,CORNToolbox:()=>Xn,COREToolbox:()=>Bn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Ln,BERAToolbox:()=>_n,BASEToolbox:()=>Nn,AVAXToolbox:()=>Gn,AURORAToolbox:()=>Cn,ARBToolbox:()=>ln});async function so(T,n){let x={...n,provider:n?.provider||await cy(T)};return ao.match(T).returnType().with(ny.Chain.Arbitrum,()=>ln(x)).with(ny.Chain.Aurora,()=>Cn(x)).with(ny.Chain.Avalanche,()=>Gn(x)).with(ny.Chain.Base,()=>Nn(x)).with(ny.Chain.Berachain,()=>_n(x)).with(ny.Chain.BinanceSmartChain,()=>Ln(x)).with(ny.Chain.Botanix,()=>RT(x)).with(ny.Chain.Core,()=>Bn(x)).with(ny.Chain.Corn,()=>Xn(x)).with(ny.Chain.Cronos,()=>wn(x)).with(ny.Chain.Ethereum,()=>xn(x)).with(ny.Chain.Gnosis,()=>Zn(x)).with(ny.Chain.Hyperevm,()=>Jn(x)).with(ny.Chain.Optimism,()=>Yn(x)).with(ny.Chain.Polygon,()=>qn(x)).with(ny.Chain.Sonic,()=>RT(x)).with(ny.Chain.Unichain,()=>Qn(x)).with(ny.Chain.XLayer,()=>Wn(x)).exhaustive()}var ny,ao;var Cf=R(()=>{nT();of();lf();ny=require("@swapkit/helpers"),ao=require("ts-pattern");on();of();lf()});var yx;var Tx=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(yx||={})});var nx={};Ly(nx,{toHexString:()=>MT,toChecksumAddress:()=>Vo,isStateChangingCall:()=>Tf,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getProvider:()=>cy,getNetworkParams:()=>rn,getIsEIP1559Compatible:()=>an,getEvmToolbox:()=>so,getEvmApi:()=>YT,getEstimateGasPrices:()=>iy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>my,getCreateContract:()=>yf,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>en,createCustomEvmApi:()=>E0,createContract:()=>UT,XLayerToolbox:()=>Wn,UNIToolbox:()=>Qn,SONICToolbox:()=>RT,OPToolbox:()=>Yn,MAX_APPROVAL:()=>HT,MATICToolbox:()=>qn,HYPEREVMToolbox:()=>Jn,GNOToolbox:()=>Zn,EthNetwork:()=>yx,ETHToolbox:()=>xn,ContractAddress:()=>nf,CROToolbox:()=>wn,CORNToolbox:()=>Xn,COREToolbox:()=>Bn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Ln,BERAToolbox:()=>_n,BASEToolbox:()=>Nn,AVAXToolbox:()=>Gn,AURORAToolbox:()=>Cn,ARBToolbox:()=>ln});module.exports=Xy(nx);var fx=R(()=>{fn();nT();Cf();Tx()});async function Gf(){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 Gf(),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===e0){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 ox(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function Tl(T){let n=await ox(),x=await OT.match(T).with({phrase:OT.P.string},async({phrase:B})=>{let{MeshWallet:_}=await import("@meshsdk/core"),L=await Gf(),X=new _({fetcher:L,key:{type:"mnemonic",words:B.split(" ")},networkId:1,submitter:L});return await X.init(),X}).with({signer:OT.P.any},({signer:B})=>B).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function f(){return y||""}function o(B){let _=B||f();if(!_)throw new 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:B,assetValue:_,memo:L}){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:B},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),L)Q.setMetadata(0,L);let Y=await Q.build();return{tx:Q,unsignedTx:Y}}function G(B){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");return x.signTx(B)}async function N({recipient:B,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new s.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:X}=await C({assetValue:_,memo:L,recipient:B}),w=await G(X);return await(await Gf()).submitTx(w)}return{createTransaction:C,estimateTransactionFee:l,getAddress:f,getBalance:o,signTransaction:G,transfer:N,validateAddress:n}}var s,OT,e0="lovelace";var xx=R(()=>{s=require("@swapkit/helpers"),OT=require("ts-pattern")});var Nf={};Ly(Nf,{getCardanoToolbox:()=>Tl,getCardanoAddressValidator:()=>ox});module.exports=Xy(Nf);var _f=R(()=>{xx()});function DT(T){return uy.base64.encode(Uint8Array.from(uy.bech32.fromWords(uy.bech32.decode(T).words)))}function ST(T,n="thor"){return uy.bech32.encode(n,uy.bech32.toWords(uy.base64.decode(T)))}function nl(T){return Mn.fromByteArray(T)}function fl(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new lx.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Mn.toByteArray(T)}var uy,lx,Mn;var Lf=R(()=>{uy=require("@scure/base"),lx=require("@swapkit/helpers"),Mn=require("base64-js")});function Iy(T){switch(T){case I.Chain.Maya:return{amount:[],gas:"10000000000"};case I.Chain.THORChain:return{amount:[],gas:"500000000"};case I.Chain.Kujira:return Nx;case I.Chain.Noble:return _x;default:return Gx}}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"),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 Xf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function wf({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 Oy(N)).getAccount(T);if(!_)throw new I.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let L=I.AssetValue.from({chain:C}),X=vy(L.symbol),w=Iy(C),Q=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:w.gas}:w,Y={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:Y}],sequence:o??_.sequence}}var I,Bf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Cx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Gx,Nx,_x,vy=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return Bf;case"uYUM":case"YUM":return Cx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},uT=({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 vy(T,!1)},ol=(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})}},xl,Zf=(T,n)=>{let x=xl[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 kT=R(()=>{I=require("@swapkit/helpers"),Gx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Nx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},_x={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};xl={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},[Bf.toLowerCase()]:{asset:`${I.Chain.Kujira}.USK`,decimals:I.getChainConfig(I.Chain.Kujira).baseDecimal}}});var Lx={};Ly(Lx,{$root:()=>M});var oy,v,Jy,P,M;var Bx=R(()=>{oy=J(require("protobufjs/minimal.js")),v=oy.default.Reader,Jy=oy.default.Writer,P=oy.default.util,M=oy.default.roots.default||(oy.default.roots.default={});M.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=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 v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Asset;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!P.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!P.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!P.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Asset)return y;let f=new M.common.Asset;if(y.chain!=null)f.chain=String(y.chain);if(y.symbol!=null)f.symbol=String(y.symbol);if(y.ticker!=null)f.ticker=String(y.ticker);if(y.synth!=null)f.synth=Boolean(y.synth);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.chain="",o.symbol="",o.ticker="",o.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))o.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))o.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))o.synth=y.synth;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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=P.Long?P.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))M.common.Asset.encode(y.asset,f.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))f.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))f.uint32(24).int64(y.decimals);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Coin;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.asset=M.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let f=M.common.Asset.verify(y.asset);if(f)return"asset."+f}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!P.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!P.isInteger(y.decimals)&&!(y.decimals&&P.isInteger(y.decimals.low)&&P.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Coin)return y;let f=new M.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=M.common.Asset.fromObject(y.asset)}if(y.amount!=null)f.amount=String(y.amount);if(y.decimals!=null){if(P.Long)(f.decimals=P.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")f.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")f.decimals=y.decimals;else if(typeof y.decimals==="object")f.decimals=new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)if(o.asset=null,o.amount="",P.Long){let l=new P.Long(0,0,!1);o.decimals=f.longs===String?l.toString():f.longs===Number?l.toNumber():l}else o.decimals=f.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))o.asset=M.common.Asset.toObject(y.asset,f);if(y.amount!=null&&y.hasOwnProperty("amount"))o.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")o.decimals=f.longs===String?String(y.decimals):y.decimals;else o.decimals=f.longs===String?P.Long.prototype.toString.call(y.decimals):f.longs===Number?new P.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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 v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.PubKeySet;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!P.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!P.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.PubKeySet)return y;let f=new M.common.PubKeySet;if(y.secp256k1!=null)f.secp256k1=String(y.secp256k1);if(y.ed25519!=null)f.ed25519=String(y.ed25519);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.secp256k1="",o.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))o.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))o.ed25519=y.ed25519;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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=P.emptyArray,n.prototype.gas=P.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=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)M.common.Coin.encode(y.coins[o],f.uint32(42).fork()).ldelim();if(y.gas?.length)for(let o=0;o<y.gas.length;++o)M.common.Coin.encode(y.gas[o],f.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(58).string(y.memo);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Tx;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(M.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(M.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!P.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!P.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!P.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!P.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let f=0;f<y.gas.length;++f){let o=M.common.Coin.verify(y.gas[f]);if(o)return"gas."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Tx)return y;let f=new M.common.Tx;if(y.id!=null)f.id=String(y.id);if(y.chain!=null)f.chain=String(y.chain);if(y.fromAddress!=null)f.fromAddress=String(y.fromAddress);if(y.toAddress!=null)f.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let o=0;o<y.gas.length;++o){if(typeof y.gas[o]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[o]=M.common.Coin.fromObject(y.gas[o])}}if(y.memo!=null)f.memo=String(y.memo);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[],o.gas=[];if(f.defaults)o.id="",o.chain="",o.fromAddress="",o.toAddress="",o.memo="";if(y.id!=null&&y.hasOwnProperty("id"))o.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))o.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=y.toAddress;if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.gas?.length){o.gas=[];for(let l=0;l<y.gas.length;++l)o.gas[l]=M.common.Coin.toObject(y.gas[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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=P.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)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))f.uint32(18).string(y.poolDeduct);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.Fee;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!P.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.Fee)return y;let f=new M.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.poolDeduct!=null)f.poolDeduct=String(y.poolDeduct);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults)o.poolDeduct="";if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))o.poolDeduct=y.poolDeduct;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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 v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.common.ProtoUint;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!P.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof M.common.ProtoUint)return y;let f=new M.common.ProtoUint;if(y.value!=null)f.value=String(y.value);return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.defaults)o.value="";if(y.value!=null&&y.hasOwnProperty("value"))o.value=y.value;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T})();M.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),f=0;f<y.length;++f)if(x[y[f]]!=null)this[y[f]]=x[y[f]]}}return n.prototype.coins=P.emptyArray,n.prototype.memo="",n.prototype.signer=P.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=Jy.create();if(y.coins?.length)for(let o=0;o<y.coins.length;++o)M.common.Coin.encode(y.coins[o],f.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))f.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))f.uint32(26).bytes(y.signer);return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgDeposit;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(M.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let f=0;f<y.coins.length;++f){let o=M.common.Coin.verify(y.coins[f]);if(o)return"coins."+o}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!P.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||P.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof M.types.MsgDeposit)return y;let f=new M.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let o=0;o<y.coins.length;++o){if(typeof y.coins[o]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[o]=M.common.Coin.fromObject(y.coins[o])}}if(y.memo!=null)f.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")P.base64.decode(y.signer,f.signer=P.newBuffer(P.base64.length(y.signer)),0);else if(y.signer.length)f.signer=y.signer}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.coins=[];if(f.defaults){if(o.memo="",f.bytes===String)o.signer="";else if(o.signer=[],f.bytes!==Array)o.signer=P.newBuffer(o.signer)}if(y.coins?.length){o.coins=[];for(let l=0;l<y.coins.length;++l)o.coins[l]=M.common.Coin.toObject(y.coins[l],f)}if(y.memo!=null&&y.hasOwnProperty("memo"))o.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))o.signer=f.bytes===String?P.base64.encode(y.signer,0,y.signer.length):f.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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=P.newBuffer([]),n.prototype.toAddress=P.newBuffer([]),n.prototype.amount=P.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,f){if(!f)f=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)M.cosmos.base.v1beta1.Coin.encode(y.amount[o],f.uint32(26).fork()).ldelim();return f},n.encodeDelimited=function(y,f){return this.encode(y,f).ldelim()},n.decode=function(y,f){if(!(y instanceof v))y=v.create(y);let o=f===void 0?y.len:y.pos+f,l=new M.types.MsgSend;while(y.pos<o){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(M.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof v))y=new v(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||P.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||P.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let f=0;f<y.amount.length;++f){let o=M.cosmos.base.v1beta1.Coin.verify(y.amount[f]);if(o)return"amount."+o}}return null},n.fromObject=function(y){if(y instanceof M.types.MsgSend)return y;let f=new M.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")P.base64.decode(y.fromAddress,f.fromAddress=P.newBuffer(P.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)f.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")P.base64.decode(y.toAddress,f.toAddress=P.newBuffer(P.base64.length(y.toAddress)),0);else if(y.toAddress.length)f.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let o=0;o<y.amount.length;++o){if(typeof y.amount[o]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[o]=M.cosmos.base.v1beta1.Coin.fromObject(y.amount[o])}}return f},n.toObject=function(y,f){if(!f)f={};let o={};if(f.arrays||f.defaults)o.amount=[];if(f.defaults){if(f.bytes===String)o.fromAddress="";else if(o.fromAddress=[],f.bytes!==Array)o.fromAddress=P.newBuffer(o.fromAddress);if(f.bytes===String)o.toAddress="";else if(o.toAddress=[],f.bytes!==Array)o.toAddress=P.newBuffer(o.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))o.fromAddress=f.bytes===String?P.base64.encode(y.fromAddress,0,y.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))o.toAddress=f.bytes===String?P.base64.encode(y.toAddress,0,y.toAddress.length):f.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){o.amount=[];for(let l=0;l<y.amount.length;++l)o.amount[l]=M.cosmos.base.v1beta1.Coin.toObject(y.amount[l],f)}return o},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T})();M.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(f){if(f){for(let o=Object.keys(f),l=0;l<o.length;++l)if(f[o[l]]!=null)this[o[l]]=f[o[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(o){return new y(o)},y.encode=function(o,l){if(!l)l=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 v))o=v.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.Coin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.Coin)return o;let l=new M.cosmos.base.v1beta1.Coin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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 v))o=v.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.DecCoin;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.denom=o.string();break;case 2:G.amount=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!P.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!P.isString(o.amount))return"amount: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecCoin)return o;let l=new M.cosmos.base.v1beta1.DecCoin;if(o.denom!=null)l.denom=String(o.denom);if(o.amount!=null)l.amount=String(o.amount);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))C.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))C.amount=o.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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 v))o=v.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.IntProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.int=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.int!=null&&o.hasOwnProperty("int")){if(!P.isString(o.int))return"int: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.IntProto)return o;let l=new M.cosmos.base.v1beta1.IntProto;if(o.int!=null)l.int=String(o.int);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(o.int!=null&&o.hasOwnProperty("int"))C.int=o.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.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 v))o=v.create(o);let C=l===void 0?o.len:o.pos+l,G=new M.cosmos.base.v1beta1.DecProto;while(o.pos<C){let N=o.uint32();switch(N>>>3){case 1:G.dec=o.string();break;default:o.skipType(N&7);break}}return G},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.dec!=null&&o.hasOwnProperty("dec")){if(!P.isString(o.dec))return"dec: string expected"}return null},y.fromObject=function(o){if(o instanceof M.cosmos.base.v1beta1.DecProto)return o;let l=new M.cosmos.base.v1beta1.DecProto;if(o.dec!=null)l.dec=String(o.dec);return l},y.toObject=function(o,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(o.dec!=null&&o.hasOwnProperty("dec"))C.dec=o.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},y})(),x})(),n})(),T})()});async function gy(){let{$root:T}=await Promise.resolve().then(() => (Bx(),Lx)),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 ky(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:f,...o})=>({...o,signer:DT(f)}),toAmino:({signer:f,...o})=>({...o,signer:ST(f)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:f,to_address:o,...l})=>({...l,fromAddress:DT(f),toAddress:DT(o)}),toAmino:({fromAddress:f,toAddress:o,...l})=>({...l,from_address:ST(f),to_address:ST(o)})}})}var Xx;var Jf=R(()=>{Lf();Xx=require("@swapkit/helpers")});function Wf(T){return function(x){let{assetValue:y,recipient:f,memo:o,sender:l,asSignable:C,asAminoMessage:G}=x;if(f)return Zx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,recipient:f,sender:l});return Jx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:o,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(),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 ET({chain:T,memo:n,msgs:x}){let y=await gy(),f=await ky(T),o={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>f.fromAmino(l))}};return y.encode(o)}var qy,ll,Cl,qf=({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}}},Qf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===qy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:uT(n)}],memo:x,signer:T}}},Hn=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Qf({assetValue:x,memo:y,sender:T}):qf({assetValue:x,recipient:n,sender:T})},Ey=async(T,n)=>{return(await ky(n)).fromAmino(T)},wx=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},Zx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:f="",asSignable:o=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await wx({rpcUrl:T,sender:n}),B=y.chain,{chainId:_}=qy.getChainConfig(B),L=qf({assetValue:y,recipient:x,sender:n}),X=o?await Ey(l?L:Fy(L),B):L;return{accountNumber:G||N.accountNumber,chainId:_,fee:Iy(B),memo:f,msgs:[X],sequence:C||N.sequence}},Jx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:f=!0,asAminoMessage:o=!1,sequence:l,accountNumber:C})=>{let G=await wx({rpcUrl:T,sender:n}),N=x.chain,{chainId:B}=qy.getChainConfig(N),_=Qf({assetValue:x,memo:y,sender:n}),L=f?await Ey(o?_:Fy(_),N):_;return{accountNumber:C||G.accountNumber,chainId:B,fee:Iy(N),memo:y,msgs:[L],sequence:l||G.sequence}};var qx=R(()=>{kT();Jf();qy=require("@swapkit/helpers"),ll=Iy(qy.Chain.THORChain).gas,Cl=Iy(qy.Chain.Maya).gas});var Qx=()=>{};var Wx=R(()=>{Qx()});var zf=R(()=>{Lf();qx();Jf();Wx()});async function Hf(T,n){try{let y=(await Mf.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Yf({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:`${u.DerivationPath[x.chain]}/${x.index}`;return f.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 Hx(T){return async function({signature:x,message:y,address:f}){let o=await T(f);if(!o?.pubkey)throw new u.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),o.pubkey.value)}}async function AT({chain:T,...n}){let x=await u.getRPCUrl(T),y=u.CosmosChainPrefixes[T],f="index"in n?n.index||0:0,o=u.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:u.updateDerivationPath(u.NetworkDerivationPath[T],{index:f})),l=await FT.match(n).with({phrase:FT.P.string},({phrase:_})=>Yf({derivationPath:o,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 u.SwapKitError("toolbox_cosmos_signer_not_defined");return Ay.base64.encode(_?.pubkey)}async function B({recipient:_,assetValue:L,memo:X="",feeRate:w,feeOptionKey:Q=u.FeeOption.Fast}){let Y=await G();if(!(l&&Y))throw new u.SwapKitError("toolbox_cosmos_signer_not_defined");let W=u.AssetValue.from({chain:T}),U=uT(W),V=w||Ll((await Yx(T,zx[T]))[Q],U),E=await vT(x,l),b=[{amount:L.getBaseValue("string"),denom:vy(`u${L.symbol}`).toLowerCase()}],{transactionHash:r}=await E.sendTokens(Y,_,b,V,X);return r}return{createPrivateKeyFromPhrase:Xl(o),createTransaction:wf,fetchFeeRateFromSwapKit:Hf,getAccount:C,getAddress:G,getBalance:async(_,L)=>{let X=await Mx(x)(_),w=await Promise.all(X.filter(({denom:Q})=>Q&&!Q.includes("IBC/")).map(({denom:Q,amount:Y})=>{let W=[u.Chain.THORChain,u.Chain.Maya].includes(T)&&(Q.includes("/")||Q.includes("˜"))?`${T}.${Q}`:Q;return Zf(W,Y)}));if(w.length===0)return[u.AssetValue.from({chain:T})];return w},getBalanceAsDenoms:Mx(x),getFees:()=>Yx(T,zx[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:L})=>Yf({derivationPath:u.derivationPathToString(L),index:f,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:B,validateAddress:Ux(T),verifySignature:Hx(C)}}async function Nl(T,n){try{let y=(await Mf.SwapKitApi.getGasRate()).find((f)=>f.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function _l({assetValue:{chain:T}}){return u.AssetValue.from({chain:T,value:Bl(T)})}async function Yx(T,n){let{chainId:x,baseDecimal:y}=u.getChainConfig(T),f=await Hf(x,n);return{average:u.SwapKitNumber.fromBigInt(BigInt(f),y),fast:u.SwapKitNumber.fromBigInt(BigInt(u.applyFeeMultiplier(f,u.FeeOption.Fast,!0)),y),fastest:u.SwapKitNumber.fromBigInt(BigInt(u.applyFeeMultiplier(f,u.FeeOption.Fastest,!0)),y)}}function Ll(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function Bl(T){return{[u.Chain.Cosmos]:0.007,[u.Chain.Kujira]:0.02,[u.Chain.Noble]:0.01,[u.Chain.THORChain]:0.02,[u.Chain.Maya]:0.02,[u.Chain.Harbor]:0.02}[T]||0}function Ux(T){let n=u.CosmosChainPrefixes[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:f,words:o}=Ay.bech32.decode(y);return Ay.bech32.encode(f,o)===y.toLocaleLowerCase()}catch{return!1}}}function Mx(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 Xl(T){return async function(x){let y=await import("@cosmjs/crypto"),f=y.stringToPath??y.default?.stringToPath,o=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),B=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(o.Secp256k1,B,f(T));return _}}var Ay,u,Mf,FT,zx;var Un=R(()=>{kT();Ay=require("@scure/base"),u=require("@swapkit/helpers"),Mf=require("@swapkit/helpers/api"),FT=require("ts-pattern");zx={[u.Chain.Cosmos]:500,[u.Chain.Kujira]:1000,[u.Chain.Noble]:1000,[u.Chain.THORChain]:5000000,[u.Chain.Maya]:5000000,[u.Chain.Harbor]:5000000}});function wl({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 Zl(T){return ty.base64.encode(T)}function Jl(T){return async function({wallet:x,tx:y}){let{msgs:f,accountNumber:o,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,B=(await x.getAccounts())?.[0]?.address||"",_=await ky(T),L=await gy(),X=await Xf(x,{aminoTypes:_,registry:L}),w=[];for(let W of f){let U=await Ey(W,T);w.push(U)}let{signatures:[Q]}=await X.sign(B,w,G,N,{accountNumber:o,chainId:C,sequence:l});return{bodyBytes:await ET({chain:T,memo:N,msgs:f.map(Fy)}),signature:Zl(Q)}}}function ql({prefix:T,rpcUrl:n}){return async function(y,f,o,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:L}=JSON.parse(y),X=await Px(o,l),w=f.map((W)=>[N(G(ty.base64.decode(W.pubKey)),T),ty.base64.decode(W.signature)]),Q=await Oy(n),{transactionHash:Y}=await Q.broadcastTx(B(X,_,L,C,new Map(w)));return Y}}async function Px(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return y(T.map((o)=>f(ty.base64.decode(o))),n,x)}function Ql(T){return ty.base64.decode(T)}async function Wl({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 Uf({chain:T,...n}){let x=await i.getRPCUrl(T),{nodeUrl:y}=i.getChainConfig(T),{isStagenet:f}=i.SKConfig.get("envs"),o=T===i.Chain.THORChain,l=`${f?"s":""}${i.CosmosChainPrefixes[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:i.updateDerivationPath(i.NetworkDerivationPath[T],{index:C}),N=await AT({chain:T,...n}),B=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}),_=Iy(T);async function L(){let w,Q=`${y}/${o?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:Y}}=await i.RequestClient.get(Q);if(!Y||Number.isNaN(Y)||Y<0)throw new i.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:Y.toString()});w=new i.SwapKitNumber(Y)}catch{w=new i.SwapKitNumber({decimal:i.getChainConfig(T).baseDecimal,value:o?0.02:1})}return{[i.FeeOption.Average]:w,[i.FeeOption.Fast]:w,[i.FeeOption.Fastest]:w}}async function X({assetValue:w,memo:Q="",recipient:Y}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),U=(await B?.getAccounts())?.[0]?.address;if(!(U&&B))throw new i.SwapKitError("toolbox_cosmos_no_signer");let V="signAmino"in B,E=await gy(),b=await ky(T),r=await vT(x,B,{aminoTypes:b,registry:E}),By=Hn({assetValue:w,memo:Q,recipient:Y,sender:U});if(V){let Z=await Ey(By,T),{signatures:z,authInfoBytes:H}=await r.sign(U,[Z],_,Q),t=W.encode({authInfoBytes:H,bodyBytes:await ET({chain:T,memo:Q,msgs:[By].map(Fy)}),signatures:z}).finish();return(await r.broadcastTx(t)).transactionHash}let Ry=Fy(By),k=await Ey(Ry,T);return(await r.signAndBroadcast(U,[k],_,Q)).transactionHash}return{...N,broadcastMultisigTx:ql({prefix:l,rpcUrl:x}),buildAminoMsg:Hn,buildEncodedTxBody:ET,convertToSignable:Ey,createDefaultAminoTypes:()=>ky(T),createDefaultRegistry:gy,createMultisig:Px,createTransaction:Wf(x),deposit:X,getFees:L,importSignature:Ql,parseAminoMessageForDirectSigning:Fy,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:Q}=(await import("@cosmjs/amino")).default;return Q(w,l)},secp256k1HdWalletFromMnemonic:wl({derivationPath:i.derivationPathToString(G),prefix:l}),signMultisigTx:Jl(T),signWithPrivateKey:Wl,transfer:X}}var ty,i,tT;var Pf=R(()=>{zf();kT();Un();ty=require("@scure/base"),i=require("@swapkit/helpers"),tT=require("ts-pattern")});var Vy,zl=(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 Uf({chain:T,...n});default:throw new Vy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var Rx=R(()=>{Un();Pf();Vy=require("@swapkit/helpers");Un();Pf()});var Pn={};Ly(Pn,{verifySignature:()=>Hx,transferMsgAmino:()=>qf,toBase64:()=>nl,parseAminoMessageForDirectSigning:()=>Fy,getSignerFromPrivateKey:()=>Gl,getSignerFromPhrase:()=>Yf,getMsgSendDenom:()=>vy,getFeeRateFromSwapKit:()=>Nl,getDenomWithChain:()=>uT,getDefaultChainFee:()=>Iy,getCreateTransaction:()=>Wf,getCosmosValidateAddress:()=>Ux,getCosmosToolbox:()=>zl,getAssetFromDenom:()=>Zf,fromBase64:()=>fl,fetchFeeRateFromSwapKit:()=>Hf,estimateTransactionFee:()=>_l,depositMsgAmino:()=>Qf,createThorchainToolbox:()=>Uf,createStargateClient:()=>Oy,createSigningStargateClient:()=>vT,createOfflineStargateClient:()=>Xf,createDefaultRegistry:()=>gy,createDefaultAminoTypes:()=>ky,createCosmosToolbox:()=>AT,cosmosCreateTransaction:()=>wf,convertToSignable:()=>Ey,buildTransferTx:()=>Zx,buildEncodedTxBody:()=>ET,buildDepositTx:()=>Jx,buildAminoMsg:()=>Hn,bech32ToBase64:()=>DT,base64ToBech32:()=>ST,YUM_KUJIRA_FACTORY_DENOM:()=>Cx,USK_KUJIRA_FACTORY_DENOM:()=>Bf,THORCHAIN_GAS_VALUE:()=>ll,MAYA_GAS_VALUE:()=>Cl,DEFAULT_NOBLE_FEE_MAINNET:()=>_x,DEFAULT_KUJI_FEE_MAINNET:()=>Nx,DEFAULT_COSMOS_FEE_MAINNET:()=>Gx});module.exports=Xy(Pn);var Rn=R(()=>{zf();Rx();kT()});async function Ox(T){let n=$.AssetValue.from({address:T,chain:$.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 Yl(T){let n=await dy(),{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}=$.getChainConfig($.Chain.Solana);o.push($.AssetValue.from({chain:$.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,B=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let L=await Ox(B),X=L?.symbol||"UNKNOWN",w=L?.decimals||N.tokenAmount.decimals;o.push($.AssetValue.from({asset:`${$.Chain.Solana}.${X}-${B}`,fromBaseDecimal:w,value:_}))}return o}async function Of(){let{PublicKey:T}=await import("@solana/web3.js");return(n)=>{try{let x=new T(n);return T.isOnCurve(x.toBytes())}catch{return!1}}}async function Ml(T){let n=T&&"index"in T?T.index||0:0,x=$.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[$.Chain.Solana],{index:n})),y=await VT.match(T).with({phrase:VT.P.string},({phrase:l})=>If({derivationPath:x,phrase:l})).with({signer:VT.P.any},({signer:l})=>l).otherwise(()=>{return});function f(){return y?.publicKey?Ix(y.publicKey):""}function o(l){let C=l||f();if(!C)throw new $.SwapKitError("core_wallet_connection_not_found");return Yl(C)}return{broadcastTransaction:Rf(dy),createKeysForPath:If,createTransaction:Df(dy),createTransactionFromInstructions:Rl,estimateTransactionFee:Hl(dy),getAddress:f,getAddressFromPubKey:Ix,getAddressValidator:Of,getBalance:o,getConnection:dy,getPubkeyFromAddress:Sf,signTransaction:Ol(dy,y),transfer:Il(dy,y)}}function Hl(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let l=await T(),G=(await Df(T)({assetValue:x,isProgramDerivedAddress:f,memo:y,recipient:n,sender:o})).compileMessage(),N=await l.getFeeForMessage(G);if(N.value===null)throw new $.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:B}=$.getChainConfig($.Chain.Solana);return $.AssetValue.from({chain:$.Chain.Solana,fromBaseDecimal:B,value:N.value})}}async function dy(){let{Connection:T}=await import("@solana/web3.js"),n=await $.getRPCUrl($.Chain.Solana);return new T(n,"confirmed")}function Ul(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:f})=>{let o=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 Pl({amount:n.getBaseValue("number"),connection:o,decimals:n.decimal,from:l,isProgramDerivedAddress:f,recipient:x,tokenAddress:n.address});return}}async function Pl({tokenAddress:T,recipient:n,from:x,connection:y,amount:f,decimals:o,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:B}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),X=new _,w=new L(T),Q=await C(w,x),Y=new L(n),W=await C(w,Y,l),U=!1;try{await G(y,W),U=!0}catch{}if(!U)X.add(N(x,W,Y,w));return X.add(B(Q,w,W,x,f,o)),X}function Df(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:f,sender:o})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Sf(o),G=await Of();if(!(f||G(n)))throw new $.SwapKitError("core_transaction_invalid_recipient_address");let N=await T(),B=await Ul(T)({assetValue:x,isProgramDerivedAddress:f,recipient:n,sender:o});if(!B)throw new $.SwapKitError("core_transaction_invalid_sender_address");if(y)B.add(l(y));let _=await N.getLatestBlockhash();return B.recentBlockhash=_.blockhash,B.feePayer=C,B}}async function Rl({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new $.SwapKitError("core_transaction_invalid_sender_address");return x}function Il(T,n){return async({recipient:x,assetValue:y,memo:f,isProgramDerivedAddress:o})=>{if(!n)throw new $.SwapKitError("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Df(T)({assetValue:y,isProgramDerivedAddress:o,memo:f,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Rf(T)(G)}return C.sign(n),Rf(T)(C)}}function Rf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function Ol(T,n){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!n)throw new $.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 If({phrase:T,derivationPath:n=$.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 Ix(T){return T.toString()}async function Sf(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var $,VT;var Dx=R(()=>{$=require("@swapkit/helpers"),VT=require("ts-pattern")});var uf={};Ly(uf,{getSolanaToolbox:()=>Ml,getSolanaAddressValidator:()=>Of,fetchTokenMetaData:()=>Ox,createKeysForPath:()=>If});module.exports=Xy(uf);var vf=R(()=>{Dx()});async function Sx(){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 Sx(),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 f(_=T){let{SuiClient:L,getFullnodeUrl:X}=await import("@mysten/sui/client");return new L({url:_||X("mainnet")})}function o(){return y?.toSuiAddress()||""}async function l(_){let L=_||o();if(!L)throw new e.SwapKitError("toolbox_sui_address_required");try{let X=await f(),{totalBalance:w}=await X.getBalance({owner:L}),{baseDecimal:Q,chain:Y}=e.getChainConfig(e.Chain.Sui),W=[e.AssetValue.from({chain:Y,fromBaseDecimal:Q,value:w})],U=await X.getAllBalances({owner:L});for(let{coinType:V,totalBalance:E}of U){if(V==="0x2::sui::SUI")continue;if(Number(E)>0){let b=V.split("::").pop()?.toUpperCase()||"UNKNOWN",r=`${Y}.${b}-${V}`;W.push(e.AssetValue.from({asset:r,fromBaseDecimal:Q,value:E}))}}return W}catch(X){throw new e.SwapKitError("toolbox_sui_balance_error",{error:X})}}async function C(_){let L=e.AssetValue.from({chain:e.Chain.Sui,value:"0.01"});if(!_)return L;try{let X=await f(),{txBytes:w}=await G(_),{effects:{status:Q,gasUsed:Y}}=await X.dryRunTransactionBlock({transactionBlock:w});if(Q.status!=="success")return L;let W=Number(Y.computationCost)+Number(Y.storageCost)-Number(Y.storageRebate);return e.AssetValue.from({chain:e.Chain.Sui,value:W.toString()})}catch{return L}}async function G({recipient:_,assetValue:L,gasBudget:X,sender:w}){let{Transaction:Q}=await import("@mysten/sui/transactions"),Y=w||o();if(!Y)throw new e.SwapKitError("toolbox_sui_no_sender");try{let W=new Q;if(W.setSender(Y),L.isGasAsset||L.symbol==="SUI"){let[E]=W.splitCoins(W.gas,[L.getBaseValue("string")]);W.transferObjects([E],_)}else throw new e.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(X)W.setGasBudget(X);let U=await f(),V=await W.build({client:U});return{tx:W,txBytes:V}}catch(W){throw new e.SwapKitError("toolbox_sui_transaction_creation_error",{error:W})}}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 B({assetValue:_,gasBudget:L,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:L,recipient:X,sender:w}),Y=await f(),{digest:W}=await Y.signAndExecuteTransaction({signer:y,transaction:Q});return W}return{createTransaction:G,estimateTransactionFee:C,getAddress:o,getBalance:l,signTransaction:N,transfer:B,validateAddress:x}}var e,KT;var ux=R(()=>{e=require("@swapkit/helpers"),KT=require("ts-pattern")});var In={};Ly(In,{getSuiToolbox:()=>Dl,getSuiAddressValidator:()=>Sx});module.exports=Xy(In);var On=R(()=>{ux()});async function Sl(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:f}=await import("@ton/ton"),o=await vx(),l,C,G=await bT.match(T).with({phrase:bT.P.string},async({phrase:W})=>n(W.split(" "))).with({signer:bT.P.any},({signer:W})=>W).otherwise(()=>{return});function N(){let{rpcUrls:W}=yy.getChainConfig(yy.Chain.Ton),[U]=W;if(!l||l.parameters.endpoint!==U)l=new y({endpoint:U});return l}function B(W){if(!C||W){let U=N(),V=W||G;if(!V)throw new yy.SwapKitError("core_wallet_connection_not_found");let E=f.create({publicKey:V.publicKey,workchain:0});C=U.open(E)}return C}async function _(W){let U=N(),{baseDecimal:V}=yy.getChainConfig(yy.Chain.Ton);try{let E=await U.getBalance(x.parse(W));return[yy.AssetValue.from({chain:yy.Chain.Ton,value:yy.SwapKitNumber.fromBigInt(E,V)})]}catch(E){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:E})}}async function L({assetValue:W,recipient:U,memo:V}){let E=B();if(!E||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let{toNano:b,comment:r,internal:By}=await import("@ton/ton"),Ry=await E.getSeqno(),k=b(W.getValue("string")),A=V?r(V):void 0;return E.createTransfer({messages:[By({body:A,to:U,value:k})],secretKey:G.secretKey,seqno:Ry})}async function X({assetValue:W,recipient:U,memo:V}){let E=B();if(!E||!G)throw new yy.SwapKitError("core_wallet_connection_not_found");let b=await L({assetValue:W,memo:V,recipient:U});return await E.send(b),b.hash().toString()}async function w(W){let U=B();if(!U)throw new yy.SwapKitError("core_wallet_connection_not_found");try{return await U.send(W),W.hash().toString("hex")}catch(V){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:V})}}function Q(){return B().address.toString()}function Y(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Ton,value:"0.0001"}))}return{createTransaction:L,estimateTransactionFee:Y,getAddress:Q,getBalance:_,sendTransaction:w,transfer:X,validateAddress:o}}async function vx(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var yy,bT;var kx=R(()=>{yy=require("@swapkit/helpers"),bT=require("ts-pattern")});var Dn={};Ly(Dn,{getTONToolbox:()=>Sl,getTONAddressValidator:()=>vx});module.exports=Xy(Dn);var Sn=R(()=>{kx()});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 Fx(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${ul}/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 Ex.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var Ex,ul="https://api.trongrid.io";var Ax=R(()=>{Ex=require("@swapkit/helpers")});async function Ef(){let T=await import("tronweb"),n=T.TronWeb??T.default?.TronWeb;return(x)=>{return n.isAddress(x)}}async function Vx({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 Al({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(B)=>{return await x.trx.sign(B,G)}}}var D,$T,vl=268,kl=13000,El=345,tx="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",Fl="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",Kx=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 $T.match(T).with({phrase:$T.P.string},async({phrase:k})=>Al({derivationPath:C,phrase:k,tronWeb:o})).with({signer:$T.P.any},({signer:k})=>Promise.resolve(k)).otherwise(()=>Promise.resolve(void 0)),N=async()=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");return await G.getAddress()},B=()=>{return 1e8},_=async()=>{try{let k=await o.trx.getChainParameters(),A={};for(let Z of k)A[Z.key]=Z.value;return{bandwidthFee:A.getTransactionFee||1000,createAccountFee:A.getCreateAccountFee||1e5,energyFee:A.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},L=async(k)=>{try{let A=await o.trx.getAccount(k);return A&&Object.keys(A).length>0}catch{return!1}},X=async(k)=>{try{let A=await o.trx.getAccountResources(k);return{bandwidth:{free:A.freeNetLimit-A.freeNetUsed,total:A.NetLimit||0,used:A.NetUsed||0},energy:{total:A.EnergyLimit||0,used:A.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(k,A)=>{try{let Z=o.contract(GT,A);if(!Z.methods?.balanceOf)return 0n;let[z]=await Z.methods.balanceOf(k).call();return z?typeof z==="bigint"?z:BigInt(z):0n}catch(Z){return console.warn(`balanceOf() failed for ${A}:`,Z),0n}},Q=async(k,A)=>{try{o.setAddress(A);let Z=o.contract(GT,k),[z,H]=await Promise.all([Z.symbol().call().catch(()=>"UNKNOWN"),Z.decimals().call().catch(()=>"18")]);return{decimals:Number(H??18),symbol:z??"UNKNOWN"}}catch(Z){return D.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${k}: ${Z instanceof Error?Z.message:Z}`}),null}},Y=async(k,A=!0)=>{let Z=[D.AssetValue.from({chain:D.Chain.Tron})];try{let z=await Fx(k);if(z){let H=[];H.push(D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:6,value:z.balance}));for(let t of z.trc20){let[m,h]=Object.entries(t)[0]||[];if(!(m&&h))continue;let F=await Q(m,k);if(!F)continue;H.push(D.AssetValue.from({asset:`TRON.${F.symbol}-${m}`,fromBaseDecimal:F.decimals,value:BigInt(h||0)}))}return H}return Z}catch(z){D.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${z instanceof Error?z.message:z}`});try{let H=[],t=await o.trx.getBalance(k);if(t&&Number(t)>0)H.push(D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:6,value:t}));let m=await w(k,tx);if(m)H.push(D.AssetValue.from({asset:`TRON.USDT-${tx}`,fromBaseDecimal:6,value:m}));if(H.length===0)return Z;return H}catch(H){return console.error("Tron balance fetch failed:",H),Z}}},W=async({recipient:k,assetValue:A,memo:Z})=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");let z=await N();if(o.setAddress(z),A.isGasAsset){let F=await o.transactionBuilder.sendTrx(k,A.getBaseValue("number"),z);if(Z){let _y=await o.transactionBuilder.addUpdateData(F,Z,"utf8"),zy=await G.signTransaction(_y),{txid:py}=await o.trx.sendRawTransaction(zy);return py}let fy=await G.signTransaction(F),{txid:Gy}=await o.trx.sendRawTransaction(fy);return Gy}let t=await V({assetValue:A,memo:Z,recipient:k,sender:z}),m=await G.signTransaction(t),{txid:h}=await o.trx.sendRawTransaction(m);if(!h)throw new D.SwapKitError("toolbox_tron_token_transfer_failed");return h},U=async({assetValue:k,recipient:A,sender:Z})=>{let z=k.isGasAsset;try{let H=Z?Z:G?await N():void 0;if(!H)return z?D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:0,value:0.1}):D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:0,value:15});let t=await _(),h=await L(A)?0:t.createAccountFee,F=await X(H);if(z){let jy=vl,sT=F.bandwidth.free+(F.bandwidth.total-F.bandwidth.used),eT=0;if(jy>sT)eT=(jy-sT)*t.bandwidthFee;let yn=h+eT;return D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:D.BaseDecimal.TRON,value:yn})}let fy=El,Gy=kl,_y=F.bandwidth.free+(F.bandwidth.total-F.bandwidth.used),zy=F.energy.total-F.energy.used,py=0;if(fy>_y)py=(fy-_y)*t.bandwidthFee;let aT=0;if(Gy>zy)aT=(Gy-zy)*t.energyFee;let gn=h+py+aT;return D.AssetValue.from({chain:D.Chain.Tron,fromBaseDecimal:D.BaseDecimal.TRON,value:gn})}catch(H){throw D.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${H instanceof Error?H.message:H}`}),new D.SwapKitError("toolbox_tron_fee_estimation_failed",{error:H})}},V=async(k)=>{let{recipient:A,assetValue:Z,memo:z,sender:H,expiration:t}=k;if(Z.isGasAsset){let F=await o.transactionBuilder.sendTrx(A,Z.getBaseValue("number"),H);if(z)return o.transactionBuilder.addUpdateData(F,z,"utf8");if(t)o.transactionBuilder.extendExpiration(F,t);return F}o.setAddress(H);let h=Z.address;if(!h)throw new D.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Z.toString()});try{let fy=[{type:"address",value:A},{type:"uint256",value:Z.getBaseValue("string")}],Gy={callValue:0,feeLimit:B()},_y=await o.transactionBuilder.triggerSmartContract(h,"transfer(address,uint256)",Gy,fy,H);if(z)return o.transactionBuilder.addUpdateData(_y.transaction,z,"utf8");if(t)o.transactionBuilder.extendExpiration(_y.transaction,t);return _y.transaction}catch(F){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:F instanceof Error?F.message:String(F)})}},E=async(k)=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");return await G.signTransaction(k)},b=async(k)=>{let{txid:A}=await o.trx.sendRawTransaction(k);return A},r=async({assetAddress:k,spenderAddress:A,from:Z})=>{try{let z=o.contract(GT,k);if(!z.methods?.allowance)throw new D.SwapKitError("toolbox_tron_invalid_token_contract");let[H]=await z.methods.allowance(Z,A).call();return H?typeof H==="bigint"?H:BigInt(H):0n}catch(z){throw new D.SwapKitError("toolbox_tron_allowance_check_failed",{error:z})}};return{approve:async({assetAddress:k,spenderAddress:A,amount:Z,from:z})=>{if(!G)throw new D.SwapKitError("toolbox_tron_no_signer");let H=z||await N(),t=Z!==void 0?BigInt(Z).toString():Fl,m="approve(address,uint256)",h=[{type:"address",value:A},{type:"uint256",value:t}],fy={callValue:0,feeLimit:B()};try{let{transaction:Gy}=await o.transactionBuilder.triggerSmartContract(k,m,fy,h,H),_y=await G.signTransaction(Gy),{txid:zy}=await o.trx.sendRawTransaction(_y);if(!zy)throw new D.SwapKitError("toolbox_tron_approve_failed");return zy}catch(Gy){throw new D.SwapKitError("toolbox_tron_approve_failed",{error:Gy})}},broadcastTransaction:b,createTransaction:V,estimateTransactionFee:U,getAddress:N,getApprovedAmount:r,getBalance:Y,isApproved:async({assetAddress:k,spenderAddress:A,from:Z,amount:z})=>{let H=await r({assetAddress:k,from:Z,spenderAddress:A});if(!z)return H>0n;let t=BigInt(z);return H>=t},signTransaction:E,transfer:W,tronWeb:o,validateAddress:await Ef()}};var bx=R(()=>{kf();Ax();D=require("@swapkit/helpers"),$T=require("ts-pattern")});var Ff={};Ly(Ff,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>Vx,getTronAddressValidator:()=>Ef,createTronToolbox:()=>Kx});module.exports=Xy(Ff);var Af=R(()=>{kf();bx()});async function tl({chain:T,txHash:n}){let x=`${un(T)}/push/transaction`,y=JSON.stringify({data:n});try{let f=await K.RequestClient.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||n}catch(f){let o=await K.getRPCUrl(T);if(o){let l=JSON.stringify({id:Eo(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await K.RequestClient.post(o,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw f}}function un(T){return`https://api.blockchair.com/${Vl(T)}`}function $x(T){switch(T){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function Vl(T){switch(T){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function Kl(T){try{let{feePerKb:n}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,$x(T))}catch{return $x(T)}}async function tf(T,n){let x=await K.RequestClient.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function cx({address:T,chain:n,apiKey:x}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await tf(`${un(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 cx({address:T,apiKey:x,chain:n}))?.address.balance||0}async function mx({chain:T,apiKey:n,txHash:x}){if(!x)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await tf(`${un(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:f=30}){return(await tf(`${un(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${y}`,x)).map(({is_spent:G,script_hex:N,block_id:B,transaction_hash:_,index:L,value:X,spending_signature_hex:w})=>({hash:_,index:L,is_confirmed:B!==-1,is_spent:G,script_hex:N,txHex:w,value:X}))}function hl(T){return T.reduce((n,x)=>n+x.value,0)}function hx(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 ix({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:f=0,offset:o=0,limit:l=30}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await $l({address:n,apiKey:x,chain:T,limit:l,offset:o,targetValue:y}),N=C.length<l,B=C.filter(({is_spent:Y})=>!Y),_=hl(B),L=f+_,X=y&&L>=y;if(N||X)return hx(B,y);let w=await ix({accumulativeValue:L,address:n,apiKey:x,chain:T,limit:l,offset:o+l,targetValue:y}),Q=[...B,...w];return hx(Q,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function pl({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:f}){let o=await ix({address:T,apiKey:x,chain:n,targetValue:f}),l=[];for(let{hash:C,index:G,script_hex:N,value:B}of o){let _;if(y)_=await mx({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:B,witnessUtxo:{script:Buffer.from(N,"hex"),value:B}})}return l}function jl(T){let n=K.SKConfig.get("apiKeys").blockchair||"";return K.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)=>cx({address:x,apiKey:n,chain:T}),getBalance:(x)=>bl({address:x,apiKey:n,chain:T}),getRawTx:(x)=>mx({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>Kl(T),getUtxos:(x)=>pl({...x,apiKey:n,chain:T})}}function cl(T){return T}function Zy(T){let n=K.SKConfig.get("apis")[T];if(n)return K.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 Yy(){return function(n){switch(n){case K.Chain.Bitcoin:return jx.networks.bitcoin;case K.Chain.BitcoinCash:return NT.default.bitcoincash.main.toBitcoinJS();case K.Chain.Dash:return NT.default.dash.main.toBitcoinJS();case K.Chain.Litecoin:return NT.default.litecoin.main.toBitcoinJS();case K.Chain.Dogecoin:{let x={private:70615956,public:70617039},y=NT.default.dogecoin.test;return y.versions.bip32=x,NT.default.dogecoin.main.toBitcoinJS()}case K.Chain.Zcash:return px.networks.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var px,K,jx,NT;var gx=R(()=>{zT();px=require("@bitgo/utxo-lib"),K=require("@swapkit/helpers"),jx=require("bitcoinjs-lib"),NT=J(require("coininfo"))});function hf(T){try{return vn(T),!0}catch{return!1}}function pf(T){return vn(T)?.network}function _T(T){let n=vn(T);if(n?.format==="legacy")return T;return gl(n)}function hT(T){let n=vn(T);return dl(n)}function vn(T){try{let n=ml(T);if(n)return n}catch{}try{let n=il(T);if(n)return n}catch{}throw new Vf.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function ml(T){try{let n=Kf.default.decode(T);if(n.length!==21)throw new Vf.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 dx(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return dx(`${x}:${T}`)}catch{}}return}function dx(T){try{let{hash:n,prefix:x,type:y}=bf.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),Kf.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 bf.default.encode(n,x,y)}var Vf,Kf,bf,$f,ry;var rx=R(()=>{Vf=require("@swapkit/helpers"),Kf=J(require("bs58check")),bf=J(require("cashaddrjs"));((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})($f||={});ry={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function My(T){let n=Buffer.from(T,"utf8");return Fn.script.compile([Fn.opcodes.OP_RETURN,n])}var ax,Fn,rl=1000,An=10,sx=10,al=41,sl=107,tn,kn,En,pT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new ax.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?pT(T[0].address):"P2PKH",f=T.filter((l)=>l.value>=kn["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+Ky(C),0),o=n?.reduce((l,C)=>l+jT(C),0)||En[y];return An+f+o},Ky=(T)=>{if("type"in T)return kn[T.type];if("address"in T&&T.address)return kn[pT(T.address)];return al+sl},jT=(T,n)=>{if(T?.script)return sx+T.script.length+(T.script.length>=74?2:1);if(n)return En[n];return En.P2PKH};var jf=R(()=>{ax=require("@swapkit/helpers"),Fn=require("bitcoinjs-lib");((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(tn||={});kn={["P2PKH"]:148,["P2WPKH"]:68},En={["P2PKH"]:34,["P2WPKH"]:31}});function Vn(T){switch(T){case Hy.Chain.Bitcoin:case Hy.Chain.BitcoinCash:return 550;case Hy.Chain.Dash:case Hy.Chain.Litecoin:return 5500;case Hy.Chain.Dogecoin:return 1e5;case Hy.Chain.Zcash:return 546;default:throw new Hy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Uy({inputs:T,outputs:n,feeRate:x=1,chain:y=Hy.Chain.Bitcoin,changeAddress:f=""}){let o=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?pT(T[0].address):"P2PKH",C=T.filter((X)=>Ky(X)*o<=X.value),G=An+n.reduce((X,w)=>X+jT(w,l),0),N=n.reduce((X,w)=>X+w.value,0),B=G*o,_=0,L=[];for(let X of C){let w=Ky(X),Q=o*w;B+=Q,_+=X.value,L.push(X);let Y=B+N;if(_<Y)continue;let W=_-Y,U=o*jT({address:"",value:0},l);if(W>U){let V=U+B,E=_-(N+V);if(E>Math.max(Ky({})*o,Vn(y)))return{fee:V,inputs:L,outputs:n.concat({address:f,value:E})}}return{fee:B,inputs:L,outputs:n}}return{fee:o*LT({feeRate:o,inputs:T,outputs:n})}}var Hy;var ex=R(()=>{jf();Hy=require("@swapkit/helpers")});var BT=R(()=>{gx();rx();ex();jf()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function by(T){let n=ay(T);return hf(n)&&pf(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=Kn.networks.zcash;try{return Kn.address.toOutputScript(T,n),!0}catch{let x=y0.default.decode(T);if(x.length<21)return!1;let y=x[0];return y===n.pubKeyHash||y===n.scriptHash}}catch{return!1}}var Kn,y0;var cT=R(()=>{BT();Kn=require("@bitgo/utxo-lib"),y0=J(require("bs58check"))});function f0({inputs:T,outputs:n,chain:x,psbt:y,sender:f,compiledMemo:o}){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:f,G=l.script;if(G&&!o)continue;let N=G?{script:o,value:0}:{address:C,value:l.value};Py.initEccLib(bn.default),y.addOutput(N)}return{inputs:T,psbt:y}}async function o0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,fetchTxHex:o=!1}){let l=T.chain,C=x?await My(x):null,G=await C0({assetValue:T,fetchTxHex:o,memo:x,recipient:n,sender:f}),{inputs:N,outputs:B}=Uy({...G,chain:l,feeRate:y});if(!(N&&B))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await Yy(),L=new Py.Psbt({network:_(l)});if(l===S.Chain.Dogecoin)L.setMaximumFeeRate(650000000);let{psbt:X,inputs:w}=await f0({chain:l,compiledMemo:C,inputs:N,outputs:B,psbt:L,sender:f});return{inputs:w,psbt:X,utxos:G.inputs}}async function x0(){let T=await Yy();return function({address:x,chain:y}){if(y===S.Chain.BitcoinCash)return by(x);if(y===S.Chain.Zcash)return XT(x);try{return Py.initEccLib(bn.default),Py.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 f(l){return await l.signAllInputs(y),l}function o(){return mf(T)(y)}return{getAddress:o,signTransaction:f}}async function sy({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,f=S.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[T],{index:y})),o=x?await el({chain:T,derivationPath:f,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let C=await x0(),G=await iT(T);return{accumulative:Uy,broadcastTx:(N)=>Zy(T).broadcastTx(N),calculateTxSize:LT,createKeysForPath:G,createTransaction:o0,estimateMaxSendableAmount:y1(T),estimateTransactionFee:T1(T),getAddress:l,getAddressFromKeys:mf(T),getBalance:TT(T),getFeeRates:()=>gT(T),getInputsOutputsFee:l0,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:n1(o),validateAddress:(N)=>C({address:N,chain:T})}}async function l0({assetValue:T,feeOptionKey:n=S.FeeOption.Fast,feeRate:x,memo:y,sender:f,recipient:o}){let l=T.chain,C=await C0({assetValue:T,memo:y,recipient:o,sender:f}),G=x?Math.floor(x):(await gT(l))[n];return Uy({...C,chain:l,feeRate:G})}function y1(T){return async function({from:x,memo:y,feeRate:f,feeOptionKey:o=S.FeeOption.Fast,recipients:l=1}){let C=await Zy(T).getAddressData(x),G=f?Math.ceil(f):(await gT(T))[o],N=C?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Vn(T),Ky(w)*G));if(!N?.length)return S.AssetValue.from({chain:T});let B=S.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 My(y);_.push({address:x,script:w,value:0})}let X=LT({feeRate:G,inputs:N,outputs:_})*G;return B.sub(X)}}function T1(T){return async(n)=>{let x=await l0(n);return S.AssetValue.from({chain:T,value:S.SwapKitNumber.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function iT(T){let n=await Yy();switch(T){case S.Chain.BitcoinCash:return function({phrase:y,derivationPath:f=`${S.DerivationPath.BCH}/0`,wif:o}){let l=n(T);if(o)return $n.ECPair.fromWIF(o,l);if(!y)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return $n.HDNode.fromSeedBuffer(Buffer.from(cf.mnemonicToSeedSync(y)),l).derivePath(f).keyPair};case S.Chain.Bitcoin:case S.Chain.Dogecoin:case S.Chain.Litecoin:case S.Chain.Zcash:case S.Chain.Dash:return function({phrase:y,wif:f,derivationPath:o}){if(!(f||y))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=n0.ECPairFactory(bn.default),C=n(T);if(f)return l.fromWIF(f,C);let G=cf.mnemonicToSeedSync(y),N=T0.HDKey.fromMasterSeed(G,C).derive(o);if(!N.privateKey)throw new S.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 S.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function mf(T){let n=Yy();return function(y){if(!y)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let f=mT.includes(T)?Py.payments.p2pkh:Py.payments.p2wpkh,{address:o}=f({network:n(T),pubkey:y.publicKey});if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return o}}function n1(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 S.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=o||(await gT(G))[f||S.FeeOption.Fast],{psbt:B}=await o0({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(B);return _.finalizeAllInputs(),Zy(G).broadcastTx(_.extractTransaction().toHex())}}async function gT(T){let n=await Zy(T).getSuggestedTxFee();return{[S.FeeOption.Average]:n,[S.FeeOption.Fast]:S.applyFeeMultiplier(n,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(n,S.FeeOption.Fastest)}}async function C0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:f=!1}){let o=T.chain,l=(await gT(o))[S.FeeOption.Fastest],C=f||mT.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 My(x),value:0}]:[]]}}var bn,$n,T0,cf,S,Py,n0,mT;var dT=R(()=>{zT();BT();cT();bn=J(require("@bitcoinerlab/secp256k1")),$n=require("@psf/bitcoincashjs-lib"),T0=require("@scure/bip32"),cf=require("@scure/bip39"),S=require("@swapkit/helpers"),Py=require("bitcoinjs-lib"),n0=require("ecpair"),mT=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash]});function ey(T){return ay(hT(T))}function f1(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(ey(y))},signTransaction:n}}async function gf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=Cy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Cy.updateDerivationPath(Cy.NetworkDerivationPath[Qy],{index:x})),f=n?(await iT(Qy))({derivationPath:y,phrase:n}):void 0,o=f?f1(f):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(o?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...B}=await sy({chain:Qy});function _(L,X=!0){return C(ay(hT(L)))}return{...B,broadcastTx:N,buildTx:x1,createTransaction:N0,getAddress:l,getAddressFromKeys:l1,getBalance:_,getFeeRates:G,stripPrefix:ay,stripToCashAddress:ey,transfer:o1({broadcastTx:N,getFeeRates:G,signer:o}),validateAddress:by}}async function N0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f}){if(!by(n))throw new Cy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let o=Math.ceil(T.getBaseValue("number")+y*7500),l=await Zy(Qy).getUtxos({address:ey(f),fetchTxHex:!0,targetValue:o}),C=x?await My(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:B}=Uy({chain:Qy,feeRate:y,inputs:l,outputs:G});if(!(N&&B))throw new Cy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=await Yy(),L=new wT.TransactionBuilder(_(Qy));await Promise.all(N.map(async(X)=>{let w=await Zy(Qy).getRawTx(X.hash);L.addInput(wT.Transaction.fromBuffer(Buffer.from(w,"hex")),X.index)}));for(let X of B){let w="address"in X&&X.address?X.address:_T(f),Q=await Yy(),Y=wT.address.toOutputScript(_T(w),Q(Qy));L.addOutput(Y,X.value)}if(C)L.addOutput(C,0);return{builder:L,utxos:N}}function o1({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:f,assetValue:o,feeOptionKey:l=Cy.FeeOption.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new Cy.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Cy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=C.feeRate||(await n())[l],{builder:B,utxos:_}=await N0({...C,assetValue:o,feeRate:N,recipient:f,sender:G}),X=(await x.signTransaction({builder:B,utxos:_})).toHex();return T(X)}}async function x1({assetValue:T,recipient:n,memo:x,feeRate:y,sender:f,setSigHashType:o}){let l=hT(n);if(!by(l))throw new Cy.SwapKitError("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await Zy(Qy).getUtxos({address:ey(f),fetchTxHex:!1,targetValue:C}),N=Number(y.toFixed(0)),B=x?await My(x):null,_=[];if(_.push({address:_T(n),value:T.getBaseValue("number")}),B)_.push({script:B,value:0});let{inputs:L,outputs:X}=Uy({chain:Qy,feeRate:N,inputs:G,outputs:_});if(!(L&&X))throw new Cy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let w=await Yy(),Q=new G0.Psbt({network:w(Qy)});for(let{hash:Y,index:W,witnessUtxo:U}of L)Q.addInput({hash:Y,index:W,sighashType:o?65:void 0,witnessUtxo:U});for(let Y of X){let W="address"in Y&&Y.address?Y.address:_T(f),U=Y.script?B?{script:B,value:0}:void 0:{address:W,value:Y.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,Cy,G0,Qy;var hn=R(()=>{BT();dT();cT();wT=require("@psf/bitcoincashjs-lib"),Cy=require("@swapkit/helpers"),G0=require("bitcoinjs-lib"),Qy=Cy.Chain.BitcoinCash});function B0(){return Wy.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=rf.mnemonicToSeedSync(T),f=df.HDKey.fromMasterSeed(x).derive(n);if(!f.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let o=X0(),l=Wy.ECPair.fromPrivateKey(Buffer.from(f.privateKey),{network:o}),C=Wy.crypto.hash160(l.publicKey),{isStagenet:G}=Ty.SKConfig.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),B=Buffer.concat([N,C]),_=L0.default.encode(B);return{getAddress:()=>Promise.resolve(_),signTransaction:(L)=>{let X=L.signAllInputs(l);return Promise.resolve(X)}}}function G1({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:Wy.address.toOutputScript(l,B0()),value:BigInt(o.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function _0(T){let{assetValue:n,recipient:x,memo:y,feeRate:f,sender:o,fetchTxHex:l}=T,C=y?My(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:B,outputs:_}=Uy({chain:Ty.Chain.Zcash,changeAddress:o,feeRate:f,inputs:G,outputs:N});if(!(B&&_))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:o});let L=Wy.bitgo.createPsbtForNetwork({network:B0()},{version:455}),w=3268858036,Q=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),Y=Buffer.allocUnsafe(4);Y.writeUInt32LE(w>>>0,0),L.addUnknownKeyValToGlobal({key:Q,value:Y});let{psbt:W,inputs:U}=await G1({compiledMemo:C,inputs:B,outputs:_,psbt:L,sender:o});return{inputs:U,outputs:_,psbt:W}}async function af(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],B=Ty.updateDerivationPath(N,{index:G}),_=Ty.derivationPathToString(B);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 B=await n?.getAddress();if(!(n&&B))throw new Ty.SwapKitError("toolbox_utxo_no_signer");let _=N.feeRate||(await x.getFeeRates())[G],{psbt:L}=await _0({...N,assetValue:C,feeRate:_,recipient:l,sender:B}),X=await n.signTransaction(L);return X.finalizeAllInputs(),x.broadcastTx(X.extractTransaction().toHex())}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=rf.mnemonicToSeedSync(l),B=df.HDKey.fromMasterSeed(G).derive(C);if(!B.privateKey)throw new Ty.SwapKitError("toolbox_utxo_invalid_params");let _=X0();return Wy.ECPair.fromPrivateKey(Buffer.from(B.privateKey),{network:_})}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return f({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:f,createTransaction:_0,getPrivateKeyFromMnemonic:o,transfer:y,validateAddress:XT}}var Wy,df,rf,Ty,L0,ZT;var sf=R(()=>{BT();dT();cT();Wy=require("@bitgo/utxo-lib"),df=require("@scure/bip32"),rf=require("@scure/bip39"),Ty=require("@swapkit/helpers"),L0=J(require("bs58check")),ZT=require("ts-pattern")});async function N1(T,n){switch(T){case Dy.Chain.BitcoinCash:return await gf(n||{});case Dy.Chain.Zcash:return await af(n);case Dy.Chain.Bitcoin:case Dy.Chain.Dogecoin:case Dy.Chain.Litecoin:case Dy.Chain.Dash:return await sy({chain:T,...n});default:throw new Dy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Dy;var w0=R(()=>{hn();dT();sf();hn();cT();Dy=require("@swapkit/helpers")});var ef={};Ly(ef,{validateZcashAddress:()=>XT,toLegacyAddress:()=>_T,toCashAddress:()=>hT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>mT,isValidAddress:()=>hf,getUtxoToolbox:()=>N1,getUtxoNetwork:()=>Yy,getUtxoApi:()=>Zy,getUTXOAddressValidator:()=>x0,getScriptTypeForAddress:()=>pT,getOutputSize:()=>jT,getInputSize:()=>Ky,getDustThreshold:()=>Vn,getCreateKeysForPath:()=>iT,detectAddressNetwork:()=>pf,createZcashToolbox:()=>af,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>cl,createBCHToolbox:()=>gf,compileMemo:()=>My,calculateTxSize:()=>LT,bchValidateAddress:()=>by,addressFromKeysGetter:()=>mf,addInputsAndOutputs:()=>f0,accumulative:()=>Uy,UtxoNetwork:()=>$f,UTXOScriptType:()=>tn,TX_OVERHEAD:()=>An,OutputSizes:()=>En,OP_RETURN_OVERHEAD:()=>sx,MIN_TX_FEE:()=>rl,InputSizes:()=>kn});module.exports=Xy(ef);var yo=R(()=>{BT();w0();hn();dT();sf()});async function jn(){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 cn(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("@near-js/crypto"),y=T.index||0,f=T.derivationPath?pn.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:o}=n(T.phrase,f),l=x.fromString(o);return q0(l)}async function To(T){let{KeyPair:n}=await import("@near-js/crypto"),x=n.fromString(T);return q0(x)}function q0(T){return new J0(T)}async function mn(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 pn.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 Z0,pn,J0;var no=R(()=>{Z0=require("@near-js/signers"),pn=require("@swapkit/helpers");J0=class J0 extends Z0.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 fo(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function oo(T){return"contractId"in T&&"methodName"in T}function xo(T){return"actions"in T}function lo(T){return"newAccountId"in T}function Co(T){return"contractCode"in T}function Go(T){return"customEstimator"in T}function No(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(Ny.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Ny.CONTRACT_CALL);break;case"createAccount":n+=Number(Ny.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Ny.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Ny.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Ny.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Ny.STAKE);break;default:n+=Number(Ny.CONTRACT_CALL)}return n.toString()}function _o(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Ny.TOKEN_TRANSFER;if(T==="storage_deposit")return Ny.STORAGE_DEPOSIT;return Ny.CONTRACT_CALL}function _1(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function L1(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Ny;var Lo=R(()=>{Ny={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 Bo({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 cn(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:z}=await import("@near-js/accounts"),H=Z||await G();return new z(H,l,f)}async function G(){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");return await f.getAddress()}async function N(Z){return(await By({changeMethods:[],contractId:Z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Z.accountId})}async function B(Z){let H=[await Q({args:{account_id:Z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await Q({args:{amount:Z.assetValue.getBaseValue("string"),memo:Z.memo||null,receiver_id:Z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return Ry({actions:H,receiverId:Z.contractId})}async function _(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let{assetValue:z,recipient:H,memo:t}=Z,m=await G();if(!z.isGasAsset&&z.address){if(!await N({accountId:H,contractId:z.address}))return B({assetValue:z,contractId:z.address,memo:t,recipient:H})}let h=await L({...Z,sender:m});return U(h)}async function L(Z){let{recipient:z,assetValue:H,memo:t,attachedDeposit:m,sender:h,functionCall:F}=Z,fy=await jn();if(!fy(z))throw new j.SwapKitError("toolbox_near_invalid_address",{recipient:z});if(!fy(h))throw new j.SwapKitError("toolbox_near_invalid_address",{signerId:h});if(F)return w({...F,sender:h});if(!H.isGasAsset){let yn=H.address;if(!yn)throw new j.SwapKitError("toolbox_near_missing_contract_address");return w({args:{amount:H.getBaseValue("string"),memo:t||null,receiver_id:z},attachedDeposit:m||"1",contractId:yn,gas:"250000000000000",methodName:"ft_transfer",sender:h})}let{publicKey:Gy,nonce:_y}=await mn(l,h),zy=H.getBaseValue("bigint"),{actionCreators:py,createTransaction:aT}=await import("@near-js/transactions"),{baseDecode:gn}=await import("@near-js/utils"),jy=[py.transfer(zy)];if(t&&m)jy.push(py.functionCall("memo",{memo:t},BigInt("250000000000000"),BigInt(m)));let sT=await l.block({finality:"final"}),eT=gn(sT.header.hash);return aT(h,Gy,z,_y+1,jy,eT)}function X(Z){let z=Z.encode();return Buffer.from(z).toString("base64")}async function w(Z){let{sender:z}=Z,{publicKey:H,nonce:t}=await mn(l,z),{createTransaction:m,actionCreators:h}=await import("@near-js/transactions"),{baseDecode:F}=await import("@near-js/utils"),fy=await l.block({finality:"final"}),Gy=F(fy.header.hash),_y=[h.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return m(z,H,Z.contractId,t+1,_y,Gy)}async function Q(Z){let{actionCreators:z}=await import("@near-js/transactions");return z.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function Y(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let[z,H]=await f.signTransaction(Z);return H}async function W(Z){return(await l.sendTransaction(Z)).transaction.hash}async function U(Z){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");try{let z=await Y(Z);return await W(z)}catch{return f.signAndSendTransactions?.({transactions:[Z]})}}async function V(Z){if("assetValue"in Z){let m=BigInt("115123062500")+BigInt("108059500000"),h=await E(),F=m*BigInt(h.toString()),{baseDecimal:fy}=j.getChainConfig(j.Chain.Near);return j.AssetValue.from({chain:j.Chain.Near,fromBaseDecimal:fy,value:F.toString()})}let z=f?await C():void 0;return k(Z,z)}async function E(){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 b(Z,z,H){if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let t=await C(),{formatNearAmount:m}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),F=m(H)||"0";return(await t.createAccount(Z,h.fromString(z),BigInt(F))).transaction.hash}async function r(Z){try{if(!f)throw new j.SwapKitError("toolbox_near_no_signer");let{actionCreators:z}=await import("@near-js/transactions"),{contractId:H,methodName:t,args:m,deposit:h}=Z,F=await C(),fy=await k({args:m||{},contractId:H,methodName:t}),Gy=z.functionCall(t,m||{},fy.getBaseValue("bigint"),BigInt(h||"1"));return(await F.signAndSendTransaction({actions:[Gy],receiverId:H})).transaction_outcome.id}catch(z){throw new j.SwapKitError("toolbox_near_transfer_failed",{error:z})}}async function By(Z){let z=await C();return Bo({account:z,changeMethods:Z.changeMethods,contractId:Z.contractId,viewMethods:Z.viewMethods})}async function Ry(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 k(Z,z){let{baseDecimal:H}=j.getChainConfig(j.Chain.Near),t=await x(Z).when(fo,()=>Ny.SIMPLE_TRANSFER).when(oo,(F)=>_o(F.methodName)).when(xo,(F)=>No(F.actions)).when(lo,()=>Ny.ACCOUNT_CREATION).when(Co,()=>Ny.CONTRACT_DEPLOYMENT).when(Go,(F)=>{if(!z)throw new j.SwapKitError("toolbox_near_no_account");return F.customEstimator(z)}).otherwise(()=>{throw new j.SwapKitError("toolbox_near_invalid_gas_params")}),h=BigInt(t)*BigInt(1000000000000);return j.AssetValue.from({chain:j.Chain.Near,fromBaseDecimal:H,value:h})}async function A(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:W,callFunction:r,createAction:Q,createContract:By,createContractFunctionCall:w,createSubAccount:b,createTransaction:L,estimateGas:k,estimateTransactionFee:V,executeBatchTransaction:Ry,getAddress:G,getBalance:TT(j.Chain.Near),getGasPrice:A,getPublicKey:async()=>f?(await f.getPublicKey()).toString():"",getSignerFromPhrase:(Z)=>cn(Z),getSignerFromPrivateKey:To,provider:l,serializeTransaction:X,signAndSendTransaction:U,signTransaction:Y,transfer:_,validateAddress:await jn()}}var j;var Xo=R(()=>{zT();no();Lo();j=require("@swapkit/helpers")});var Q0=R(()=>{Xo()});var wo={};Ly(wo,{tgasToGas:()=>_1,isSimpleTransfer:()=>fo,isCustomEstimator:()=>Go,isContractDeployment:()=>Co,isContractCall:()=>oo,isBatchTransaction:()=>xo,isAccountCreation:()=>lo,getValidateNearAddress:()=>jn,getNearToolbox:()=>B1,getNearSignerFromPrivateKey:()=>To,getNearSignerFromPhrase:()=>cn,getFullAccessPublicKey:()=>mn,getContractMethodGas:()=>_o,gasToTGas:()=>L1,estimateBatchGas:()=>No,createNearContract:()=>Bo,GAS_COSTS:()=>Ny});module.exports=Xy(wo);var Zo=R(()=>{no();Lo();Xo();Q0()});var Jo={};Ly(Jo,{radixValidateAddress:()=>W0,RadixToolbox:()=>q1});module.exports=Xy(Jo);function W0(T){return T.startsWith("account_rdx1")&&T.length===66}function X1({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,f=[],o=await J1(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 Z1({resources:T,networkApi:n}){let x=[],y=50,f=[];for(let o=0;o<T.length;o+=50)f.push(T.slice(o,o+50));for(let o of f){let l=o.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let B=N.metadata?.items.find((L)=>L.key==="symbol"),_=B?.value.typed.type==="String"?B.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of o)if(N.aggregation_level==="Global"){let B=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=Sy.AssetValue.from({asset:B.symbol!==Sy.Chain.Radix?`${Sy.Chain.Radix}.${B.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 Sy,q1=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||Sy.SKConfig.get("integrations").radix,f=n({...y,networkId:y.network?.networkId||1}),o=x.initialize(f.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:X1({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Sy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:W0}};var qo=R(()=>{Sy=require("@swapkit/helpers")});var Wo={};Ly(Wo,{rippleValidateAddress:()=>Qo,hashes:()=>Y0.hashes,getRippleToolbox:()=>W1});module.exports=Xy(Wo);function z0(T){let n=$y.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function Qo(T){return $y.isValidAddress(T)}var c,$y,Y0,Q1,W1=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?z0(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(L)=>{let X=L||await f(),{baseDecimal:w}=c.getChainConfig(c.Chain.Ripple);try{let Y=(await y.request({account:X,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:w,value:Y})]}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:L,recipient:X,memo:w,sender:Q})=>{if(!Qo(X))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=Q||await f();if(!L.isGasAsset||L.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let W={Account:Y,Amount:$y.xrpToDrops(L.getValue("string")),Destination:X,TransactionType:"Payment"};if(w)W.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(W)},G=(L)=>{if(!n)throw new c.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 c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:N,createSigner:z0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:f,getBalance:o,signer:n,signTransaction:G,transfer:async(L)=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let X=await n.getAddress(),w=await C({...L,sender:X}),Q=await G(w);return N(Q.tx_blob)},validateAddress:Qo}};var zo=R(()=>{c=require("@swapkit/helpers"),$y=require("xrpl"),Y0=require("xrpl"),Q1={ACCOUNT_NOT_FOUND:19}});async function z1(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:f}}=y,o=yT.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 Y1(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=yT.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 M0(T,n){return function(y){let f=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return Y1(n,f,y);default:return z1(n,f,y)}}}var yT;var H0=R(()=>{yT=require("@swapkit/helpers")});var M1,H1,U1,hy;var Yo=R(()=>{M1={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},H1={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/"},hy={DOT:M1,FLIP:H1,GENERIC:U1}});function P1(T,n){switch(T){case d.Chain.Chainflip:return P0(n);case d.Chain.Polkadot:return U0(n);default:throw new d.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function JT(T){return"address"in T}async function Ho(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 R0(T,n){return qT.isHex(T)?qT.hexToU8a(T):QT.decodeAddress(T,void 0,n)}function I0(T,n="ss58",x){if(n==="hex")return qT.u8aToHex(T);return QT.encodeAddress(T,x)}async function Ro({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:f}=await import("@polkadot/api"),o=await d.getRPCUrl(n),l=new f(o),C=await y.create({provider:l}),G=d.AssetValue.from({chain:n}),N=T?hy.GENERIC:hy[n],B=await rT.match(x).with({phrase:rT.P.string},({phrase:_})=>Ho(_,hy[n].prefix)).with({signer:rT.P.any},({signer:_})=>_).otherwise(()=>{return});return O0({api:C,chain:n,gasAsset:G,network:N,signer:B})}var qT,QT,d,rT,U0=({generic:T=!1,...n}={})=>{return Ro({chain:d.Chain.Polkadot,generic:T,...n})},P0=async({generic:T=!1,...n}={})=>{return{...await Ro({chain:d.Chain.Chainflip,generic:T,...n})}},Uo=(T,n)=>T.rpc.system.accountNextIndex(n),Mo=(T,n)=>{try{let x=R0(T,n);return I0(x,"ss58",n),!0}catch{return!1}},Po=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),R1=async(T,n,{recipient:x,assetValue:y,sender:f})=>{let o=Po(T,{assetValue:y,recipient:x});if(!o)throw new d.SwapKitError("toolbox_substrate_transfer_error");let l=JT(n),C=l?n.address:f;if(!C)throw new d.SwapKitError("core_transaction_invalid_sender_address");let G=await Uo(T,C);return(await o.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},I1=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 Uo(T,C)})||{partialFee:0};return x.set(d.SwapKitNumber.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},O1=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},D1=async(T,n)=>{return await n.signAsync(T)},S1=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},u1=async({signer:T,address:n,tx:x,callback:y,api:f})=>{let o=await Uo(f,n);if(y)x.signAndSend(n,{nonce:o,signer:T},y);return x.signAndSend(n,{nonce:o,signer:T}).toString()},O0=({api:T,network:n,gasAsset:x,signer:y,chain:f})=>({api:T,broadcast:O1,convertAddress:v1,createKeyring:(o)=>Ho(o,n.prefix),createTransaction:(o)=>Po(T,o),decodeAddress:R0,encodeAddress:I0,estimateTransactionFee:(o)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return I1(T,y,x,o)},gasAsset:x,getAddress:(o)=>{let l=o||y;if(!l)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return JT(l)?l.address:void 0},getBalance:M0(f||d.Chain.Polkadot,T),network:n,sign:(o)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return D1(y,o);throw new d.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 d.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return S1(y,o,l);if(C)return u1({address:C,api:T,callback:l,signer:y,tx:o});throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(o)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return R1(T,y,o)},validateAddress:(o)=>Mo(o,n.prefix)}),k1=({address:T,chain:n})=>{let{prefix:x}=n===d.Chain.Polkadot?hy.DOT:hy.FLIP;return Mo(T,x)||Mo(T,hy.GENERIC.prefix)};var D0=R(()=>{H0();Yo();qT=require("@polkadot/util"),QT=require("@polkadot/util-crypto"),d=require("@swapkit/helpers"),rT=require("ts-pattern")});var Io={};Ly(Io,{substrateValidateAddress:()=>k1,isKeyringPair:()=>JT,getSubstrateToolbox:()=>P1,createSubstrateToolbox:()=>Ro,createKeyring:()=>Ho,SubstrateNetwork:()=>hy,PolkadotToolbox:()=>U0,ChainflipToolbox:()=>P0,BaseSubstrateToolbox:()=>O0});module.exports=Xy(Io);var Oo=R(()=>{D0();Yo()});var A1={};Ly(A1,{getToolbox:()=>Do,getFeeEstimator:()=>F1,getAddressValidator:()=>E1});module.exports=Xy(A1);var O=require("@swapkit/helpers");async function E1(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (fx(),nx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (_f(),Nf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Rn(),Pn)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (vf(),uf)),{getSuiAddressValidator:o}=await Promise.resolve().then(() => (On(),In)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (Sn(),Dn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (Af(),Ff)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (yo(),ef)),{getValidateNearAddress:N}=await Promise.resolve().then(() => (Zo(),wo)),{radixValidateAddress:B}=await Promise.resolve().then(() => (qo(),Jo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (zo(),Wo)),{substrateValidateAddress:L}=await Promise.resolve().then(() => (Oo(),Io)),X=await x(),w=await N(),Q=await f(),Y=await o(),W=await l(),U=await C(),V=await G();return function({address:b,chain:r}){return T(r).with(...O.EVMChains,()=>n({address:b})).with(...O.UTXOChains,()=>V({address:b,chain:r})).with(O.Chain.Cosmos,O.Chain.Kujira,O.Chain.Noble,O.Chain.Maya,O.Chain.THORChain,(Ry)=>{return y(Ry)(b)}).with(O.Chain.Chainflip,O.Chain.Polkadot,()=>L({address:b,chain:r})).with(O.Chain.Radix,()=>B(b)).with(O.Chain.Near,()=>w(b)).with(O.Chain.Ripple,()=>_(b)).with(O.Chain.Solana,()=>Q(b)).with(O.Chain.Sui,()=>Y(b)).with(O.Chain.Ton,()=>W(b)).with(O.Chain.Tron,()=>U(b)).with(O.Chain.Cardano,()=>X(b)).otherwise(()=>!1)}}function F1(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...O.EVMChains,async(f)=>{let o=await Do(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 Do(f)).estimateTransactionFee(x)}).with(O.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (On(),In));return(await f()).estimateTransactionFee(x)}).with(O.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Sn(),Dn));return(await f()).estimateTransactionFee()}).with(...O.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Rn(),Pn));return f(x)}).otherwise(async()=>O.AssetValue.from({chain:T}))}}async function Do(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...O.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (Cf(),eo));return await y(T,n)}).with(...O.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (yo(),ef));return await y(T,n)}).with(...O.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Rn(),Pn));return await y(T,n)}).with(...O.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Oo(),Io));return await y(T,n)}).with(O.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (qo(),Jo));return await y(n)}).with(O.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (zo(),Wo));return await y(n)}).with(O.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (vf(),uf));return await y(n)}).with(O.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (On(),In));return await y(n)}).with(O.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Af(),Ff));return await y(n)}).with(O.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (Zo(),wo));return await y(n)}).with(O.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (_f(),Nf));return await y(n)}).with(O.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (Sn(),Dn));return await y(n)}).otherwise(()=>{throw new O.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=F1AB1E96D281256364756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|