@swapkit/toolboxes 4.1.13 → 4.2.0
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/tron/index.cjs +2 -2
- package/dist/src/tron/index.cjs.map +3 -3
- package/dist/src/tron/index.js +2 -2
- package/dist/src/tron/index.js.map +3 -3
- package/dist/types/tron/toolbox.d.ts.map +1 -1
- package/dist/types/tron/types.d.ts +1 -0
- package/dist/types/tron/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var Z2=Object.create;var{getPrototypeOf:B2,defineProperty:pf,getOwnPropertyNames:J2}=Object;var q2=Object.prototype.hasOwnProperty;var M=(y,f,G)=>{G=y!=null?Z2(B2(y)):{};let T=f||!y||!y.__esModule?pf(G,"default",{value:y,enumerable:!0}):G;for(let x of J2(y))if(!q2.call(T,x))pf(T,x,{get:()=>y[x],enumerable:!0});return T};var TT=(y,f)=>{for(var G in f)pf(y,G,{get:f[G],enumerable:!0,configurable:!0,set:(T)=>f[G]=()=>T})};var l=(y,f)=>()=>(y&&(f=y(y=0)),f);var H=((y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(y,{get:(f,G)=>(typeof require<"u"?require:f)[G]}):y)(function(y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+y+'" is not supported')});import{AssetValue as Q2,getChainConfig as Y2}from"@swapkit/helpers";import{SwapKitApi as z2}from"@swapkit/helpers/api";function A0(){function y(){let f=Date.now(),G=mf||f;return mf=G,f>mf?f:G+1}return W2+y().toString(36)}function rT(y){return async function(G,T=!0){let x=await z2.getChainBalance({address:G,chain:y,scamFilter:T}),{baseDecimal:N}=Y2(y);return x.map(({identifier:L,value:X,decimal:_})=>{return new Q2({decimal:_||N,identifier:L,value:X})})}}var W2,mf=0;var My=l(()=>{W2=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as M2,warnOnce as H2}from"@swapkit/helpers";function Hy(y){let f=M2.get("apis")[y];if(f)return H2({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return C2(y)}function U2(y){return y}function C2(y){return{getBalance:rT(y)}}var cy=l(()=>{My()});import{Chain as h,getChainConfig as n0,getRPCUrl as w2,SwapKitError as I2}from"@swapkit/helpers";async function bT(y,f){let{JsonRpcProvider:G}=await import("ethers");return new G(f||await w2(y))}function Uy(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function cf(y){let{explorerUrl:f,chainId:G,rpcUrls:T}=n0(y);return()=>y===h.Ethereum?void 0:{...R2({chain:y}),blockExplorerUrls:[f],chainId:G,rpcUrls:T}}function tf(y){return![h.Arbitrum,h.BinanceSmartChain].includes(y)}function R2({chain:y}){let{baseDecimal:f}=n0(y);switch(y){case h.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Ethereum}};case h.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Ethereum}};case h.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}};case h.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Ethereum}};case h.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case h.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}};case h.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case h.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case h.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Ethereum}};case h.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:h.Polygon}};default:throw new I2("toolbox_evm_not_supported",{chain:y})}}var aT=()=>{};var F0;var V0=l(()=>{F0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as O2,applyFeeMultiplierToBigInt as XT,Chain as JT,EVMChains as E2,FeeOption as u,isGasAsset as l2,SwapKitError as j,SwapKitNumber as ty}from"@swapkit/helpers";import{erc20ABI as Cy}from"@swapkit/helpers/contracts";import{BrowserProvider as k2,Contract as $0,getAddress as gy,Interface as K0}from"ethers";import{match as D2}from"ts-pattern";function sT({chain:y=JT.Ethereum,provider:f,signer:G,isEIP1559Compatible:T=!0}){return{approve:n2({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),approvedAmount:o0({chain:y,provider:f}),broadcastTransaction:f.broadcastTransaction,call:ef({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),createApprovalTx:K2({chain:y,provider:f,signer:G}),createContract:rf({chain:y,provider:f}),createContractTxObject:uT({chain:y,provider:f}),createTransaction:gf({chain:y,provider:f,signer:G}),createTransferTx:gf({chain:y,provider:f,signer:G}),EIP1193SendTransaction:Ty(f),estimateCall:j0({provider:f,signer:G}),estimateGasLimit:V2({chain:y,provider:f,signer:G}),estimateGasPrices:oT({chain:y,isEIP1559Compatible:T,provider:f}),estimateTransactionFee:b2({chain:y,isEIP1559Compatible:T,provider:f}),getAddress:()=>{return G?G.getAddress():void 0},isApproved:A2({chain:y,provider:f}),sendTransaction:h0({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),signMessage:G?.signMessage,transfer:F2({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),validateAddress:(x)=>df({address:x})}}function df({address:y}){try{return gy(y),!0}catch{return!1}}function eT(y){return y instanceof k2}function Iy(y,f,G){return new $0(y,K0.from(f),G)}function rf({provider:y}){return function(G,T){return new $0(G,K0.from(T),y)}}function af({abi:y,funcName:f}){let G=y.find((T)=>T.name===f);if(!G)throw new j("toolbox_evm_no_abi_fragment",{funcName:f});return G.stateMutability&&P2.includes(G.stateMutability)}function b0(y){return gy(y)}function Ty(y){return function({value:G,...T}){if(!eT(y))throw new j("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:N,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=T;return y.send("eth_sendTransaction",[{..._,value:Uy(BigInt(G||0))}])}}function u0(y,f){let G=yy(y,f);if(G)return gy(G.toLowerCase());throw new j("toolbox_evm_invalid_gas_asset_address")}function yy({chain:y,symbol:f,ticker:G},T){try{let x=y===JT.BinanceSmartChain&&f==="BNB"&&G==="BNB",N=y===T&&f===T&&G===T,L=S2.includes(y)&&f==="ETH"&&G==="ETH";if(N||x||L)return sf[T];return gy(f.slice(G.length+1).replace(/^0X/,""))}catch{return null}}function uT({provider:y}){return async({contractAddress:f,abi:G,funcName:T,funcParams:x=[],txOverrides:N})=>Iy(f,G,y).getFunction(T).populateTransaction(...x.concat(N).filter((L)=>typeof L<"u"))}function oT({chain:y,provider:f,isEIP1559Compatible:G=!0}){return D2(y).with(JT.Gnosis,()=>{return async function(){try{let{gasPrice:x,maxPriorityFeePerGas:N}=await f.getFeeData();if(!x||N===null)throw new j("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:XT(x,u.Average),maxPriorityFeePerGas:XT(N,u.Average)},[u.Fast]:{maxFeePerGas:XT(x,u.Fast),maxPriorityFeePerGas:XT(N,u.Fast)},[u.Fastest]:{maxFeePerGas:XT(x,u.Fastest),maxPriorityFeePerGas:XT(N,u.Fastest)}}}catch(x){throw new j("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).with(JT.Arbitrum,()=>{return async function(){try{let{gasPrice:x}=await f.getFeeData();if(!x)throw new j("toolbox_evm_no_fee_data");return{[u.Average]:{gasPrice:x},[u.Fast]:{gasPrice:x},[u.Fastest]:{gasPrice:x}}}catch(x){throw new j("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:N,gasPrice:L}=await f.getFeeData();if(G){if(x===null||N===null)throw new j("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:N},[u.Fast]:{maxFeePerGas:XT(x,u.Fast),maxPriorityFeePerGas:XT(N,u.Fast)},[u.Fastest]:{maxFeePerGas:XT(x,u.Fastest),maxPriorityFeePerGas:XT(N,u.Fastest)}}}if(!L)throw new j("toolbox_evm_no_gas_price");return{[u.Average]:{gasPrice:L},[u.Fast]:{gasPrice:XT(L,u.Fast)},[u.Fastest]:{gasPrice:XT(L,u.Fastest)}}}catch(x){throw new j("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}})}function ef({provider:y,isEIP1559Compatible:f,signer:G,chain:T}){return async function({callProvider:N,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:J={},feeOption:q=u.Fast}){let B=N||y;if(!L)throw new j("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=af({abi:X,funcName:_});if(Q&&eT(B)&&G){let W=uT({chain:T,provider:B}),C=J?.from||await G?.getAddress(),R=await W({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...J,from:C}});return Ty(B)(R)}let Y=Iy(L,X,B);if(Q){if(!G)throw new j("toolbox_evm_no_signer");let W=J?.from||await G.getAddress();if(!W)throw new j("toolbox_evm_no_signer_address");let C=Y.connect(G),R=oT({chain:T,isEIP1559Compatible:f,provider:y}),{maxFeePerGas:A,maxPriorityFeePerGas:P,gasPrice:F}=(await R())[q],o=await Y.getFunction(_).estimateGas(...Z,J),p=await C[_](...Z,{...J,gasLimit:o,gasPrice:F,maxFeePerGas:A,maxPriorityFeePerGas:P,nonce:J?.nonce||await B.getTransactionCount(W)});return typeof p?.hash==="string"?p?.hash:p}let U=await Y[_]?.(...Z);return typeof U?.hash==="string"?U?.hash:U}}function o0({provider:y,chain:f}){return function({assetAddress:T,spenderAddress:x,from:N}){return ef({chain:f,isEIP1559Compatible:!0,provider:y})({abi:Cy,contractAddress:T,funcName:"allowance",funcParams:[N,x]})}}function A2({provider:y,chain:f}){return async function({assetAddress:T,spenderAddress:x,from:N,amount:L=wy}){let X=await o0({chain:f,provider:y})({assetAddress:T,from:N,spenderAddress:x});return ty.fromBigInt(X).gte(ty.fromBigInt(BigInt(L)))}}function n2({signer:y,isEIP1559Compatible:f=!0,provider:G,chain:T}){return async function({assetAddress:N,spenderAddress:L,feeOptionKey:X=u.Fast,amount:_,gasLimitFallback:Z,from:J,nonce:q}){let B=[L,BigInt(_||wy)],Q=await y?.getAddress()||J,Y={abi:Cy,contractAddress:N,funcName:"approve",funcParams:B,signer:y,txOverrides:{from:Q}};if(eT(G)){let W=uT({chain:T,provider:G}),C=Ty(G),R=await W(Y);return C(R)}return ef({chain:T,isEIP1559Compatible:f,provider:G,signer:y})({...Y,feeOption:X,funcParams:B,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:q}})}}function F2({signer:y,isEIP1559Compatible:f=!0,provider:G}){return async function({assetValue:x,memo:N,recipient:L,feeOptionKey:X=u.Fast,sender:_,...Z}){let{hexlify:J,toUtf8Bytes:q}=await import("ethers"),B=x.getBaseValue("bigint"),Q=x.chain,Y=_||await y?.getAddress(),U=h0({chain:Q,isEIP1559Compatible:f,provider:G,signer:y});if(!Y)throw new j("toolbox_evm_no_from_address");if(x.isGasAsset){let F={...Z,data:J(q(N||"")),feeOptionKey:X,from:Y,to:L,value:B};return U(F)}if(!yy(x,Q))throw new j("toolbox_evm_no_contract_address");let{maxFeePerGas:C,maxPriorityFeePerGas:R,gasPrice:A}=(await oT({chain:Q,isEIP1559Compatible:f,provider:G})())[X],P=await gf({chain:Q,provider:G,signer:y})({assetValue:x,data:J(q(N||"")),gasPrice:A,maxFeePerGas:C,maxPriorityFeePerGas:R,memo:N,recipient:L,sender:Y});return U(P)}}function j0({provider:y,signer:f}){return function({contractAddress:T,abi:x,funcName:N,funcParams:L=[],txOverrides:X}){if(!T)throw new j("toolbox_evm_no_contract_address");let _=Iy(T,x,y);return f?_.connect(f).getFunction(N).estimateGas(...L,X):_.getFunction(N).estimateGas(...L,X)}}function V2({provider:y,signer:f}){return async function({assetValue:T,recipient:x,memo:N,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:J}){let q=T.bigIntValue,B=T.isGasAsset?null:yy(T,T.chain);if(B&&_)return j0({provider:y,signer:f})({abi:Cy,contractAddress:B,funcName:_,funcParams:Z,txOverrides:J});let{hexlify:Q,toUtf8Bytes:Y}=await import("ethers");return y.estimateGas({data:L?L:N?Q(Y(N)):void 0,from:X,to:x,value:q})}}function h0({provider:y,signer:f,isEIP1559Compatible:G=!0,chain:T}){return async function({feeOptionKey:N=u.Fast,...L}){let{from:X,to:_,data:Z,value:J,...q}=L;if(!f)throw new j("toolbox_evm_no_signer");if(!_)throw new j("toolbox_evm_no_to_address");let B={...q,data:Z||"0x",from:X,to:_,value:BigInt(J||0)};if(eT(y))return Ty(y)(B);let Q=X||await f.getAddress(),Y=L.nonce||await y.getTransactionCount(Q),U=(await y.getNetwork()).chainId,W=$2(B)||G,C=oT({chain:T,isEIP1559Compatible:G,provider:y}),R=W&&!(B.maxFeePerGas&&B.maxPriorityFeePerGas)||!B.gasPrice?Object.entries((await C())[N]).reduce((P,[F,o])=>({...P,[F]:Uy(BigInt(o))}),{}):{},A;try{A=Uy(B.gasLimit||await y.estimateGas(B)*11n/10n)}catch(P){throw new j("toolbox_evm_error_estimating_gas_limit",{error:P})}try{let P={...B,chainId:U,gasLimit:A,nonce:Y,type:W?2:0,...R};try{return(await f.sendTransaction(P)).hash}catch{let F=await f.signTransaction({...P,from:Q});return(await y.broadcastTransaction(F)).hash}}catch(P){throw new j("toolbox_evm_error_sending_transaction",{error:P})}}}function gf({provider:y,signer:f}){return async function({assetValue:T,memo:x,recipient:N,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:J,...q}){let B=T.getBaseValue("bigint"),Q=T.chain,Y=X||await f?.getAddress();if(!Y)throw new j("toolbox_evm_no_from_address");if(l2(T)){let{hexlify:C,toUtf8Bytes:R}=await import("ethers");return{...q,data:L||C(R(x||"")),from:Y,to:N,value:B}}let U=yy(T,Q);if(!U)throw new j("toolbox_evm_no_contract_address");return uT({chain:T.chain,provider:y})({abi:Cy,contractAddress:U,funcName:"transfer",funcParams:[N,B],txOverrides:{from:Y,gasPrice:J,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function K2({provider:y,signer:f,chain:G}){return async function({assetAddress:x,spenderAddress:N,amount:L,from:X}){let _=await f?.getAddress()||X,Z=uT({chain:G,provider:y}),J=["bigint","number"].includes(typeof L)?L:L||wy;return await Z({abi:Cy,contractAddress:x,funcName:"approve",funcParams:[N,BigInt(J)],txOverrides:{from:_}})}}function b2({provider:y,isEIP1559Compatible:f=!0}){return async function({feeOption:T=u.Fast,chain:x,...N}){let X=await oT({chain:x,isEIP1559Compatible:f,provider:y})(),_=await y.estimateGas(N),Z=O2.from({chain:x}),{gasPrice:J,maxFeePerGas:q,maxPriorityFeePerGas:B}=X[T];if(!f&&J)return Z.set(ty.fromBigInt(J*_,Z.decimal));if(q&&B){let Q=(q+B)*_;return Z.set(ty.fromBigInt(Q,Z.decimal))}throw new j("toolbox_evm_no_gas_price")}}var wy,P2,v2,sf,S2,$2=(y)=>y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas;var iy=l(()=>{aT();wy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");P2=["payable","nonpayable"];v2=E2.reduce((y,f)=>{return y[f]="0x0000000000000000000000000000000000000000",y},{}),sf={...v2,[JT.Optimism]:"0x4200000000000000000000000000000000000042",[JT.Polygon]:"0x0000000000000000000000000000000000001010"},S2=[JT.Arbitrum,JT.Aurora,JT.Base,JT.Optimism]});import{Chain as t,FeeOption as u2,getRPCUrl as o2}from"@swapkit/helpers";import{match as j2,P as p0}from"ts-pattern";async function dy({provider:y,...f}){let G=await g(t.Ethereum)({provider:y,...f});async function T(x,N="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=u2.Fast){let _=await G.createContractTxObject({abi:F0,contractAddress:N,funcName:L,funcParams:[x]});return G.sendTransaction({..._,feeOptionKey:X})}return{...G,multicall:T}}function g(y){return async function({provider:G,...T}){let{HDNodeWallet:x}=await import("ethers"),N=await o2(y),L=G||await bT(y,N),X=tf(y),_=j2(T).with({phrase:p0.string},({phrase:J})=>x.fromPhrase(J).connect(L)).with({signer:p0.any},({signer:J})=>J).otherwise(()=>{return});return{...sT({chain:y,isEIP1559Compatible:X,provider:L,signer:_}),getBalance:Hy(y).getBalance,getNetworkParams:cf(y)}}}var ry,ay,sy,ey,Tf,yf,m0,ff,xf,Nf,Gf,Lf,Xf,Ry,_f,Zf;var Tx=l(()=>{cy();V0();aT();iy();ry=g(t.Arbitrum),ay=g(t.Aurora),sy=g(t.Avalanche),ey=g(t.Base),Tf=g(t.Berachain),yf=g(t.BinanceSmartChain),m0=g(t.Botanix),ff=g(t.Core),xf=g(t.Corn),Nf=g(t.Cronos),Gf=g(t.Gnosis),Lf=g(t.Hyperevm),Xf=g(t.Polygon),Ry=g(t.Sonic),_f=g(t.Unichain),Zf=g(t.XLayer)});var c0;var t0=l(()=>{c0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as fy,Chain as Bf,FeeOption as HT,getChainConfig as p2,getRPCUrl as m2,SwapKitError as yx}from"@swapkit/helpers";import{Contract as c2,HDNodeWallet as t2}from"ethers";import{match as g2,P as g0}from"ts-pattern";function fx(y){return new c2(i2,c0,y)}function i0(y){return async function(){let G=fx(y);if(G&&"l1BaseFee"in G)return await G?.l1BaseFee();return}}function d0(y){return async function({from:G,to:T,nonce:x,...N}){let{Transaction:L}=await import("ethers");if(!T)throw new yx("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...N,authorizationList:N.authorizationList,nonce:x?x:G?await y.getTransactionCount(G):0,to:T}).serialized}}function r0(y){return async function(G){let T=fx(y),x=await d0(y)(G);if(T&&"getL1Fee"in T)return T.getL1Fee(x)}}function a0(y){return async function(G){let T=await y.send("eth_gasPrice",[]),x=await y.estimateGas(G);return T.mul(x)}}function d2(y){return async function(G){let T=await r0(y)(G),x=await a0(y)(G);return T.add(x)}}function r2(y){return async function(G){let T=fx(y),x=await d0(y)(G);if(T&&"getL1GasUsed"in T)return T.getL1GasUsed(x)}}function a2(){let{baseDecimal:y,chainId:f,explorerUrl:G,name:T,rpcUrls:x}=p2(Bf.Optimism);return{blockExplorerUrls:[G],chainId:f,chainName:T,nativeCurrency:{decimals:y,name:"Ethereum",symbol:Bf.Ethereum},rpcUrls:x}}async function s2(y){try{let{maxFeePerGas:f,maxPriorityFeePerGas:G,gasPrice:T}=await y.getFeeData(),x=await i0(y)(),N=T;if(!(f&&G))throw new yx("toolbox_evm_no_fee_data");return{[HT.Average]:{gasPrice:N,l1GasPrice:x,maxFeePerGas:f,maxPriorityFeePerGas:G},[HT.Fast]:{gasPrice:fy(N,HT.Fast),l1GasPrice:fy(x||0n,HT.Fast),maxFeePerGas:f,maxPriorityFeePerGas:fy(G,HT.Fast)},[HT.Fastest]:{gasPrice:fy(N,HT.Fastest),l1GasPrice:fy(x||0n,HT.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:fy(G,HT.Fastest)}}}catch(f){throw new yx("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function Jf({provider:y,...f}){let G=Bf.Optimism,T=await m2(G),x=y||await bT(G,T),N=g2(f).with({phrase:g0.string},({phrase:_})=>t2.fromPhrase(_).connect(x)).with({signer:g0.any},({signer:_})=>_).otherwise(()=>{return}),L=sT({provider:x,signer:N}),X=i0(x);return{...L,estimateGasPrices:s2(x),estimateL1Gas:r2(x),estimateL1GasCost:r0(x),estimateL2GasCost:a0(x),estimateTotalGasCost:d2(x),getBalance:Hy(Bf.Optimism).getBalance,getL1GasPrice:X,getNetworkParams:a2}}var i2="0x420000000000000000000000000000000000000f";var xx=l(()=>{cy();t0();aT();iy()});var e0={};TT(e0,{toChecksumAddress:()=>b0,isStateChangingCall:()=>af,isBrowserProvider:()=>eT,getTokenAddress:()=>yy,getEvmToolbox:()=>s0,getEstimateGasPrices:()=>oT,getEIP1193SendTransaction:()=>Ty,getCreateContractTxObject:()=>uT,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>u0,evmValidateAddress:()=>df,createContract:()=>Iy,XLayerToolbox:()=>Zf,UNIToolbox:()=>_f,SONICToolbox:()=>Ry,OPToolbox:()=>Jf,MAX_APPROVAL:()=>wy,MATICToolbox:()=>Xf,HYPEREVMToolbox:()=>Lf,GNOToolbox:()=>Gf,ETHToolbox:()=>dy,ContractAddress:()=>sf,CROToolbox:()=>Nf,CORNToolbox:()=>xf,COREToolbox:()=>ff,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>sT,BSCToolbox:()=>yf,BERAToolbox:()=>Tf,BASEToolbox:()=>ey,AVAXToolbox:()=>sy,AURORAToolbox:()=>ay,ARBToolbox:()=>ry});import{Chain as c}from"@swapkit/helpers";import{match as e2}from"ts-pattern";async function s0(y,f){let G={...f,provider:f?.provider||await bT(y)};return e2(y).returnType().with(c.Arbitrum,()=>ry(G)).with(c.Aurora,()=>ay(G)).with(c.Avalanche,()=>sy(G)).with(c.Base,()=>ey(G)).with(c.Berachain,()=>Tf(G)).with(c.BinanceSmartChain,()=>yf(G)).with(c.Botanix,()=>Ry(G)).with(c.Core,()=>ff(G)).with(c.Corn,()=>xf(G)).with(c.Cronos,()=>Nf(G)).with(c.Ethereum,()=>dy(G)).with(c.Gnosis,()=>Gf(G)).with(c.Hyperevm,()=>Lf(G)).with(c.Optimism,()=>Jf(G)).with(c.Polygon,()=>Xf(G)).with(c.Sonic,()=>Ry(G)).with(c.Unichain,()=>_f(G)).with(c.XLayer,()=>Zf(G)).exhaustive()}var Nx=l(()=>{aT();Tx();xx();iy();Tx();xx()});var T1;var y1=l(()=>{((G)=>{G.Test="goerli";G.Main="homestead"})(T1||={})});var f1={};TT(f1,{toHexString:()=>Uy,toChecksumAddress:()=>b0,isStateChangingCall:()=>af,isBrowserProvider:()=>eT,getTokenAddress:()=>yy,getProvider:()=>bT,getNetworkParams:()=>cf,getIsEIP1559Compatible:()=>tf,getEvmToolbox:()=>s0,getEvmApi:()=>Hy,getEstimateGasPrices:()=>oT,getEIP1193SendTransaction:()=>Ty,getCreateContractTxObject:()=>uT,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>u0,evmValidateAddress:()=>df,createCustomEvmApi:()=>U2,createContract:()=>Iy,XLayerToolbox:()=>Zf,UNIToolbox:()=>_f,SONICToolbox:()=>Ry,OPToolbox:()=>Jf,MAX_APPROVAL:()=>wy,MATICToolbox:()=>Xf,HYPEREVMToolbox:()=>Lf,GNOToolbox:()=>Gf,EthNetwork:()=>T1,ETHToolbox:()=>dy,ContractAddress:()=>sf,CROToolbox:()=>Nf,CORNToolbox:()=>xf,COREToolbox:()=>ff,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>sT,BSCToolbox:()=>yf,BERAToolbox:()=>Tf,BASEToolbox:()=>ey,AVAXToolbox:()=>sy,AURORAToolbox:()=>ay,ARBToolbox:()=>ry});var x1=l(()=>{cy();aT();Nx();y1()});import{AssetValue as Ey,Chain as xy,getChainConfig as TN,SwapKitError as Oy}from"@swapkit/helpers";import{match as yN,P as N1}from"ts-pattern";async function Gx(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function xN(y){try{let{MeshWallet:f}=await import("@meshsdk/core"),G=await Gx(),T=new f({fetcher:G,key:{address:y,type:"address"},networkId:1});await T.init();let x=await T.getBalance(),N=[];for(let L of x)if(L.unit===fN){let{baseDecimal:X}=TN(xy.Cardano);N.push(Ey.from({chain:xy.Cardano,fromBaseDecimal:X,value:L.quantity}))}else N.push(Ey.from({asset:`${xy.Cardano}.${L.unit}`,value:L.quantity}));if(N.length===0)return[Ey.from({chain:xy.Cardano})];return N}catch(f){return console.error("Cardano balance fetch error:",f),[Ey.from({chain:xy.Cardano})]}}async function G1(){let{deserializeAddress:y}=await import("@meshsdk/core");return(f)=>{try{return y(f),!0}catch{return!1}}}async function NN(y){let f=await G1(),G=await yN(y).with({phrase:N1.string},async({phrase:J})=>{let{MeshWallet:q}=await import("@meshsdk/core"),B=await Gx(),Q=new q({fetcher:B,key:{type:"mnemonic",words:J.split(" ")},networkId:1,submitter:B});return await Q.init(),Q}).with({signer:N1.any},({signer:J})=>J).otherwise(()=>{return}),T=G&&"getChangeAddress"in G?await G.getChangeAddress():"";function x(){return T||""}function N(J){let q=J||x();if(!q)throw new Oy("core_wallet_connection_not_found");return xN(q)}function L(){return Promise.resolve(Ey.from({chain:xy.Cardano,value:"0.01"}))}async function X({recipient:J,assetValue:q,memo:B}){if(!G||!("getChangeAddress"in G))throw new Oy("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,Y]=q.symbol.split("-");if(!q.isGasAsset&&!Y)throw new Oy("core_wallet_connection_not_found");let U=new Q({initiator:G});if(U.sendAssets({address:J},[{quantity:q.getBaseValue("string"),unit:q.isGasAsset?"lovelace":q.symbol}]),B)U.setMetadata(0,B);let W=await U.build();return{tx:U,unsignedTx:W}}function _(J){if(!G||!("getChangeAddress"in G))throw new Oy("core_wallet_connection_not_found");return G.signTx(J)}async function Z({recipient:J,assetValue:q,memo:B}){if(!G||!("getChangeAddress"in G))throw new Oy("core_wallet_connection_not_found");let{unsignedTx:Q}=await X({assetValue:q,memo:B,recipient:J}),Y=await _(Q);return await(await Gx()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:x,getBalance:N,signTransaction:_,transfer:Z,validateAddress:f}}var fN="lovelace";var L1=()=>{};var Lx={};TT(Lx,{getCardanoToolbox:()=>NN,getCardanoAddressValidator:()=>G1});var Xx=l(()=>{L1()});import{base64 as X1,bech32 as qf}from"@scure/base";import{SwapKitError as GN}from"@swapkit/helpers";import{fromByteArray as LN,toByteArray as XN}from"base64-js";function ly(y){return X1.encode(Uint8Array.from(qf.fromWords(qf.decode(y).words)))}function ky(y,f="thor"){return qf.encode(f,qf.toWords(X1.decode(y)))}function _N(y){return LN(y)}function ZN(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new GN("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return XN(y)}var _x=()=>{};import{AssetValue as Zx,Chain as $,getChainConfig as qT,getRPCUrl as BN,SwapKitError as _1}from"@swapkit/helpers";function CT(y){switch(y){case $.Maya:return{amount:[],gas:"10000000000"};case $.THORChain:return{amount:[],gas:"500000000"};case $.Kujira:return J1;case $.Noble:return q1;default:return B1}}async function wT(y){let f=await import("@cosmjs/stargate"),G=f.StargateClient??f.default?.StargateClient,T=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return G.connect({headers:T,url:y})}async function Gy(y,f,G={}){let T=await import("@cosmjs/stargate"),x=T.SigningStargateClient??T.default?.SigningStargateClient,N=T.GasPrice??T.default?.GasPrice,L=typeof G==="string"?G:"0.0003uatom",X=typeof G==="string"?{}:G;return x.connectWithSigner(y,f,{gasPrice:N.fromString(L),...X})}async function Jx(y,f){let G=await import("@cosmjs/stargate");return(G.SigningStargateClient??G.default?.SigningStargateClient).offline(y,f)}async function qx({sender:y,recipient:f,assetValue:G,memo:T="",feeRate:x,sequence:N,accountNumber:L}){let{chain:X,chainId:_}=G,Z=await BN(X),q=await(await wT(Z)).getAccount(y);if(!q)throw new _1("toolbox_cosmos_account_not_found",{sender:y});let B=Zx.from({chain:X}),Q=UT(B.symbol),Y=CT(X),U=Q&&x?{amount:[{amount:x.toString(),denom:Q}],gas:Y.gas}:Y,W={amount:[{amount:G.getBaseValue("string"),denom:UT(G.symbol)}],fromAddress:y,toAddress:f};return{accountNumber:L??q.accountNumber,chainId:_,fee:U,memo:T,msgs:[{typeUrl:JN(X),value:W}],sequence:N??q.sequence}}var Bx="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Z1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",B1,J1,q1,UT=(y,f=!1)=>{if(f)return y.toLowerCase();switch(y){case"uUSK":case"USK":return Bx;case"uYUM":case"YUM":return Z1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Ny=({symbol:y,chain:f})=>{if(f===$.Maya)return(y.toUpperCase()!=="CACAO"?y:`${$.Maya}.${y}`).toUpperCase();if(f===$.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${$.THORChain}.${y}`:y).toUpperCase();return UT(y,!1)},JN=(y)=>{switch(y){case $.Maya:case $.THORChain:return"/types.MsgSend";case $.Cosmos:case $.Kujira:case $.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new _1("toolbox_cosmos_not_supported",{chain:y})}},qN,Qx=(y,f)=>{let G=qN[y.toLowerCase()];if(!G)return Zx.from({asset:y,fromBaseDecimal:8,value:f});let{chain:T,asset:x,decimals:N}=G,L=T?{chain:T}:{asset:x};return Zx.from({...L,fromBaseDecimal:N,value:f})};var Dy=l(()=>{B1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},J1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},q1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};qN={atom:{chain:$.Cosmos,decimals:qT($.Cosmos).baseDecimal},cacao:{chain:$.Maya,decimals:10},kuji:{chain:$.Kujira,decimals:qT($.Kujira).baseDecimal},maya:{asset:`${$.Maya}.${$.Maya}`,decimals:4},rune:{chain:$.THORChain,decimals:qT($.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:qT($.THORChain).baseDecimal},uatom:{chain:$.Cosmos,decimals:qT($.Cosmos).baseDecimal},ukuji:{chain:$.Kujira,decimals:qT($.Kujira).baseDecimal},usdc:{chain:$.Noble,decimals:qT($.Noble).baseDecimal},uusdc:{chain:$.Noble,decimals:qT($.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:qT($.THORChain).baseDecimal},[Bx.toLowerCase()]:{asset:`${$.Kujira}.USK`,decimals:qT($.Kujira).baseDecimal}}});var Q1={};TT(Q1,{$root:()=>I});import d from"protobufjs/minimal.js";var D,_T,E,I;var Y1=l(()=>{D=d.Reader,_T=d.Writer,E=d.util,I=d.roots.default||(d.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(10).string(T.chain);if(T.symbol!=null&&Object.hasOwnProperty.call(T,"symbol"))x.uint32(18).string(T.symbol);if(T.ticker!=null&&Object.hasOwnProperty.call(T,"ticker"))x.uint32(26).string(T.ticker);if(T.synth!=null&&Object.hasOwnProperty.call(T,"synth"))x.uint32(32).bool(T.synth);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Asset;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.chain=T.string();break;case 2:L.symbol=T.string();break;case 3:L.ticker=T.string();break;case 4:L.synth=T.bool();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.chain!=null&&T.hasOwnProperty("chain")){if(!E.isString(T.chain))return"chain: string expected"}if(T.symbol!=null&&T.hasOwnProperty("symbol")){if(!E.isString(T.symbol))return"symbol: string expected"}if(T.ticker!=null&&T.hasOwnProperty("ticker")){if(!E.isString(T.ticker))return"ticker: string expected"}if(T.synth!=null&&T.hasOwnProperty("synth")){if(typeof T.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Asset)return T;let x=new I.common.Asset;if(T.chain!=null)x.chain=String(T.chain);if(T.symbol!=null)x.symbol=String(T.symbol);if(T.ticker!=null)x.ticker=String(T.ticker);if(T.synth!=null)x.synth=Boolean(T.synth);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)N.chain="",N.symbol="",N.ticker="",N.synth=!1;if(T.chain!=null&&T.hasOwnProperty("chain"))N.chain=T.chain;if(T.symbol!=null&&T.hasOwnProperty("symbol"))N.symbol=T.symbol;if(T.ticker!=null&&T.hasOwnProperty("ticker"))N.ticker=T.ticker;if(T.synth!=null&&T.hasOwnProperty("synth"))N.synth=T.synth;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y.Coin=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.asset!=null&&Object.hasOwnProperty.call(T,"asset"))I.common.Asset.encode(T.asset,x.uint32(10).fork()).ldelim();if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))x.uint32(18).string(T.amount);if(T.decimals!=null&&Object.hasOwnProperty.call(T,"decimals"))x.uint32(24).int64(T.decimals);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Coin;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.asset=I.common.Asset.decode(T,T.uint32());break;case 2:L.amount=T.string();break;case 3:L.decimals=T.int64();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.asset!=null&&T.hasOwnProperty("asset")){let x=I.common.Asset.verify(T.asset);if(x)return"asset."+x}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!E.isString(T.amount))return"amount: string expected"}if(T.decimals!=null&&T.hasOwnProperty("decimals")){if(!E.isInteger(T.decimals)&&!(T.decimals&&E.isInteger(T.decimals.low)&&E.isInteger(T.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Coin)return T;let x=new I.common.Coin;if(T.asset!=null){if(typeof T.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=I.common.Asset.fromObject(T.asset)}if(T.amount!=null)x.amount=String(T.amount);if(T.decimals!=null){if(E.Long)(x.decimals=E.Long.fromValue(T.decimals)).unsigned=!1;else if(typeof T.decimals==="string")x.decimals=Number.parseInt(T.decimals,10);else if(typeof T.decimals==="number")x.decimals=T.decimals;else if(typeof T.decimals==="object")x.decimals=new E.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber()}return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)if(N.asset=null,N.amount="",E.Long){let L=new E.Long(0,0,!1);N.decimals=x.longs===String?L.toString():x.longs===Number?L.toNumber():L}else N.decimals=x.longs===String?"0":0;if(T.asset!=null&&T.hasOwnProperty("asset"))N.asset=I.common.Asset.toObject(T.asset,x);if(T.amount!=null&&T.hasOwnProperty("amount"))N.amount=T.amount;if(T.decimals!=null&&T.hasOwnProperty("decimals"))if(typeof T.decimals==="number")N.decimals=x.longs===String?String(T.decimals):T.decimals;else N.decimals=x.longs===String?E.Long.prototype.toString.call(T.decimals):x.longs===Number?new E.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber():T.decimals;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y.PubKeySet=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.secp256k1!=null&&Object.hasOwnProperty.call(T,"secp256k1"))x.uint32(10).string(T.secp256k1);if(T.ed25519!=null&&Object.hasOwnProperty.call(T,"ed25519"))x.uint32(18).string(T.ed25519);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.PubKeySet;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.secp256k1=T.string();break;case 2:L.ed25519=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1")){if(!E.isString(T.secp256k1))return"secp256k1: string expected"}if(T.ed25519!=null&&T.hasOwnProperty("ed25519")){if(!E.isString(T.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.PubKeySet)return T;let x=new I.common.PubKeySet;if(T.secp256k1!=null)x.secp256k1=String(T.secp256k1);if(T.ed25519!=null)x.ed25519=String(T.ed25519);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)N.secp256k1="",N.ed25519="";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1"))N.secp256k1=T.secp256k1;if(T.ed25519!=null&&T.hasOwnProperty("ed25519"))N.ed25519=T.ed25519;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y.Tx=(()=>{function f(G){if(this.coins=[],this.gas=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=E.emptyArray,f.prototype.gas=E.emptyArray,f.prototype.memo="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.id!=null&&Object.hasOwnProperty.call(T,"id"))x.uint32(10).string(T.id);if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(18).string(T.chain);if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(26).string(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(34).string(T.toAddress);if(T.coins?.length)for(let N=0;N<T.coins.length;++N)I.common.Coin.encode(T.coins[N],x.uint32(42).fork()).ldelim();if(T.gas?.length)for(let N=0;N<T.gas.length;++N)I.common.Coin.encode(T.gas[N],x.uint32(50).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(58).string(T.memo);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Tx;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.id=T.string();break;case 2:L.chain=T.string();break;case 3:L.fromAddress=T.string();break;case 4:L.toAddress=T.string();break;case 5:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(I.common.Coin.decode(T,T.uint32()));break;case 7:L.memo=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.id!=null&&T.hasOwnProperty("id")){if(!E.isString(T.id))return"id: string expected"}if(T.chain!=null&&T.hasOwnProperty("chain")){if(!E.isString(T.chain))return"chain: string expected"}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!E.isString(T.fromAddress))return"fromAddress: string expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!E.isString(T.toAddress))return"toAddress: string expected"}if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let N=I.common.Coin.verify(T.coins[x]);if(N)return"coins."+N}}if(T.gas!=null&&T.hasOwnProperty("gas")){if(!Array.isArray(T.gas))return"gas: array expected";for(let x=0;x<T.gas.length;++x){let N=I.common.Coin.verify(T.gas[x]);if(N)return"gas."+N}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!E.isString(T.memo))return"memo: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Tx)return T;let x=new I.common.Tx;if(T.id!=null)x.id=String(T.id);if(T.chain!=null)x.chain=String(T.chain);if(T.fromAddress!=null)x.fromAddress=String(T.fromAddress);if(T.toAddress!=null)x.toAddress=String(T.toAddress);if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let N=0;N<T.coins.length;++N){if(typeof T.coins[N]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[N]=I.common.Coin.fromObject(T.coins[N])}}if(T.gas){if(!Array.isArray(T.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let N=0;N<T.gas.length;++N){if(typeof T.gas[N]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[N]=I.common.Coin.fromObject(T.gas[N])}}if(T.memo!=null)x.memo=String(T.memo);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.coins=[],N.gas=[];if(x.defaults)N.id="",N.chain="",N.fromAddress="",N.toAddress="",N.memo="";if(T.id!=null&&T.hasOwnProperty("id"))N.id=T.id;if(T.chain!=null&&T.hasOwnProperty("chain"))N.chain=T.chain;if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))N.fromAddress=T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))N.toAddress=T.toAddress;if(T.coins?.length){N.coins=[];for(let L=0;L<T.coins.length;++L)N.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.gas?.length){N.gas=[];for(let L=0;L<T.gas.length;++L)N.gas[L]=I.common.Coin.toObject(T.gas[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))N.memo=T.memo;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y.Fee=(()=>{function f(G){if(this.coins=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.poolDeduct="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.coins?.length)for(let N=0;N<T.coins.length;++N)I.common.Coin.encode(T.coins[N],x.uint32(10).fork()).ldelim();if(T.poolDeduct!=null&&Object.hasOwnProperty.call(T,"poolDeduct"))x.uint32(18).string(T.poolDeduct);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Fee;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.poolDeduct=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let N=I.common.Coin.verify(T.coins[x]);if(N)return"coins."+N}}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct")){if(!E.isString(T.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Fee)return T;let x=new I.common.Fee;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let N=0;N<T.coins.length;++N){if(typeof T.coins[N]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[N]=I.common.Coin.fromObject(T.coins[N])}}if(T.poolDeduct!=null)x.poolDeduct=String(T.poolDeduct);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.coins=[];if(x.defaults)N.poolDeduct="";if(T.coins?.length){N.coins=[];for(let L=0;L<T.coins.length;++L)N.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct"))N.poolDeduct=T.poolDeduct;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y.ProtoUint=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.value="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.value!=null&&Object.hasOwnProperty.call(T,"value"))x.uint32(10).string(T.value);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.ProtoUint;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.value=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.value!=null&&T.hasOwnProperty("value")){if(!E.isString(T.value))return"value: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.ProtoUint)return T;let x=new I.common.ProtoUint;if(T.value!=null)x.value=String(T.value);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)N.value="";if(T.value!=null&&T.hasOwnProperty("value"))N.value=T.value;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function f(G){if(this.coins=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.memo="",f.prototype.signer=E.newBuffer([]),f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.coins?.length)for(let N=0;N<T.coins.length;++N)I.common.Coin.encode(T.coins[N],x.uint32(10).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(18).string(T.memo);if(T.signer!=null&&Object.hasOwnProperty.call(T,"signer"))x.uint32(26).bytes(T.signer);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.types.MsgDeposit;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.memo=T.string();break;case 3:L.signer=T.bytes();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let N=I.common.Coin.verify(T.coins[x]);if(N)return"coins."+N}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!E.isString(T.memo))return"memo: string expected"}if(T.signer!=null&&T.hasOwnProperty("signer")){if(!(T.signer&&typeof T.signer.length==="number"||E.isString(T.signer)))return"signer: buffer expected"}return null},f.fromObject=function(T){if(T instanceof I.types.MsgDeposit)return T;let x=new I.types.MsgDeposit;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let N=0;N<T.coins.length;++N){if(typeof T.coins[N]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[N]=I.common.Coin.fromObject(T.coins[N])}}if(T.memo!=null)x.memo=String(T.memo);if(T.signer!=null){if(typeof T.signer==="string")E.base64.decode(T.signer,x.signer=E.newBuffer(E.base64.length(T.signer)),0);else if(T.signer.length)x.signer=T.signer}return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.coins=[];if(x.defaults){if(N.memo="",x.bytes===String)N.signer="";else if(N.signer=[],x.bytes!==Array)N.signer=E.newBuffer(N.signer)}if(T.coins?.length){N.coins=[];for(let L=0;L<T.coins.length;++L)N.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))N.memo=T.memo;if(T.signer!=null&&T.hasOwnProperty("signer"))N.signer=x.bytes===String?E.base64.encode(T.signer,0,T.signer.length):x.bytes===Array?Array.prototype.slice.call(T.signer):T.signer;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y.MsgSend=(()=>{function f(G){if(this.amount=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.fromAddress=E.newBuffer([]),f.prototype.toAddress=E.newBuffer([]),f.prototype.amount=E.emptyArray,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=_T.create();if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(10).bytes(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(18).bytes(T.toAddress);if(T.amount?.length)for(let N=0;N<T.amount.length;++N)I.cosmos.base.v1beta1.Coin.encode(T.amount[N],x.uint32(26).fork()).ldelim();return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.types.MsgSend;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.fromAddress=T.bytes();break;case 2:L.toAddress=T.bytes();break;case 3:if(!L.amount?.length)L.amount=[];L.amount.push(I.cosmos.base.v1beta1.Coin.decode(T,T.uint32()));break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!(T.fromAddress&&typeof T.fromAddress.length==="number"||E.isString(T.fromAddress)))return"fromAddress: buffer expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!(T.toAddress&&typeof T.toAddress.length==="number"||E.isString(T.toAddress)))return"toAddress: buffer expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!Array.isArray(T.amount))return"amount: array expected";for(let x=0;x<T.amount.length;++x){let N=I.cosmos.base.v1beta1.Coin.verify(T.amount[x]);if(N)return"amount."+N}}return null},f.fromObject=function(T){if(T instanceof I.types.MsgSend)return T;let x=new I.types.MsgSend;if(T.fromAddress!=null){if(typeof T.fromAddress==="string")E.base64.decode(T.fromAddress,x.fromAddress=E.newBuffer(E.base64.length(T.fromAddress)),0);else if(T.fromAddress.length)x.fromAddress=T.fromAddress}if(T.toAddress!=null){if(typeof T.toAddress==="string")E.base64.decode(T.toAddress,x.toAddress=E.newBuffer(E.base64.length(T.toAddress)),0);else if(T.toAddress.length)x.toAddress=T.toAddress}if(T.amount){if(!Array.isArray(T.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let N=0;N<T.amount.length;++N){if(typeof T.amount[N]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[N]=I.cosmos.base.v1beta1.Coin.fromObject(T.amount[N])}}return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.amount=[];if(x.defaults){if(x.bytes===String)N.fromAddress="";else if(N.fromAddress=[],x.bytes!==Array)N.fromAddress=E.newBuffer(N.fromAddress);if(x.bytes===String)N.toAddress="";else if(N.toAddress=[],x.bytes!==Array)N.toAddress=E.newBuffer(N.toAddress)}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))N.fromAddress=x.bytes===String?E.base64.encode(T.fromAddress,0,T.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(T.fromAddress):T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))N.toAddress=x.bytes===String?E.base64.encode(T.toAddress,0,T.toAddress.length):x.bytes===Array?Array.prototype.slice.call(T.toAddress):T.toAddress;if(T.amount?.length){N.amount=[];for(let L=0;L<T.amount.length;++L)N.amount[L]=I.cosmos.base.v1beta1.Coin.toObject(T.amount[L],x)}return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},f})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let f={};return f.v1beta1=(()=>{let G={};return G.Coin=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=_T.create();if(N.denom!=null&&Object.hasOwnProperty.call(N,"denom"))L.uint32(10).string(N.denom);if(N.amount!=null&&Object.hasOwnProperty.call(N,"amount"))L.uint32(18).string(N.amount);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof D))N=D.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.Coin;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.denom=N.string();break;case 2:_.amount=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof D))N=new D(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.denom!=null&&N.hasOwnProperty("denom")){if(!E.isString(N.denom))return"denom: string expected"}if(N.amount!=null&&N.hasOwnProperty("amount")){if(!E.isString(N.amount))return"amount: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.Coin)return N;let L=new I.cosmos.base.v1beta1.Coin;if(N.denom!=null)L.denom=String(N.denom);if(N.amount!=null)L.amount=String(N.amount);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(N.denom!=null&&N.hasOwnProperty("denom"))X.denom=N.denom;if(N.amount!=null&&N.hasOwnProperty("amount"))X.amount=N.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},T})(),G.DecCoin=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=_T.create();if(N.denom!=null&&Object.hasOwnProperty.call(N,"denom"))L.uint32(10).string(N.denom);if(N.amount!=null&&Object.hasOwnProperty.call(N,"amount"))L.uint32(18).string(N.amount);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof D))N=D.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.DecCoin;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.denom=N.string();break;case 2:_.amount=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof D))N=new D(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.denom!=null&&N.hasOwnProperty("denom")){if(!E.isString(N.denom))return"denom: string expected"}if(N.amount!=null&&N.hasOwnProperty("amount")){if(!E.isString(N.amount))return"amount: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.DecCoin)return N;let L=new I.cosmos.base.v1beta1.DecCoin;if(N.denom!=null)L.denom=String(N.denom);if(N.amount!=null)L.amount=String(N.amount);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(N.denom!=null&&N.hasOwnProperty("denom"))X.denom=N.denom;if(N.amount!=null&&N.hasOwnProperty("amount"))X.amount=N.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},T})(),G.IntProto=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.int="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=_T.create();if(N.int!=null&&Object.hasOwnProperty.call(N,"int"))L.uint32(10).string(N.int);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof D))N=D.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.IntProto;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.int=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof D))N=new D(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.int!=null&&N.hasOwnProperty("int")){if(!E.isString(N.int))return"int: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.IntProto)return N;let L=new I.cosmos.base.v1beta1.IntProto;if(N.int!=null)L.int=String(N.int);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(N.int!=null&&N.hasOwnProperty("int"))X.int=N.int;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},T})(),G.DecProto=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.dec="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=_T.create();if(N.dec!=null&&Object.hasOwnProperty.call(N,"dec"))L.uint32(10).string(N.dec);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof D))N=D.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.DecProto;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.dec=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof D))N=new D(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.dec!=null&&N.hasOwnProperty("dec")){if(!E.isString(N.dec))return"dec: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.DecProto)return N;let L=new I.cosmos.base.v1beta1.DecProto;if(N.dec!=null)L.dec=String(N.dec);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(N.dec!=null&&N.hasOwnProperty("dec"))X.dec=N.dec;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,d.util.toJSONOptions)},T})(),G})(),f})(),y})()});import{Chain as QN}from"@swapkit/helpers";async function jT(){let{$root:y}=await Promise.resolve().then(() => (Y1(),Q1)),f=await import("@cosmjs/proto-signing"),G=f.Registry??f.default?.Registry,T=await import("@cosmjs/stargate"),x=T.defaultRegistryTypes??T.default?.defaultRegistryTypes;return new G([...x,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function lT(y){let f=await import("@cosmjs/stargate"),G=f.AminoTypes??f.default?.AminoTypes,T=y===QN.THORChain?"thorchain":"mayachain";return new G({"/types.MsgDeposit":{aminoType:`${T}/MsgDeposit`,fromAmino:({signer:x,...N})=>({...N,signer:ly(x)}),toAmino:({signer:x,...N})=>({...N,signer:ky(x)})},"/types.MsgSend":{aminoType:`${T}/MsgSend`,fromAmino:({from_address:x,to_address:N,...L})=>({...L,fromAddress:ly(x),toAddress:ly(N)}),toAmino:({fromAddress:x,toAddress:N,...L})=>({...L,from_address:ky(x),to_address:ky(N)})}})}var Yx=l(()=>{_x()});import{AssetValue as YN,Chain as Qf,getChainConfig as z1,SwapKitError as zN}from"@swapkit/helpers";function Mx(y){return function(G){let{assetValue:T,recipient:x,memo:N,sender:L,asSignable:X,asAminoMessage:_}=G;if(x)return M1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:N,recipient:x,sender:L});return H1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:N,sender:L})}}function DT(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((f)=>{let G=YN.from({asset:f.asset}),T=(G.isSynthetic?G.symbol.split("/")?.[1]:G.symbol)?.toUpperCase(),x=(G.isSynthetic?G.symbol.split("/")?.[0]:G.chain)?.toUpperCase();return{...f,asset:{chain:x,symbol:T,synth:G.isSynthetic,ticker:G.ticker}}})}}}async function Py({chain:y,memo:f,msgs:G}){let T=await jT(),x=await lT(y),N={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:G.map((L)=>x.fromAmino(L))}};return T.encode(N)}var WN,MN,zx=({sender:y,recipient:f,assetValue:G})=>{return{type:`${G.chain===Qf.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:G.getBaseValue("string"),denom:UT(G.symbol,!0)}],from_address:y,to_address:f}}},Wx=({sender:y,assetValue:f,memo:G=""})=>{return{type:`${f.chain===Qf.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:Ny(f)}],memo:G,signer:y}}},Yf=({sender:y,recipient:f,assetValue:G,memo:T})=>{return!f?Wx({assetValue:G,memo:T,sender:y}):zx({assetValue:G,recipient:f,sender:y})},kT=async(y,f)=>{return(await lT(f)).fromAmino(y)},W1=async({rpcUrl:y,sender:f})=>{let T=await(await wT(y)).getAccount(f);if(!T)throw new zN("toolbox_cosmos_account_not_found",{sender:f});return T},M1=(y)=>async({sender:f,recipient:G,assetValue:T,memo:x="",asSignable:N=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await W1({rpcUrl:y,sender:f}),J=T.chain,{chainId:q}=z1(J),B=zx({assetValue:T,recipient:G,sender:f}),Q=N?await kT(L?B:DT(B),J):B;return{accountNumber:_||Z.accountNumber,chainId:q,fee:CT(J),memo:x,msgs:[Q],sequence:X||Z.sequence}},H1=(y)=>async({sender:f,assetValue:G,memo:T="",asSignable:x=!0,asAminoMessage:N=!1,sequence:L,accountNumber:X})=>{let _=await W1({rpcUrl:y,sender:f}),Z=G.chain,{chainId:J}=z1(Z),q=Wx({assetValue:G,memo:T,sender:f}),B=x?await kT(N?q:DT(q),Z):q;return{accountNumber:X||_.accountNumber,chainId:J,fee:CT(Z),memo:T,msgs:[B],sequence:L||_.sequence}};var U1=l(()=>{Dy();Yx();WN=CT(Qf.THORChain).gas,MN=CT(Qf.Maya).gas});var C1=()=>{};var w1=l(()=>{C1()});var Hx=l(()=>{_x();U1();Yx();w1()});import{base64 as Rx,bech32 as Ux}from"@scure/base";import{AssetValue as zf,applyFeeMultiplier as I1,Chain as yT,CosmosChainPrefixes as k1,DerivationPath as HN,derivationPathToString as R1,FeeOption as Mf,getChainConfig as UN,getRPCUrl as CN,NetworkDerivationPath as wN,SwapKitError as Wf,SwapKitNumber as Cx,updateDerivationPath as IN}from"@swapkit/helpers";import{SwapKitApi as D1}from"@swapkit/helpers/api";import{match as RN,P as O1}from"ts-pattern";async function Ex(y,f){try{let T=(await D1.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}async function Ox({phrase:y,prefix:f,...G}){let T=await import("@cosmjs/proto-signing"),x=T.DirectSecp256k1HdWallet??T.default?.DirectSecp256k1HdWallet,N=await import("@cosmjs/crypto"),L=N.stringToPath??N.default?.stringToPath,X="derivationPath"in G?G.derivationPath:`${HN[G.chain]}/${G.index}`;return x.fromMnemonic(y,{hdPaths:[L(X)],prefix:f})}async function ON({privateKey:y,prefix:f}){let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(y,f)}function P1(y){return async function({signature:G,message:T,address:x}){let N=await y(x);if(!N?.pubkey)throw new Wf("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength(Rx.decode(G));return _.verifySignature(Z,Rx.decode(T),N.pubkey.value)}}async function vy({chain:y,...f}){let G=await CN(y),T=k1[y],x="index"in f?f.index||0:0,N=R1("derivationPath"in f&&f.derivationPath?f.derivationPath:IN(wN[y],{index:x})),L=await RN(f).with({phrase:O1.string},({phrase:B})=>Ox({derivationPath:N,phrase:B,prefix:T})).with({signer:O1.any},({signer:B})=>B).otherwise(()=>{return});async function X(B){return(await wT(G)).getAccount(B)}async function _(){let[B]=await L?.getAccounts()||[];return B?.address}async function Z(){let[B]=await L?.getAccounts()||[];if(!B?.pubkey)throw new Wf("toolbox_cosmos_signer_not_defined");return Rx.encode(B?.pubkey)}async function J({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:W=Mf.Fast}){let C=await _();if(!(L&&C))throw new Wf("toolbox_cosmos_signer_not_defined");let R=zf.from({chain:y}),A=Ny(R),P=U||E1((await Ix(y,wx[y]))[W],A),F=await Gy(G,L),o=UT(Q.symbol),p=Q.getBaseValue("string"),{TxRaw:NT}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),k={amount:[{amount:p,denom:o}],fromAddress:C,toAddress:B},v=await F.sign(C,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:k}],P,Y),z=NT.encode(v).finish();return Buffer.from(z).toString("hex")}async function q({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:W=Mf.Fast,dryRun:C=!1}){if(C)return J({assetValue:Q,feeOptionKey:W,feeRate:U,memo:Y,recipient:B});let R=await _();if(!(L&&R))throw new Wf("toolbox_cosmos_signer_not_defined");let A=zf.from({chain:y}),P=Ny(A),F=U||E1((await Ix(y,wx[y]))[W],P),o=await Gy(G,L),p=UT(Q.symbol),NT=[{amount:Q.getBaseValue("string"),denom:p}],{transactionHash:k}=await o.sendTokens(R,B,NT,F,Y);return k}return{createPrivateKeyFromPhrase:DN(N),createTransaction:qx,fetchFeeRateFromSwapKit:Ex,getAccount:X,getAddress:_,getBalance:async(B,Q)=>{let Y=await l1(G)(B),U=await Promise.all(Y.filter(({denom:W})=>W&&!W.includes("IBC/")).map(({denom:W,amount:C})=>{let R=[yT.THORChain,yT.Maya].includes(y)&&(W.includes("/")||W.includes("˜"))?`${y}.${W}`:W;return Qx(R,C)}));if(U.length===0)return[zf.from({chain:y})];return U},getBalanceAsDenoms:l1(G),getFees:()=>Ix(y,wx[y]),getPubKey:Z,getSignerFromPhrase:async({phrase:B,derivationPath:Q})=>Ox({derivationPath:R1(Q),index:x,phrase:B,prefix:T}),getSignerFromPrivateKey:async(B)=>{let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(B,T)},signTransaction:J,transfer:q,validateAddress:v1(y),verifySignature:P1(X)}}async function EN(y,f){try{let T=(await D1.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}function lN({assetValue:{chain:y}}){return zf.from({chain:y,value:kN(y)})}async function Ix(y,f){let{chainId:G,baseDecimal:T}=UN(y),x=await Ex(G,f);return{average:Cx.fromBigInt(BigInt(x),T),fast:Cx.fromBigInt(BigInt(I1(x,Mf.Fast,!0)),T),fastest:Cx.fromBigInt(BigInt(I1(x,Mf.Fastest,!0)),T)}}function E1(y,f){return{amount:[{amount:y.getBaseValue("string"),denom:f}],gas:"200000"}}function kN(y){return{[yT.Cosmos]:0.007,[yT.Kujira]:0.02,[yT.Noble]:0.01,[yT.THORChain]:0.02,[yT.Maya]:0.02,[yT.Harbor]:0.02}[y]||0}function v1(y){let f=k1[y];return function(T){if(!T.startsWith(f))return!1;try{let{prefix:x,words:N}=Ux.decode(T);return Ux.encode(x,N)===T.toLocaleLowerCase()}catch{return!1}}}function l1(y){return async function(G){return(await(await wT(y)).getAllBalances(G)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function DN(y){return async function(G){let T=await import("@cosmjs/crypto"),x=T.stringToPath??T.default?.stringToPath,N=T.Slip10Curve??T.default?.Slip10Curve,L=T.Slip10??T.default?.Slip10,X=T.EnglishMnemonic??T.default?.EnglishMnemonic,_=T.Bip39??T.default?.Bip39,Z=new X(G),J=await _.mnemonicToSeed(Z),{privkey:q}=L.derivePath(N.Secp256k1,J,x(y));return q}}var wx;var Hf=l(()=>{Dy();wx={[yT.Cosmos]:1000,[yT.Kujira]:1000,[yT.Noble]:1000,[yT.THORChain]:5000000,[yT.Maya]:5000000,[yT.Harbor]:5000000}});import{base64 as hT}from"@scure/base";import{Chain as PN,CosmosChainPrefixes as vN,derivationPathToString as SN,FeeOption as lx,getChainConfig as S1,getRPCUrl as AN,NetworkDerivationPath as nN,RequestClient as FN,SKConfig as VN,SwapKitError as A1,SwapKitNumber as n1,updateDerivationPath as $N}from"@swapkit/helpers";import{match as KN,P as F1}from"ts-pattern";function bN({prefix:y,derivationPath:f}){return async function(T,x=0){let N=await import("@cosmjs/amino"),L=N.Secp256k1HdWallet??N.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(T,{hdPaths:[_(`${f}/${x}`)],prefix:y})}}function uN(y){return hT.encode(y)}function oN(y){return async function({wallet:G,tx:T}){let{msgs:x,accountNumber:N,sequence:L,chainId:X,fee:_,memo:Z}=typeof T==="string"?JSON.parse(T):T,J=(await G.getAccounts())?.[0]?.address||"",q=await lT(y),B=await jT(),Q=await Jx(G,{aminoTypes:q,registry:B}),Y=[];for(let C of x){let R=await kT(C,y);Y.push(R)}let{signatures:[U]}=await Q.sign(J,Y,_,Z,{accountNumber:N,chainId:X,sequence:L});return{bodyBytes:await Py({chain:y,memo:Z,msgs:x.map(DT)}),signature:uN(U)}}}function jN({prefix:y,rpcUrl:f}){return async function(T,x,N,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:J}=(await import("@cosmjs/stargate")).default,{sequence:q,fee:B}=JSON.parse(T),Q=await V1(N,L),Y=x.map((C)=>[Z(_(hT.decode(C.pubKey)),y),hT.decode(C.signature)]),U=await wT(f),{transactionHash:W}=await U.broadcastTx(J(Q,q,B,X,new Map(Y)));return W}}async function V1(y,f,G=!0){let{createMultisigThresholdPubkey:T,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return T(y.map((N)=>x(hT.decode(N))),f,G)}function hN(y){return hT.decode(y)}async function pN({privateKey:y,message:f}){let{Secp256k1:G}=(await import("@cosmjs/crypto")).default,T=await G.createSignature(hT.decode(f),y);return hT.encode(Buffer.concat([T.r(32),T.s(32)]))}async function kx({chain:y,...f}){let G=await AN(y),{nodeUrl:T}=S1(y),{isStagenet:x}=VN.get("envs"),N=y===PN.THORChain,L=`${x?"s":""}${vN[y]}`,X="index"in f?f.index||0:0,_="derivationPath"in f&&f.derivationPath?f.derivationPath:$N(nN[y],{index:X}),Z=await vy({chain:y,...f}),J=await KN(f).with({phrase:F1.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:F1.any},({signer:Y})=>Y).otherwise(()=>{return}),q=CT(y);async function B(){let Y,U=`${T}/${N?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await FN.get(U);if(!W||Number.isNaN(W)||W<0)throw new A1("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});Y=new n1(W)}catch{Y=new n1({decimal:S1(y).baseDecimal,value:N?0.02:1})}return{[lx.Average]:Y,[lx.Fast]:Y,[lx.Fastest]:Y}}async function Q({assetValue:Y,memo:U="",recipient:W}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),R=(await J?.getAccounts())?.[0]?.address;if(!(R&&J))throw new A1("toolbox_cosmos_no_signer");let A="signAmino"in J,P=await jT(),F=await lT(y),o=await Gy(G,J,{aminoTypes:F,registry:P}),p=Yf({assetValue:Y,memo:U,recipient:W,sender:R});if(A){let z=await kT(p,y),{signatures:w,authInfoBytes:O}=await o.sign(R,[z],q,U),n=C.encode({authInfoBytes:O,bodyBytes:await Py({chain:y,memo:U,msgs:[p].map(DT)}),signatures:w}).finish();return(await o.broadcastTx(n)).transactionHash}let NT=DT(p),k=await kT(NT,y);return(await o.signAndBroadcast(R,[k],q,U)).transactionHash}return{...Z,broadcastMultisigTx:jN({prefix:L,rpcUrl:G}),buildAminoMsg:Yf,buildEncodedTxBody:Py,convertToSignable:kT,createDefaultAminoTypes:()=>lT(y),createDefaultRegistry:jT,createMultisig:V1,createTransaction:Mx(G),deposit:Q,getFees:B,importSignature:hN,parseAminoMessageForDirectSigning:DT,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:U}=(await import("@cosmjs/amino")).default;return U(Y,L)},secp256k1HdWalletFromMnemonic:bN({derivationPath:SN(_),prefix:L}),signMultisigTx:oN(y),signWithPrivateKey:pN,transfer:Q}}var Dx=l(()=>{Hx();Dy();Hf()});import{Chain as Sy,SwapKitError as mN}from"@swapkit/helpers";var cN=(y,f)=>{switch(y){case Sy.Cosmos:case Sy.Kujira:case Sy.Noble:return vy({chain:y,...f});case Sy.Maya:case Sy.THORChain:return kx({chain:y,...f});default:throw new mN("toolbox_cosmos_not_supported",{chain:y})}};var $1=l(()=>{Hf();Dx();Hf();Dx()});var Uf={};TT(Uf,{verifySignature:()=>P1,transferMsgAmino:()=>zx,toBase64:()=>_N,parseAminoMessageForDirectSigning:()=>DT,getSignerFromPrivateKey:()=>ON,getSignerFromPhrase:()=>Ox,getMsgSendDenom:()=>UT,getFeeRateFromSwapKit:()=>EN,getDenomWithChain:()=>Ny,getDefaultChainFee:()=>CT,getCreateTransaction:()=>Mx,getCosmosValidateAddress:()=>v1,getCosmosToolbox:()=>cN,getAssetFromDenom:()=>Qx,fromBase64:()=>ZN,fetchFeeRateFromSwapKit:()=>Ex,estimateTransactionFee:()=>lN,depositMsgAmino:()=>Wx,createThorchainToolbox:()=>kx,createStargateClient:()=>wT,createSigningStargateClient:()=>Gy,createOfflineStargateClient:()=>Jx,createDefaultRegistry:()=>jT,createDefaultAminoTypes:()=>lT,createCosmosToolbox:()=>vy,cosmosCreateTransaction:()=>qx,convertToSignable:()=>kT,buildTransferTx:()=>M1,buildEncodedTxBody:()=>Py,buildDepositTx:()=>H1,buildAminoMsg:()=>Yf,bech32ToBase64:()=>ly,base64ToBech32:()=>ky,YUM_KUJIRA_FACTORY_DENOM:()=>Z1,USK_KUJIRA_FACTORY_DENOM:()=>Bx,THORCHAIN_GAS_VALUE:()=>WN,MAYA_GAS_VALUE:()=>MN,DEFAULT_NOBLE_FEE_MAINNET:()=>q1,DEFAULT_KUJI_FEE_MAINNET:()=>J1,DEFAULT_COSMOS_FEE_MAINNET:()=>B1});var Cf=l(()=>{Hx();$1();Dy()});import{AssetValue as wf,Chain as PT,DerivationPath as tN,derivationPathToString as gN,getChainConfig as u1,getRPCUrl as iN,NetworkDerivationPath as dN,SwapKitError as mT,updateDerivationPath as rN}from"@swapkit/helpers";import{match as aN,P as K1}from"ts-pattern";async function o1(y){let f=wf.from({address:y,chain:PT.Solana});if(f.symbol!=="UNKNOWN")return{decimals:f.decimal||0,id:y,logoURI:f.getIconUrl(),name:f.symbol,symbol:f.ticker};let G=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let T=await fetch(G);if(!T.ok)return null;let x=await T.json();if(!Array.isArray(x)||x.length===0)return null;return x.find((L)=>L.id===y)||null}catch{return null}}async function sN(y){let f=await pT(),{PublicKey:G}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:T}=await import("@solana/spl-token"),x=new G(y),N=[],L=await f.getBalance(x);if(L>0){let{baseDecimal:_}=u1(PT.Solana);N.push(wf.from({chain:PT.Solana,fromBaseDecimal:_,value:L}))}let X=await f.getParsedTokenAccountsByOwner(x,{programId:T});for(let{account:_}of X.value){let Z=_.data.parsed.info,J=Z.mint,q=Z.tokenAmount.amount;if(Number(q)===0)continue;let B=await o1(J),Q=B?.symbol||"UNKNOWN",Y=B?.decimals||Z.tokenAmount.decimals;N.push(wf.from({asset:`${PT.Solana}.${Q}-${J}`,fromBaseDecimal:Y,value:q}))}return N}async function Sx(){let{PublicKey:y}=await import("@solana/web3.js");return(f)=>{try{let G=new y(f);return y.isOnCurve(G.toBytes())}catch{return!1}}}async function eN(y){let f=y&&"index"in y?y.index||0:0,G=gN(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:rN(dN[PT.Solana],{index:f})),T=await aN(y).with({phrase:K1.string},({phrase:L})=>vx({derivationPath:G,phrase:L})).with({signer:K1.any},({signer:L})=>L).otherwise(()=>{return});function x(){return T?.publicKey?b1(T.publicKey):""}function N(L){let X=L||x();if(!X)throw new mT("core_wallet_connection_not_found");return sN(X)}return{broadcastTransaction:Px(pT),createKeysForPath:vx,createTransaction:Ax(pT),createTransactionFromInstructions:xG,estimateTransactionFee:TG(pT),getAddress:x,getAddressFromPubKey:b1,getAddressValidator:Sx,getBalance:N,getConnection:pT,getPubkeyFromAddress:nx,signTransaction:GG(pT,T),transfer:NG(pT,T)}}function TG(y){return async({recipient:f,assetValue:G,memo:T,isProgramDerivedAddress:x,sender:N})=>{let L=await y(),_=(await Ax(y)({assetValue:G,isProgramDerivedAddress:x,memo:T,recipient:f,sender:N})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new mT("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:J}=u1(PT.Solana);return wf.from({chain:PT.Solana,fromBaseDecimal:J,value:Z.value})}}async function pT(){let{Connection:y}=await import("@solana/web3.js"),f=await iN(PT.Solana);return new y(f,"confirmed")}function yG(y){return async({assetValue:f,recipient:G,sender:T,isProgramDerivedAddress:x})=>{let N=await y(),L=await nx(T);if(f.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:f.getBaseValue("number"),toPubkey:new Z(G)}))}if(f.address)return fG({amount:f.getBaseValue("number"),connection:N,decimals:f.decimal,from:L,isProgramDerivedAddress:x,recipient:G,tokenAddress:f.address});return}}async function fG({tokenAddress:y,recipient:f,from:G,connection:T,amount:x,decimals:N,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:J}=await import("@solana/spl-token"),{Transaction:q,PublicKey:B}=await import("@solana/web3.js"),Q=new q,Y=new B(y),U=await X(Y,G),W=new B(f),C=await X(Y,W,L),R=!1;try{await _(T,C),R=!0}catch{}if(!R)Q.add(Z(G,C,W,Y));return Q.add(J(U,Y,C,G,x,N)),Q}function Ax(y){return async({recipient:f,assetValue:G,memo:T,isProgramDerivedAddress:x,sender:N})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await nx(N),_=await Sx();if(!(x||_(f)))throw new mT("core_transaction_invalid_recipient_address");let Z=await y(),J=await yG(y)({assetValue:G,isProgramDerivedAddress:x,recipient:f,sender:N});if(!J)throw new mT("core_transaction_invalid_sender_address");if(T)J.add(L(T));let q=await Z.getLatestBlockhash();return J.recentBlockhash=q.blockhash,J.feePayer=X,J}}async function xG({instructions:y}){let{Transaction:f}=await import("@solana/web3.js"),G=new f().add(...y);if(!G)throw new mT("core_transaction_invalid_sender_address");return G}function NG(y,f){return async({recipient:G,assetValue:T,memo:x,isProgramDerivedAddress:N})=>{if(!f)throw new mT("core_transaction_invalid_sender_address");let L=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),X=await Ax(y)({assetValue:T,isProgramDerivedAddress:N,memo:x,recipient:G,sender:L});if("signTransaction"in f){let _=await f.signTransaction(X);return Px(y)(_)}return X.sign(f),Px(y)(X)}}function Px(y){return async(f)=>{return(await y()).sendRawTransaction(f.serialize())}}function GG(y,f){return async(G)=>{let{VersionedTransaction:T}=await import("@solana/web3.js");if(!f)throw new mT("toolbox_solana_no_signer");if(!(G instanceof T)){let N=await(await y()).getLatestBlockhash();G.recentBlockhash=N.blockhash,G.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(G);return await G.sign([f]),G}}async function vx({phrase:y,derivationPath:f=tN.SOL}){let{HDKey:G}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),N=T(y),L=G.fromMasterSeed(N);return x.fromSeed(L.derive(f,!0).privateKey)}function b1(y){return y.toString()}async function nx(y){let{PublicKey:f}=await import("@solana/web3.js");return new f(y)}var j1=()=>{};var Fx={};TT(Fx,{getSolanaToolbox:()=>eN,getSolanaAddressValidator:()=>Sx,fetchTokenMetaData:()=>o1,createKeysForPath:()=>vx});var Vx=l(()=>{j1()});import{AssetValue as If,Chain as $x,getChainConfig as LG,SwapKitError as vT}from"@swapkit/helpers";import{match as XG,P as h1}from"ts-pattern";async function p1(){let{isValidSuiAddress:y}=await import("@mysten/sui/utils");return function(G){try{return y(G)}catch{return!1}}}async function _G({provider:y,...f}={}){let G=await p1(),T=await XG(f).with({phrase:h1.string},async({phrase:q})=>{let{Ed25519Keypair:B}=await import("@mysten/sui/keypairs/ed25519");return B.deriveKeypair(q)}).with({signer:h1.any},({signer:q})=>q).otherwise(()=>{return});async function x(q=y){let{SuiClient:B,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new B({url:q||Q("mainnet")})}function N(){return T?.toSuiAddress()||""}async function L(q){let B=q||N();if(!B)throw new vT("toolbox_sui_address_required");try{let Q=await x(),{totalBalance:Y}=await Q.getBalance({owner:B}),{baseDecimal:U,chain:W}=LG($x.Sui),C=[If.from({chain:W,fromBaseDecimal:U,value:Y})],R=await Q.getAllBalances({owner:B});for(let{coinType:A,totalBalance:P}of R){if(A==="0x2::sui::SUI")continue;if(Number(P)>0){let F=A.split("::").pop()?.toUpperCase()||"UNKNOWN",o=`${W}.${F}-${A}`;C.push(If.from({asset:o,fromBaseDecimal:U,value:P}))}}return C}catch(Q){throw new vT("toolbox_sui_balance_error",{error:Q})}}async function X(q){let B=If.from({chain:$x.Sui,value:"0.01"});if(!q)return B;try{let Q=await x(),{txBytes:Y}=await _(q),{effects:{status:U,gasUsed:W}}=await Q.dryRunTransactionBlock({transactionBlock:Y});if(U.status!=="success")return B;let C=Number(W.computationCost)+Number(W.storageCost)-Number(W.storageRebate);return If.from({chain:$x.Sui,value:C.toString()})}catch{return B}}async function _({recipient:q,assetValue:B,gasBudget:Q,sender:Y}){let{Transaction:U}=await import("@mysten/sui/transactions"),W=Y||N();if(!W)throw new vT("toolbox_sui_no_sender");try{let C=new U;if(C.setSender(W),B.isGasAsset||B.symbol==="SUI"){let[P]=C.splitCoins(C.gas,[B.getBaseValue("string")]);C.transferObjects([P],q)}else throw new vT("toolbox_sui_custom_token_transfer_not_implemented");if(Q)C.setGasBudget(Q);let R=await x(),A=await C.build({client:R});return{tx:C,txBytes:A}}catch(C){throw new vT("toolbox_sui_transaction_creation_error",{error:C})}}async function Z(q){if(!T)throw new vT("toolbox_sui_no_signer");if(q instanceof Uint8Array)return T.signTransaction(q);let{txBytes:B}="tx"in q?q:await _(q);return T.signTransaction(B)}async function J({assetValue:q,gasBudget:B,recipient:Q}){if(!T)throw new vT("toolbox_sui_no_signer");let Y=T.toSuiAddress()||N();if(!Y)throw new vT("toolbox_sui_no_sender");let{txBytes:U}=await _({assetValue:q,gasBudget:B,recipient:Q,sender:Y}),W=await x(),{digest:C}=await W.signAndExecuteTransaction({signer:T,transaction:U});return C}return{createTransaction:_,estimateTransactionFee:X,getAddress:N,getBalance:L,signTransaction:Z,transfer:J,validateAddress:G}}var m1=()=>{};var Rf={};TT(Rf,{getSuiToolbox:()=>_G,getSuiAddressValidator:()=>p1});var Of=l(()=>{m1()});import{AssetValue as c1,Chain as Ef,getChainConfig as t1,SwapKitError as Ly,SwapKitNumber as ZG}from"@swapkit/helpers";import{match as BG,P as g1}from"ts-pattern";async function JG(y={}){let{mnemonicToWalletKey:f}=await import("@ton/crypto"),{Address:G,TonClient:T,WalletContractV4:x}=await import("@ton/ton"),N=await i1(),L,X,_=await BG(y).with({phrase:g1.string},async({phrase:C})=>f(C.split(" "))).with({signer:g1.any},({signer:C})=>C).otherwise(()=>{return});function Z(){let{rpcUrls:C}=t1(Ef.Ton),[R]=C;if(!L||L.parameters.endpoint!==R)L=new T({endpoint:R});return L}function J(C){if(!X||C){let R=Z(),A=C||_;if(!A)throw new Ly("core_wallet_connection_not_found");let P=x.create({publicKey:A.publicKey,workchain:0});X=R.open(P)}return X}async function q(C){let R=Z(),{baseDecimal:A}=t1(Ef.Ton);try{let P=await R.getBalance(G.parse(C));return[c1.from({chain:Ef.Ton,value:ZG.fromBigInt(P,A)})]}catch(P){throw new Ly("core_wallet_connection_not_found",{error:P})}}async function B({assetValue:C,recipient:R,memo:A}){let P=J();if(!P||!_)throw new Ly("core_wallet_connection_not_found");let{toNano:F,comment:o,internal:p}=await import("@ton/ton"),NT=await P.getSeqno(),k=F(C.getValue("string")),v=A?o(A):void 0;return P.createTransfer({messages:[p({body:v,to:R,value:k})],secretKey:_.secretKey,seqno:NT})}async function Q({assetValue:C,recipient:R,memo:A}){let P=J();if(!P||!_)throw new Ly("core_wallet_connection_not_found");let F=await B({assetValue:C,memo:A,recipient:R});return await P.send(F),F.hash().toString()}async function Y(C){let R=J();if(!R)throw new Ly("core_wallet_connection_not_found");try{return await R.send(C),C.hash().toString("hex")}catch(A){throw new Ly("core_wallet_connection_not_found",{error:A})}}function U(){return J().address.toString()}function W(){return Promise.resolve(c1.from({chain:Ef.Ton,value:"0.0001"}))}return{createTransaction:B,estimateTransactionFee:W,getAddress:U,getBalance:q,sendTransaction:Y,transfer:Q,validateAddress:N}}async function i1(){let{Address:y}=await import("@ton/ton");return function(G){try{return y.parse(G),!0}catch{return!1}}}var d1=()=>{};var lf={};TT(lf,{getTONToolbox:()=>JG,getTONAddressValidator:()=>i1});var kf=l(()=>{d1()});var Xy;var Kx=l(()=>{Xy=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});import{SwapKitError as qG}from"@swapkit/helpers";async function r1(y){let f=await import("tronweb"),G=f.TronWeb??f.default?.TronWeb;try{let T=await fetch(`${QG}/v1/accounts/${y}`);if(!T.ok)throw Error(`TronGrid API error: ${T.status} ${T.statusText}`);let x=await T.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let N;try{N=G.address.toHex(y).toLowerCase()}catch{N=y.toLowerCase()}let L=x.data.find((X)=>{return X.address.toLowerCase()===N});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(T){throw new qG("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}var QG="https://api.trongrid.io";var a1=()=>{};import{AssetValue as IT,BaseDecimal as s1,Chain as QT,derivationPathToString as y5,getRPCUrl as YG,NetworkDerivationPath as f5,SwapKitError as fT,updateDerivationPath as x5,warnOnce as bx}from"@swapkit/helpers";import{match as zG,P as e1}from"ts-pattern";async function ux(){let y=await import("tronweb"),f=y.TronWeb??y.default?.TronWeb;return(G)=>{return f.isAddress(G)}}async function N5({phrase:y,derivationPath:f,index:G}){let T=f||y5(x5(f5[QT.Tron],{index:G||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:N}=await import("@scure/bip39"),L=N(y),_=x.fromMasterSeed(L).derive(T);if(!_.privateKey)throw new fT("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function CG({phrase:y,derivationPath:f,tronWeb:G}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),N=x(y),X=T.fromMasterSeed(N).derive(f);if(!X.privateKey)throw new fT("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");G.setPrivateKey(_);let Z=G?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(J)=>{return await G.trx.sign(J,_)}}}var WG=268,MG=13000,HG=345,T5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",UG="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",G5=async(y={})=>{let f=await import("tronweb"),G=f.TronWeb??f.default?.TronWeb,T=await YG(QT.Tron),x=void 0,N=new G({fullHost:T,headers:void 0}),L="index"in y?y.index||0:0,X=y5("derivationPath"in y&&y.derivationPath?y.derivationPath:x5(f5[QT.Tron],{index:L})),_=await zG(y).with({phrase:e1.string},async({phrase:k})=>CG({derivationPath:X,phrase:k,tronWeb:N})).with({signer:e1.any},({signer:k})=>Promise.resolve(k)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new fT("toolbox_tron_no_signer");return await _.getAddress()},J=()=>{return 1e8},q=async()=>{try{let k=await N.trx.getChainParameters(),v={};for(let z of k)v[z.key]=z.value;return{bandwidthFee:v.getTransactionFee||1000,createAccountFee:v.getCreateAccountFee||1e5,energyFee:v.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},B=async(k)=>{try{let v=await N.trx.getAccount(k);return v&&Object.keys(v).length>0}catch{return!1}},Q=async(k)=>{try{let v=await N.trx.getAccountResources(k);return{bandwidth:{free:v.freeNetLimit-v.freeNetUsed,total:v.NetLimit||0,used:v.NetUsed||0},energy:{total:v.EnergyLimit||0,used:v.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(k,v)=>{try{let z=N.contract(Xy,v);if(!z.methods?.balanceOf)return 0n;let[w]=await z.methods.balanceOf(k).call();return w?typeof w==="bigint"?w:BigInt(w):0n}catch(z){return console.warn(`balanceOf() failed for ${v}:`,z),0n}},U=async(k,v)=>{try{N.setAddress(v);let z=N.contract(Xy,k),[w,O]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:w??"UNKNOWN"}}catch(z){return bx({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${k}: ${z instanceof Error?z.message:z}`}),null}},W=async(k,v=!0)=>{let z=[IT.from({chain:QT.Tron})];try{let w=await r1(k);if(w){let O=[];O.push(IT.from({chain:QT.Tron,fromBaseDecimal:6,value:w.balance}));for(let n of w.trc20){let[b,K]=Object.entries(n)[0]||[];if(!(b&&K))continue;let S=await U(b,k);if(!S)continue;O.push(IT.from({asset:`TRON.${S.symbol}-${b}`,fromBaseDecimal:S.decimals,value:BigInt(K||0)}))}return O}return z}catch(w){bx({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${w instanceof Error?w.message:w}`});try{let O=[],n=await N.trx.getBalance(k);if(n&&Number(n)>0)O.push(IT.from({chain:QT.Tron,fromBaseDecimal:6,value:n}));let b=await Y(k,T5);if(b)O.push(IT.from({asset:`TRON.USDT-${T5}`,fromBaseDecimal:6,value:b}));if(O.length===0)return z;return O}catch(O){return console.error("Tron balance fetch failed:",O),z}}},C=async({recipient:k,assetValue:v,memo:z})=>{if(!_)throw new fT("toolbox_tron_no_signer");let w=await Z();if(N.setAddress(w),v.isGasAsset){let S=await N.transactionBuilder.sendTrx(k,v.getBaseValue("number"),w);if(z){let e=await N.transactionBuilder.addUpdateData(S,z,"utf8"),BT=await _.signTransaction(e),{txid:$T}=await N.trx.sendRawTransaction(BT);return $T}let m=await _.signTransaction(S),{txid:r}=await N.trx.sendRawTransaction(m);return r}let n=await A({assetValue:v,memo:z,recipient:k,sender:w}),b=await _.signTransaction(n),{txid:K}=await N.trx.sendRawTransaction(b);if(!K)throw new fT("toolbox_tron_token_transfer_failed");return K},R=async({assetValue:k,recipient:v,sender:z})=>{let w=k.isGasAsset;try{let O=z?z:_?await Z():void 0;if(!O)return w?IT.from({chain:QT.Tron,fromBaseDecimal:0,value:0.1}):IT.from({chain:QT.Tron,fromBaseDecimal:0,value:15});let n=await q(),K=await B(v)?0:n.createAccountFee,S=await Q(O);if(w){let KT=WG,hy=S.bandwidth.free+(S.bandwidth.total-S.bandwidth.used),py=0;if(KT>hy)py=(KT-hy)*n.bandwidthFee;let my=K+py;return IT.from({chain:QT.Tron,fromBaseDecimal:s1.TRON,value:my})}let m=HG,r=MG,e=S.bandwidth.free+(S.bandwidth.total-S.bandwidth.used),BT=S.energy.total-S.energy.used,$T=0;if(m>e)$T=(m-e)*n.bandwidthFee;let jy=0;if(r>BT)jy=(r-BT)*n.energyFee;let hf=K+$T+jy;return IT.from({chain:QT.Tron,fromBaseDecimal:s1.TRON,value:hf})}catch(O){throw bx({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new fT("toolbox_tron_fee_estimation_failed",{error:O})}},A=async(k)=>{let{recipient:v,assetValue:z,memo:w,sender:O,expiration:n}=k;if(z.isGasAsset){let S=await N.transactionBuilder.sendTrx(v,z.getBaseValue("number"),O);if(w)return N.transactionBuilder.addUpdateData(S,w,"utf8");if(n)N.transactionBuilder.extendExpiration(S,n);return S}N.setAddress(O);let K=z.address;if(!K)throw new fT("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let m=[{type:"address",value:v},{type:"uint256",value:z.getBaseValue("string")}],r={callValue:0,feeLimit:J()},e=await N.transactionBuilder.triggerSmartContract(K,"transfer(address,uint256)",r,m,O);if(w)return N.transactionBuilder.addUpdateData(e.transaction,w,"utf8");if(n)N.transactionBuilder.extendExpiration(e.transaction,n);return e.transaction}catch(S){throw new fT("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:S instanceof Error?S.message:String(S)})}},P=async(k)=>{if(!_)throw new fT("toolbox_tron_no_signer");return await _.signTransaction(k)},F=async(k)=>{let{txid:v}=await N.trx.sendRawTransaction(k);return v},o=async({assetAddress:k,spenderAddress:v,from:z})=>{try{let w=N.contract(Xy,k);if(!w.methods?.allowance)throw new fT("toolbox_tron_invalid_token_contract");let[O]=await w.methods.allowance(z,v).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(w){throw new fT("toolbox_tron_allowance_check_failed",{error:w})}};return{approve:async({assetAddress:k,spenderAddress:v,amount:z,from:w})=>{if(!_)throw new fT("toolbox_tron_no_signer");let O=w||await Z(),n=z!==void 0?BigInt(z).toString():UG,b="approve(address,uint256)",K=[{type:"address",value:v},{type:"uint256",value:n}],m={callValue:0,feeLimit:J()};try{let{transaction:r}=await N.transactionBuilder.triggerSmartContract(k,b,m,K,O),e=await _.signTransaction(r),{txid:BT}=await N.trx.sendRawTransaction(e);if(!BT)throw new fT("toolbox_tron_approve_failed");return BT}catch(r){throw new fT("toolbox_tron_approve_failed",{error:r})}},broadcastTransaction:F,createTransaction:A,estimateTransactionFee:R,getAddress:Z,getApprovedAmount:o,getBalance:W,isApproved:async({assetAddress:k,spenderAddress:v,from:z,amount:w})=>{let O=await o({assetAddress:k,from:z,spenderAddress:v});if(!w)return O>0n;let n=BigInt(w);return O>=n},signTransaction:P,transfer:C,tronWeb:N,validateAddress:await ux()}};var L5=l(()=>{Kx();a1()});var ox={};TT(ox,{trc20ABI:()=>Xy,getTronPrivateKeyFromMnemonic:()=>N5,getTronAddressValidator:()=>ux,createTronToolbox:()=>G5});var jx=l(()=>{Kx();L5()});import{networks as wG}from"@bitgo/utxo-lib";import{Chain as a,getRPCUrl as IG,RequestClient as Df,SKConfig as Z5,SwapKitError as ST,warnOnce as B5}from"@swapkit/helpers";import{networks as RG}from"bitcoinjs-lib";import Ay from"coininfo";async function OG({chain:y,txHash:f}){let G=`${Pf(y)}/push/transaction`,T=JSON.stringify({data:f});try{let x=await Df.post(G,{body:T,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new ST("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||f}catch(x){let N=await IG(y);if(N){let L=JSON.stringify({id:A0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),X=await Df.post(N,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new ST("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new ST("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw x}}function Pf(y){return`https://api.blockchair.com/${EG(y)}`}function X5(y){switch(y){case a.Bitcoin:return 5;case a.Dogecoin:return 1e4;case a.Litecoin:return 1;case a.Zcash:return 1;default:return 2}}function EG(y){switch(y){case a.BitcoinCash:return"bitcoin-cash";case a.Litecoin:return"litecoin";case a.Dash:return"dash";case a.Dogecoin:return"dogecoin";case a.Zcash:return"zcash";case a.Polkadot:return"polkadot";default:return"bitcoin"}}async function lG(y){try{let{feePerKb:f}=await Df.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),G=f/1000;return Math.max(G,X5(y))}catch{return X5(y)}}async function hx(y,f){let G=await Df.get(`${y}${f?`${y.includes("?")?"&":"?"}key=${f}`:""}`);if(!G||G.context.code!==200)throw new ST("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return G.data}async function J5({address:y,chain:f,apiKey:G}){if(!y)throw new ST("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await hx(`${Pf(f)}/dashboards/address/${y}?transaction_details=true`,G))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function kG({address:y,chain:f,apiKey:G}){return(await J5({address:y,apiKey:G,chain:f}))?.address.balance||0}async function q5({chain:y,apiKey:f,txHash:G}){if(!G)throw new ST("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await hx(`${Pf(y)}/raw/transaction/${G}`,f))?.[G]?.raw_transaction||""}catch(T){return console.error("Failed to fetch raw transaction:",T),""}}async function DG({chain:y,address:f,apiKey:G,offset:T=0,limit:x=30}){return(await hx(`${Pf(y)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${T}`,G)).map(({is_spent:_,script_hex:Z,block_id:J,transaction_hash:q,index:B,value:Q,spending_signature_hex:Y})=>({hash:q,index:B,is_confirmed:J!==-1,is_spent:_,script_hex:Z,txHex:Y,value:Q}))}function PG(y){return y.reduce((f,G)=>f+G.value,0)}function _5(y,f){let G=[...y].sort((T,x)=>x.value-T.value);if(f){let T=[],x=0;for(let N of G)if(T.push(N),x+=N.value,x>=f)break;return T}return G}async function Q5({chain:y,address:f,apiKey:G,targetValue:T,accumulativeValue:x=0,offset:N=0,limit:L=30}){if(!f)throw new ST("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await DG({address:f,apiKey:G,chain:y,limit:L,offset:N,targetValue:T}),Z=X.length<L,J=X.filter(({is_spent:W})=>!W),q=PG(J),B=x+q,Q=T&&B>=T;if(Z||Q)return _5(J,T);let Y=await Q5({accumulativeValue:B,address:f,apiKey:G,chain:y,limit:L,offset:N+L,targetValue:T}),U=[...J,...Y];return _5(U,T)}catch(X){return console.error("Failed to fetch unspent UTXOs:",X),[]}}async function vG({address:y,chain:f,apiKey:G,fetchTxHex:T=!0,targetValue:x}){let N=await Q5({address:y,apiKey:G,chain:f,targetValue:x}),L=[];for(let{hash:X,index:_,script_hex:Z,value:J}of N){let q;if(T)q=await q5({apiKey:G,chain:f,txHash:X});L.push({address:y,hash:X,index:_,txHex:q,value:J,witnessUtxo:{script:Buffer.from(Z,"hex"),value:J}})}return L}function SG(y){let f=Z5.get("apiKeys").blockchair||"";return B5({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(G)=>OG({chain:y,txHash:G}),getAddressData:(G)=>J5({address:G,apiKey:f,chain:y}),getBalance:(G)=>kG({address:G,apiKey:f,chain:y}),getRawTx:(G)=>q5({apiKey:f,chain:y,txHash:G}),getSuggestedTxFee:()=>lG(y),getUtxos:(G)=>vG({...G,apiKey:f,chain:y})}}function AG(y){return y}function GT(y){let f=Z5.get("apis")[y];if(f)return B5({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return SG(y)}function YT(){return function(f){switch(f){case a.Bitcoin:return RG.bitcoin;case a.BitcoinCash:return Ay.bitcoincash.main.toBitcoinJS();case a.Dash:return Ay.dash.main.toBitcoinJS();case a.Litecoin:return Ay.litecoin.main.toBitcoinJS();case a.Dogecoin:{let G={private:70615956,public:70617039},T=Ay.dogecoin.test;return T.versions.bip32=G,Ay.dogecoin.main.toBitcoinJS()}case a.Zcash:return wG.zcash;default:throw new ST("toolbox_utxo_not_supported",{chain:f})}}}var Y5=l(()=>{My()});import{SwapKitError as W5}from"@swapkit/helpers";import M5 from"bs58check";import H5 from"cashaddrjs";function mx(y){try{return vf(y),!0}catch{return!1}}function cx(y){return vf(y)?.network}function _y(y){let f=vf(y);if(f?.format==="legacy")return y;return VG(f)}function ny(y){let f=vf(y);return $G(f)}function vf(y){try{let f=nG(y);if(f)return f}catch{}try{let f=FG(y);if(f)return f}catch{}throw new W5("toolbox_utxo_invalid_address",{address:y})}function nG(y){try{let f=M5.decode(y);if(f.length!==21)throw new W5("toolbox_utxo_invalid_address",{address:y});let G=f[0],T=Array.prototype.slice.call(f,1);switch(G){case cT.legacy.mainnet.p2pkh:return{format:"legacy",hash:T,network:"mainnet",type:"p2pkh"};case cT.legacy.mainnet.p2sh:return{format:"legacy",hash:T,network:"mainnet",type:"p2sh"};case cT.legacy.testnet.p2pkh:return{format:"legacy",hash:T,network:"testnet",type:"p2pkh"};case cT.legacy.testnet.p2sh:return{format:"legacy",hash:T,network:"testnet",type:"p2sh"};case cT.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2pkh"};case cT.bitpay.mainnet.p2sh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function FG(y){if(y.indexOf(":")!==-1)try{return z5(y)}catch{}else{let f=["bitcoincash","bchtest","bchreg"];for(let G of f)try{return z5(`${G}:${y}`)}catch{}}return}function z5(y){try{let{hash:f,prefix:G,type:T}=H5.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:G==="bitcoincash"?"mainnet":"testnet",type:T==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function VG(y){let f=cT.legacy[y.network][y.type],G=Buffer.alloc(1+y.hash.length);return G[0]=f,G.set(y.hash,1),M5.encode(G)}function $G(y){let f=y.network==="mainnet"?"bitcoincash":"bchtest",G=y.type==="p2pkh"?"P2PKH":"P2SH",T=new Uint8Array(y.hash);return H5.encode(f,G,T)}var px,cT;var U5=l(()=>{((G)=>{G.Mainnet="mainnet";G.Testnet="testnet"})(px||={});cT={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as KG}from"@swapkit/helpers";import{opcodes as bG,script as uG}from"bitcoinjs-lib";function zT(y){let f=Buffer.from(y,"utf8");return uG.compile([bG.OP_RETURN,f])}var oG=1000,nf=10,C5=10,jG=41,hG=107,Ff,Sf,Af,Fy=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new KG("toolbox_utxo_invalid_address",{address:y})},Zy=({inputs:y,outputs:f,feeRate:G})=>{let T=y[0]&&"address"in y[0]&&y[0].address?Fy(y[0].address):"P2PKH",x=y.filter((L)=>L.value>=Sf["type"in L?L.type:"P2PKH"]*Math.ceil(G)).reduce((L,X)=>L+AT(X),0),N=f?.reduce((L,X)=>L+Vy(X),0)||Af[T];return nf+x+N},AT=(y)=>{if("type"in y)return Sf[y.type];if("address"in y&&y.address)return Sf[Fy(y.address)];return jG+hG},Vy=(y,f)=>{if(y?.script)return C5+y.script.length+(y.script.length>=74?2:1);if(f)return Af[f];return Af.P2PKH};var tx=l(()=>{((G)=>{G.P2PKH="P2PKH";G.P2WPKH="P2WPKH"})(Ff||={});Sf={["P2PKH"]:148,["P2WPKH"]:68},Af={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as tT,SwapKitError as pG}from"@swapkit/helpers";function Vf(y){switch(y){case tT.Bitcoin:case tT.BitcoinCash:return 550;case tT.Dash:case tT.Litecoin:return 5500;case tT.Dogecoin:return 1e5;case tT.Zcash:return 546;default:throw new pG("toolbox_utxo_not_supported",{chain:y})}}function WT({inputs:y,outputs:f,feeRate:G=1,chain:T=tT.Bitcoin,changeAddress:x=""}){let N=Math.ceil(G),L=y[0]&&"address"in y[0]&&y[0].address?Fy(y[0].address):"P2PKH",X=y.filter((Q)=>AT(Q)*N<=Q.value),_=nf+f.reduce((Q,Y)=>Q+Vy(Y,L),0),Z=f.reduce((Q,Y)=>Q+Y.value,0),J=_*N,q=0,B=[];for(let Q of X){let Y=AT(Q),U=N*Y;J+=U,q+=Q.value,B.push(Q);let W=J+Z;if(q<W)continue;let C=q-W,R=N*Vy({address:"",value:0},L);if(C>R){let A=R+J,P=q-(Z+A);if(P>Math.max(AT({})*N,Vf(T)))return{fee:A,inputs:B,outputs:f.concat({address:x,value:P})}}return{fee:J,inputs:B,outputs:f}}return{fee:N*Zy({feeRate:N,inputs:y,outputs:f})}}var w5=l(()=>{tx()});var By=l(()=>{Y5();U5();w5();tx()});import{networks as mG,address as cG}from"@bitgo/utxo-lib";import tG from"bs58check";function gT(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function nT(y){let f=gT(y);return mx(f)&&cx(f)==="mainnet"}function Jy(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=mG.zcash;try{return cG.toOutputScript(y,f),!0}catch{let G=tG.decode(y);if(G.length<21)return!1;let T=G[0];return T===f.pubKeyHash||T===f.scriptHash}}catch{return!1}}var $y=l(()=>{By()});import ix from"@bitcoinerlab/secp256k1";import{ECPair as gG,HDNode as iG}from"@psf/bitcoincashjs-lib";import{HDKey as dG}from"@scure/bip32";import{mnemonicToSeedSync as I5}from"@scure/bip39";import{AssetValue as gx,applyFeeMultiplier as R5,Chain as LT,DerivationPath as rG,derivationPathToString as aG,FeeOption as RT,NetworkDerivationPath as sG,SwapKitError as OT,SwapKitNumber as eG,updateDerivationPath as TL}from"@swapkit/helpers";import{address as yL,initEccLib as E5,Psbt as fL,payments as O5}from"bitcoinjs-lib";import{ECPairFactory as xL}from"ecpair";function l5({inputs:y,outputs:f,chain:G,psbt:T,sender:x,compiledMemo:N}){for(let L of y){let X=!!L.witnessUtxo&&!Ky.includes(G)&&{witnessUtxo:L.witnessUtxo},_=Ky.includes(G)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};T.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of f){let X="address"in L&&L.address?L.address:x,_=L.script;if(_&&!N)continue;let Z=_?{script:N,value:0}:{address:X,value:L.value};E5(ix),T.addOutput(Z)}return{inputs:y,psbt:T}}async function k5({assetValue:y,recipient:f,memo:G,feeRate:T,sender:x,fetchTxHex:N=!1}){let L=y.chain,X=G?await zT(G):null,_=await v5({assetValue:y,fetchTxHex:N,memo:G,recipient:f,sender:x}),{inputs:Z,outputs:J}=WT({..._,chain:L,feeRate:T});if(!(Z&&J))throw new OT("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await YT(),B=new fL({network:q(L)});if(L===LT.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:Q,inputs:Y}=await l5({chain:L,compiledMemo:X,inputs:Z,outputs:J,psbt:B,sender:x});return{inputs:Y,psbt:Q,utxos:_.inputs}}async function D5(){let y=await YT();return function({address:G,chain:T}){if(T===LT.BitcoinCash)return nT(G);if(T===LT.Zcash)return Jy(G);try{return E5(ix),yL.toOutputScript(G,y(T)),!0}catch{return!1}}}async function NL({chain:y,phrase:f,derivationPath:G}){let T=(await by(y))({derivationPath:G,phrase:f});async function x(L){return await L.signAllInputs(T),L}function N(){return dx(y)(T)}return{getAddress:N,signTransaction:x}}async function iT({chain:y,...f}){let G="phrase"in f?f.phrase:void 0,T="index"in f?f.index||0:0,x=aG("derivationPath"in f&&f.derivationPath?f.derivationPath:TL(sG[y],{index:T})),N=G?await NL({chain:y,derivationPath:x,phrase:G}):("signer"in f)?f.signer:void 0;function L(){return Promise.resolve(N?.getAddress())}let X=await D5(),_=await by(y);return{accumulative:WT,broadcastTx:(Z)=>GT(y).broadcastTx(Z),calculateTxSize:Zy,createKeysForPath:_,createTransaction:k5,estimateMaxSendableAmount:GL(y),estimateTransactionFee:LL(y),getAddress:L,getAddressFromKeys:dx(y),getBalance:rT(y),getFeeRates:()=>uy(y),getInputsOutputsFee:P5,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:XL(N),validateAddress:(Z)=>X({address:Z,chain:y})}}async function P5({assetValue:y,feeOptionKey:f=RT.Fast,feeRate:G,memo:T,sender:x,recipient:N}){let L=y.chain,X=await v5({assetValue:y,memo:T,recipient:N,sender:x}),_=G?Math.floor(G):(await uy(L))[f];return WT({...X,chain:L,feeRate:_})}function GL(y){return async function({from:G,memo:T,feeRate:x,feeOptionKey:N=RT.Fast,recipients:L=1}){let X=await GT(y).getAddressData(G),_=x?Math.ceil(x):(await uy(y))[N],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(Vf(y),AT(Y)*_));if(!Z?.length)return gx.from({chain:y});let J=gx.from({chain:y,value:Z.reduce((Y,U)=>Y+U.value,0)}),q=typeof L==="number"?Array.from({length:L},()=>({address:G,value:0})):L;if(T){let Y=await zT(T);q.push({address:G,script:Y,value:0})}let Q=Zy({feeRate:_,inputs:Z,outputs:q})*_;return J.sub(Q)}}function LL(y){return async(f)=>{let G=await P5(f);return gx.from({chain:y,value:eG.fromBigInt(BigInt(G.fee),8).getValue("string")})}}async function by(y){let f=await YT();switch(y){case LT.BitcoinCash:return function({phrase:T,derivationPath:x=`${rG.BCH}/0`,wif:N}){let L=f(y);if(N)return gG.fromWIF(N,L);if(!T)throw new OT("toolbox_utxo_invalid_params",{error:"No phrase provided"});return iG.fromSeedBuffer(Buffer.from(I5(T)),L).derivePath(x).keyPair};case LT.Bitcoin:case LT.Dogecoin:case LT.Litecoin:case LT.Zcash:case LT.Dash:return function({phrase:T,wif:x,derivationPath:N}){if(!(x||T))throw new OT("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=xL(ix),X=f(y);if(x)return L.fromWIF(x,X);let _=I5(T),Z=dG.fromMasterSeed(_,X).derive(N);if(!Z.privateKey)throw new OT("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new OT("toolbox_utxo_not_supported",{chain:y})}}function dx(y){let f=YT();return function(T){if(!T)throw new OT("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=Ky.includes(y)?O5.p2pkh:O5.p2wpkh,{address:N}=x({network:f(y),pubkey:T.publicKey});if(!N)throw new OT("toolbox_utxo_invalid_address",{error:"Address not defined"});return N}}function XL(y){return async function({memo:G,recipient:T,feeOptionKey:x,feeRate:N,assetValue:L}){let X=await y?.getAddress(),_=L.chain;if(!(y&&X))throw new OT("toolbox_utxo_no_signer");if(!T)throw new OT("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=N||(await uy(_))[x||RT.Fast],{psbt:J}=await k5({assetValue:L,feeRate:Z,memo:G,recipient:T,sender:X}),q=await y.signTransaction(J);return q.finalizeAllInputs(),GT(_).broadcastTx(q.extractTransaction().toHex())}}async function uy(y){let f=await GT(y).getSuggestedTxFee();return{[RT.Average]:f,[RT.Fast]:R5(f,RT.Fast),[RT.Fastest]:R5(f,RT.Fastest)}}async function v5({assetValue:y,recipient:f,memo:G,sender:T,fetchTxHex:x=!1}){let N=y.chain,L=(await uy(N))[RT.Fastest],X=x||Ky.includes(N),_=y.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await GT(N).getUtxos({address:T,fetchTxHex:X,targetValue:Z}),outputs:[{address:f,value:_},...G?[{address:"",script:await zT(G),value:0}]:[]]}}var Ky;var oy=l(()=>{My();By();$y();Ky=[LT.Dash,LT.Dogecoin,LT.Zcash,LT.BitcoinCash]});import{address as _L,Transaction as ZL,TransactionBuilder as BL}from"@psf/bitcoincashjs-lib";import{Chain as JL,derivationPathToString as qL,FeeOption as QL,NetworkDerivationPath as YL,SwapKitError as qy,updateDerivationPath as zL}from"@swapkit/helpers";import{Psbt as WL}from"bitcoinjs-lib";function dT(y){return gT(ny(y))}function ML(y){function f({builder:T,utxos:x}){return x.forEach((N,L)=>{T.sign(L,y,void 0,65,N.witnessUtxo?.value)}),T.build()}return{getAddress:()=>{let T=y.getAddress(0);return Promise.resolve(dT(T))},signTransaction:f}}async function rx(y){let f="phrase"in y?y.phrase:void 0,G="index"in y?y.index||0:0,T=qL("derivationPath"in y&&y.derivationPath?y.derivationPath:zL(YL[ZT],{index:G})),x=f?(await by(ZT))({derivationPath:T,phrase:f}):void 0,N=x?ML(x):("signer"in y)?y.signer:void 0;function L(){return Promise.resolve(N?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...J}=await iT({chain:ZT});function q(B,Q=!0){return X(gT(ny(B)))}return{...J,broadcastTx:Z,buildTx:UL,createTransaction:S5,getAddress:L,getAddressFromKeys:CL,getBalance:q,getFeeRates:_,stripPrefix:gT,stripToCashAddress:dT,transfer:HL({broadcastTx:Z,getFeeRates:_,signer:N}),validateAddress:nT}}async function S5({assetValue:y,recipient:f,memo:G,feeRate:T,sender:x}){if(!nT(f))throw new qy("toolbox_utxo_invalid_address",{address:f});let N=Math.ceil(y.getBaseValue("number")+T*7500),L=await GT(ZT).getUtxos({address:dT(x),fetchTxHex:!0,targetValue:N}),X=G?await zT(G):null,_=[];_.push({address:f,value:y.getBaseValue("number")});let{inputs:Z,outputs:J}=WT({chain:ZT,feeRate:T,inputs:L,outputs:_});if(!(Z&&J))throw new qy("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await YT(),B=new BL(q(ZT));await Promise.all(Z.map(async(Q)=>{let Y=await GT(ZT).getRawTx(Q.hash);B.addInput(ZL.fromBuffer(Buffer.from(Y,"hex")),Q.index)}));for(let Q of J){let Y="address"in Q&&Q.address?Q.address:_y(x),U=await YT(),W=_L.toOutputScript(_y(Y),U(ZT));B.addOutput(W,Q.value)}if(X)B.addOutput(X,0);return{builder:B,utxos:Z}}function HL({broadcastTx:y,getFeeRates:f,signer:G}){return async function({recipient:x,assetValue:N,feeOptionKey:L=QL.Fast,...X}){let _=await G?.getAddress();if(!(G&&_))throw new qy("toolbox_utxo_no_signer");if(!x)throw new qy("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await f())[L],{builder:J,utxos:q}=await S5({...X,assetValue:N,feeRate:Z,recipient:x,sender:_}),Q=(await G.signTransaction({builder:J,utxos:q})).toHex();return y(Q)}}async function UL({assetValue:y,recipient:f,memo:G,feeRate:T,sender:x,setSigHashType:N}){let L=ny(f);if(!nT(L))throw new qy("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(y.getBaseValue("number")+T*7500),_=await GT(ZT).getUtxos({address:dT(x),fetchTxHex:!1,targetValue:X}),Z=Number(T.toFixed(0)),J=G?await zT(G):null,q=[];if(q.push({address:_y(f),value:y.getBaseValue("number")}),J)q.push({script:J,value:0});let{inputs:B,outputs:Q}=WT({chain:ZT,feeRate:Z,inputs:_,outputs:q});if(!(B&&Q))throw new qy("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let Y=await YT(),U=new WL({network:Y(ZT)});for(let{hash:W,index:C,witnessUtxo:R}of B)U.addInput({hash:W,index:C,sighashType:N?65:void 0,witnessUtxo:R});for(let W of Q){let C="address"in W&&W.address?W.address:_y(x),R=W.script?J?{script:J,value:0}:void 0:{address:C,value:W.value};if(R)U.addOutput(R)}return{inputs:B,psbt:U,utxos:_}}function CL(y){let f=y.getAddress(0);return dT(f)}var ZT;var $f=l(()=>{By();oy();$y();ZT=JL.BitcoinCash});import{bitgo as wL,crypto as IL,ECPair as n5,networks as RL,address as OL}from"@bitgo/utxo-lib";import{HDKey as F5}from"@scure/bip32";import{mnemonicToSeedSync as V5}from"@scure/bip39";import{Chain as Kf,derivationPathToString as EL,FeeOption as lL,NetworkDerivationPath as kL,SKConfig as DL,SwapKitError as bf,updateDerivationPath as PL}from"@swapkit/helpers";import vL from"bs58check";import{match as SL,P as ax}from"ts-pattern";function $5(){return RL.zcash}function K5(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function AL({phrase:y,derivationPath:f}){let G=V5(y),x=F5.fromMasterSeed(G).derive(f);if(!x.privateKey)throw new bf("toolbox_utxo_invalid_params");let N=K5(),L=n5.fromPrivateKey(Buffer.from(x.privateKey),{network:N}),X=IL.hash160(L.publicKey),{isStagenet:_}=DL.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),J=Buffer.concat([Z,X]),q=vL.encode(J);return{getAddress:()=>Promise.resolve(q),signTransaction:(B)=>{let Q=B.signAllInputs(L);return Promise.resolve(Q)}}}function nL({inputs:y,outputs:f,psbt:G,sender:T,compiledMemo:x}){for(let N of y){let L=!!N.witnessUtxo&&{witnessUtxo:{...N.witnessUtxo,value:BigInt(N.value)}},X=!N.witnessUtxo&&{nonWitnessUtxo:N.txHex?Buffer.from(N.txHex,"hex"):void 0};G.addInput({hash:N.hash,index:N.index,...L,...X})}for(let N of f){let L="address"in N&&N.address?N.address:T,X=N.script;if(X&&!x)continue;let _=X?{script:x,value:0n}:{script:OL.toOutputScript(L,$5()),value:BigInt(N.value)};G.addOutput(_)}return{inputs:y,psbt:G}}async function A5(y){let{assetValue:f,recipient:G,memo:T,feeRate:x,sender:N,fetchTxHex:L}=y,X=T?zT(T):null,_=await GT(Kf.Zcash).getUtxos({address:N,fetchTxHex:L!==!1}),Z=[{address:G,value:Number(f.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:J,outputs:q}=WT({chain:Kf.Zcash,changeAddress:N,feeRate:x,inputs:_,outputs:Z});if(!(J&&q))throw new bf("toolbox_utxo_insufficient_balance",{assetValue:f,sender:N});let B=wL.createPsbtForNetwork({network:$5()},{version:455}),Y=3268858036,U=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=Buffer.allocUnsafe(4);W.writeUInt32LE(Y>>>0,0),B.addUnknownKeyValToGlobal({key:U,value:W});let{psbt:C,inputs:R}=await nL({compiledMemo:X,inputs:J,outputs:q,psbt:B,sender:N});return{inputs:R,outputs:q,psbt:C}}async function sx(y){let f=await SL(y).with({signer:ax.not(ax.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:ax.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||kL[Kf.Zcash]||[44,133,0,0,0],J=PL(Z,{index:_}),q=EL(J);return AL({derivationPath:q,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),G=await iT({chain:Kf.Zcash,signer:f});async function T({recipient:L,assetValue:X,feeOptionKey:_=lL.Fast,...Z}){let J=await f?.getAddress();if(!(f&&J))throw new bf("toolbox_utxo_no_signer");let q=Z.feeRate||(await G.getFeeRates())[_],{psbt:B}=await A5({...Z,assetValue:X,feeRate:q,recipient:L,sender:J}),Q=await f.signTransaction(B);return Q.finalizeAllInputs(),G.broadcastTx(Q.extractTransaction().toHex())}function x({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=V5(L),J=F5.fromMasterSeed(_).derive(X);if(!J.privateKey)throw new bf("toolbox_utxo_invalid_params");let q=K5();return n5.fromPrivateKey(Buffer.from(J.privateKey),{network:q})}function N({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return x({derivationPath:X,phrase:L}).toWIF()}return{...G,createKeysForPath:x,createTransaction:A5,getPrivateKeyFromMnemonic:N,transfer:T,validateAddress:Jy}}var ex=l(()=>{By();oy();$y()});import{Chain as Qy,SwapKitError as FL}from"@swapkit/helpers";async function VL(y,f){switch(y){case Qy.BitcoinCash:return await rx(f||{});case Qy.Zcash:return await sx(f);case Qy.Bitcoin:case Qy.Dogecoin:case Qy.Litecoin:case Qy.Dash:return await iT({chain:y,...f});default:throw new FL("toolbox_utxo_not_supported",{chain:y})}}var b5=l(()=>{$f();oy();ex();$f();$y()});var T0={};TT(T0,{validateZcashAddress:()=>Jy,toLegacyAddress:()=>_y,toCashAddress:()=>ny,stripToCashAddress:()=>dT,stripPrefix:()=>gT,nonSegwitChains:()=>Ky,isValidAddress:()=>mx,getUtxoToolbox:()=>VL,getUtxoNetwork:()=>YT,getUtxoApi:()=>GT,getUTXOAddressValidator:()=>D5,getScriptTypeForAddress:()=>Fy,getOutputSize:()=>Vy,getInputSize:()=>AT,getDustThreshold:()=>Vf,getCreateKeysForPath:()=>by,detectAddressNetwork:()=>cx,createZcashToolbox:()=>sx,createUTXOToolbox:()=>iT,createCustomUtxoApi:()=>AG,createBCHToolbox:()=>rx,compileMemo:()=>zT,calculateTxSize:()=>Zy,bchValidateAddress:()=>nT,addressFromKeysGetter:()=>dx,addInputsAndOutputs:()=>l5,accumulative:()=>WT,UtxoNetwork:()=>px,UTXOScriptType:()=>Ff,TX_OVERHEAD:()=>nf,OutputSizes:()=>Af,OP_RETURN_OVERHEAD:()=>C5,MIN_TX_FEE:()=>oG,InputSizes:()=>Sf});var y0=l(()=>{By();b5();$f();oy();ex()});import{KeyPairSigner as $L}from"@near-js/signers";import{derivationPathToString as KL,SwapKitError as bL}from"@swapkit/helpers";async function uf(){let{validateAccountId:y}=await import("near-sdk-js");return(f)=>{try{return y(f)}catch{let G=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&G.test(f)}}}async function of(y){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:G}=await import("@near-js/crypto"),T=y.index||0,x=y.derivationPath?KL(y.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:N}=f(y.phrase,x),L=G.fromString(N);return o5(L)}async function f0(y){let{KeyPair:f}=await import("@near-js/crypto"),G=f.fromString(y);return o5(G)}function o5(y){return new u5(y)}async function jf(y,f){let T=(await y.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!T)throw new bL("toolbox_near_no_public_key_found");let{PublicKey:x}=await import("@near-js/crypto"),N=x.fromString(T.public_key);return{nonce:T.access_key.nonce||0,publicKey:N}}var u5;var x0=l(()=>{u5=class u5 extends $L{#T;constructor(y){super(y);this.#T=y}getAddress(){let y=this.#T.getPublicKey(),f=Buffer.from(y.data).toString("hex");return Promise.resolve(f)}}});function N0(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function G0(y){return"contractId"in y&&"methodName"in y}function L0(y){return"actions"in y}function X0(y){return"newAccountId"in y}function _0(y){return"contractCode"in y}function Z0(y){return"customEstimator"in y}function B0(y){let f=0;for(let G of y)switch(G.enum){case"transfer":f+=Number(s.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(s.CONTRACT_CALL);break;case"createAccount":f+=Number(s.ACCOUNT_CREATION);break;case"deployContract":f+=Number(s.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(s.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(s.ACCESS_KEY_DELETION);break;case"stake":f+=Number(s.STAKE);break;default:f+=Number(s.CONTRACT_CALL)}return f.toString()}function J0(y){if(y==="ft_transfer"||y==="ft_transfer_call")return s.TOKEN_TRANSFER;if(y==="storage_deposit")return s.STORAGE_DEPOSIT;return s.CONTRACT_CALL}function uL(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function oL(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var s;var q0=l(()=>{s={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 Q0({account:y,contractId:f,viewMethods:G,changeMethods:T}){let{Contract:x}=await import("@near-js/accounts");return new x(y,f,{changeMethods:T,useLocalViewExecution:!0,viewMethods:G})}import{AssetValue as j5,Chain as Yy,getChainConfig as h5,getRPCUrl as jL,SwapKitError as xT}from"@swapkit/helpers";async function hL(y){let{P:f,match:G}=await import("ts-pattern"),{JsonRpcProvider:T}=await import("@near-js/providers"),x=await G(y).with({phrase:f.string},async(z)=>{return await of(z)}).with({signer:f.any},({signer:z})=>z).otherwise(()=>{return}),N=await jL(Yy.Near),L=new T({url:N});async function X(z){let{Account:w}=await import("@near-js/accounts"),O=z||await _();return new w(O,L,x)}async function _(){if(!x)throw new xT("toolbox_near_no_signer");return await x.getAddress()}async function Z(z){return(await p({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function J(z){let O=[await U({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return NT({actions:O,receiverId:z.contractId})}async function q(z){if(!x)throw new xT("toolbox_near_no_signer");let{assetValue:w,recipient:O,memo:n}=z,b=await _();if(!w.isGasAsset&&w.address){if(!await Z({accountId:O,contractId:w.address}))return J({assetValue:w,contractId:w.address,memo:n,recipient:O})}let K=await B({...z,sender:b});return R(K)}async function B(z){let{recipient:w,assetValue:O,memo:n,attachedDeposit:b,sender:K,functionCall:S}=z,m=await uf();if(!m(w))throw new xT("toolbox_near_invalid_address",{recipient:w});if(!m(K))throw new xT("toolbox_near_invalid_address",{signerId:K});if(S)return Y({...S,sender:K});if(!O.isGasAsset){let my=O.address;if(!my)throw new xT("toolbox_near_missing_contract_address");return Y({args:{amount:O.getBaseValue("string"),memo:n||null,receiver_id:w},attachedDeposit:b||"1",contractId:my,gas:"250000000000000",methodName:"ft_transfer",sender:K})}let{publicKey:r,nonce:e}=await jf(L,K),BT=O.getBaseValue("bigint"),{actionCreators:$T,createTransaction:jy}=await import("@near-js/transactions"),{baseDecode:hf}=await import("@near-js/utils"),KT=[$T.transfer(BT)];if(n&&b)KT.push($T.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(b)));let hy=await L.block({finality:"final"}),py=hf(hy.header.hash);return jy(K,r,w,e+1,KT,py)}function Q(z){let w=z.encode();return Buffer.from(w).toString("base64")}async function Y(z){let{sender:w}=z,{publicKey:O,nonce:n}=await jf(L,w),{createTransaction:b,actionCreators:K}=await import("@near-js/transactions"),{baseDecode:S}=await import("@near-js/utils"),m=await L.block({finality:"final"}),r=S(m.header.hash),e=[K.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return b(w,O,z.contractId,n+1,e,r)}async function U(z){let{actionCreators:w}=await import("@near-js/transactions");return w.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function W(z){if(!x)throw new xT("toolbox_near_no_signer");let[w,O]=await x.signTransaction(z);return O}async function C(z){return(await L.sendTransaction(z)).transaction.hash}async function R(z){if(!x)throw new xT("toolbox_near_no_signer");try{let w=await W(z);return await C(w)}catch{return x.signAndSendTransactions?.({transactions:[z]})}}async function A(z){if("assetValue"in z){let b=BigInt("115123062500")+BigInt("108059500000"),K=await P(),S=b*BigInt(K.toString()),{baseDecimal:m}=h5(Yy.Near);return j5.from({chain:Yy.Near,fromBaseDecimal:m,value:S.toString()})}let w=x?await X():void 0;return k(z,w)}async function P(){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 F(z,w,O){if(!x)throw new xT("toolbox_near_no_signer");let n=await X(),{formatNearAmount:b}=await import("@near-js/utils"),{PublicKey:K}=await import("@near-js/crypto"),S=b(O)||"0";return(await n.createAccount(z,K.fromString(w),BigInt(S))).transaction.hash}async function o(z){try{if(!x)throw new xT("toolbox_near_no_signer");let{actionCreators:w}=await import("@near-js/transactions"),{contractId:O,methodName:n,args:b,deposit:K}=z,S=await X(),m=await k({args:b||{},contractId:O,methodName:n}),r=w.functionCall(n,b||{},m.getBaseValue("bigint"),BigInt(K||"1"));return(await S.signAndSendTransaction({actions:[r],receiverId:O})).transaction_outcome.id}catch(w){throw new xT("toolbox_near_transfer_failed",{error:w})}}async function p(z){let w=await X();return Q0({account:w,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function NT(z){if(!x)throw new xT("toolbox_near_no_signer");if(z.actions.length===0)throw new xT("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function k(z,w){let{baseDecimal:O}=h5(Yy.Near),n=await G(z).when(N0,()=>s.SIMPLE_TRANSFER).when(G0,(S)=>J0(S.methodName)).when(L0,(S)=>B0(S.actions)).when(X0,()=>s.ACCOUNT_CREATION).when(_0,()=>s.CONTRACT_DEPLOYMENT).when(Z0,(S)=>{if(!w)throw new xT("toolbox_near_no_account");return S.customEstimator(w)}).otherwise(()=>{throw new xT("toolbox_near_invalid_gas_params")}),K=BigInt(n)*BigInt(1000000000000);return j5.from({chain:Yy.Near,fromBaseDecimal:O,value:K})}async function v(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:C,callFunction:o,createAction:U,createContract:p,createContractFunctionCall:Y,createSubAccount:F,createTransaction:B,estimateGas:k,estimateTransactionFee:A,executeBatchTransaction:NT,getAddress:_,getBalance:rT(Yy.Near),getGasPrice:v,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>of(z),getSignerFromPrivateKey:f0,provider:L,serializeTransaction:Q,signAndSendTransaction:R,signTransaction:W,transfer:q,validateAddress:await uf()}}var Y0=l(()=>{My();x0();q0()});var p5=l(()=>{Y0()});var z0={};TT(z0,{tgasToGas:()=>uL,isSimpleTransfer:()=>N0,isCustomEstimator:()=>Z0,isContractDeployment:()=>_0,isContractCall:()=>G0,isBatchTransaction:()=>L0,isAccountCreation:()=>X0,getValidateNearAddress:()=>uf,getNearToolbox:()=>hL,getNearSignerFromPrivateKey:()=>f0,getNearSignerFromPhrase:()=>of,getFullAccessPublicKey:()=>jf,getContractMethodGas:()=>J0,gasToTGas:()=>oL,estimateBatchGas:()=>B0,createNearContract:()=>Q0,GAS_COSTS:()=>s});var W0=l(()=>{x0();q0();Y0();p5()});var M0={};TT(M0,{radixValidateAddress:()=>c5,RadixToolbox:()=>rL});import{AssetValue as pL,Chain as m5,SKConfig as mL,SwapKitError as cL}from"@swapkit/helpers";function c5(y){return y.startsWith("account_rdx1")&&y.length===66}function tL({networkApi:y}){return async function(G){let T=await gL({address:G,networkApi:y});return iL({networkApi:y,resources:T})}}async function gL({address:y,networkApi:f}){let G=!0,T,x=[],N=await dL(f);while(G){let L={address:y,at_ledger_state:{state_version:N},cursor:T,limit_per_page:100},X=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(x=x.concat(X.items),X.next_cursor)T=X.next_cursor;else G=!1}return x}async function iL({resources:y,networkApi:f}){let G=[],T=50,x=[];for(let N=0;N<y.length;N+=50)x.push(y.slice(N,N+50));for(let N of x){let L=N.map((Z)=>Z.resource_address),X=await f.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let J=Z.metadata?.items.find((B)=>B.key==="symbol"),q=J?.value.typed.type==="String"?J.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:q})}for(let Z of N)if(Z.aggregation_level==="Global"){let J=_.get(Z.resource_address)||{decimals:0,symbol:"?"},q=pL.from({asset:J.symbol!==m5.Radix?`${m5.Radix}.${J.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});G.push(q)}}return G}function dL(y){return y.status.getCurrent().then((f)=>f.ledger_state.state_version)}var rL=async({dappConfig:y}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:G}=await import("@radixdlt/babylon-gateway-api-sdk"),T=y||mL.get("integrations").radix,x=f({...T,networkId:T.network?.networkId||1}),N=G.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:tL({networkApi:N}),networkApi:N,signAndBroadcast:()=>{throw new cL("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c5}};var H0=()=>{};var w0={};TT(w0,{rippleValidateAddress:()=>C0,hashes:()=>GX,getRippleToolbox:()=>NX});import{AssetValue as U0,Chain as ET,getChainConfig as t5,getRPCUrl as aL,SwapKitError as FT,SwapKitNumber as sL}from"@swapkit/helpers";import{Client as eL,isValidAddress as TX,Wallet as yX,xrpToDrops as fX}from"xrpl";import{hashes as GX}from"xrpl";function g5(y){let f=yX.fromMnemonic(y);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(G)=>Promise.resolve(f.sign(G))}}function C0(y){return TX(y)}var xX,NX=async(y={})=>{let f="signer"in y&&y.signer?y.signer:("phrase"in y)&&y.phrase?g5(y.phrase):void 0,G=await aL(ET.Ripple);if(!G)throw new FT({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:ET.Ripple}});let T=new eL(G);await T.connect();let x=()=>{if(!f)throw new FT({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},N=async(B)=>{let Q=B||await x(),{baseDecimal:Y}=t5(ET.Ripple);try{let W=(await T.request({account:Q,command:"account_info"})).result.account_data.Balance;return[U0.from({chain:ET.Ripple,fromBaseDecimal:Y,value:W})]}catch(U){if(U.data.error_code===xX.ACCOUNT_NOT_FOUND)return[U0.from({chain:ET.Ripple,value:0})];throw new FT("toolbox_ripple_get_balance_error",{info:{address:Q,error:U}})}},L=async()=>{let Q=(await T.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=t5(ET.Ripple);return U0.from({chain:ET.Ripple,fromBaseDecimal:Y,value:sL.fromBigInt(BigInt(Q),Y)})},X=async({assetValue:B,recipient:Q,memo:Y,sender:U})=>{if(!C0(Q))throw new FT({errorKey:"core_transaction_invalid_recipient_address"});let W=U||await x();if(!B.isGasAsset||B.chain!==ET.Ripple)throw new FT({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:B.toString()}});let C={Account:W,Amount:fX(B.getValue("string")),Destination:Q,TransactionType:"Payment"};if(Y)C.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await T.autofill(C)},_=(B)=>{if(!f)throw new FT({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(B)},Z=async(B)=>{let Y=(await T.submitAndWait(B)).result;if(Y.validated)return Y.hash;throw new FT({errorKey:"toolbox_ripple_broadcast_error",info:{chain:ET.Ripple}})};return{broadcastTransaction:Z,createSigner:g5,createTransaction:X,disconnect:()=>T.disconnect(),estimateTransactionFee:L,getAddress:x,getBalance:N,signer:f,signTransaction:_,transfer:async(B)=>{if(!f)throw new FT({errorKey:"toolbox_ripple_signer_not_found"});let Q=await f.getAddress(),Y=await X({...B,sender:Q}),U=await _(Y);return Z(U.tx_blob)},validateAddress:C0}};var I0=l(()=>{xX={ACCOUNT_NOT_FOUND:19}});import{AssetValue as LX,Chain as XX,SwapKitNumber as i5}from"@swapkit/helpers";async function _X(y,f,G){try{let T=await y.query.system?.account?.(G);if(!T)return[f.set(0)];let{data:{free:x}}=T,N=i5.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(N)]}catch(T){return console.error("Error fetching substrate balance:",T),[f.set(0)]}}async function ZX(y,f,G){try{let T=await y.query.flip?.account?.(G);if(!T)return[f.set(0)];let x=T.balance||T.data?.balance;if(!x||x.isEmpty)return[f.set(0)];let N=i5.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(N)]}catch(T){return console.error("Error fetching chainflip balance:",T),[f.set(0)]}}function d5(y,f){return function(T){let x=LX.from({chain:y});switch(y){case XX.Chainflip:return ZX(f,x,T);default:return _X(f,x,T)}}}var r5=()=>{};var BX,JX,qX,VT;var R0=l(()=>{BX={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},JX={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},qX={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},VT={DOT:BX,FLIP:JX,GENERIC:qX}});import{hexToU8a as QX,isHex as YX,u8aToHex as zX}from"@polkadot/util";import{decodeAddress as s5,encodeAddress as e5}from"@polkadot/util-crypto";import{AssetValue as WX,Chain as Wy,getRPCUrl as MX,SwapKitError as MT,SwapKitNumber as HX}from"@swapkit/helpers";import{match as UX,P as a5}from"ts-pattern";function CX(y,f){switch(y){case Wy.Chainflip:return y2(f);case Wy.Polkadot:return T2(f);default:throw new MT("toolbox_substrate_not_supported",{chain:y})}}function zy(y){return"address"in y}async function E0(y,f){let{Keyring:G}=await import("@polkadot/api"),{cryptoWaitReady:T}=await import("@polkadot/util-crypto");return await T(),new G({ss58Format:f,type:"sr25519"}).addFromUri(y)}function kX(y,f){let G=s5(y);return e5(G,f)}function f2(y,f){return YX(y)?QX(y):s5(y,void 0,f)}function x2(y,f="ss58",G){if(f==="hex")return zX(y);return e5(y,G)}async function D0({generic:y,chain:f,...G}){let{ApiPromise:T,WsProvider:x}=await import("@polkadot/api"),N=await MX(f),L=new x(N),X=await T.create({noInitWarn:!0,provider:L}),_=WX.from({chain:f}),Z=y?VT.GENERIC:VT[f],J=await UX(G).with({phrase:a5.string},({phrase:q})=>E0(q,VT[f].prefix)).with({signer:a5.any},({signer:q})=>q).otherwise(()=>{return});return N2({api:X,chain:f,gasAsset:_,network:Z,signer:J})}var T2=({generic:y=!1,...f}={})=>{return D0({chain:Wy.Polkadot,generic:y,...f})},y2=async({generic:y=!1,...f}={})=>{return{...await D0({chain:Wy.Chainflip,generic:y,...f})}},l0=(y,f)=>y.rpc.system.accountNextIndex(f),O0=(y,f)=>{try{let G=f2(y,f);return x2(G,"ss58",f),!0}catch{return!1}},k0=(y,{recipient:f,assetValue:G})=>y.tx.balances?.transferAllowDeath?.(f,G.getBaseValue("number")),wX=async(y,f,{recipient:G,assetValue:T,sender:x})=>{let N=k0(y,{assetValue:T,recipient:G});if(!N)throw new MT("toolbox_substrate_transfer_error");let L=zy(f),X=L?f.address:x;if(!X)throw new MT("core_transaction_invalid_sender_address");let _=await l0(y,X);return(await N.signAndSend(L?f:X,{nonce:_,signer:L?void 0:f})).toString()},IX=async(y,f,G,{recipient:T,assetValue:x,sender:N})=>{let L=k0(y,{assetValue:x,recipient:T}),X=zy(f)?f.address:N;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await l0(y,X)})||{partialFee:0};return G.set(HX.fromBigInt(BigInt(_.partialFee.toString()),G.decimal).getValue("string"))},RX=async(y,f)=>{if(f)return y.send(f);return(await y.send()).toString()},OX=async(y,f)=>{return await f.signAsync(y)},EX=(y,f,G)=>{if(G)return f.signAndSend(y,G);return f.signAndSend(y).toString()},lX=async({signer:y,address:f,tx:G,callback:T,api:x})=>{let N=await l0(x,f);if(T)G.signAndSend(f,{nonce:N,signer:y},T);return G.signAndSend(f,{nonce:N,signer:y}).toString()},N2=({api:y,network:f,gasAsset:G,signer:T,chain:x})=>({api:y,broadcast:RX,convertAddress:kX,createKeyring:(N)=>E0(N,f.prefix),createTransaction:(N)=>k0(y,N),decodeAddress:f2,encodeAddress:x2,estimateTransactionFee:(N)=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");return IX(y,T,G,N)},gasAsset:G,getAddress:(N)=>{let L=N||T;if(!L)throw new MT("core_wallet_not_keypair_wallet");return zy(L)?L.address:void 0},getBalance:d5(x||Wy.Polkadot,y),network:f,sign:(N)=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");if(zy(T))return OX(T,N);throw new MT("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:N,callback:L,address:X})=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");if(zy(T))return EX(T,N,L);if(X)return lX({address:X,api:y,callback:L,signer:T,tx:N});throw new MT("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(N)=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");return wX(y,T,N)},validateAddress:(N)=>O0(N,f.prefix)}),DX=({address:y,chain:f})=>{let{prefix:G}=f===Wy.Polkadot?VT.DOT:VT.FLIP;return O0(y,G)||O0(y,VT.GENERIC.prefix)};var G2=l(()=>{r5();R0()});var P0={};TT(P0,{substrateValidateAddress:()=>DX,isKeyringPair:()=>zy,getSubstrateToolbox:()=>CX,createSubstrateToolbox:()=>D0,createKeyring:()=>E0,SubstrateNetwork:()=>VT,PolkadotToolbox:()=>T2,ChainflipToolbox:()=>y2,BaseSubstrateToolbox:()=>N2});var v0=l(()=>{G2();R0()});import{AssetValue as PX,Chain as V,CosmosChains as X2,EVMChains as S0,FeeOption as vX,SubstrateChains as SX,SwapKitError as AX,UTXOChains as _2}from"@swapkit/helpers";async function K4(){let{match:y}=await import("ts-pattern"),{evmValidateAddress:f}=await Promise.resolve().then(() => (x1(),f1)),{getCardanoAddressValidator:G}=await Promise.resolve().then(() => (Xx(),Lx)),{getCosmosValidateAddress:T}=await Promise.resolve().then(() => (Cf(),Uf)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (Vx(),Fx)),{getSuiAddressValidator:N}=await Promise.resolve().then(() => (Of(),Rf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (kf(),lf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (jx(),ox)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (y0(),T0)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (W0(),z0)),{radixValidateAddress:J}=await Promise.resolve().then(() => (H0(),M0)),{rippleValidateAddress:q}=await Promise.resolve().then(() => (I0(),w0)),{substrateValidateAddress:B}=await Promise.resolve().then(() => (v0(),P0)),Q=await G(),Y=await Z(),U=await x(),W=await N(),C=await L(),R=await X(),A=await _();return function({address:F,chain:o}){return y(o).with(...S0,()=>f({address:F})).with(..._2,()=>A({address:F,chain:o})).with(V.Cosmos,V.Kujira,V.Noble,V.Maya,V.THORChain,(NT)=>{return T(NT)(F)}).with(V.Chainflip,V.Polkadot,()=>B({address:F,chain:o})).with(V.Radix,()=>J(F)).with(V.Near,()=>Y(F)).with(V.Ripple,()=>q(F)).with(V.Solana,()=>U(F)).with(V.Sui,()=>W(F)).with(V.Ton,()=>C(F)).with(V.Tron,()=>R(F)).with(V.Cardano,()=>Q(F)).otherwise(()=>!1)}}function b4(y){return async function(G){let{match:T}=await import("ts-pattern");return T(y).returnType().with(...S0,async(x)=>{let N=await L2(x),L=await N.createTransaction(G);return N.estimateTransactionFee({...L,chain:x,feeOption:G.feeOptionKey||vX.Fast})}).with(V.Bitcoin,V.BitcoinCash,V.Dogecoin,V.Dash,V.Litecoin,V.Polkadot,V.Solana,V.Ripple,V.Tron,V.Near,V.Cardano,async(x)=>{return(await L2(x)).estimateTransactionFee(G)}).with(V.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (Of(),Rf));return(await x()).estimateTransactionFee(G)}).with(V.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (kf(),lf));return(await x()).estimateTransactionFee()}).with(...X2,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (Cf(),Uf));return x(G)}).otherwise(async()=>PX.from({chain:y}))}}async function L2(y,f){let{match:G}=await import("ts-pattern");return G(y).returnType().with(...S0,async()=>{let{getEvmToolbox:T}=await Promise.resolve().then(() => (Nx(),e0));return await T(y,f)}).with(..._2,async()=>{let{getUtxoToolbox:T}=await Promise.resolve().then(() => (y0(),T0));return await T(y,f)}).with(...X2,async()=>{let{getCosmosToolbox:T}=await Promise.resolve().then(() => (Cf(),Uf));return await T(y,f)}).with(...SX,async()=>{let{getSubstrateToolbox:T}=await Promise.resolve().then(() => (v0(),P0));return await T(y,f)}).with(V.Radix,async()=>{let{RadixToolbox:T}=await Promise.resolve().then(() => (H0(),M0));return await T(f)}).with(V.Ripple,async()=>{let{getRippleToolbox:T}=await Promise.resolve().then(() => (I0(),w0));return await T(f)}).with(V.Solana,async()=>{let{getSolanaToolbox:T}=await Promise.resolve().then(() => (Vx(),Fx));return await T(f)}).with(V.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (Of(),Rf));return await T(f)}).with(V.Tron,async()=>{let{createTronToolbox:T}=await Promise.resolve().then(() => (jx(),ox));return await T(f)}).with(V.Near,async()=>{let{getNearToolbox:T}=await Promise.resolve().then(() => (W0(),z0));return await T(f)}).with(V.Cardano,async()=>{let{getCardanoToolbox:T}=await Promise.resolve().then(() => (Xx(),Lx));return await T(f)}).with(V.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (kf(),lf));return await T(f)}).otherwise(()=>{throw new AX("toolbox_not_supported",{chain:y})})}export{L2 as getToolbox,b4 as getFeeEstimator,K4 as getAddressValidator};
|
|
1
|
+
var Z2=Object.create;var{getPrototypeOf:B2,defineProperty:pf,getOwnPropertyNames:J2}=Object;var q2=Object.prototype.hasOwnProperty;var M=(y,f,N)=>{N=y!=null?Z2(B2(y)):{};let T=f||!y||!y.__esModule?pf(N,"default",{value:y,enumerable:!0}):N;for(let x of J2(y))if(!q2.call(T,x))pf(T,x,{get:()=>y[x],enumerable:!0});return T};var TT=(y,f)=>{for(var N in f)pf(y,N,{get:f[N],enumerable:!0,configurable:!0,set:(T)=>f[N]=()=>T})};var E=(y,f)=>()=>(y&&(f=y(y=0)),f);var H=((y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(y,{get:(f,N)=>(typeof require<"u"?require:f)[N]}):y)(function(y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+y+'" is not supported')});import{AssetValue as Q2,getChainConfig as Y2}from"@swapkit/helpers";import{SwapKitApi as z2}from"@swapkit/helpers/api";function A0(){function y(){let f=Date.now(),N=mf||f;return mf=N,f>mf?f:N+1}return W2+y().toString(36)}function rT(y){return async function(N,T=!0){let x=await z2.getChainBalance({address:N,chain:y,scamFilter:T}),{baseDecimal:G}=Y2(y);return x.map(({identifier:L,value:X,decimal:_})=>{return new Q2({decimal:_||G,identifier:L,value:X})})}}var W2,mf=0;var My=E(()=>{W2=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as M2,warnOnce as H2}from"@swapkit/helpers";function Hy(y){let f=M2.get("apis")[y];if(f)return H2({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return C2(y)}function U2(y){return y}function C2(y){return{getBalance:rT(y)}}var ty=E(()=>{My()});import{Chain as p,getChainConfig as n0,getRPCUrl as w2,SwapKitError as I2}from"@swapkit/helpers";async function bT(y,f){let{JsonRpcProvider:N}=await import("ethers");return new N(f||await w2(y))}function Uy(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function tf(y){let{explorerUrl:f,chainId:N,rpcUrls:T}=n0(y);return()=>y===p.Ethereum?void 0:{...R2({chain:y}),blockExplorerUrls:[f],chainId:N,rpcUrls:T}}function cf(y){return![p.Arbitrum,p.BinanceSmartChain].includes(y)}function R2({chain:y}){let{baseDecimal:f}=n0(y);switch(y){case p.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:p.Ethereum}};case p.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:p.Ethereum}};case p.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}};case p.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:p.Ethereum}};case p.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case p.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}};case p.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case p.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case p.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:p.Ethereum}};case p.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:p.Polygon}};default:throw new I2("toolbox_evm_not_supported",{chain:y})}}var aT=()=>{};var F0;var V0=E(()=>{F0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as O2,applyFeeMultiplierToBigInt as _T,Chain as JT,EVMChains as l2,FeeOption as u,isGasAsset as E2,SwapKitError as h,SwapKitNumber as cy}from"@swapkit/helpers";import{erc20ABI as Cy}from"@swapkit/helpers/contracts";import{BrowserProvider as k2,Contract as $0,getAddress as gy,Interface as K0}from"ethers";import{match as D2}from"ts-pattern";function sT({chain:y=JT.Ethereum,provider:f,signer:N,isEIP1559Compatible:T=!0}){return{approve:n2({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),approvedAmount:o0({chain:y,provider:f}),broadcastTransaction:f.broadcastTransaction,call:ef({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),createApprovalTx:K2({chain:y,provider:f,signer:N}),createContract:rf({chain:y,provider:f}),createContractTxObject:uT({chain:y,provider:f}),createTransaction:gf({chain:y,provider:f,signer:N}),createTransferTx:gf({chain:y,provider:f,signer:N}),EIP1193SendTransaction:Ty(f),estimateCall:j0({provider:f,signer:N}),estimateGasLimit:V2({chain:y,provider:f,signer:N}),estimateGasPrices:oT({chain:y,isEIP1559Compatible:T,provider:f}),estimateTransactionFee:b2({chain:y,isEIP1559Compatible:T,provider:f}),getAddress:()=>{return N?N.getAddress():void 0},isApproved:A2({chain:y,provider:f}),sendTransaction:h0({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),signMessage:N?.signMessage,transfer:F2({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),validateAddress:(x)=>df({address:x})}}function df({address:y}){try{return gy(y),!0}catch{return!1}}function eT(y){return y instanceof k2}function Iy(y,f,N){return new $0(y,K0.from(f),N)}function rf({provider:y}){return function(N,T){return new $0(N,K0.from(T),y)}}function af({abi:y,funcName:f}){let N=y.find((T)=>T.name===f);if(!N)throw new h("toolbox_evm_no_abi_fragment",{funcName:f});return N.stateMutability&&P2.includes(N.stateMutability)}function b0(y){return gy(y)}function Ty(y){return function({value:N,...T}){if(!eT(y))throw new h("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=T;return y.send("eth_sendTransaction",[{..._,value:Uy(BigInt(N||0))}])}}function u0(y,f){let N=yy(y,f);if(N)return gy(N.toLowerCase());throw new h("toolbox_evm_invalid_gas_asset_address")}function yy({chain:y,symbol:f,ticker:N},T){try{let x=y===JT.BinanceSmartChain&&f==="BNB"&&N==="BNB",G=y===T&&f===T&&N===T,L=S2.includes(y)&&f==="ETH"&&N==="ETH";if(G||x||L)return sf[T];return gy(f.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function uT({provider:y}){return async({contractAddress:f,abi:N,funcName:T,funcParams:x=[],txOverrides:G})=>Iy(f,N,y).getFunction(T).populateTransaction(...x.concat(G).filter((L)=>typeof L<"u"))}function oT({chain:y,provider:f,isEIP1559Compatible:N=!0}){return D2(y).with(JT.Gnosis,()=>{return async function(){try{let{gasPrice:x,maxPriorityFeePerGas:G}=await f.getFeeData();if(!x||G===null)throw new h("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:_T(x,u.Average),maxPriorityFeePerGas:_T(G,u.Average)},[u.Fast]:{maxFeePerGas:_T(x,u.Fast),maxPriorityFeePerGas:_T(G,u.Fast)},[u.Fastest]:{maxFeePerGas:_T(x,u.Fastest),maxPriorityFeePerGas:_T(G,u.Fastest)}}}catch(x){throw new h("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).with(JT.Arbitrum,()=>{return async function(){try{let{gasPrice:x}=await f.getFeeData();if(!x)throw new h("toolbox_evm_no_fee_data");return{[u.Average]:{gasPrice:x},[u.Fast]:{gasPrice:x},[u.Fastest]:{gasPrice:x}}}catch(x){throw new h("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:G,gasPrice:L}=await f.getFeeData();if(N){if(x===null||G===null)throw new h("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:G},[u.Fast]:{maxFeePerGas:_T(x,u.Fast),maxPriorityFeePerGas:_T(G,u.Fast)},[u.Fastest]:{maxFeePerGas:_T(x,u.Fastest),maxPriorityFeePerGas:_T(G,u.Fastest)}}}if(!L)throw new h("toolbox_evm_no_gas_price");return{[u.Average]:{gasPrice:L},[u.Fast]:{gasPrice:_T(L,u.Fast)},[u.Fastest]:{gasPrice:_T(L,u.Fastest)}}}catch(x){throw new h("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}})}function ef({provider:y,isEIP1559Compatible:f,signer:N,chain:T}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:J={},feeOption:q=u.Fast}){let B=G||y;if(!L)throw new h("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=af({abi:X,funcName:_});if(Q&&eT(B)&&N){let W=uT({chain:T,provider:B}),C=J?.from||await N?.getAddress(),O=await W({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...J,from:C}});return Ty(B)(O)}let Y=Iy(L,X,B);if(Q){if(!N)throw new h("toolbox_evm_no_signer");let W=J?.from||await N.getAddress();if(!W)throw new h("toolbox_evm_no_signer_address");let C=Y.connect(N),O=oT({chain:T,isEIP1559Compatible:f,provider:y}),{maxFeePerGas:S,maxPriorityFeePerGas:P,gasPrice:A}=(await O())[q],o=await Y.getFunction(_).estimateGas(...Z,J),m=await C[_](...Z,{...J,gasLimit:o,gasPrice:A,maxFeePerGas:S,maxPriorityFeePerGas:P,nonce:J?.nonce||await B.getTransactionCount(W)});return typeof m?.hash==="string"?m?.hash:m}let U=await Y[_]?.(...Z);return typeof U?.hash==="string"?U?.hash:U}}function o0({provider:y,chain:f}){return function({assetAddress:T,spenderAddress:x,from:G}){return ef({chain:f,isEIP1559Compatible:!0,provider:y})({abi:Cy,contractAddress:T,funcName:"allowance",funcParams:[G,x]})}}function A2({provider:y,chain:f}){return async function({assetAddress:T,spenderAddress:x,from:G,amount:L=wy}){let X=await o0({chain:f,provider:y})({assetAddress:T,from:G,spenderAddress:x});return cy.fromBigInt(X).gte(cy.fromBigInt(BigInt(L)))}}function n2({signer:y,isEIP1559Compatible:f=!0,provider:N,chain:T}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=u.Fast,amount:_,gasLimitFallback:Z,from:J,nonce:q}){let B=[L,BigInt(_||wy)],Q=await y?.getAddress()||J,Y={abi:Cy,contractAddress:G,funcName:"approve",funcParams:B,signer:y,txOverrides:{from:Q}};if(eT(N)){let W=uT({chain:T,provider:N}),C=Ty(N),O=await W(Y);return C(O)}return ef({chain:T,isEIP1559Compatible:f,provider:N,signer:y})({...Y,feeOption:X,funcParams:B,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:q}})}}function F2({signer:y,isEIP1559Compatible:f=!0,provider:N}){return async function({assetValue:x,memo:G,recipient:L,feeOptionKey:X=u.Fast,sender:_,...Z}){let{hexlify:J,toUtf8Bytes:q}=await import("ethers"),B=x.getBaseValue("bigint"),Q=x.chain,Y=_||await y?.getAddress(),U=h0({chain:Q,isEIP1559Compatible:f,provider:N,signer:y});if(!Y)throw new h("toolbox_evm_no_from_address");if(x.isGasAsset){let A={...Z,data:J(q(G||"")),feeOptionKey:X,from:Y,to:L,value:B};return U(A)}if(!yy(x,Q))throw new h("toolbox_evm_no_contract_address");let{maxFeePerGas:C,maxPriorityFeePerGas:O,gasPrice:S}=(await oT({chain:Q,isEIP1559Compatible:f,provider:N})())[X],P=await gf({chain:Q,provider:N,signer:y})({assetValue:x,data:J(q(G||"")),gasPrice:S,maxFeePerGas:C,maxPriorityFeePerGas:O,memo:G,recipient:L,sender:Y});return U(P)}}function j0({provider:y,signer:f}){return function({contractAddress:T,abi:x,funcName:G,funcParams:L=[],txOverrides:X}){if(!T)throw new h("toolbox_evm_no_contract_address");let _=Iy(T,x,y);return f?_.connect(f).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function V2({provider:y,signer:f}){return async function({assetValue:T,recipient:x,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:J}){let q=T.bigIntValue,B=T.isGasAsset?null:yy(T,T.chain);if(B&&_)return j0({provider:y,signer:f})({abi:Cy,contractAddress:B,funcName:_,funcParams:Z,txOverrides:J});let{hexlify:Q,toUtf8Bytes:Y}=await import("ethers");return y.estimateGas({data:L?L:G?Q(Y(G)):void 0,from:X,to:x,value:q})}}function h0({provider:y,signer:f,isEIP1559Compatible:N=!0,chain:T}){return async function({feeOptionKey:G=u.Fast,...L}){let{from:X,to:_,data:Z,value:J,...q}=L;if(!f)throw new h("toolbox_evm_no_signer");if(!_)throw new h("toolbox_evm_no_to_address");let B={...q,data:Z||"0x",from:X,to:_,value:BigInt(J||0)};if(eT(y))return Ty(y)(B);let Q=X||await f.getAddress(),Y=L.nonce||await y.getTransactionCount(Q),U=(await y.getNetwork()).chainId,W=$2(B)||N,C=oT({chain:T,isEIP1559Compatible:N,provider:y}),O=W&&!(B.maxFeePerGas&&B.maxPriorityFeePerGas)||!B.gasPrice?Object.entries((await C())[G]).reduce((P,[A,o])=>({...P,[A]:Uy(BigInt(o))}),{}):{},S;try{S=Uy(B.gasLimit||await y.estimateGas(B)*11n/10n)}catch(P){throw new h("toolbox_evm_error_estimating_gas_limit",{error:P})}try{let P={...B,chainId:U,gasLimit:S,nonce:Y,type:W?2:0,...O};try{return(await f.sendTransaction(P)).hash}catch{let A=await f.signTransaction({...P,from:Q});return(await y.broadcastTransaction(A)).hash}}catch(P){throw new h("toolbox_evm_error_sending_transaction",{error:P})}}}function gf({provider:y,signer:f}){return async function({assetValue:T,memo:x,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:J,...q}){let B=T.getBaseValue("bigint"),Q=T.chain,Y=X||await f?.getAddress();if(!Y)throw new h("toolbox_evm_no_from_address");if(E2(T)){let{hexlify:C,toUtf8Bytes:O}=await import("ethers");return{...q,data:L||C(O(x||"")),from:Y,to:G,value:B}}let U=yy(T,Q);if(!U)throw new h("toolbox_evm_no_contract_address");return uT({chain:T.chain,provider:y})({abi:Cy,contractAddress:U,funcName:"transfer",funcParams:[G,B],txOverrides:{from:Y,gasPrice:J,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function K2({provider:y,signer:f,chain:N}){return async function({assetAddress:x,spenderAddress:G,amount:L,from:X}){let _=await f?.getAddress()||X,Z=uT({chain:N,provider:y}),J=["bigint","number"].includes(typeof L)?L:L||wy;return await Z({abi:Cy,contractAddress:x,funcName:"approve",funcParams:[G,BigInt(J)],txOverrides:{from:_}})}}function b2({provider:y,isEIP1559Compatible:f=!0}){return async function({feeOption:T=u.Fast,chain:x,...G}){let X=await oT({chain:x,isEIP1559Compatible:f,provider:y})(),_=await y.estimateGas(G),Z=O2.from({chain:x}),{gasPrice:J,maxFeePerGas:q,maxPriorityFeePerGas:B}=X[T];if(!f&&J)return Z.set(cy.fromBigInt(J*_,Z.decimal));if(q&&B){let Q=(q+B)*_;return Z.set(cy.fromBigInt(Q,Z.decimal))}throw new h("toolbox_evm_no_gas_price")}}var wy,P2,v2,sf,S2,$2=(y)=>y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas;var iy=E(()=>{aT();wy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");P2=["payable","nonpayable"];v2=l2.reduce((y,f)=>{return y[f]="0x0000000000000000000000000000000000000000",y},{}),sf={...v2,[JT.Optimism]:"0x4200000000000000000000000000000000000042",[JT.Polygon]:"0x0000000000000000000000000000000000001010"},S2=[JT.Arbitrum,JT.Aurora,JT.Base,JT.Optimism]});import{Chain as g,FeeOption as u2,getRPCUrl as o2}from"@swapkit/helpers";import{match as j2,P as p0}from"ts-pattern";async function dy({provider:y,...f}){let N=await i(g.Ethereum)({provider:y,...f});async function T(x,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=u2.Fast){let _=await N.createContractTxObject({abi:F0,contractAddress:G,funcName:L,funcParams:[x]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:T}}function i(y){return async function({provider:N,...T}){let{HDNodeWallet:x}=await import("ethers"),G=await o2(y),L=N||await bT(y,G),X=cf(y),_=j2(T).with({phrase:p0.string},({phrase:J})=>x.fromPhrase(J).connect(L)).with({signer:p0.any},({signer:J})=>J).otherwise(()=>{return});return{...sT({chain:y,isEIP1559Compatible:X,provider:L,signer:_}),getBalance:Hy(y).getBalance,getNetworkParams:tf(y)}}}var ry,ay,sy,ey,Tf,yf,m0,ff,xf,Gf,Nf,Lf,Xf,Ry,_f,Zf;var Tx=E(()=>{ty();V0();aT();iy();ry=i(g.Arbitrum),ay=i(g.Aurora),sy=i(g.Avalanche),ey=i(g.Base),Tf=i(g.Berachain),yf=i(g.BinanceSmartChain),m0=i(g.Botanix),ff=i(g.Core),xf=i(g.Corn),Gf=i(g.Cronos),Nf=i(g.Gnosis),Lf=i(g.Hyperevm),Xf=i(g.Polygon),Ry=i(g.Sonic),_f=i(g.Unichain),Zf=i(g.XLayer)});var t0;var c0=E(()=>{t0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as fy,Chain as Bf,FeeOption as HT,getChainConfig as p2,getRPCUrl as m2,SwapKitError as yx}from"@swapkit/helpers";import{Contract as t2,HDNodeWallet as c2}from"ethers";import{match as g2,P as g0}from"ts-pattern";function fx(y){return new t2(i2,t0,y)}function i0(y){return async function(){let N=fx(y);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function d0(y){return async function({from:N,to:T,nonce:x,...G}){let{Transaction:L}=await import("ethers");if(!T)throw new yx("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:x?x:N?await y.getTransactionCount(N):0,to:T}).serialized}}function r0(y){return async function(N){let T=fx(y),x=await d0(y)(N);if(T&&"getL1Fee"in T)return T.getL1Fee(x)}}function a0(y){return async function(N){let T=await y.send("eth_gasPrice",[]),x=await y.estimateGas(N);return T.mul(x)}}function d2(y){return async function(N){let T=await r0(y)(N),x=await a0(y)(N);return T.add(x)}}function r2(y){return async function(N){let T=fx(y),x=await d0(y)(N);if(T&&"getL1GasUsed"in T)return T.getL1GasUsed(x)}}function a2(){let{baseDecimal:y,chainId:f,explorerUrl:N,name:T,rpcUrls:x}=p2(Bf.Optimism);return{blockExplorerUrls:[N],chainId:f,chainName:T,nativeCurrency:{decimals:y,name:"Ethereum",symbol:Bf.Ethereum},rpcUrls:x}}async function s2(y){try{let{maxFeePerGas:f,maxPriorityFeePerGas:N,gasPrice:T}=await y.getFeeData(),x=await i0(y)(),G=T;if(!(f&&N))throw new yx("toolbox_evm_no_fee_data");return{[HT.Average]:{gasPrice:G,l1GasPrice:x,maxFeePerGas:f,maxPriorityFeePerGas:N},[HT.Fast]:{gasPrice:fy(G,HT.Fast),l1GasPrice:fy(x||0n,HT.Fast),maxFeePerGas:f,maxPriorityFeePerGas:fy(N,HT.Fast)},[HT.Fastest]:{gasPrice:fy(G,HT.Fastest),l1GasPrice:fy(x||0n,HT.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:fy(N,HT.Fastest)}}}catch(f){throw new yx("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function Jf({provider:y,...f}){let N=Bf.Optimism,T=await m2(N),x=y||await bT(N,T),G=g2(f).with({phrase:g0.string},({phrase:_})=>c2.fromPhrase(_).connect(x)).with({signer:g0.any},({signer:_})=>_).otherwise(()=>{return}),L=sT({provider:x,signer:G}),X=i0(x);return{...L,estimateGasPrices:s2(x),estimateL1Gas:r2(x),estimateL1GasCost:r0(x),estimateL2GasCost:a0(x),estimateTotalGasCost:d2(x),getBalance:Hy(Bf.Optimism).getBalance,getL1GasPrice:X,getNetworkParams:a2}}var i2="0x420000000000000000000000000000000000000f";var xx=E(()=>{ty();c0();aT();iy()});var e0={};TT(e0,{toChecksumAddress:()=>b0,isStateChangingCall:()=>af,isBrowserProvider:()=>eT,getTokenAddress:()=>yy,getEvmToolbox:()=>s0,getEstimateGasPrices:()=>oT,getEIP1193SendTransaction:()=>Ty,getCreateContractTxObject:()=>uT,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>u0,evmValidateAddress:()=>df,createContract:()=>Iy,XLayerToolbox:()=>Zf,UNIToolbox:()=>_f,SONICToolbox:()=>Ry,OPToolbox:()=>Jf,MAX_APPROVAL:()=>wy,MATICToolbox:()=>Xf,HYPEREVMToolbox:()=>Lf,GNOToolbox:()=>Nf,ETHToolbox:()=>dy,ContractAddress:()=>sf,CROToolbox:()=>Gf,CORNToolbox:()=>xf,COREToolbox:()=>ff,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>sT,BSCToolbox:()=>yf,BERAToolbox:()=>Tf,BASEToolbox:()=>ey,AVAXToolbox:()=>sy,AURORAToolbox:()=>ay,ARBToolbox:()=>ry});import{Chain as c}from"@swapkit/helpers";import{match as e2}from"ts-pattern";async function s0(y,f){let N={...f,provider:f?.provider||await bT(y)};return e2(y).returnType().with(c.Arbitrum,()=>ry(N)).with(c.Aurora,()=>ay(N)).with(c.Avalanche,()=>sy(N)).with(c.Base,()=>ey(N)).with(c.Berachain,()=>Tf(N)).with(c.BinanceSmartChain,()=>yf(N)).with(c.Botanix,()=>Ry(N)).with(c.Core,()=>ff(N)).with(c.Corn,()=>xf(N)).with(c.Cronos,()=>Gf(N)).with(c.Ethereum,()=>dy(N)).with(c.Gnosis,()=>Nf(N)).with(c.Hyperevm,()=>Lf(N)).with(c.Optimism,()=>Jf(N)).with(c.Polygon,()=>Xf(N)).with(c.Sonic,()=>Ry(N)).with(c.Unichain,()=>_f(N)).with(c.XLayer,()=>Zf(N)).exhaustive()}var Gx=E(()=>{aT();Tx();xx();iy();Tx();xx()});var T1;var y1=E(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(T1||={})});var f1={};TT(f1,{toHexString:()=>Uy,toChecksumAddress:()=>b0,isStateChangingCall:()=>af,isBrowserProvider:()=>eT,getTokenAddress:()=>yy,getProvider:()=>bT,getNetworkParams:()=>tf,getIsEIP1559Compatible:()=>cf,getEvmToolbox:()=>s0,getEvmApi:()=>Hy,getEstimateGasPrices:()=>oT,getEIP1193SendTransaction:()=>Ty,getCreateContractTxObject:()=>uT,getCreateContract:()=>rf,getChecksumAddressFromAsset:()=>u0,evmValidateAddress:()=>df,createCustomEvmApi:()=>U2,createContract:()=>Iy,XLayerToolbox:()=>Zf,UNIToolbox:()=>_f,SONICToolbox:()=>Ry,OPToolbox:()=>Jf,MAX_APPROVAL:()=>wy,MATICToolbox:()=>Xf,HYPEREVMToolbox:()=>Lf,GNOToolbox:()=>Nf,EthNetwork:()=>T1,ETHToolbox:()=>dy,ContractAddress:()=>sf,CROToolbox:()=>Gf,CORNToolbox:()=>xf,COREToolbox:()=>ff,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>sT,BSCToolbox:()=>yf,BERAToolbox:()=>Tf,BASEToolbox:()=>ey,AVAXToolbox:()=>sy,AURORAToolbox:()=>ay,ARBToolbox:()=>ry});var x1=E(()=>{ty();aT();Gx();y1()});import{AssetValue as ly,Chain as xy,getChainConfig as TG,SwapKitError as Oy}from"@swapkit/helpers";import{match as yG,P as G1}from"ts-pattern";async function Nx(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function xG(y){try{let{MeshWallet:f}=await import("@meshsdk/core"),N=await Nx(),T=new f({fetcher:N,key:{address:y,type:"address"},networkId:1});await T.init();let x=await T.getBalance(),G=[];for(let L of x)if(L.unit===fG){let{baseDecimal:X}=TG(xy.Cardano);G.push(ly.from({chain:xy.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(ly.from({asset:`${xy.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[ly.from({chain:xy.Cardano})];return G}catch(f){return console.error("Cardano balance fetch error:",f),[ly.from({chain:xy.Cardano})]}}async function N1(){let{deserializeAddress:y}=await import("@meshsdk/core");return(f)=>{try{return y(f),!0}catch{return!1}}}async function GG(y){let f=await N1(),N=await yG(y).with({phrase:G1.string},async({phrase:J})=>{let{MeshWallet:q}=await import("@meshsdk/core"),B=await Nx(),Q=new q({fetcher:B,key:{type:"mnemonic",words:J.split(" ")},networkId:1,submitter:B});return await Q.init(),Q}).with({signer:G1.any},({signer:J})=>J).otherwise(()=>{return}),T=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function x(){return T||""}function G(J){let q=J||x();if(!q)throw new Oy("core_wallet_connection_not_found");return xG(q)}function L(){return Promise.resolve(ly.from({chain:xy.Cardano,value:"0.01"}))}async function X({recipient:J,assetValue:q,memo:B}){if(!N||!("getChangeAddress"in N))throw new Oy("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,Y]=q.symbol.split("-");if(!q.isGasAsset&&!Y)throw new Oy("core_wallet_connection_not_found");let U=new Q({initiator:N});if(U.sendAssets({address:J},[{quantity:q.getBaseValue("string"),unit:q.isGasAsset?"lovelace":q.symbol}]),B)U.setMetadata(0,B);let W=await U.build();return{tx:U,unsignedTx:W}}function _(J){if(!N||!("getChangeAddress"in N))throw new Oy("core_wallet_connection_not_found");return N.signTx(J)}async function Z({recipient:J,assetValue:q,memo:B}){if(!N||!("getChangeAddress"in N))throw new Oy("core_wallet_connection_not_found");let{unsignedTx:Q}=await X({assetValue:q,memo:B,recipient:J}),Y=await _(Q);return await(await Nx()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:x,getBalance:G,signTransaction:_,transfer:Z,validateAddress:f}}var fG="lovelace";var L1=()=>{};var Lx={};TT(Lx,{getCardanoToolbox:()=>GG,getCardanoAddressValidator:()=>N1});var Xx=E(()=>{L1()});import{base64 as X1,bech32 as qf}from"@scure/base";import{SwapKitError as NG}from"@swapkit/helpers";import{fromByteArray as LG,toByteArray as XG}from"base64-js";function Ey(y){return X1.encode(Uint8Array.from(qf.fromWords(qf.decode(y).words)))}function ky(y,f="thor"){return qf.encode(f,qf.toWords(X1.decode(y)))}function _G(y){return LG(y)}function ZG(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new NG("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return XG(y)}var _x=()=>{};import{AssetValue as Zx,Chain as $,getChainConfig as qT,getRPCUrl as BG,SwapKitError as _1}from"@swapkit/helpers";function CT(y){switch(y){case $.Maya:return{amount:[],gas:"10000000000"};case $.THORChain:return{amount:[],gas:"500000000"};case $.Kujira:return J1;case $.Noble:return q1;default:return B1}}async function wT(y){let f=await import("@cosmjs/stargate"),N=f.StargateClient??f.default?.StargateClient,T=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return N.connect({headers:T,url:y})}async function Ny(y,f,N={}){let T=await import("@cosmjs/stargate"),x=T.SigningStargateClient??T.default?.SigningStargateClient,G=T.GasPrice??T.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return x.connectWithSigner(y,f,{gasPrice:G.fromString(L),...X})}async function Jx(y,f){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(y,f)}async function qx({sender:y,recipient:f,assetValue:N,memo:T="",feeRate:x,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await BG(X),q=await(await wT(Z)).getAccount(y);if(!q)throw new _1("toolbox_cosmos_account_not_found",{sender:y});let B=Zx.from({chain:X}),Q=UT(B.symbol),Y=CT(X),U=Q&&x?{amount:[{amount:x.toString(),denom:Q}],gas:Y.gas}:Y,W={amount:[{amount:N.getBaseValue("string"),denom:UT(N.symbol)}],fromAddress:y,toAddress:f};return{accountNumber:L??q.accountNumber,chainId:_,fee:U,memo:T,msgs:[{typeUrl:JG(X),value:W}],sequence:G??q.sequence}}var Bx="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Z1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",B1,J1,q1,UT=(y,f=!1)=>{if(f)return y.toLowerCase();switch(y){case"uUSK":case"USK":return Bx;case"uYUM":case"YUM":return Z1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Gy=({symbol:y,chain:f})=>{if(f===$.Maya)return(y.toUpperCase()!=="CACAO"?y:`${$.Maya}.${y}`).toUpperCase();if(f===$.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${$.THORChain}.${y}`:y).toUpperCase();return UT(y,!1)},JG=(y)=>{switch(y){case $.Maya:case $.THORChain:return"/types.MsgSend";case $.Cosmos:case $.Kujira:case $.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new _1("toolbox_cosmos_not_supported",{chain:y})}},qG,Qx=(y,f)=>{let N=qG[y.toLowerCase()];if(!N)return Zx.from({asset:y,fromBaseDecimal:8,value:f});let{chain:T,asset:x,decimals:G}=N,L=T?{chain:T}:{asset:x};return Zx.from({...L,fromBaseDecimal:G,value:f})};var Dy=E(()=>{B1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},J1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},q1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};qG={atom:{chain:$.Cosmos,decimals:qT($.Cosmos).baseDecimal},cacao:{chain:$.Maya,decimals:10},kuji:{chain:$.Kujira,decimals:qT($.Kujira).baseDecimal},maya:{asset:`${$.Maya}.${$.Maya}`,decimals:4},rune:{chain:$.THORChain,decimals:qT($.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:qT($.THORChain).baseDecimal},uatom:{chain:$.Cosmos,decimals:qT($.Cosmos).baseDecimal},ukuji:{chain:$.Kujira,decimals:qT($.Kujira).baseDecimal},usdc:{chain:$.Noble,decimals:qT($.Noble).baseDecimal},uusdc:{chain:$.Noble,decimals:qT($.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:qT($.THORChain).baseDecimal},[Bx.toLowerCase()]:{asset:`${$.Kujira}.USK`,decimals:qT($.Kujira).baseDecimal}}});var Q1={};TT(Q1,{$root:()=>I});import r from"protobufjs/minimal.js";var D,ZT,l,I;var Y1=E(()=>{D=r.Reader,ZT=r.Writer,l=r.util,I=r.roots.default||(r.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(10).string(T.chain);if(T.symbol!=null&&Object.hasOwnProperty.call(T,"symbol"))x.uint32(18).string(T.symbol);if(T.ticker!=null&&Object.hasOwnProperty.call(T,"ticker"))x.uint32(26).string(T.ticker);if(T.synth!=null&&Object.hasOwnProperty.call(T,"synth"))x.uint32(32).bool(T.synth);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Asset;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.chain=T.string();break;case 2:L.symbol=T.string();break;case 3:L.ticker=T.string();break;case 4:L.synth=T.bool();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.chain!=null&&T.hasOwnProperty("chain")){if(!l.isString(T.chain))return"chain: string expected"}if(T.symbol!=null&&T.hasOwnProperty("symbol")){if(!l.isString(T.symbol))return"symbol: string expected"}if(T.ticker!=null&&T.hasOwnProperty("ticker")){if(!l.isString(T.ticker))return"ticker: string expected"}if(T.synth!=null&&T.hasOwnProperty("synth")){if(typeof T.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Asset)return T;let x=new I.common.Asset;if(T.chain!=null)x.chain=String(T.chain);if(T.symbol!=null)x.symbol=String(T.symbol);if(T.ticker!=null)x.ticker=String(T.ticker);if(T.synth!=null)x.synth=Boolean(T.synth);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(T.chain!=null&&T.hasOwnProperty("chain"))G.chain=T.chain;if(T.symbol!=null&&T.hasOwnProperty("symbol"))G.symbol=T.symbol;if(T.ticker!=null&&T.hasOwnProperty("ticker"))G.ticker=T.ticker;if(T.synth!=null&&T.hasOwnProperty("synth"))G.synth=T.synth;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y.Coin=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=l.Long?l.Long.fromBits(0,0,!1):0,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.asset!=null&&Object.hasOwnProperty.call(T,"asset"))I.common.Asset.encode(T.asset,x.uint32(10).fork()).ldelim();if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))x.uint32(18).string(T.amount);if(T.decimals!=null&&Object.hasOwnProperty.call(T,"decimals"))x.uint32(24).int64(T.decimals);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Coin;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.asset=I.common.Asset.decode(T,T.uint32());break;case 2:L.amount=T.string();break;case 3:L.decimals=T.int64();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.asset!=null&&T.hasOwnProperty("asset")){let x=I.common.Asset.verify(T.asset);if(x)return"asset."+x}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!l.isString(T.amount))return"amount: string expected"}if(T.decimals!=null&&T.hasOwnProperty("decimals")){if(!l.isInteger(T.decimals)&&!(T.decimals&&l.isInteger(T.decimals.low)&&l.isInteger(T.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Coin)return T;let x=new I.common.Coin;if(T.asset!=null){if(typeof T.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=I.common.Asset.fromObject(T.asset)}if(T.amount!=null)x.amount=String(T.amount);if(T.decimals!=null){if(l.Long)(x.decimals=l.Long.fromValue(T.decimals)).unsigned=!1;else if(typeof T.decimals==="string")x.decimals=Number.parseInt(T.decimals,10);else if(typeof T.decimals==="number")x.decimals=T.decimals;else if(typeof T.decimals==="object")x.decimals=new l.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber()}return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)if(G.asset=null,G.amount="",l.Long){let L=new l.Long(0,0,!1);G.decimals=x.longs===String?L.toString():x.longs===Number?L.toNumber():L}else G.decimals=x.longs===String?"0":0;if(T.asset!=null&&T.hasOwnProperty("asset"))G.asset=I.common.Asset.toObject(T.asset,x);if(T.amount!=null&&T.hasOwnProperty("amount"))G.amount=T.amount;if(T.decimals!=null&&T.hasOwnProperty("decimals"))if(typeof T.decimals==="number")G.decimals=x.longs===String?String(T.decimals):T.decimals;else G.decimals=x.longs===String?l.Long.prototype.toString.call(T.decimals):x.longs===Number?new l.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber():T.decimals;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y.PubKeySet=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.secp256k1!=null&&Object.hasOwnProperty.call(T,"secp256k1"))x.uint32(10).string(T.secp256k1);if(T.ed25519!=null&&Object.hasOwnProperty.call(T,"ed25519"))x.uint32(18).string(T.ed25519);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.PubKeySet;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.secp256k1=T.string();break;case 2:L.ed25519=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1")){if(!l.isString(T.secp256k1))return"secp256k1: string expected"}if(T.ed25519!=null&&T.hasOwnProperty("ed25519")){if(!l.isString(T.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.PubKeySet)return T;let x=new I.common.PubKeySet;if(T.secp256k1!=null)x.secp256k1=String(T.secp256k1);if(T.ed25519!=null)x.ed25519=String(T.ed25519);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)G.secp256k1="",G.ed25519="";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1"))G.secp256k1=T.secp256k1;if(T.ed25519!=null&&T.hasOwnProperty("ed25519"))G.ed25519=T.ed25519;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y.Tx=(()=>{function f(N){if(this.coins=[],this.gas=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=l.emptyArray,f.prototype.gas=l.emptyArray,f.prototype.memo="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.id!=null&&Object.hasOwnProperty.call(T,"id"))x.uint32(10).string(T.id);if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(18).string(T.chain);if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(26).string(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(34).string(T.toAddress);if(T.coins?.length)for(let G=0;G<T.coins.length;++G)I.common.Coin.encode(T.coins[G],x.uint32(42).fork()).ldelim();if(T.gas?.length)for(let G=0;G<T.gas.length;++G)I.common.Coin.encode(T.gas[G],x.uint32(50).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(58).string(T.memo);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Tx;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.id=T.string();break;case 2:L.chain=T.string();break;case 3:L.fromAddress=T.string();break;case 4:L.toAddress=T.string();break;case 5:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(I.common.Coin.decode(T,T.uint32()));break;case 7:L.memo=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.id!=null&&T.hasOwnProperty("id")){if(!l.isString(T.id))return"id: string expected"}if(T.chain!=null&&T.hasOwnProperty("chain")){if(!l.isString(T.chain))return"chain: string expected"}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!l.isString(T.fromAddress))return"fromAddress: string expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!l.isString(T.toAddress))return"toAddress: string expected"}if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let G=I.common.Coin.verify(T.coins[x]);if(G)return"coins."+G}}if(T.gas!=null&&T.hasOwnProperty("gas")){if(!Array.isArray(T.gas))return"gas: array expected";for(let x=0;x<T.gas.length;++x){let G=I.common.Coin.verify(T.gas[x]);if(G)return"gas."+G}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!l.isString(T.memo))return"memo: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Tx)return T;let x=new I.common.Tx;if(T.id!=null)x.id=String(T.id);if(T.chain!=null)x.chain=String(T.chain);if(T.fromAddress!=null)x.fromAddress=String(T.fromAddress);if(T.toAddress!=null)x.toAddress=String(T.toAddress);if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let G=0;G<T.coins.length;++G){if(typeof T.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[G]=I.common.Coin.fromObject(T.coins[G])}}if(T.gas){if(!Array.isArray(T.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let G=0;G<T.gas.length;++G){if(typeof T.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[G]=I.common.Coin.fromObject(T.gas[G])}}if(T.memo!=null)x.memo=String(T.memo);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[],G.gas=[];if(x.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(T.id!=null&&T.hasOwnProperty("id"))G.id=T.id;if(T.chain!=null&&T.hasOwnProperty("chain"))G.chain=T.chain;if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))G.fromAddress=T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))G.toAddress=T.toAddress;if(T.coins?.length){G.coins=[];for(let L=0;L<T.coins.length;++L)G.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.gas?.length){G.gas=[];for(let L=0;L<T.gas.length;++L)G.gas[L]=I.common.Coin.toObject(T.gas[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))G.memo=T.memo;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y.Fee=(()=>{function f(N){if(this.coins=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.coins=l.emptyArray,f.prototype.poolDeduct="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.coins?.length)for(let G=0;G<T.coins.length;++G)I.common.Coin.encode(T.coins[G],x.uint32(10).fork()).ldelim();if(T.poolDeduct!=null&&Object.hasOwnProperty.call(T,"poolDeduct"))x.uint32(18).string(T.poolDeduct);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Fee;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.poolDeduct=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let G=I.common.Coin.verify(T.coins[x]);if(G)return"coins."+G}}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct")){if(!l.isString(T.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Fee)return T;let x=new I.common.Fee;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let G=0;G<T.coins.length;++G){if(typeof T.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[G]=I.common.Coin.fromObject(T.coins[G])}}if(T.poolDeduct!=null)x.poolDeduct=String(T.poolDeduct);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults)G.poolDeduct="";if(T.coins?.length){G.coins=[];for(let L=0;L<T.coins.length;++L)G.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct"))G.poolDeduct=T.poolDeduct;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y.ProtoUint=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.value="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.value!=null&&Object.hasOwnProperty.call(T,"value"))x.uint32(10).string(T.value);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.ProtoUint;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.value=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.value!=null&&T.hasOwnProperty("value")){if(!l.isString(T.value))return"value: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.ProtoUint)return T;let x=new I.common.ProtoUint;if(T.value!=null)x.value=String(T.value);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)G.value="";if(T.value!=null&&T.hasOwnProperty("value"))G.value=T.value;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function f(N){if(this.coins=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.coins=l.emptyArray,f.prototype.memo="",f.prototype.signer=l.newBuffer([]),f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.coins?.length)for(let G=0;G<T.coins.length;++G)I.common.Coin.encode(T.coins[G],x.uint32(10).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(18).string(T.memo);if(T.signer!=null&&Object.hasOwnProperty.call(T,"signer"))x.uint32(26).bytes(T.signer);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.types.MsgDeposit;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.memo=T.string();break;case 3:L.signer=T.bytes();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let G=I.common.Coin.verify(T.coins[x]);if(G)return"coins."+G}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!l.isString(T.memo))return"memo: string expected"}if(T.signer!=null&&T.hasOwnProperty("signer")){if(!(T.signer&&typeof T.signer.length==="number"||l.isString(T.signer)))return"signer: buffer expected"}return null},f.fromObject=function(T){if(T instanceof I.types.MsgDeposit)return T;let x=new I.types.MsgDeposit;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let G=0;G<T.coins.length;++G){if(typeof T.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[G]=I.common.Coin.fromObject(T.coins[G])}}if(T.memo!=null)x.memo=String(T.memo);if(T.signer!=null){if(typeof T.signer==="string")l.base64.decode(T.signer,x.signer=l.newBuffer(l.base64.length(T.signer)),0);else if(T.signer.length)x.signer=T.signer}return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults){if(G.memo="",x.bytes===String)G.signer="";else if(G.signer=[],x.bytes!==Array)G.signer=l.newBuffer(G.signer)}if(T.coins?.length){G.coins=[];for(let L=0;L<T.coins.length;++L)G.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))G.memo=T.memo;if(T.signer!=null&&T.hasOwnProperty("signer"))G.signer=x.bytes===String?l.base64.encode(T.signer,0,T.signer.length):x.bytes===Array?Array.prototype.slice.call(T.signer):T.signer;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y.MsgSend=(()=>{function f(N){if(this.amount=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.fromAddress=l.newBuffer([]),f.prototype.toAddress=l.newBuffer([]),f.prototype.amount=l.emptyArray,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=ZT.create();if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(10).bytes(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(18).bytes(T.toAddress);if(T.amount?.length)for(let G=0;G<T.amount.length;++G)I.cosmos.base.v1beta1.Coin.encode(T.amount[G],x.uint32(26).fork()).ldelim();return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof D))T=D.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.types.MsgSend;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.fromAddress=T.bytes();break;case 2:L.toAddress=T.bytes();break;case 3:if(!L.amount?.length)L.amount=[];L.amount.push(I.cosmos.base.v1beta1.Coin.decode(T,T.uint32()));break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof D))T=new D(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!(T.fromAddress&&typeof T.fromAddress.length==="number"||l.isString(T.fromAddress)))return"fromAddress: buffer expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!(T.toAddress&&typeof T.toAddress.length==="number"||l.isString(T.toAddress)))return"toAddress: buffer expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!Array.isArray(T.amount))return"amount: array expected";for(let x=0;x<T.amount.length;++x){let G=I.cosmos.base.v1beta1.Coin.verify(T.amount[x]);if(G)return"amount."+G}}return null},f.fromObject=function(T){if(T instanceof I.types.MsgSend)return T;let x=new I.types.MsgSend;if(T.fromAddress!=null){if(typeof T.fromAddress==="string")l.base64.decode(T.fromAddress,x.fromAddress=l.newBuffer(l.base64.length(T.fromAddress)),0);else if(T.fromAddress.length)x.fromAddress=T.fromAddress}if(T.toAddress!=null){if(typeof T.toAddress==="string")l.base64.decode(T.toAddress,x.toAddress=l.newBuffer(l.base64.length(T.toAddress)),0);else if(T.toAddress.length)x.toAddress=T.toAddress}if(T.amount){if(!Array.isArray(T.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let G=0;G<T.amount.length;++G){if(typeof T.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[G]=I.cosmos.base.v1beta1.Coin.fromObject(T.amount[G])}}return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.amount=[];if(x.defaults){if(x.bytes===String)G.fromAddress="";else if(G.fromAddress=[],x.bytes!==Array)G.fromAddress=l.newBuffer(G.fromAddress);if(x.bytes===String)G.toAddress="";else if(G.toAddress=[],x.bytes!==Array)G.toAddress=l.newBuffer(G.toAddress)}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))G.fromAddress=x.bytes===String?l.base64.encode(T.fromAddress,0,T.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(T.fromAddress):T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))G.toAddress=x.bytes===String?l.base64.encode(T.toAddress,0,T.toAddress.length):x.bytes===Array?Array.prototype.slice.call(T.toAddress):T.toAddress;if(T.amount?.length){G.amount=[];for(let L=0;L<T.amount.length;++L)G.amount[L]=I.cosmos.base.v1beta1.Coin.toObject(T.amount[L],x)}return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},f})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let f={};return f.v1beta1=(()=>{let N={};return N.Coin=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=ZT.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof D))G=D.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.Coin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof D))G=new D(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!l.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!l.isString(G.amount))return"amount: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.Coin)return G;let L=new I.cosmos.base.v1beta1.Coin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},T})(),N.DecCoin=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=ZT.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof D))G=D.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.DecCoin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof D))G=new D(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!l.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!l.isString(G.amount))return"amount: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.DecCoin)return G;let L=new I.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},T})(),N.IntProto=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.int="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=ZT.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))L.uint32(10).string(G.int);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof D))G=D.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.IntProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.int=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof D))G=new D(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!l.isString(G.int))return"int: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.IntProto)return G;let L=new I.cosmos.base.v1beta1.IntProto;if(G.int!=null)L.int=String(G.int);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(G.int!=null&&G.hasOwnProperty("int"))X.int=G.int;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},T})(),N.DecProto=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.dec="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=ZT.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))L.uint32(10).string(G.dec);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof D))G=D.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.DecProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.dec=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof D))G=new D(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!l.isString(G.dec))return"dec: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.DecProto)return G;let L=new I.cosmos.base.v1beta1.DecProto;if(G.dec!=null)L.dec=String(G.dec);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))X.dec=G.dec;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,r.util.toJSONOptions)},T})(),N})(),f})(),y})()});import{Chain as QG}from"@swapkit/helpers";async function jT(){let{$root:y}=await Promise.resolve().then(() => (Y1(),Q1)),f=await import("@cosmjs/proto-signing"),N=f.Registry??f.default?.Registry,T=await import("@cosmjs/stargate"),x=T.defaultRegistryTypes??T.default?.defaultRegistryTypes;return new N([...x,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function ET(y){let f=await import("@cosmjs/stargate"),N=f.AminoTypes??f.default?.AminoTypes,T=y===QG.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${T}/MsgDeposit`,fromAmino:({signer:x,...G})=>({...G,signer:Ey(x)}),toAmino:({signer:x,...G})=>({...G,signer:ky(x)})},"/types.MsgSend":{aminoType:`${T}/MsgSend`,fromAmino:({from_address:x,to_address:G,...L})=>({...L,fromAddress:Ey(x),toAddress:Ey(G)}),toAmino:({fromAddress:x,toAddress:G,...L})=>({...L,from_address:ky(x),to_address:ky(G)})}})}var Yx=E(()=>{_x()});import{AssetValue as YG,Chain as Qf,getChainConfig as z1,SwapKitError as zG}from"@swapkit/helpers";function Mx(y){return function(N){let{assetValue:T,recipient:x,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(x)return M1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:G,recipient:x,sender:L});return H1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:G,sender:L})}}function DT(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((f)=>{let N=YG.from({asset:f.asset}),T=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),x=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...f,asset:{chain:x,symbol:T,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function Py({chain:y,memo:f,msgs:N}){let T=await jT(),x=await ET(y),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:N.map((L)=>x.fromAmino(L))}};return T.encode(G)}var WG,MG,zx=({sender:y,recipient:f,assetValue:N})=>{return{type:`${N.chain===Qf.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:UT(N.symbol,!0)}],from_address:y,to_address:f}}},Wx=({sender:y,assetValue:f,memo:N=""})=>{return{type:`${f.chain===Qf.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:Gy(f)}],memo:N,signer:y}}},Yf=({sender:y,recipient:f,assetValue:N,memo:T})=>{return!f?Wx({assetValue:N,memo:T,sender:y}):zx({assetValue:N,recipient:f,sender:y})},kT=async(y,f)=>{return(await ET(f)).fromAmino(y)},W1=async({rpcUrl:y,sender:f})=>{let T=await(await wT(y)).getAccount(f);if(!T)throw new zG("toolbox_cosmos_account_not_found",{sender:f});return T},M1=(y)=>async({sender:f,recipient:N,assetValue:T,memo:x="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await W1({rpcUrl:y,sender:f}),J=T.chain,{chainId:q}=z1(J),B=zx({assetValue:T,recipient:N,sender:f}),Q=G?await kT(L?B:DT(B),J):B;return{accountNumber:_||Z.accountNumber,chainId:q,fee:CT(J),memo:x,msgs:[Q],sequence:X||Z.sequence}},H1=(y)=>async({sender:f,assetValue:N,memo:T="",asSignable:x=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await W1({rpcUrl:y,sender:f}),Z=N.chain,{chainId:J}=z1(Z),q=Wx({assetValue:N,memo:T,sender:f}),B=x?await kT(G?q:DT(q),Z):q;return{accountNumber:X||_.accountNumber,chainId:J,fee:CT(Z),memo:T,msgs:[B],sequence:L||_.sequence}};var U1=E(()=>{Dy();Yx();WG=CT(Qf.THORChain).gas,MG=CT(Qf.Maya).gas});var C1=()=>{};var w1=E(()=>{C1()});var Hx=E(()=>{_x();U1();Yx();w1()});import{base64 as Rx,bech32 as Ux}from"@scure/base";import{AssetValue as zf,applyFeeMultiplier as I1,Chain as yT,CosmosChainPrefixes as k1,DerivationPath as HG,derivationPathToString as R1,FeeOption as Mf,getChainConfig as UG,getRPCUrl as CG,NetworkDerivationPath as wG,SwapKitError as Wf,SwapKitNumber as Cx,updateDerivationPath as IG}from"@swapkit/helpers";import{SwapKitApi as D1}from"@swapkit/helpers/api";import{match as RG,P as O1}from"ts-pattern";async function lx(y,f){try{let T=(await D1.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}async function Ox({phrase:y,prefix:f,...N}){let T=await import("@cosmjs/proto-signing"),x=T.DirectSecp256k1HdWallet??T.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${HG[N.chain]}/${N.index}`;return x.fromMnemonic(y,{hdPaths:[L(X)],prefix:f})}async function OG({privateKey:y,prefix:f}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(y,f)}function P1(y){return async function({signature:N,message:T,address:x}){let G=await y(x);if(!G?.pubkey)throw new Wf("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength(Rx.decode(N));return _.verifySignature(Z,Rx.decode(T),G.pubkey.value)}}async function vy({chain:y,...f}){let N=await CG(y),T=k1[y],x="index"in f?f.index||0:0,G=R1("derivationPath"in f&&f.derivationPath?f.derivationPath:IG(wG[y],{index:x})),L=await RG(f).with({phrase:O1.string},({phrase:B})=>Ox({derivationPath:G,phrase:B,prefix:T})).with({signer:O1.any},({signer:B})=>B).otherwise(()=>{return});async function X(B){return(await wT(N)).getAccount(B)}async function _(){let[B]=await L?.getAccounts()||[];return B?.address}async function Z(){let[B]=await L?.getAccounts()||[];if(!B?.pubkey)throw new Wf("toolbox_cosmos_signer_not_defined");return Rx.encode(B?.pubkey)}async function J({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:W=Mf.Fast}){let C=await _();if(!(L&&C))throw new Wf("toolbox_cosmos_signer_not_defined");let O=zf.from({chain:y}),S=Gy(O),P=U||l1((await Ix(y,wx[y]))[W],S),A=await Ny(N,L),o=UT(Q.symbol),m=Q.getBaseValue("string"),{TxRaw:GT}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),k={amount:[{amount:m,denom:o}],fromAddress:C,toAddress:B},v=await A.sign(C,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:k}],P,Y),z=GT.encode(v).finish();return Buffer.from(z).toString("hex")}async function q({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:W=Mf.Fast,dryRun:C=!1}){if(C)return J({assetValue:Q,feeOptionKey:W,feeRate:U,memo:Y,recipient:B});let O=await _();if(!(L&&O))throw new Wf("toolbox_cosmos_signer_not_defined");let S=zf.from({chain:y}),P=Gy(S),A=U||l1((await Ix(y,wx[y]))[W],P),o=await Ny(N,L),m=UT(Q.symbol),GT=[{amount:Q.getBaseValue("string"),denom:m}],{transactionHash:k}=await o.sendTokens(O,B,GT,A,Y);return k}return{createPrivateKeyFromPhrase:DG(G),createTransaction:qx,fetchFeeRateFromSwapKit:lx,getAccount:X,getAddress:_,getBalance:async(B,Q)=>{let Y=await E1(N)(B),U=await Promise.all(Y.filter(({denom:W})=>W&&!W.includes("IBC/")).map(({denom:W,amount:C})=>{let O=[yT.THORChain,yT.Maya].includes(y)&&(W.includes("/")||W.includes("˜"))?`${y}.${W}`:W;return Qx(O,C)}));if(U.length===0)return[zf.from({chain:y})];return U},getBalanceAsDenoms:E1(N),getFees:()=>Ix(y,wx[y]),getPubKey:Z,getSignerFromPhrase:async({phrase:B,derivationPath:Q})=>Ox({derivationPath:R1(Q),index:x,phrase:B,prefix:T}),getSignerFromPrivateKey:async(B)=>{let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(B,T)},signTransaction:J,transfer:q,validateAddress:v1(y),verifySignature:P1(X)}}async function lG(y,f){try{let T=(await D1.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}function EG({assetValue:{chain:y}}){return zf.from({chain:y,value:kG(y)})}async function Ix(y,f){let{chainId:N,baseDecimal:T}=UG(y),x=await lx(N,f);return{average:Cx.fromBigInt(BigInt(x),T),fast:Cx.fromBigInt(BigInt(I1(x,Mf.Fast,!0)),T),fastest:Cx.fromBigInt(BigInt(I1(x,Mf.Fastest,!0)),T)}}function l1(y,f){return{amount:[{amount:y.getBaseValue("string"),denom:f}],gas:"200000"}}function kG(y){return{[yT.Cosmos]:0.007,[yT.Kujira]:0.02,[yT.Noble]:0.01,[yT.THORChain]:0.02,[yT.Maya]:0.02,[yT.Harbor]:0.02}[y]||0}function v1(y){let f=k1[y];return function(T){if(!T.startsWith(f))return!1;try{let{prefix:x,words:G}=Ux.decode(T);return Ux.encode(x,G)===T.toLocaleLowerCase()}catch{return!1}}}function E1(y){return async function(N){return(await(await wT(y)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function DG(y){return async function(N){let T=await import("@cosmjs/crypto"),x=T.stringToPath??T.default?.stringToPath,G=T.Slip10Curve??T.default?.Slip10Curve,L=T.Slip10??T.default?.Slip10,X=T.EnglishMnemonic??T.default?.EnglishMnemonic,_=T.Bip39??T.default?.Bip39,Z=new X(N),J=await _.mnemonicToSeed(Z),{privkey:q}=L.derivePath(G.Secp256k1,J,x(y));return q}}var wx;var Hf=E(()=>{Dy();wx={[yT.Cosmos]:1000,[yT.Kujira]:1000,[yT.Noble]:1000,[yT.THORChain]:5000000,[yT.Maya]:5000000,[yT.Harbor]:5000000}});import{base64 as hT}from"@scure/base";import{Chain as PG,CosmosChainPrefixes as vG,derivationPathToString as SG,FeeOption as Ex,getChainConfig as S1,getRPCUrl as AG,NetworkDerivationPath as nG,RequestClient as FG,SKConfig as VG,SwapKitError as A1,SwapKitNumber as n1,updateDerivationPath as $G}from"@swapkit/helpers";import{match as KG,P as F1}from"ts-pattern";function bG({prefix:y,derivationPath:f}){return async function(T,x=0){let G=await import("@cosmjs/amino"),L=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(T,{hdPaths:[_(`${f}/${x}`)],prefix:y})}}function uG(y){return hT.encode(y)}function oG(y){return async function({wallet:N,tx:T}){let{msgs:x,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof T==="string"?JSON.parse(T):T,J=(await N.getAccounts())?.[0]?.address||"",q=await ET(y),B=await jT(),Q=await Jx(N,{aminoTypes:q,registry:B}),Y=[];for(let C of x){let O=await kT(C,y);Y.push(O)}let{signatures:[U]}=await Q.sign(J,Y,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await Py({chain:y,memo:Z,msgs:x.map(DT)}),signature:uG(U)}}}function jG({prefix:y,rpcUrl:f}){return async function(T,x,G,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:J}=(await import("@cosmjs/stargate")).default,{sequence:q,fee:B}=JSON.parse(T),Q=await V1(G,L),Y=x.map((C)=>[Z(_(hT.decode(C.pubKey)),y),hT.decode(C.signature)]),U=await wT(f),{transactionHash:W}=await U.broadcastTx(J(Q,q,B,X,new Map(Y)));return W}}async function V1(y,f,N=!0){let{createMultisigThresholdPubkey:T,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return T(y.map((G)=>x(hT.decode(G))),f,N)}function hG(y){return hT.decode(y)}async function pG({privateKey:y,message:f}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,T=await N.createSignature(hT.decode(f),y);return hT.encode(Buffer.concat([T.r(32),T.s(32)]))}async function kx({chain:y,...f}){let N=await AG(y),{nodeUrl:T}=S1(y),{isStagenet:x}=VG.get("envs"),G=y===PG.THORChain,L=`${x?"s":""}${vG[y]}`,X="index"in f?f.index||0:0,_="derivationPath"in f&&f.derivationPath?f.derivationPath:$G(nG[y],{index:X}),Z=await vy({chain:y,...f}),J=await KG(f).with({phrase:F1.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:F1.any},({signer:Y})=>Y).otherwise(()=>{return}),q=CT(y);async function B(){let Y,U=`${T}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await FG.get(U);if(!W||Number.isNaN(W)||W<0)throw new A1("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});Y=new n1(W)}catch{Y=new n1({decimal:S1(y).baseDecimal,value:G?0.02:1})}return{[Ex.Average]:Y,[Ex.Fast]:Y,[Ex.Fastest]:Y}}async function Q({assetValue:Y,memo:U="",recipient:W}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),O=(await J?.getAccounts())?.[0]?.address;if(!(O&&J))throw new A1("toolbox_cosmos_no_signer");let S="signAmino"in J,P=await jT(),A=await ET(y),o=await Ny(N,J,{aminoTypes:A,registry:P}),m=Yf({assetValue:Y,memo:U,recipient:W,sender:O});if(S){let z=await kT(m,y),{signatures:w,authInfoBytes:R}=await o.sign(O,[z],q,U),n=C.encode({authInfoBytes:R,bodyBytes:await Py({chain:y,memo:U,msgs:[m].map(DT)}),signatures:w}).finish();return(await o.broadcastTx(n)).transactionHash}let GT=DT(m),k=await kT(GT,y);return(await o.signAndBroadcast(O,[k],q,U)).transactionHash}return{...Z,broadcastMultisigTx:jG({prefix:L,rpcUrl:N}),buildAminoMsg:Yf,buildEncodedTxBody:Py,convertToSignable:kT,createDefaultAminoTypes:()=>ET(y),createDefaultRegistry:jT,createMultisig:V1,createTransaction:Mx(N),deposit:Q,getFees:B,importSignature:hG,parseAminoMessageForDirectSigning:DT,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:U}=(await import("@cosmjs/amino")).default;return U(Y,L)},secp256k1HdWalletFromMnemonic:bG({derivationPath:SG(_),prefix:L}),signMultisigTx:oG(y),signWithPrivateKey:pG,transfer:Q}}var Dx=E(()=>{Hx();Dy();Hf()});import{Chain as Sy,SwapKitError as mG}from"@swapkit/helpers";var tG=(y,f)=>{switch(y){case Sy.Cosmos:case Sy.Kujira:case Sy.Noble:return vy({chain:y,...f});case Sy.Maya:case Sy.THORChain:return kx({chain:y,...f});default:throw new mG("toolbox_cosmos_not_supported",{chain:y})}};var $1=E(()=>{Hf();Dx();Hf();Dx()});var Uf={};TT(Uf,{verifySignature:()=>P1,transferMsgAmino:()=>zx,toBase64:()=>_G,parseAminoMessageForDirectSigning:()=>DT,getSignerFromPrivateKey:()=>OG,getSignerFromPhrase:()=>Ox,getMsgSendDenom:()=>UT,getFeeRateFromSwapKit:()=>lG,getDenomWithChain:()=>Gy,getDefaultChainFee:()=>CT,getCreateTransaction:()=>Mx,getCosmosValidateAddress:()=>v1,getCosmosToolbox:()=>tG,getAssetFromDenom:()=>Qx,fromBase64:()=>ZG,fetchFeeRateFromSwapKit:()=>lx,estimateTransactionFee:()=>EG,depositMsgAmino:()=>Wx,createThorchainToolbox:()=>kx,createStargateClient:()=>wT,createSigningStargateClient:()=>Ny,createOfflineStargateClient:()=>Jx,createDefaultRegistry:()=>jT,createDefaultAminoTypes:()=>ET,createCosmosToolbox:()=>vy,cosmosCreateTransaction:()=>qx,convertToSignable:()=>kT,buildTransferTx:()=>M1,buildEncodedTxBody:()=>Py,buildDepositTx:()=>H1,buildAminoMsg:()=>Yf,bech32ToBase64:()=>Ey,base64ToBech32:()=>ky,YUM_KUJIRA_FACTORY_DENOM:()=>Z1,USK_KUJIRA_FACTORY_DENOM:()=>Bx,THORCHAIN_GAS_VALUE:()=>WG,MAYA_GAS_VALUE:()=>MG,DEFAULT_NOBLE_FEE_MAINNET:()=>q1,DEFAULT_KUJI_FEE_MAINNET:()=>J1,DEFAULT_COSMOS_FEE_MAINNET:()=>B1});var Cf=E(()=>{Hx();$1();Dy()});import{AssetValue as wf,Chain as PT,DerivationPath as cG,derivationPathToString as gG,getChainConfig as u1,getRPCUrl as iG,NetworkDerivationPath as dG,SwapKitError as mT,updateDerivationPath as rG}from"@swapkit/helpers";import{match as aG,P as K1}from"ts-pattern";async function o1(y){let f=wf.from({address:y,chain:PT.Solana});if(f.symbol!=="UNKNOWN")return{decimals:f.decimal||0,id:y,logoURI:f.getIconUrl(),name:f.symbol,symbol:f.ticker};let N=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let T=await fetch(N);if(!T.ok)return null;let x=await T.json();if(!Array.isArray(x)||x.length===0)return null;return x.find((L)=>L.id===y)||null}catch{return null}}async function sG(y){let f=await pT(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:T}=await import("@solana/spl-token"),x=new N(y),G=[],L=await f.getBalance(x);if(L>0){let{baseDecimal:_}=u1(PT.Solana);G.push(wf.from({chain:PT.Solana,fromBaseDecimal:_,value:L}))}let X=await f.getParsedTokenAccountsByOwner(x,{programId:T});for(let{account:_}of X.value){let Z=_.data.parsed.info,J=Z.mint,q=Z.tokenAmount.amount;if(Number(q)===0)continue;let B=await o1(J),Q=B?.symbol||"UNKNOWN",Y=B?.decimals||Z.tokenAmount.decimals;G.push(wf.from({asset:`${PT.Solana}.${Q}-${J}`,fromBaseDecimal:Y,value:q}))}return G}async function Sx(){let{PublicKey:y}=await import("@solana/web3.js");return(f)=>{try{let N=new y(f);return y.isOnCurve(N.toBytes())}catch{return!1}}}async function eG(y){let f=y&&"index"in y?y.index||0:0,N=gG(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:rG(dG[PT.Solana],{index:f})),T=await aG(y).with({phrase:K1.string},({phrase:L})=>vx({derivationPath:N,phrase:L})).with({signer:K1.any},({signer:L})=>L).otherwise(()=>{return});function x(){return T?.publicKey?b1(T.publicKey):""}function G(L){let X=L||x();if(!X)throw new mT("core_wallet_connection_not_found");return sG(X)}return{broadcastTransaction:Px(pT),createKeysForPath:vx,createTransaction:Ax(pT),createTransactionFromInstructions:xN,estimateTransactionFee:TN(pT),getAddress:x,getAddressFromPubKey:b1,getAddressValidator:Sx,getBalance:G,getConnection:pT,getPubkeyFromAddress:nx,signTransaction:NN(pT,T),transfer:GN(pT,T)}}function TN(y){return async({recipient:f,assetValue:N,memo:T,isProgramDerivedAddress:x,sender:G})=>{let L=await y(),_=(await Ax(y)({assetValue:N,isProgramDerivedAddress:x,memo:T,recipient:f,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new mT("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:J}=u1(PT.Solana);return wf.from({chain:PT.Solana,fromBaseDecimal:J,value:Z.value})}}async function pT(){let{Connection:y}=await import("@solana/web3.js"),f=await iG(PT.Solana);return new y(f,"confirmed")}function yN(y){return async({assetValue:f,recipient:N,sender:T,isProgramDerivedAddress:x})=>{let G=await y(),L=await nx(T);if(f.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:f.getBaseValue("number"),toPubkey:new Z(N)}))}if(f.address)return fN({amount:f.getBaseValue("number"),connection:G,decimals:f.decimal,from:L,isProgramDerivedAddress:x,recipient:N,tokenAddress:f.address});return}}async function fN({tokenAddress:y,recipient:f,from:N,connection:T,amount:x,decimals:G,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:J}=await import("@solana/spl-token"),{Transaction:q,PublicKey:B}=await import("@solana/web3.js"),Q=new q,Y=new B(y),U=await X(Y,N),W=new B(f),C=await X(Y,W,L),O=!1;try{await _(T,C),O=!0}catch{}if(!O)Q.add(Z(N,C,W,Y));return Q.add(J(U,Y,C,N,x,G)),Q}function Ax(y){return async({recipient:f,assetValue:N,memo:T,isProgramDerivedAddress:x,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await nx(G),_=await Sx();if(!(x||_(f)))throw new mT("core_transaction_invalid_recipient_address");let Z=await y(),J=await yN(y)({assetValue:N,isProgramDerivedAddress:x,recipient:f,sender:G});if(!J)throw new mT("core_transaction_invalid_sender_address");if(T)J.add(L(T));let q=await Z.getLatestBlockhash();return J.recentBlockhash=q.blockhash,J.feePayer=X,J}}async function xN({instructions:y}){let{Transaction:f}=await import("@solana/web3.js"),N=new f().add(...y);if(!N)throw new mT("core_transaction_invalid_sender_address");return N}function GN(y,f){return async({recipient:N,assetValue:T,memo:x,isProgramDerivedAddress:G})=>{if(!f)throw new mT("core_transaction_invalid_sender_address");let L=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),X=await Ax(y)({assetValue:T,isProgramDerivedAddress:G,memo:x,recipient:N,sender:L});if("signTransaction"in f){let _=await f.signTransaction(X);return Px(y)(_)}return X.sign(f),Px(y)(X)}}function Px(y){return async(f)=>{return(await y()).sendRawTransaction(f.serialize())}}function NN(y,f){return async(N)=>{let{VersionedTransaction:T}=await import("@solana/web3.js");if(!f)throw new mT("toolbox_solana_no_signer");if(!(N instanceof T)){let G=await(await y()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(N);return await N.sign([f]),N}}async function vx({phrase:y,derivationPath:f=cG.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),G=T(y),L=N.fromMasterSeed(G);return x.fromSeed(L.derive(f,!0).privateKey)}function b1(y){return y.toString()}async function nx(y){let{PublicKey:f}=await import("@solana/web3.js");return new f(y)}var j1=()=>{};var Fx={};TT(Fx,{getSolanaToolbox:()=>eG,getSolanaAddressValidator:()=>Sx,fetchTokenMetaData:()=>o1,createKeysForPath:()=>vx});var Vx=E(()=>{j1()});import{AssetValue as If,Chain as $x,getChainConfig as LN,SwapKitError as vT}from"@swapkit/helpers";import{match as XN,P as h1}from"ts-pattern";async function p1(){let{isValidSuiAddress:y}=await import("@mysten/sui/utils");return function(N){try{return y(N)}catch{return!1}}}async function _N({provider:y,...f}={}){let N=await p1(),T=await XN(f).with({phrase:h1.string},async({phrase:q})=>{let{Ed25519Keypair:B}=await import("@mysten/sui/keypairs/ed25519");return B.deriveKeypair(q)}).with({signer:h1.any},({signer:q})=>q).otherwise(()=>{return});async function x(q=y){let{SuiClient:B,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new B({url:q||Q("mainnet")})}function G(){return T?.toSuiAddress()||""}async function L(q){let B=q||G();if(!B)throw new vT("toolbox_sui_address_required");try{let Q=await x(),{totalBalance:Y}=await Q.getBalance({owner:B}),{baseDecimal:U,chain:W}=LN($x.Sui),C=[If.from({chain:W,fromBaseDecimal:U,value:Y})],O=await Q.getAllBalances({owner:B});for(let{coinType:S,totalBalance:P}of O){if(S==="0x2::sui::SUI")continue;if(Number(P)>0){let A=S.split("::").pop()?.toUpperCase()||"UNKNOWN",o=`${W}.${A}-${S}`;C.push(If.from({asset:o,fromBaseDecimal:U,value:P}))}}return C}catch(Q){throw new vT("toolbox_sui_balance_error",{error:Q})}}async function X(q){let B=If.from({chain:$x.Sui,value:"0.01"});if(!q)return B;try{let Q=await x(),{txBytes:Y}=await _(q),{effects:{status:U,gasUsed:W}}=await Q.dryRunTransactionBlock({transactionBlock:Y});if(U.status!=="success")return B;let C=Number(W.computationCost)+Number(W.storageCost)-Number(W.storageRebate);return If.from({chain:$x.Sui,value:C.toString()})}catch{return B}}async function _({recipient:q,assetValue:B,gasBudget:Q,sender:Y}){let{Transaction:U}=await import("@mysten/sui/transactions"),W=Y||G();if(!W)throw new vT("toolbox_sui_no_sender");try{let C=new U;if(C.setSender(W),B.isGasAsset||B.symbol==="SUI"){let[P]=C.splitCoins(C.gas,[B.getBaseValue("string")]);C.transferObjects([P],q)}else throw new vT("toolbox_sui_custom_token_transfer_not_implemented");if(Q)C.setGasBudget(Q);let O=await x(),S=await C.build({client:O});return{tx:C,txBytes:S}}catch(C){throw new vT("toolbox_sui_transaction_creation_error",{error:C})}}async function Z(q){if(!T)throw new vT("toolbox_sui_no_signer");if(q instanceof Uint8Array)return T.signTransaction(q);let{txBytes:B}="tx"in q?q:await _(q);return T.signTransaction(B)}async function J({assetValue:q,gasBudget:B,recipient:Q}){if(!T)throw new vT("toolbox_sui_no_signer");let Y=T.toSuiAddress()||G();if(!Y)throw new vT("toolbox_sui_no_sender");let{txBytes:U}=await _({assetValue:q,gasBudget:B,recipient:Q,sender:Y}),W=await x(),{digest:C}=await W.signAndExecuteTransaction({signer:T,transaction:U});return C}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:J,validateAddress:N}}var m1=()=>{};var Rf={};TT(Rf,{getSuiToolbox:()=>_N,getSuiAddressValidator:()=>p1});var Of=E(()=>{m1()});import{AssetValue as t1,Chain as lf,getChainConfig as c1,SwapKitError as Ly,SwapKitNumber as ZN}from"@swapkit/helpers";import{match as BN,P as g1}from"ts-pattern";async function JN(y={}){let{mnemonicToWalletKey:f}=await import("@ton/crypto"),{Address:N,TonClient:T,WalletContractV4:x}=await import("@ton/ton"),G=await i1(),L,X,_=await BN(y).with({phrase:g1.string},async({phrase:C})=>f(C.split(" "))).with({signer:g1.any},({signer:C})=>C).otherwise(()=>{return});function Z(){let{rpcUrls:C}=c1(lf.Ton),[O]=C;if(!L||L.parameters.endpoint!==O)L=new T({endpoint:O});return L}function J(C){if(!X||C){let O=Z(),S=C||_;if(!S)throw new Ly("core_wallet_connection_not_found");let P=x.create({publicKey:S.publicKey,workchain:0});X=O.open(P)}return X}async function q(C){let O=Z(),{baseDecimal:S}=c1(lf.Ton);try{let P=await O.getBalance(N.parse(C));return[t1.from({chain:lf.Ton,value:ZN.fromBigInt(P,S)})]}catch(P){throw new Ly("core_wallet_connection_not_found",{error:P})}}async function B({assetValue:C,recipient:O,memo:S}){let P=J();if(!P||!_)throw new Ly("core_wallet_connection_not_found");let{toNano:A,comment:o,internal:m}=await import("@ton/ton"),GT=await P.getSeqno(),k=A(C.getValue("string")),v=S?o(S):void 0;return P.createTransfer({messages:[m({body:v,to:O,value:k})],secretKey:_.secretKey,seqno:GT})}async function Q({assetValue:C,recipient:O,memo:S}){let P=J();if(!P||!_)throw new Ly("core_wallet_connection_not_found");let A=await B({assetValue:C,memo:S,recipient:O});return await P.send(A),A.hash().toString()}async function Y(C){let O=J();if(!O)throw new Ly("core_wallet_connection_not_found");try{return await O.send(C),C.hash().toString("hex")}catch(S){throw new Ly("core_wallet_connection_not_found",{error:S})}}function U(){return J().address.toString()}function W(){return Promise.resolve(t1.from({chain:lf.Ton,value:"0.0001"}))}return{createTransaction:B,estimateTransactionFee:W,getAddress:U,getBalance:q,sendTransaction:Y,transfer:Q,validateAddress:G}}async function i1(){let{Address:y}=await import("@ton/ton");return function(N){try{return y.parse(N),!0}catch{return!1}}}var d1=()=>{};var Ef={};TT(Ef,{getTONToolbox:()=>JN,getTONAddressValidator:()=>i1});var kf=E(()=>{d1()});var Xy;var Kx=E(()=>{Xy=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});import{SwapKitError as qN}from"@swapkit/helpers";async function r1(y){let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb;try{let T=await fetch(`${QN}/v1/accounts/${y}`);if(!T.ok)throw Error(`TronGrid API error: ${T.status} ${T.statusText}`);let x=await T.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=N.address.toHex(y).toLowerCase()}catch{G=y.toLowerCase()}let L=x.data.find((X)=>{return X.address.toLowerCase()===G});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(T){throw new qN("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}var QN="https://api.trongrid.io";var a1=()=>{};import{AssetValue as IT,BaseDecimal as s1,Chain as QT,derivationPathToString as y5,getRPCUrl as YN,NetworkDerivationPath as f5,SwapKitError as fT,updateDerivationPath as x5,warnOnce as bx}from"@swapkit/helpers";import{match as zN,P as e1}from"ts-pattern";async function ux(){let y=await import("tronweb"),f=y.TronWeb??y.default?.TronWeb;return(N)=>{return f.isAddress(N)}}async function G5({phrase:y,derivationPath:f,index:N}){let T=f||y5(x5(f5[QT.Tron],{index:N||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(y),_=x.fromMasterSeed(L).derive(T);if(!_.privateKey)throw new fT("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function CN({phrase:y,derivationPath:f,tronWeb:N}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),G=x(y),X=T.fromMasterSeed(G).derive(f);if(!X.privateKey)throw new fT("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");N.setPrivateKey(_);let Z=N?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(J)=>{return await N.trx.sign(J,_)}}}var WN=268,MN=13000,HN=345,T5="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",UN="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",N5=async(y={})=>{let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb,T=await YN(QT.Tron),x=void 0,G=new N({fullHost:T,headers:void 0}),L="index"in y?y.index||0:0,X=y5("derivationPath"in y&&y.derivationPath?y.derivationPath:x5(f5[QT.Tron],{index:L})),_=await zN(y).with({phrase:e1.string},async({phrase:k})=>CN({derivationPath:X,phrase:k,tronWeb:G})).with({signer:e1.any},({signer:k})=>Promise.resolve(k)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new fT("toolbox_tron_no_signer");return await _.getAddress()},J=()=>{return 1e8},q=async()=>{try{let k=await G.trx.getChainParameters(),v={};for(let z of k)v[z.key]=z.value;return{bandwidthFee:v.getTransactionFee||1000,createAccountFee:v.getCreateAccountFee||1e5,energyFee:v.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},B=async(k)=>{try{let v=await G.trx.getAccount(k);return v&&Object.keys(v).length>0}catch{return!1}},Q=async(k)=>{try{let v=await G.trx.getAccountResources(k);return{bandwidth:{free:v.freeNetLimit-v.freeNetUsed,total:v.NetLimit||0,used:v.NetUsed||0},energy:{total:v.EnergyLimit||0,used:v.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(k,v)=>{try{let z=G.contract(Xy,v);if(!z.methods?.balanceOf)return 0n;let[w]=await z.methods.balanceOf(k).call();return w?typeof w==="bigint"?w:BigInt(w):0n}catch(z){return console.warn(`balanceOf() failed for ${v}:`,z),0n}},U=async(k,v)=>{try{G.setAddress(v);let z=G.contract(Xy,k),[w,R]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(R??18),symbol:w??"UNKNOWN"}}catch(z){return bx({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${k}: ${z instanceof Error?z.message:z}`}),null}},W=async(k,v=!0)=>{let z=[IT.from({chain:QT.Tron})];try{let w=await r1(k);if(w){let R=[];R.push(IT.from({chain:QT.Tron,fromBaseDecimal:6,value:w.balance}));for(let n of w.trc20){let[b,K]=Object.entries(n)[0]||[];if(!(b&&K))continue;let V=await U(b,k);if(!V)continue;R.push(IT.from({asset:`TRON.${V.symbol}-${b}`,fromBaseDecimal:V.decimals,value:BigInt(K||0)}))}return R}return z}catch(w){bx({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${w instanceof Error?w.message:w}`});try{let R=[],n=await G.trx.getBalance(k);if(n&&Number(n)>0)R.push(IT.from({chain:QT.Tron,fromBaseDecimal:6,value:n}));let b=await Y(k,T5);if(b)R.push(IT.from({asset:`TRON.USDT-${T5}`,fromBaseDecimal:6,value:b}));if(R.length===0)return z;return R}catch(R){return console.error("Tron balance fetch failed:",R),z}}},C=async({recipient:k,assetValue:v,memo:z,expiration:w})=>{if(!_)throw new fT("toolbox_tron_no_signer");let R=await Z();G.setAddress(R);let n=await S({assetValue:v,expiration:w,memo:z,recipient:k,sender:R}),b=await _.signTransaction(n),{txid:K}=await G.trx.sendRawTransaction(b);if(!K)throw new fT("toolbox_tron_token_transfer_failed");return K},O=async({assetValue:k,recipient:v,sender:z})=>{let w=k.isGasAsset;try{let R=z?z:_?await Z():void 0;if(!R)return w?IT.from({chain:QT.Tron,fromBaseDecimal:0,value:0.1}):IT.from({chain:QT.Tron,fromBaseDecimal:0,value:15});let n=await q(),K=await B(v)?0:n.createAccountFee,V=await Q(R);if(w){let KT=WN,hy=V.bandwidth.free+(V.bandwidth.total-V.bandwidth.used),py=0;if(KT>hy)py=(KT-hy)*n.bandwidthFee;let my=K+py;return IT.from({chain:QT.Tron,fromBaseDecimal:s1.TRON,value:my})}let j=HN,t=MN,e=V.bandwidth.free+(V.bandwidth.total-V.bandwidth.used),NT=V.energy.total-V.energy.used,$T=0;if(j>e)$T=(j-e)*n.bandwidthFee;let jy=0;if(t>NT)jy=(t-NT)*n.energyFee;let hf=K+$T+jy;return IT.from({chain:QT.Tron,fromBaseDecimal:s1.TRON,value:hf})}catch(R){throw bx({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${R instanceof Error?R.message:R}`}),new fT("toolbox_tron_fee_estimation_failed",{error:R})}},S=async(k)=>{let{recipient:v,assetValue:z,memo:w,sender:R,expiration:n}=k,b=z.isGasAsset,K=async({transaction:j,memo:t,expiration:e})=>{let NT=t?await G.transactionBuilder.addUpdateData(j,t,"utf8"):j;return e?await G.transactionBuilder.extendExpiration(NT,e):NT};if(b){let j=await G.transactionBuilder.sendTrx(v,z.getBaseValue("number"),R);return K({expiration:n,memo:w,transaction:j})}G.setAddress(R);let V=z.address;if(!V)throw new fT("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let t=[{type:"address",value:v},{type:"uint256",value:z.getBaseValue("string")}],e={callValue:0,feeLimit:J()},{transaction:NT}=await G.transactionBuilder.triggerSmartContract(V,"transfer(address,uint256)",e,t,R);return K({expiration:n,memo:w,transaction:NT})}catch(j){throw new fT("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:j instanceof Error?j.message:String(j)})}},P=async(k)=>{if(!_)throw new fT("toolbox_tron_no_signer");return await _.signTransaction(k)},A=async(k)=>{let{txid:v}=await G.trx.sendRawTransaction(k);return v},o=async({assetAddress:k,spenderAddress:v,from:z})=>{try{let w=G.contract(Xy,k);if(!w.methods?.allowance)throw new fT("toolbox_tron_invalid_token_contract");let[R]=await w.methods.allowance(z,v).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(w){throw new fT("toolbox_tron_allowance_check_failed",{error:w})}};return{approve:async({assetAddress:k,spenderAddress:v,amount:z,from:w})=>{if(!_)throw new fT("toolbox_tron_no_signer");let R=w||await Z(),n=z!==void 0?BigInt(z).toString():UN,b="approve(address,uint256)",K=[{type:"address",value:v},{type:"uint256",value:n}],j={callValue:0,feeLimit:J()};try{let{transaction:t}=await G.transactionBuilder.triggerSmartContract(k,b,j,K,R),e=await _.signTransaction(t),{txid:NT}=await G.trx.sendRawTransaction(e);if(!NT)throw new fT("toolbox_tron_approve_failed");return NT}catch(t){throw new fT("toolbox_tron_approve_failed",{error:t})}},broadcastTransaction:A,createTransaction:S,estimateTransactionFee:O,getAddress:Z,getApprovedAmount:o,getBalance:W,isApproved:async({assetAddress:k,spenderAddress:v,from:z,amount:w})=>{let R=await o({assetAddress:k,from:z,spenderAddress:v});if(!w)return R>0n;let n=BigInt(w);return R>=n},signTransaction:P,transfer:C,tronWeb:G,validateAddress:await ux()}};var L5=E(()=>{Kx();a1()});var ox={};TT(ox,{trc20ABI:()=>Xy,getTronPrivateKeyFromMnemonic:()=>G5,getTronAddressValidator:()=>ux,createTronToolbox:()=>N5});var jx=E(()=>{Kx();L5()});import{networks as wN}from"@bitgo/utxo-lib";import{Chain as a,getRPCUrl as IN,RequestClient as Df,SKConfig as Z5,SwapKitError as ST,warnOnce as B5}from"@swapkit/helpers";import{networks as RN}from"bitcoinjs-lib";import Ay from"coininfo";async function ON({chain:y,txHash:f}){let N=`${Pf(y)}/push/transaction`,T=JSON.stringify({data:f});try{let x=await Df.post(N,{body:T,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new ST("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||f}catch(x){let G=await IN(y);if(G){let L=JSON.stringify({id:A0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),X=await Df.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new ST("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new ST("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw x}}function Pf(y){return`https://api.blockchair.com/${lN(y)}`}function X5(y){switch(y){case a.Bitcoin:return 5;case a.Dogecoin:return 1e4;case a.Litecoin:return 1;case a.Zcash:return 1;default:return 2}}function lN(y){switch(y){case a.BitcoinCash:return"bitcoin-cash";case a.Litecoin:return"litecoin";case a.Dash:return"dash";case a.Dogecoin:return"dogecoin";case a.Zcash:return"zcash";case a.Polkadot:return"polkadot";default:return"bitcoin"}}async function EN(y){try{let{feePerKb:f}=await Df.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),N=f/1000;return Math.max(N,X5(y))}catch{return X5(y)}}async function hx(y,f){let N=await Df.get(`${y}${f?`${y.includes("?")?"&":"?"}key=${f}`:""}`);if(!N||N.context.code!==200)throw new ST("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return N.data}async function J5({address:y,chain:f,apiKey:N}){if(!y)throw new ST("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await hx(`${Pf(f)}/dashboards/address/${y}?transaction_details=true`,N))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function kN({address:y,chain:f,apiKey:N}){return(await J5({address:y,apiKey:N,chain:f}))?.address.balance||0}async function q5({chain:y,apiKey:f,txHash:N}){if(!N)throw new ST("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await hx(`${Pf(y)}/raw/transaction/${N}`,f))?.[N]?.raw_transaction||""}catch(T){return console.error("Failed to fetch raw transaction:",T),""}}async function DN({chain:y,address:f,apiKey:N,offset:T=0,limit:x=30}){return(await hx(`${Pf(y)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${T}`,N)).map(({is_spent:_,script_hex:Z,block_id:J,transaction_hash:q,index:B,value:Q,spending_signature_hex:Y})=>({hash:q,index:B,is_confirmed:J!==-1,is_spent:_,script_hex:Z,txHex:Y,value:Q}))}function PN(y){return y.reduce((f,N)=>f+N.value,0)}function _5(y,f){let N=[...y].sort((T,x)=>x.value-T.value);if(f){let T=[],x=0;for(let G of N)if(T.push(G),x+=G.value,x>=f)break;return T}return N}async function Q5({chain:y,address:f,apiKey:N,targetValue:T,accumulativeValue:x=0,offset:G=0,limit:L=30}){if(!f)throw new ST("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await DN({address:f,apiKey:N,chain:y,limit:L,offset:G,targetValue:T}),Z=X.length<L,J=X.filter(({is_spent:W})=>!W),q=PN(J),B=x+q,Q=T&&B>=T;if(Z||Q)return _5(J,T);let Y=await Q5({accumulativeValue:B,address:f,apiKey:N,chain:y,limit:L,offset:G+L,targetValue:T}),U=[...J,...Y];return _5(U,T)}catch(X){return console.error("Failed to fetch unspent UTXOs:",X),[]}}async function vN({address:y,chain:f,apiKey:N,fetchTxHex:T=!0,targetValue:x}){let G=await Q5({address:y,apiKey:N,chain:f,targetValue:x}),L=[];for(let{hash:X,index:_,script_hex:Z,value:J}of G){let q;if(T)q=await q5({apiKey:N,chain:f,txHash:X});L.push({address:y,hash:X,index:_,txHex:q,value:J,witnessUtxo:{script:Buffer.from(Z,"hex"),value:J}})}return L}function SN(y){let f=Z5.get("apiKeys").blockchair||"";return B5({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>ON({chain:y,txHash:N}),getAddressData:(N)=>J5({address:N,apiKey:f,chain:y}),getBalance:(N)=>kN({address:N,apiKey:f,chain:y}),getRawTx:(N)=>q5({apiKey:f,chain:y,txHash:N}),getSuggestedTxFee:()=>EN(y),getUtxos:(N)=>vN({...N,apiKey:f,chain:y})}}function AN(y){return y}function LT(y){let f=Z5.get("apis")[y];if(f)return B5({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return SN(y)}function YT(){return function(f){switch(f){case a.Bitcoin:return RN.bitcoin;case a.BitcoinCash:return Ay.bitcoincash.main.toBitcoinJS();case a.Dash:return Ay.dash.main.toBitcoinJS();case a.Litecoin:return Ay.litecoin.main.toBitcoinJS();case a.Dogecoin:{let N={private:70615956,public:70617039},T=Ay.dogecoin.test;return T.versions.bip32=N,Ay.dogecoin.main.toBitcoinJS()}case a.Zcash:return wN.zcash;default:throw new ST("toolbox_utxo_not_supported",{chain:f})}}}var Y5=E(()=>{My()});import{SwapKitError as W5}from"@swapkit/helpers";import M5 from"bs58check";import H5 from"cashaddrjs";function mx(y){try{return vf(y),!0}catch{return!1}}function tx(y){return vf(y)?.network}function _y(y){let f=vf(y);if(f?.format==="legacy")return y;return VN(f)}function ny(y){let f=vf(y);return $N(f)}function vf(y){try{let f=nN(y);if(f)return f}catch{}try{let f=FN(y);if(f)return f}catch{}throw new W5("toolbox_utxo_invalid_address",{address:y})}function nN(y){try{let f=M5.decode(y);if(f.length!==21)throw new W5("toolbox_utxo_invalid_address",{address:y});let N=f[0],T=Array.prototype.slice.call(f,1);switch(N){case tT.legacy.mainnet.p2pkh:return{format:"legacy",hash:T,network:"mainnet",type:"p2pkh"};case tT.legacy.mainnet.p2sh:return{format:"legacy",hash:T,network:"mainnet",type:"p2sh"};case tT.legacy.testnet.p2pkh:return{format:"legacy",hash:T,network:"testnet",type:"p2pkh"};case tT.legacy.testnet.p2sh:return{format:"legacy",hash:T,network:"testnet",type:"p2sh"};case tT.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2pkh"};case tT.bitpay.mainnet.p2sh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function FN(y){if(y.indexOf(":")!==-1)try{return z5(y)}catch{}else{let f=["bitcoincash","bchtest","bchreg"];for(let N of f)try{return z5(`${N}:${y}`)}catch{}}return}function z5(y){try{let{hash:f,prefix:N,type:T}=H5.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:N==="bitcoincash"?"mainnet":"testnet",type:T==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function VN(y){let f=tT.legacy[y.network][y.type],N=Buffer.alloc(1+y.hash.length);return N[0]=f,N.set(y.hash,1),M5.encode(N)}function $N(y){let f=y.network==="mainnet"?"bitcoincash":"bchtest",N=y.type==="p2pkh"?"P2PKH":"P2SH",T=new Uint8Array(y.hash);return H5.encode(f,N,T)}var px,tT;var U5=E(()=>{((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(px||={});tT={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as KN}from"@swapkit/helpers";import{opcodes as bN,script as uN}from"bitcoinjs-lib";function zT(y){let f=Buffer.from(y,"utf8");return uN.compile([bN.OP_RETURN,f])}var oN=1000,nf=10,C5=10,jN=41,hN=107,Ff,Sf,Af,Fy=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new KN("toolbox_utxo_invalid_address",{address:y})},Zy=({inputs:y,outputs:f,feeRate:N})=>{let T=y[0]&&"address"in y[0]&&y[0].address?Fy(y[0].address):"P2PKH",x=y.filter((L)=>L.value>=Sf["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+AT(X),0),G=f?.reduce((L,X)=>L+Vy(X),0)||Af[T];return nf+x+G},AT=(y)=>{if("type"in y)return Sf[y.type];if("address"in y&&y.address)return Sf[Fy(y.address)];return jN+hN},Vy=(y,f)=>{if(y?.script)return C5+y.script.length+(y.script.length>=74?2:1);if(f)return Af[f];return Af.P2PKH};var cx=E(()=>{((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(Ff||={});Sf={["P2PKH"]:148,["P2WPKH"]:68},Af={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as cT,SwapKitError as pN}from"@swapkit/helpers";function Vf(y){switch(y){case cT.Bitcoin:case cT.BitcoinCash:return 550;case cT.Dash:case cT.Litecoin:return 5500;case cT.Dogecoin:return 1e5;case cT.Zcash:return 546;default:throw new pN("toolbox_utxo_not_supported",{chain:y})}}function WT({inputs:y,outputs:f,feeRate:N=1,chain:T=cT.Bitcoin,changeAddress:x=""}){let G=Math.ceil(N),L=y[0]&&"address"in y[0]&&y[0].address?Fy(y[0].address):"P2PKH",X=y.filter((Q)=>AT(Q)*G<=Q.value),_=nf+f.reduce((Q,Y)=>Q+Vy(Y,L),0),Z=f.reduce((Q,Y)=>Q+Y.value,0),J=_*G,q=0,B=[];for(let Q of X){let Y=AT(Q),U=G*Y;J+=U,q+=Q.value,B.push(Q);let W=J+Z;if(q<W)continue;let C=q-W,O=G*Vy({address:"",value:0},L);if(C>O){let S=O+J,P=q-(Z+S);if(P>Math.max(AT({})*G,Vf(T)))return{fee:S,inputs:B,outputs:f.concat({address:x,value:P})}}return{fee:J,inputs:B,outputs:f}}return{fee:G*Zy({feeRate:G,inputs:y,outputs:f})}}var w5=E(()=>{cx()});var By=E(()=>{Y5();U5();w5();cx()});import{networks as mN,address as tN}from"@bitgo/utxo-lib";import cN from"bs58check";function gT(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function nT(y){let f=gT(y);return mx(f)&&tx(f)==="mainnet"}function Jy(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=mN.zcash;try{return tN.toOutputScript(y,f),!0}catch{let N=cN.decode(y);if(N.length<21)return!1;let T=N[0];return T===f.pubKeyHash||T===f.scriptHash}}catch{return!1}}var $y=E(()=>{By()});import ix from"@bitcoinerlab/secp256k1";import{ECPair as gN,HDNode as iN}from"@psf/bitcoincashjs-lib";import{HDKey as dN}from"@scure/bip32";import{mnemonicToSeedSync as I5}from"@scure/bip39";import{AssetValue as gx,applyFeeMultiplier as R5,Chain as XT,DerivationPath as rN,derivationPathToString as aN,FeeOption as RT,NetworkDerivationPath as sN,SwapKitError as OT,SwapKitNumber as eN,updateDerivationPath as TL}from"@swapkit/helpers";import{address as yL,initEccLib as l5,Psbt as fL,payments as O5}from"bitcoinjs-lib";import{ECPairFactory as xL}from"ecpair";function E5({inputs:y,outputs:f,chain:N,psbt:T,sender:x,compiledMemo:G}){for(let L of y){let X=!!L.witnessUtxo&&!Ky.includes(N)&&{witnessUtxo:L.witnessUtxo},_=Ky.includes(N)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};T.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of f){let X="address"in L&&L.address?L.address:x,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};l5(ix),T.addOutput(Z)}return{inputs:y,psbt:T}}async function k5({assetValue:y,recipient:f,memo:N,feeRate:T,sender:x,fetchTxHex:G=!1}){let L=y.chain,X=N?await zT(N):null,_=await v5({assetValue:y,fetchTxHex:G,memo:N,recipient:f,sender:x}),{inputs:Z,outputs:J}=WT({..._,chain:L,feeRate:T});if(!(Z&&J))throw new OT("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await YT(),B=new fL({network:q(L)});if(L===XT.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:Q,inputs:Y}=await E5({chain:L,compiledMemo:X,inputs:Z,outputs:J,psbt:B,sender:x});return{inputs:Y,psbt:Q,utxos:_.inputs}}async function D5(){let y=await YT();return function({address:N,chain:T}){if(T===XT.BitcoinCash)return nT(N);if(T===XT.Zcash)return Jy(N);try{return l5(ix),yL.toOutputScript(N,y(T)),!0}catch{return!1}}}async function GL({chain:y,phrase:f,derivationPath:N}){let T=(await by(y))({derivationPath:N,phrase:f});async function x(L){return await L.signAllInputs(T),L}function G(){return dx(y)(T)}return{getAddress:G,signTransaction:x}}async function iT({chain:y,...f}){let N="phrase"in f?f.phrase:void 0,T="index"in f?f.index||0:0,x=aN("derivationPath"in f&&f.derivationPath?f.derivationPath:TL(sN[y],{index:T})),G=N?await GL({chain:y,derivationPath:x,phrase:N}):("signer"in f)?f.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await D5(),_=await by(y);return{accumulative:WT,broadcastTx:(Z)=>LT(y).broadcastTx(Z),calculateTxSize:Zy,createKeysForPath:_,createTransaction:k5,estimateMaxSendableAmount:NL(y),estimateTransactionFee:LL(y),getAddress:L,getAddressFromKeys:dx(y),getBalance:rT(y),getFeeRates:()=>uy(y),getInputsOutputsFee:P5,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:XL(G),validateAddress:(Z)=>X({address:Z,chain:y})}}async function P5({assetValue:y,feeOptionKey:f=RT.Fast,feeRate:N,memo:T,sender:x,recipient:G}){let L=y.chain,X=await v5({assetValue:y,memo:T,recipient:G,sender:x}),_=N?Math.floor(N):(await uy(L))[f];return WT({...X,chain:L,feeRate:_})}function NL(y){return async function({from:N,memo:T,feeRate:x,feeOptionKey:G=RT.Fast,recipients:L=1}){let X=await LT(y).getAddressData(N),_=x?Math.ceil(x):(await uy(y))[G],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(Vf(y),AT(Y)*_));if(!Z?.length)return gx.from({chain:y});let J=gx.from({chain:y,value:Z.reduce((Y,U)=>Y+U.value,0)}),q=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(T){let Y=await zT(T);q.push({address:N,script:Y,value:0})}let Q=Zy({feeRate:_,inputs:Z,outputs:q})*_;return J.sub(Q)}}function LL(y){return async(f)=>{let N=await P5(f);return gx.from({chain:y,value:eN.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function by(y){let f=await YT();switch(y){case XT.BitcoinCash:return function({phrase:T,derivationPath:x=`${rN.BCH}/0`,wif:G}){let L=f(y);if(G)return gN.fromWIF(G,L);if(!T)throw new OT("toolbox_utxo_invalid_params",{error:"No phrase provided"});return iN.fromSeedBuffer(Buffer.from(I5(T)),L).derivePath(x).keyPair};case XT.Bitcoin:case XT.Dogecoin:case XT.Litecoin:case XT.Zcash:case XT.Dash:return function({phrase:T,wif:x,derivationPath:G}){if(!(x||T))throw new OT("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=xL(ix),X=f(y);if(x)return L.fromWIF(x,X);let _=I5(T),Z=dN.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new OT("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new OT("toolbox_utxo_not_supported",{chain:y})}}function dx(y){let f=YT();return function(T){if(!T)throw new OT("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=Ky.includes(y)?O5.p2pkh:O5.p2wpkh,{address:G}=x({network:f(y),pubkey:T.publicKey});if(!G)throw new OT("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function XL(y){return async function({memo:N,recipient:T,feeOptionKey:x,feeRate:G,assetValue:L}){let X=await y?.getAddress(),_=L.chain;if(!(y&&X))throw new OT("toolbox_utxo_no_signer");if(!T)throw new OT("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await uy(_))[x||RT.Fast],{psbt:J}=await k5({assetValue:L,feeRate:Z,memo:N,recipient:T,sender:X}),q=await y.signTransaction(J);return q.finalizeAllInputs(),LT(_).broadcastTx(q.extractTransaction().toHex())}}async function uy(y){let f=await LT(y).getSuggestedTxFee();return{[RT.Average]:f,[RT.Fast]:R5(f,RT.Fast),[RT.Fastest]:R5(f,RT.Fastest)}}async function v5({assetValue:y,recipient:f,memo:N,sender:T,fetchTxHex:x=!1}){let G=y.chain,L=(await uy(G))[RT.Fastest],X=x||Ky.includes(G),_=y.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await LT(G).getUtxos({address:T,fetchTxHex:X,targetValue:Z}),outputs:[{address:f,value:_},...N?[{address:"",script:await zT(N),value:0}]:[]]}}var Ky;var oy=E(()=>{My();By();$y();Ky=[XT.Dash,XT.Dogecoin,XT.Zcash,XT.BitcoinCash]});import{address as _L,Transaction as ZL,TransactionBuilder as BL}from"@psf/bitcoincashjs-lib";import{Chain as JL,derivationPathToString as qL,FeeOption as QL,NetworkDerivationPath as YL,SwapKitError as qy,updateDerivationPath as zL}from"@swapkit/helpers";import{Psbt as WL}from"bitcoinjs-lib";function dT(y){return gT(ny(y))}function ML(y){function f({builder:T,utxos:x}){return x.forEach((G,L)=>{T.sign(L,y,void 0,65,G.witnessUtxo?.value)}),T.build()}return{getAddress:()=>{let T=y.getAddress(0);return Promise.resolve(dT(T))},signTransaction:f}}async function rx(y){let f="phrase"in y?y.phrase:void 0,N="index"in y?y.index||0:0,T=qL("derivationPath"in y&&y.derivationPath?y.derivationPath:zL(YL[BT],{index:N})),x=f?(await by(BT))({derivationPath:T,phrase:f}):void 0,G=x?ML(x):("signer"in y)?y.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...J}=await iT({chain:BT});function q(B,Q=!0){return X(gT(ny(B)))}return{...J,broadcastTx:Z,buildTx:UL,createTransaction:S5,getAddress:L,getAddressFromKeys:CL,getBalance:q,getFeeRates:_,stripPrefix:gT,stripToCashAddress:dT,transfer:HL({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:nT}}async function S5({assetValue:y,recipient:f,memo:N,feeRate:T,sender:x}){if(!nT(f))throw new qy("toolbox_utxo_invalid_address",{address:f});let G=Math.ceil(y.getBaseValue("number")+T*7500),L=await LT(BT).getUtxos({address:dT(x),fetchTxHex:!0,targetValue:G}),X=N?await zT(N):null,_=[];_.push({address:f,value:y.getBaseValue("number")});let{inputs:Z,outputs:J}=WT({chain:BT,feeRate:T,inputs:L,outputs:_});if(!(Z&&J))throw new qy("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await YT(),B=new BL(q(BT));await Promise.all(Z.map(async(Q)=>{let Y=await LT(BT).getRawTx(Q.hash);B.addInput(ZL.fromBuffer(Buffer.from(Y,"hex")),Q.index)}));for(let Q of J){let Y="address"in Q&&Q.address?Q.address:_y(x),U=await YT(),W=_L.toOutputScript(_y(Y),U(BT));B.addOutput(W,Q.value)}if(X)B.addOutput(X,0);return{builder:B,utxos:Z}}function HL({broadcastTx:y,getFeeRates:f,signer:N}){return async function({recipient:x,assetValue:G,feeOptionKey:L=QL.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new qy("toolbox_utxo_no_signer");if(!x)throw new qy("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await f())[L],{builder:J,utxos:q}=await S5({...X,assetValue:G,feeRate:Z,recipient:x,sender:_}),Q=(await N.signTransaction({builder:J,utxos:q})).toHex();return y(Q)}}async function UL({assetValue:y,recipient:f,memo:N,feeRate:T,sender:x,setSigHashType:G}){let L=ny(f);if(!nT(L))throw new qy("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(y.getBaseValue("number")+T*7500),_=await LT(BT).getUtxos({address:dT(x),fetchTxHex:!1,targetValue:X}),Z=Number(T.toFixed(0)),J=N?await zT(N):null,q=[];if(q.push({address:_y(f),value:y.getBaseValue("number")}),J)q.push({script:J,value:0});let{inputs:B,outputs:Q}=WT({chain:BT,feeRate:Z,inputs:_,outputs:q});if(!(B&&Q))throw new qy("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let Y=await YT(),U=new WL({network:Y(BT)});for(let{hash:W,index:C,witnessUtxo:O}of B)U.addInput({hash:W,index:C,sighashType:G?65:void 0,witnessUtxo:O});for(let W of Q){let C="address"in W&&W.address?W.address:_y(x),O=W.script?J?{script:J,value:0}:void 0:{address:C,value:W.value};if(O)U.addOutput(O)}return{inputs:B,psbt:U,utxos:_}}function CL(y){let f=y.getAddress(0);return dT(f)}var BT;var $f=E(()=>{By();oy();$y();BT=JL.BitcoinCash});import{bitgo as wL,crypto as IL,ECPair as n5,networks as RL,address as OL}from"@bitgo/utxo-lib";import{HDKey as F5}from"@scure/bip32";import{mnemonicToSeedSync as V5}from"@scure/bip39";import{Chain as Kf,derivationPathToString as lL,FeeOption as EL,NetworkDerivationPath as kL,SKConfig as DL,SwapKitError as bf,updateDerivationPath as PL}from"@swapkit/helpers";import vL from"bs58check";import{match as SL,P as ax}from"ts-pattern";function $5(){return RL.zcash}function K5(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function AL({phrase:y,derivationPath:f}){let N=V5(y),x=F5.fromMasterSeed(N).derive(f);if(!x.privateKey)throw new bf("toolbox_utxo_invalid_params");let G=K5(),L=n5.fromPrivateKey(Buffer.from(x.privateKey),{network:G}),X=IL.hash160(L.publicKey),{isStagenet:_}=DL.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),J=Buffer.concat([Z,X]),q=vL.encode(J);return{getAddress:()=>Promise.resolve(q),signTransaction:(B)=>{let Q=B.signAllInputs(L);return Promise.resolve(Q)}}}function nL({inputs:y,outputs:f,psbt:N,sender:T,compiledMemo:x}){for(let G of y){let L=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},X=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};N.addInput({hash:G.hash,index:G.index,...L,...X})}for(let G of f){let L="address"in G&&G.address?G.address:T,X=G.script;if(X&&!x)continue;let _=X?{script:x,value:0n}:{script:OL.toOutputScript(L,$5()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:y,psbt:N}}async function A5(y){let{assetValue:f,recipient:N,memo:T,feeRate:x,sender:G,fetchTxHex:L}=y,X=T?zT(T):null,_=await LT(Kf.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(f.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:J,outputs:q}=WT({chain:Kf.Zcash,changeAddress:G,feeRate:x,inputs:_,outputs:Z});if(!(J&&q))throw new bf("toolbox_utxo_insufficient_balance",{assetValue:f,sender:G});let B=wL.createPsbtForNetwork({network:$5()},{version:455}),Y=3268858036,U=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=Buffer.allocUnsafe(4);W.writeUInt32LE(Y>>>0,0),B.addUnknownKeyValToGlobal({key:U,value:W});let{psbt:C,inputs:O}=await nL({compiledMemo:X,inputs:J,outputs:q,psbt:B,sender:G});return{inputs:O,outputs:q,psbt:C}}async function sx(y){let f=await SL(y).with({signer:ax.not(ax.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:ax.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||kL[Kf.Zcash]||[44,133,0,0,0],J=PL(Z,{index:_}),q=lL(J);return AL({derivationPath:q,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await iT({chain:Kf.Zcash,signer:f});async function T({recipient:L,assetValue:X,feeOptionKey:_=EL.Fast,...Z}){let J=await f?.getAddress();if(!(f&&J))throw new bf("toolbox_utxo_no_signer");let q=Z.feeRate||(await N.getFeeRates())[_],{psbt:B}=await A5({...Z,assetValue:X,feeRate:q,recipient:L,sender:J}),Q=await f.signTransaction(B);return Q.finalizeAllInputs(),N.broadcastTx(Q.extractTransaction().toHex())}function x({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=V5(L),J=F5.fromMasterSeed(_).derive(X);if(!J.privateKey)throw new bf("toolbox_utxo_invalid_params");let q=K5();return n5.fromPrivateKey(Buffer.from(J.privateKey),{network:q})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return x({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:x,createTransaction:A5,getPrivateKeyFromMnemonic:G,transfer:T,validateAddress:Jy}}var ex=E(()=>{By();oy();$y()});import{Chain as Qy,SwapKitError as FL}from"@swapkit/helpers";async function VL(y,f){switch(y){case Qy.BitcoinCash:return await rx(f||{});case Qy.Zcash:return await sx(f);case Qy.Bitcoin:case Qy.Dogecoin:case Qy.Litecoin:case Qy.Dash:return await iT({chain:y,...f});default:throw new FL("toolbox_utxo_not_supported",{chain:y})}}var b5=E(()=>{$f();oy();ex();$f();$y()});var T0={};TT(T0,{validateZcashAddress:()=>Jy,toLegacyAddress:()=>_y,toCashAddress:()=>ny,stripToCashAddress:()=>dT,stripPrefix:()=>gT,nonSegwitChains:()=>Ky,isValidAddress:()=>mx,getUtxoToolbox:()=>VL,getUtxoNetwork:()=>YT,getUtxoApi:()=>LT,getUTXOAddressValidator:()=>D5,getScriptTypeForAddress:()=>Fy,getOutputSize:()=>Vy,getInputSize:()=>AT,getDustThreshold:()=>Vf,getCreateKeysForPath:()=>by,detectAddressNetwork:()=>tx,createZcashToolbox:()=>sx,createUTXOToolbox:()=>iT,createCustomUtxoApi:()=>AN,createBCHToolbox:()=>rx,compileMemo:()=>zT,calculateTxSize:()=>Zy,bchValidateAddress:()=>nT,addressFromKeysGetter:()=>dx,addInputsAndOutputs:()=>E5,accumulative:()=>WT,UtxoNetwork:()=>px,UTXOScriptType:()=>Ff,TX_OVERHEAD:()=>nf,OutputSizes:()=>Af,OP_RETURN_OVERHEAD:()=>C5,MIN_TX_FEE:()=>oN,InputSizes:()=>Sf});var y0=E(()=>{By();b5();$f();oy();ex()});import{KeyPairSigner as $L}from"@near-js/signers";import{derivationPathToString as KL,SwapKitError as bL}from"@swapkit/helpers";async function uf(){let{validateAccountId:y}=await import("near-sdk-js");return(f)=>{try{return y(f)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&N.test(f)}}}async function of(y){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),T=y.index||0,x=y.derivationPath?KL(y.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:G}=f(y.phrase,x),L=N.fromString(G);return o5(L)}async function f0(y){let{KeyPair:f}=await import("@near-js/crypto"),N=f.fromString(y);return o5(N)}function o5(y){return new u5(y)}async function jf(y,f){let T=(await y.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!T)throw new bL("toolbox_near_no_public_key_found");let{PublicKey:x}=await import("@near-js/crypto"),G=x.fromString(T.public_key);return{nonce:T.access_key.nonce||0,publicKey:G}}var u5;var x0=E(()=>{u5=class u5 extends $L{#T;constructor(y){super(y);this.#T=y}getAddress(){let y=this.#T.getPublicKey(),f=Buffer.from(y.data).toString("hex");return Promise.resolve(f)}}});function G0(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function N0(y){return"contractId"in y&&"methodName"in y}function L0(y){return"actions"in y}function X0(y){return"newAccountId"in y}function _0(y){return"contractCode"in y}function Z0(y){return"customEstimator"in y}function B0(y){let f=0;for(let N of y)switch(N.enum){case"transfer":f+=Number(s.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(s.CONTRACT_CALL);break;case"createAccount":f+=Number(s.ACCOUNT_CREATION);break;case"deployContract":f+=Number(s.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(s.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(s.ACCESS_KEY_DELETION);break;case"stake":f+=Number(s.STAKE);break;default:f+=Number(s.CONTRACT_CALL)}return f.toString()}function J0(y){if(y==="ft_transfer"||y==="ft_transfer_call")return s.TOKEN_TRANSFER;if(y==="storage_deposit")return s.STORAGE_DEPOSIT;return s.CONTRACT_CALL}function uL(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function oL(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var s;var q0=E(()=>{s={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 Q0({account:y,contractId:f,viewMethods:N,changeMethods:T}){let{Contract:x}=await import("@near-js/accounts");return new x(y,f,{changeMethods:T,useLocalViewExecution:!0,viewMethods:N})}import{AssetValue as j5,Chain as Yy,getChainConfig as h5,getRPCUrl as jL,SwapKitError as xT}from"@swapkit/helpers";async function hL(y){let{P:f,match:N}=await import("ts-pattern"),{JsonRpcProvider:T}=await import("@near-js/providers"),x=await N(y).with({phrase:f.string},async(z)=>{return await of(z)}).with({signer:f.any},({signer:z})=>z).otherwise(()=>{return}),G=await jL(Yy.Near),L=new T({url:G});async function X(z){let{Account:w}=await import("@near-js/accounts"),R=z||await _();return new w(R,L,x)}async function _(){if(!x)throw new xT("toolbox_near_no_signer");return await x.getAddress()}async function Z(z){return(await m({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function J(z){let R=[await U({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return GT({actions:R,receiverId:z.contractId})}async function q(z){if(!x)throw new xT("toolbox_near_no_signer");let{assetValue:w,recipient:R,memo:n}=z,b=await _();if(!w.isGasAsset&&w.address){if(!await Z({accountId:R,contractId:w.address}))return J({assetValue:w,contractId:w.address,memo:n,recipient:R})}let K=await B({...z,sender:b});return O(K)}async function B(z){let{recipient:w,assetValue:R,memo:n,attachedDeposit:b,sender:K,functionCall:V}=z,j=await uf();if(!j(w))throw new xT("toolbox_near_invalid_address",{recipient:w});if(!j(K))throw new xT("toolbox_near_invalid_address",{signerId:K});if(V)return Y({...V,sender:K});if(!R.isGasAsset){let my=R.address;if(!my)throw new xT("toolbox_near_missing_contract_address");return Y({args:{amount:R.getBaseValue("string"),memo:n||null,receiver_id:w},attachedDeposit:b||"1",contractId:my,gas:"250000000000000",methodName:"ft_transfer",sender:K})}let{publicKey:t,nonce:e}=await jf(L,K),NT=R.getBaseValue("bigint"),{actionCreators:$T,createTransaction:jy}=await import("@near-js/transactions"),{baseDecode:hf}=await import("@near-js/utils"),KT=[$T.transfer(NT)];if(n&&b)KT.push($T.functionCall("memo",{memo:n},BigInt("250000000000000"),BigInt(b)));let hy=await L.block({finality:"final"}),py=hf(hy.header.hash);return jy(K,t,w,e+1,KT,py)}function Q(z){let w=z.encode();return Buffer.from(w).toString("base64")}async function Y(z){let{sender:w}=z,{publicKey:R,nonce:n}=await jf(L,w),{createTransaction:b,actionCreators:K}=await import("@near-js/transactions"),{baseDecode:V}=await import("@near-js/utils"),j=await L.block({finality:"final"}),t=V(j.header.hash),e=[K.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return b(w,R,z.contractId,n+1,e,t)}async function U(z){let{actionCreators:w}=await import("@near-js/transactions");return w.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function W(z){if(!x)throw new xT("toolbox_near_no_signer");let[w,R]=await x.signTransaction(z);return R}async function C(z){return(await L.sendTransaction(z)).transaction.hash}async function O(z){if(!x)throw new xT("toolbox_near_no_signer");try{let w=await W(z);return await C(w)}catch{return x.signAndSendTransactions?.({transactions:[z]})}}async function S(z){if("assetValue"in z){let b=BigInt("115123062500")+BigInt("108059500000"),K=await P(),V=b*BigInt(K.toString()),{baseDecimal:j}=h5(Yy.Near);return j5.from({chain:Yy.Near,fromBaseDecimal:j,value:V.toString()})}let w=x?await X():void 0;return k(z,w)}async function P(){try{return await L.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function A(z,w,R){if(!x)throw new xT("toolbox_near_no_signer");let n=await X(),{formatNearAmount:b}=await import("@near-js/utils"),{PublicKey:K}=await import("@near-js/crypto"),V=b(R)||"0";return(await n.createAccount(z,K.fromString(w),BigInt(V))).transaction.hash}async function o(z){try{if(!x)throw new xT("toolbox_near_no_signer");let{actionCreators:w}=await import("@near-js/transactions"),{contractId:R,methodName:n,args:b,deposit:K}=z,V=await X(),j=await k({args:b||{},contractId:R,methodName:n}),t=w.functionCall(n,b||{},j.getBaseValue("bigint"),BigInt(K||"1"));return(await V.signAndSendTransaction({actions:[t],receiverId:R})).transaction_outcome.id}catch(w){throw new xT("toolbox_near_transfer_failed",{error:w})}}async function m(z){let w=await X();return Q0({account:w,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function GT(z){if(!x)throw new xT("toolbox_near_no_signer");if(z.actions.length===0)throw new xT("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function k(z,w){let{baseDecimal:R}=h5(Yy.Near),n=await N(z).when(G0,()=>s.SIMPLE_TRANSFER).when(N0,(V)=>J0(V.methodName)).when(L0,(V)=>B0(V.actions)).when(X0,()=>s.ACCOUNT_CREATION).when(_0,()=>s.CONTRACT_DEPLOYMENT).when(Z0,(V)=>{if(!w)throw new xT("toolbox_near_no_account");return V.customEstimator(w)}).otherwise(()=>{throw new xT("toolbox_near_invalid_gas_params")}),K=BigInt(n)*BigInt(1000000000000);return j5.from({chain:Yy.Near,fromBaseDecimal:R,value:K})}async function v(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:C,callFunction:o,createAction:U,createContract:m,createContractFunctionCall:Y,createSubAccount:A,createTransaction:B,estimateGas:k,estimateTransactionFee:S,executeBatchTransaction:GT,getAddress:_,getBalance:rT(Yy.Near),getGasPrice:v,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>of(z),getSignerFromPrivateKey:f0,provider:L,serializeTransaction:Q,signAndSendTransaction:O,signTransaction:W,transfer:q,validateAddress:await uf()}}var Y0=E(()=>{My();x0();q0()});var p5=E(()=>{Y0()});var z0={};TT(z0,{tgasToGas:()=>uL,isSimpleTransfer:()=>G0,isCustomEstimator:()=>Z0,isContractDeployment:()=>_0,isContractCall:()=>N0,isBatchTransaction:()=>L0,isAccountCreation:()=>X0,getValidateNearAddress:()=>uf,getNearToolbox:()=>hL,getNearSignerFromPrivateKey:()=>f0,getNearSignerFromPhrase:()=>of,getFullAccessPublicKey:()=>jf,getContractMethodGas:()=>J0,gasToTGas:()=>oL,estimateBatchGas:()=>B0,createNearContract:()=>Q0,GAS_COSTS:()=>s});var W0=E(()=>{x0();q0();Y0();p5()});var M0={};TT(M0,{radixValidateAddress:()=>t5,RadixToolbox:()=>rL});import{AssetValue as pL,Chain as m5,SKConfig as mL,SwapKitError as tL}from"@swapkit/helpers";function t5(y){return y.startsWith("account_rdx1")&&y.length===66}function cL({networkApi:y}){return async function(N){let T=await gL({address:N,networkApi:y});return iL({networkApi:y,resources:T})}}async function gL({address:y,networkApi:f}){let N=!0,T,x=[],G=await dL(f);while(N){let L={address:y,at_ledger_state:{state_version:G},cursor:T,limit_per_page:100},X=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(x=x.concat(X.items),X.next_cursor)T=X.next_cursor;else N=!1}return x}async function iL({resources:y,networkApi:f}){let N=[],T=50,x=[];for(let G=0;G<y.length;G+=50)x.push(y.slice(G,G+50));for(let G of x){let L=G.map((Z)=>Z.resource_address),X=await f.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let J=Z.metadata?.items.find((B)=>B.key==="symbol"),q=J?.value.typed.type==="String"?J.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:q})}for(let Z of G)if(Z.aggregation_level==="Global"){let J=_.get(Z.resource_address)||{decimals:0,symbol:"?"},q=pL.from({asset:J.symbol!==m5.Radix?`${m5.Radix}.${J.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(q)}}return N}function dL(y){return y.status.getCurrent().then((f)=>f.ledger_state.state_version)}var rL=async({dappConfig:y}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),T=y||mL.get("integrations").radix,x=f({...T,networkId:T.network?.networkId||1}),G=N.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:cL({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new tL("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:t5}};var H0=()=>{};var w0={};TT(w0,{rippleValidateAddress:()=>C0,hashes:()=>NX,getRippleToolbox:()=>GX});import{AssetValue as U0,Chain as lT,getChainConfig as c5,getRPCUrl as aL,SwapKitError as FT,SwapKitNumber as sL}from"@swapkit/helpers";import{Client as eL,isValidAddress as TX,Wallet as yX,xrpToDrops as fX}from"xrpl";import{hashes as NX}from"xrpl";function g5(y){let f=yX.fromMnemonic(y);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(N)=>Promise.resolve(f.sign(N))}}function C0(y){return TX(y)}var xX,GX=async(y={})=>{let f="signer"in y&&y.signer?y.signer:("phrase"in y)&&y.phrase?g5(y.phrase):void 0,N=await aL(lT.Ripple);if(!N)throw new FT({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:lT.Ripple}});let T=new eL(N);await T.connect();let x=()=>{if(!f)throw new FT({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},G=async(B)=>{let Q=B||await x(),{baseDecimal:Y}=c5(lT.Ripple);try{let W=(await T.request({account:Q,command:"account_info"})).result.account_data.Balance;return[U0.from({chain:lT.Ripple,fromBaseDecimal:Y,value:W})]}catch(U){if(U.data.error_code===xX.ACCOUNT_NOT_FOUND)return[U0.from({chain:lT.Ripple,value:0})];throw new FT("toolbox_ripple_get_balance_error",{info:{address:Q,error:U}})}},L=async()=>{let Q=(await T.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=c5(lT.Ripple);return U0.from({chain:lT.Ripple,fromBaseDecimal:Y,value:sL.fromBigInt(BigInt(Q),Y)})},X=async({assetValue:B,recipient:Q,memo:Y,sender:U})=>{if(!C0(Q))throw new FT({errorKey:"core_transaction_invalid_recipient_address"});let W=U||await x();if(!B.isGasAsset||B.chain!==lT.Ripple)throw new FT({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:B.toString()}});let C={Account:W,Amount:fX(B.getValue("string")),Destination:Q,TransactionType:"Payment"};if(Y)C.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await T.autofill(C)},_=(B)=>{if(!f)throw new FT({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(B)},Z=async(B)=>{let Y=(await T.submitAndWait(B)).result;if(Y.validated)return Y.hash;throw new FT({errorKey:"toolbox_ripple_broadcast_error",info:{chain:lT.Ripple}})};return{broadcastTransaction:Z,createSigner:g5,createTransaction:X,disconnect:()=>T.disconnect(),estimateTransactionFee:L,getAddress:x,getBalance:G,signer:f,signTransaction:_,transfer:async(B)=>{if(!f)throw new FT({errorKey:"toolbox_ripple_signer_not_found"});let Q=await f.getAddress(),Y=await X({...B,sender:Q}),U=await _(Y);return Z(U.tx_blob)},validateAddress:C0}};var I0=E(()=>{xX={ACCOUNT_NOT_FOUND:19}});import{AssetValue as LX,Chain as XX,SwapKitNumber as i5}from"@swapkit/helpers";async function _X(y,f,N){try{let T=await y.query.system?.account?.(N);if(!T)return[f.set(0)];let{data:{free:x}}=T,G=i5.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(T){return console.error("Error fetching substrate balance:",T),[f.set(0)]}}async function ZX(y,f,N){try{let T=await y.query.flip?.account?.(N);if(!T)return[f.set(0)];let x=T.balance||T.data?.balance;if(!x||x.isEmpty)return[f.set(0)];let G=i5.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(T){return console.error("Error fetching chainflip balance:",T),[f.set(0)]}}function d5(y,f){return function(T){let x=LX.from({chain:y});switch(y){case XX.Chainflip:return ZX(f,x,T);default:return _X(f,x,T)}}}var r5=()=>{};var BX,JX,qX,VT;var R0=E(()=>{BX={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},JX={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},qX={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},VT={DOT:BX,FLIP:JX,GENERIC:qX}});import{hexToU8a as QX,isHex as YX,u8aToHex as zX}from"@polkadot/util";import{decodeAddress as s5,encodeAddress as e5}from"@polkadot/util-crypto";import{AssetValue as WX,Chain as Wy,getRPCUrl as MX,SwapKitError as MT,SwapKitNumber as HX}from"@swapkit/helpers";import{match as UX,P as a5}from"ts-pattern";function CX(y,f){switch(y){case Wy.Chainflip:return y2(f);case Wy.Polkadot:return T2(f);default:throw new MT("toolbox_substrate_not_supported",{chain:y})}}function zy(y){return"address"in y}async function l0(y,f){let{Keyring:N}=await import("@polkadot/api"),{cryptoWaitReady:T}=await import("@polkadot/util-crypto");return await T(),new N({ss58Format:f,type:"sr25519"}).addFromUri(y)}function kX(y,f){let N=s5(y);return e5(N,f)}function f2(y,f){return YX(y)?QX(y):s5(y,void 0,f)}function x2(y,f="ss58",N){if(f==="hex")return zX(y);return e5(y,N)}async function D0({generic:y,chain:f,...N}){let{ApiPromise:T,WsProvider:x}=await import("@polkadot/api"),G=await MX(f),L=new x(G),X=await T.create({noInitWarn:!0,provider:L}),_=WX.from({chain:f}),Z=y?VT.GENERIC:VT[f],J=await UX(N).with({phrase:a5.string},({phrase:q})=>l0(q,VT[f].prefix)).with({signer:a5.any},({signer:q})=>q).otherwise(()=>{return});return G2({api:X,chain:f,gasAsset:_,network:Z,signer:J})}var T2=({generic:y=!1,...f}={})=>{return D0({chain:Wy.Polkadot,generic:y,...f})},y2=async({generic:y=!1,...f}={})=>{return{...await D0({chain:Wy.Chainflip,generic:y,...f})}},E0=(y,f)=>y.rpc.system.accountNextIndex(f),O0=(y,f)=>{try{let N=f2(y,f);return x2(N,"ss58",f),!0}catch{return!1}},k0=(y,{recipient:f,assetValue:N})=>y.tx.balances?.transferAllowDeath?.(f,N.getBaseValue("number")),wX=async(y,f,{recipient:N,assetValue:T,sender:x})=>{let G=k0(y,{assetValue:T,recipient:N});if(!G)throw new MT("toolbox_substrate_transfer_error");let L=zy(f),X=L?f.address:x;if(!X)throw new MT("core_transaction_invalid_sender_address");let _=await E0(y,X);return(await G.signAndSend(L?f:X,{nonce:_,signer:L?void 0:f})).toString()},IX=async(y,f,N,{recipient:T,assetValue:x,sender:G})=>{let L=k0(y,{assetValue:x,recipient:T}),X=zy(f)?f.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await E0(y,X)})||{partialFee:0};return N.set(HX.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},RX=async(y,f)=>{if(f)return y.send(f);return(await y.send()).toString()},OX=async(y,f)=>{return await f.signAsync(y)},lX=(y,f,N)=>{if(N)return f.signAndSend(y,N);return f.signAndSend(y).toString()},EX=async({signer:y,address:f,tx:N,callback:T,api:x})=>{let G=await E0(x,f);if(T)N.signAndSend(f,{nonce:G,signer:y},T);return N.signAndSend(f,{nonce:G,signer:y}).toString()},G2=({api:y,network:f,gasAsset:N,signer:T,chain:x})=>({api:y,broadcast:RX,convertAddress:kX,createKeyring:(G)=>l0(G,f.prefix),createTransaction:(G)=>k0(y,G),decodeAddress:f2,encodeAddress:x2,estimateTransactionFee:(G)=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");return IX(y,T,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||T;if(!L)throw new MT("core_wallet_not_keypair_wallet");return zy(L)?L.address:void 0},getBalance:d5(x||Wy.Polkadot,y),network:f,sign:(G)=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");if(zy(T))return OX(T,G);throw new MT("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:L,address:X})=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");if(zy(T))return lX(T,G,L);if(X)return EX({address:X,api:y,callback:L,signer:T,tx:G});throw new MT("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!T)throw new MT("core_wallet_not_keypair_wallet");return wX(y,T,G)},validateAddress:(G)=>O0(G,f.prefix)}),DX=({address:y,chain:f})=>{let{prefix:N}=f===Wy.Polkadot?VT.DOT:VT.FLIP;return O0(y,N)||O0(y,VT.GENERIC.prefix)};var N2=E(()=>{r5();R0()});var P0={};TT(P0,{substrateValidateAddress:()=>DX,isKeyringPair:()=>zy,getSubstrateToolbox:()=>CX,createSubstrateToolbox:()=>D0,createKeyring:()=>l0,SubstrateNetwork:()=>VT,PolkadotToolbox:()=>T2,ChainflipToolbox:()=>y2,BaseSubstrateToolbox:()=>G2});var v0=E(()=>{N2();R0()});import{AssetValue as PX,Chain as F,CosmosChains as X2,EVMChains as S0,FeeOption as vX,SubstrateChains as SX,SwapKitError as AX,UTXOChains as _2}from"@swapkit/helpers";async function K4(){let{match:y}=await import("ts-pattern"),{evmValidateAddress:f}=await Promise.resolve().then(() => (x1(),f1)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (Xx(),Lx)),{getCosmosValidateAddress:T}=await Promise.resolve().then(() => (Cf(),Uf)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (Vx(),Fx)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Of(),Rf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (kf(),Ef)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (jx(),ox)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (y0(),T0)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (W0(),z0)),{radixValidateAddress:J}=await Promise.resolve().then(() => (H0(),M0)),{rippleValidateAddress:q}=await Promise.resolve().then(() => (I0(),w0)),{substrateValidateAddress:B}=await Promise.resolve().then(() => (v0(),P0)),Q=await N(),Y=await Z(),U=await x(),W=await G(),C=await L(),O=await X(),S=await _();return function({address:A,chain:o}){return y(o).with(...S0,()=>f({address:A})).with(..._2,()=>S({address:A,chain:o})).with(F.Cosmos,F.Kujira,F.Noble,F.Maya,F.THORChain,(GT)=>{return T(GT)(A)}).with(F.Chainflip,F.Polkadot,()=>B({address:A,chain:o})).with(F.Radix,()=>J(A)).with(F.Near,()=>Y(A)).with(F.Ripple,()=>q(A)).with(F.Solana,()=>U(A)).with(F.Sui,()=>W(A)).with(F.Ton,()=>C(A)).with(F.Tron,()=>O(A)).with(F.Cardano,()=>Q(A)).otherwise(()=>!1)}}function b4(y){return async function(N){let{match:T}=await import("ts-pattern");return T(y).returnType().with(...S0,async(x)=>{let G=await L2(x),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:x,feeOption:N.feeOptionKey||vX.Fast})}).with(F.Bitcoin,F.BitcoinCash,F.Dogecoin,F.Dash,F.Litecoin,F.Polkadot,F.Solana,F.Ripple,F.Tron,F.Near,F.Cardano,async(x)=>{return(await L2(x)).estimateTransactionFee(N)}).with(F.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (Of(),Rf));return(await x()).estimateTransactionFee(N)}).with(F.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (kf(),Ef));return(await x()).estimateTransactionFee()}).with(...X2,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (Cf(),Uf));return x(N)}).otherwise(async()=>PX.from({chain:y}))}}async function L2(y,f){let{match:N}=await import("ts-pattern");return N(y).returnType().with(...S0,async()=>{let{getEvmToolbox:T}=await Promise.resolve().then(() => (Gx(),e0));return await T(y,f)}).with(..._2,async()=>{let{getUtxoToolbox:T}=await Promise.resolve().then(() => (y0(),T0));return await T(y,f)}).with(...X2,async()=>{let{getCosmosToolbox:T}=await Promise.resolve().then(() => (Cf(),Uf));return await T(y,f)}).with(...SX,async()=>{let{getSubstrateToolbox:T}=await Promise.resolve().then(() => (v0(),P0));return await T(y,f)}).with(F.Radix,async()=>{let{RadixToolbox:T}=await Promise.resolve().then(() => (H0(),M0));return await T(f)}).with(F.Ripple,async()=>{let{getRippleToolbox:T}=await Promise.resolve().then(() => (I0(),w0));return await T(f)}).with(F.Solana,async()=>{let{getSolanaToolbox:T}=await Promise.resolve().then(() => (Vx(),Fx));return await T(f)}).with(F.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (Of(),Rf));return await T(f)}).with(F.Tron,async()=>{let{createTronToolbox:T}=await Promise.resolve().then(() => (jx(),ox));return await T(f)}).with(F.Near,async()=>{let{getNearToolbox:T}=await Promise.resolve().then(() => (W0(),z0));return await T(f)}).with(F.Cardano,async()=>{let{getCardanoToolbox:T}=await Promise.resolve().then(() => (Xx(),Lx));return await T(f)}).with(F.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (kf(),Ef));return await T(f)}).otherwise(()=>{throw new AX("toolbox_not_supported",{chain:y})})}export{L2 as getToolbox,b4 as getFeeEstimator,K4 as getAddressValidator};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=C3432071438BEE5164756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.js.map
|