@swapkit/toolboxes 4.1.3 → 4.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cosmos/index.cjs +2 -2
- package/dist/src/cosmos/index.cjs.map +3 -3
- package/dist/src/cosmos/index.js +2 -2
- package/dist/src/cosmos/index.js.map +3 -3
- package/dist/src/evm/index.cjs +2 -2
- package/dist/src/evm/index.cjs.map +6 -6
- package/dist/src/evm/index.js +2 -2
- package/dist/src/evm/index.js.map +6 -6
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +9 -9
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +9 -9
- package/dist/src/solana/index.cjs +2 -2
- package/dist/src/solana/index.cjs.map +3 -3
- package/dist/src/solana/index.js +2 -2
- package/dist/src/solana/index.js.map +3 -3
- package/dist/src/utxo/index.cjs +3 -3
- package/dist/src/utxo/index.cjs.map +2 -2
- package/dist/src/utxo/index.js +3 -3
- package/dist/src/utxo/index.js.map +2 -2
- package/dist/types/cosmos/toolbox/cosmos.d.ts +2 -2
- package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
- package/dist/types/evm/toolbox/evm.d.ts +320 -0
- package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
- package/dist/types/evm/toolbox/index.d.ts +3 -153
- package/dist/types/evm/toolbox/index.d.ts.map +1 -1
- package/dist/types/evm/toolbox/op.d.ts.map +1 -1
- package/dist/types/evm/types.d.ts +9 -1
- package/dist/types/evm/types.d.ts.map +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/solana/toolbox.d.ts +10 -0
- package/dist/types/solana/toolbox.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var a1=Object.create;var{getPrototypeOf:s1,defineProperty:uT,getOwnPropertyNames:e1}=Object;var y5=Object.prototype.hasOwnProperty;var q=(n,T,l)=>{l=n!=null?a1(s1(n)):{};let y=T||!n||!n.__esModule?uT(l,"default",{value:n,enumerable:!0}):l;for(let x of e1(n))if(!y5.call(y,x))uT(y,x,{get:()=>n[x],enumerable:!0});return y};var a=(n,T)=>{for(var l in T)uT(n,l,{get:T[l],enumerable:!0,configurable:!0,set:(y)=>T[l]=()=>y})};var R=(n,T)=>()=>(n&&(T=n(n=0)),T);var Q=((n)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(T,l)=>(typeof require<"u"?require:T)[l]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});import{AssetValue as n5,getChainConfig as T5}from"@swapkit/helpers";import{SwapKitApi as f5}from"@swapkit/helpers/api";function H0(){function n(){let T=Date.now(),l=IT||T;return IT=l,T>IT?T:l+1}return x5+n().toString(36)}function dy(n){return async function(l,y=!0){let x=await f5.getChainBalance({address:l,chain:n,scamFilter:y}),{baseDecimal:f}=T5(n);return x.map(({identifier:G,value:o,decimal:C})=>{return new n5({decimal:C||f,identifier:G,value:o})})}}var x5,IT=0;var Jn=R(()=>{x5=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as l5,warnOnce as G5}from"@swapkit/helpers";function wn(n){let T=l5.get("apis")[n];if(T)return G5({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),T;return C5(n)}function o5(n){return n}function C5(n){return{getBalance:dy(n)}}var pn=R(()=>{Jn()});import{Chain as h,getChainConfig as U0,getRPCUrl as L5,SwapKitError as X5}from"@swapkit/helpers";async function ty(n,T){let{JsonRpcProvider:l}=await import("ethers");return new l(T||await L5(n))}function qn(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function vT(n){let{explorerUrl:T,chainId:l,rpcUrls:y}=U0(n);return()=>n===h.Ethereum?void 0:{..._5({chain:n}),blockExplorerUrls:[T],chainId:l,rpcUrls:y}}function FT(n){return![h.Arbitrum,h.BinanceSmartChain].includes(n)}function _5({chain:n}){let{baseDecimal:T}=U0(n);switch(n){case h.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:T,name:"Avalanche",symbol:n}};case h.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:T,name:"Berachain",symbol:"BERA"}};case h.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:T,name:"Binance Coin",symbol:"BNB"}};case h.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:T,name:"xDAI",symbol:"XDAI"}};case h.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:h.Ethereum}};case h.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:T,name:"Polygon",symbol:h.Polygon}};default:throw new X5("toolbox_evm_not_supported",{chain:n})}}var ry=()=>{};var Y0;var D0=R(()=>{Y0=[{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 N5,applyFeeMultiplierToBigInt as ay,Chain as j,FeeOption as p,isGasAsset as Z5,SwapKitError as b,SwapKitNumber as hn}from"@swapkit/helpers";import{erc20ABI as Qn}from"@swapkit/helpers/contracts";import{BrowserProvider as B5,Contract as R0,getAddress as jn,Interface as k0}from"ethers";function sy({chain:n=j.Ethereum,provider:T,signer:l,isEIP1559Compatible:y=!0}){return{approve:Q5({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),approvedAmount:u0({chain:n,provider:T}),broadcastTransaction:T.broadcastTransaction,call:$T({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),createApprovalTx:z5({chain:n,provider:T,signer:l}),createContract:tT({chain:n,provider:T}),createContractTxObject:Ky({chain:n,provider:T}),createTransaction:ET({chain:n,provider:T,signer:l}),createTransferTx:ET({chain:n,provider:T,signer:l}),EIP1193SendTransaction:yn(T),estimateCall:I0({provider:T,signer:l}),estimateGasLimit:M5({chain:n,provider:T,signer:l}),estimateGasPrices:Vy({chain:n,isEIP1559Compatible:y,provider:T}),estimateTransactionFee:H5({chain:n,isEIP1559Compatible:y,provider:T}),getAddress:()=>{return l?l.getAddress():void 0},isApproved:q5({chain:n,provider:T}),sendTransaction:v0({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),signMessage:l?.signMessage,transfer:W5({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),validateAddress:(x)=>AT({address:x})}}function AT({address:n}){try{return jn(n),!0}catch{return!1}}function ey(n){return n instanceof B5}function Mn(n,T,l){return new R0(n,k0.from(T),l)}function tT({provider:n}){return function(l,y){return new R0(l,k0.from(y),n)}}function KT({abi:n,funcName:T}){let l=n.find((y)=>y.name===T);if(!l)throw new b("toolbox_evm_no_abi_fragment",{funcName:T});return l.stateMutability&&J5.includes(l.stateMutability)}function O0(n){return jn(n)}function yn(n){return function({value:l,...y}){if(!ey(n))throw new b("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:f,maxFeePerGas:G,maxPriorityFeePerGas:o,...C}=y;return n.send("eth_sendTransaction",[{...C,value:qn(BigInt(l||0))}])}}function S0(n,T){let l=nn(n,T);if(l)return jn(l.toLowerCase());throw new b("toolbox_evm_invalid_gas_asset_address")}function nn({chain:n,symbol:T,ticker:l},y){try{let x=n===j.BinanceSmartChain&&T==="BNB"&&l==="BNB",f=n===y&&T===y&&l===y,G=w5.includes(n)&&T==="ETH"&&l==="ETH";if(f||x||G)return VT[y];return jn(T.slice(l.length+1).replace(/^0X/,""))}catch{return null}}function Ky({provider:n}){return async({contractAddress:T,abi:l,funcName:y,funcParams:x=[],txOverrides:f})=>Mn(T,l,n).getFunction(y).populateTransaction(...x.concat(f).filter((G)=>typeof G<"u"))}function Vy({chain:n,provider:T,isEIP1559Compatible:l=!0}){if(n===j.Arbitrum)return async function(){try{let{gasPrice:x}=await T.getFeeData();if(!x)throw new b("toolbox_evm_no_fee_data");return{[p.Average]:{gasPrice:x},[p.Fast]:{gasPrice:x},[p.Fastest]:{gasPrice:x}}}catch(x){throw new b("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}};return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:f,gasPrice:G}=await T.getFeeData();if(l){if(x===null||f===null)throw new b("toolbox_evm_no_fee_data");return{[p.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:f},[p.Fast]:{maxFeePerGas:ay(x,p.Fast),maxPriorityFeePerGas:ay(f,p.Fast)},[p.Fastest]:{maxFeePerGas:ay(x,p.Fastest),maxPriorityFeePerGas:ay(f,p.Fastest)}}}if(!G)throw new b("toolbox_evm_no_gas_price");return{[p.Average]:{gasPrice:G},[p.Fast]:{gasPrice:ay(G,p.Fast)},[p.Fastest]:{gasPrice:ay(G,p.Fastest)}}}catch(x){throw new b("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}function $T({provider:n,isEIP1559Compatible:T,signer:l,chain:y}){return async function({callProvider:f,contractAddress:G,abi:o,funcName:C,funcParams:L=[],txOverrides:N={},feeOption:X=p.Fast}){let _=f||n;if(!G)throw new b("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Z=KT({abi:o,funcName:C});if(Z&&ey(_)&&l){let M=Ky({chain:y,provider:_}),W=N?.from||await l?.getAddress(),Y=await M({abi:o,contractAddress:G,funcName:C,funcParams:L,txOverrides:{...N,from:W}});return yn(_)(Y)}let B=Mn(G,o,_);if(Z){if(!l)throw new b("toolbox_evm_no_signer");let M=N?.from||await l.getAddress();if(!M)throw new b("toolbox_evm_no_signer_address");let W=B.connect(l),Y=Vy({chain:y,isEIP1559Compatible:T,provider:n}),{maxFeePerGas:v,maxPriorityFeePerGas:u,gasPrice:F}=(await Y())[X],V=await B.getFunction(C).estimateGas(...L,N),d=await W[C](...L,{...N,gasLimit:V,gasPrice:F,maxFeePerGas:v,maxPriorityFeePerGas:u,nonce:N?.nonce||await _.getTransactionCount(M)});return typeof d?.hash==="string"?d?.hash:d}let w=await B[C]?.(...L);return typeof w?.hash==="string"?w?.hash:w}}function u0({provider:n,chain:T}){return function({assetAddress:y,spenderAddress:x,from:f}){return $T({chain:T,isEIP1559Compatible:!0,provider:n})({abi:Qn,contractAddress:y,funcName:"allowance",funcParams:[f,x]})}}function q5({provider:n,chain:T}){return async function({assetAddress:y,spenderAddress:x,from:f,amount:G=Wn}){let o=await u0({chain:T,provider:n})({assetAddress:y,from:f,spenderAddress:x});return hn.fromBigInt(o).gte(hn.fromBigInt(BigInt(G)))}}function Q5({signer:n,isEIP1559Compatible:T=!0,provider:l,chain:y}){return async function({assetAddress:f,spenderAddress:G,feeOptionKey:o=p.Fast,amount:C,gasLimitFallback:L,from:N,nonce:X}){let _=[G,BigInt(C||Wn)],Z=await n?.getAddress()||N,B={abi:Qn,contractAddress:f,funcName:"approve",funcParams:_,signer:n,txOverrides:{from:Z}};if(ey(l)){let M=Ky({chain:y,provider:l}),W=yn(l),Y=await M(B);return W(Y)}return $T({chain:y,isEIP1559Compatible:T,provider:l,signer:n})({...B,feeOption:o,funcParams:_,txOverrides:{from:Z,gasLimit:L?BigInt(L.toString()):void 0,nonce:X}})}}function W5({signer:n,isEIP1559Compatible:T=!0,provider:l}){return async function({assetValue:x,memo:f,recipient:G,feeOptionKey:o=p.Fast,sender:C,...L}){let{hexlify:N,toUtf8Bytes:X}=await import("ethers"),_=x.getBaseValue("bigint"),Z=x.chain,B=C||await n?.getAddress(),w=v0({chain:Z,isEIP1559Compatible:T,provider:l,signer:n});if(!B)throw new b("toolbox_evm_no_from_address");if(x.isGasAsset){let F={...L,data:N(X(f||"")),feeOptionKey:o,from:B,to:G,value:_};return w(F)}if(!nn(x,Z))throw new b("toolbox_evm_no_contract_address");let{maxFeePerGas:W,maxPriorityFeePerGas:Y,gasPrice:v}=(await Vy({chain:Z,isEIP1559Compatible:T,provider:l})())[o],u=await ET({chain:Z,provider:l,signer:n})({assetValue:x,data:N(X(f||"")),gasPrice:v,maxFeePerGas:W,maxPriorityFeePerGas:Y,memo:f,recipient:G,sender:B});return w(u)}}function I0({provider:n,signer:T}){return function({contractAddress:y,abi:x,funcName:f,funcParams:G=[],txOverrides:o}){if(!y)throw new b("toolbox_evm_no_contract_address");let C=Mn(y,x,n);return T?C.connect(T).getFunction(f).estimateGas(...G,o):C.getFunction(f).estimateGas(...G,o)}}function M5({provider:n,signer:T}){return async function({assetValue:y,recipient:x,memo:f,data:G,sender:o,funcName:C,funcParams:L,txOverrides:N}){let X=y.bigIntValue,_=y.isGasAsset?null:nn(y,y.chain);if(_&&C)return I0({provider:n,signer:T})({abi:Qn,contractAddress:_,funcName:C,funcParams:L,txOverrides:N});let{hexlify:Z,toUtf8Bytes:B}=await import("ethers");return n.estimateGas({data:G?G:f?Z(B(f)):void 0,from:o,to:x,value:X})}}function v0({provider:n,signer:T,isEIP1559Compatible:l=!0,chain:y}){return async function({feeOptionKey:f=p.Fast,...G}){let{from:o,to:C,data:L,value:N,...X}=G;if(!T)throw new b("toolbox_evm_no_signer");if(!C)throw new b("toolbox_evm_no_to_address");let _={...X,data:L||"0x",from:o,to:C,value:BigInt(N||0)};if(ey(n))return yn(n)(_);let Z=o||await T.getAddress(),B=G.nonce||await n.getTransactionCount(Z),w=(await n.getNetwork()).chainId,M=P5(_)||l,W=Vy({chain:y,isEIP1559Compatible:l,provider:n}),Y=M&&!(_.maxFeePerGas&&_.maxPriorityFeePerGas)||!_.gasPrice?Object.entries((await W())[f]).reduce((u,[F,V])=>({...u,[F]:qn(BigInt(V))}),{}):{},v;try{v=qn(_.gasLimit||await n.estimateGas(_)*11n/10n)}catch(u){throw new b("toolbox_evm_error_estimating_gas_limit",{error:u})}try{let u={..._,chainId:w,gasLimit:v,nonce:B,type:M?2:0,...Y};try{return(await T.sendTransaction(u)).hash}catch{let F=await T.signTransaction({...u,from:Z});return(await n.broadcastTransaction(F)).hash}}catch(u){throw new b("toolbox_evm_error_sending_transaction",{error:u})}}}function ET({provider:n,signer:T}){return async function({assetValue:y,memo:x,recipient:f,data:G,sender:o,maxFeePerGas:C,maxPriorityFeePerGas:L,gasPrice:N,...X}){let _=y.getBaseValue("bigint"),Z=y.chain,B=o||await T?.getAddress();if(!B)throw new b("toolbox_evm_no_from_address");if(Z5(y)){let{hexlify:W,toUtf8Bytes:Y}=await import("ethers");return{...X,data:G||W(Y(x||"")),from:B,to:f,value:_}}let w=nn(y,Z);if(!w)throw new b("toolbox_evm_no_contract_address");return Ky({chain:y.chain,provider:n})({abi:Qn,contractAddress:w,funcName:"transfer",funcParams:[f,_],txOverrides:{from:B,gasPrice:N,maxFeePerGas:C,maxPriorityFeePerGas:L}})}}function z5({provider:n,signer:T,chain:l}){return async function({assetAddress:x,spenderAddress:f,amount:G,from:o}){let C=await T?.getAddress()||o,L=Ky({chain:l,provider:n}),N=["bigint","number"].includes(typeof G)?G:G||Wn;return await L({abi:Qn,contractAddress:x,funcName:"approve",funcParams:[f,BigInt(N)],txOverrides:{from:C}})}}function H5({provider:n,isEIP1559Compatible:T=!0}){return async function({feeOption:y=p.Fast,chain:x,...f}){let o=await Vy({chain:x,isEIP1559Compatible:T,provider:n})(),C=await n.estimateGas(f),L=N5.from({chain:x}),{gasPrice:N,maxFeePerGas:X,maxPriorityFeePerGas:_}=o[y];if(!T&&N)return L.set(hn.fromBigInt(N*C,L.decimal));if(X&&_){let Z=(X+_)*C;return L.set(hn.fromBigInt(Z,L.decimal))}throw new b("toolbox_evm_no_gas_price")}}var Wn,J5,VT,w5,P5=(n)=>n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas;var cn=R(()=>{ry();Wn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");J5=["payable","nonpayable"];VT={[j.Arbitrum]:"0x0000000000000000000000000000000000000000",[j.Aurora]:"0x0000000000000000000000000000000000000000",[j.Avalanche]:"0x0000000000000000000000000000000000000000",[j.Base]:"0x0000000000000000000000000000000000000000",[j.Berachain]:"0x0000000000000000000000000000000000000000",[j.BinanceSmartChain]:"0x0000000000000000000000000000000000000000",[j.Ethereum]:"0x0000000000000000000000000000000000000000",[j.Gnosis]:"0x0000000000000000000000000000000000000000",[j.Optimism]:"0x4200000000000000000000000000000000000042",[j.Polygon]:"0x0000000000000000000000000000000000001010"},w5=[j.Arbitrum,j.Aurora,j.Base,j.Optimism]});import{Chain as Jy,FeeOption as U5,getRPCUrl as Y5}from"@swapkit/helpers";import{match as D5,P as F0}from"ts-pattern";async function mn({provider:n,...T}){let l=await wy(Jy.Ethereum)({provider:n,...T});async function y(x,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",G="aggregate",o=U5.Fast){let C=await l.createContractTxObject({abi:Y0,contractAddress:f,funcName:G,funcParams:[x]});return l.sendTransaction({...C,feeOptionKey:o})}return{...l,multicall:y}}function wy(n){return async function({provider:l,...y}){let{HDNodeWallet:x}=await import("ethers"),f=await Y5(n),G=l||await ty(n,f),o=FT(n),C=D5(y).with({phrase:F0.string},({phrase:N})=>x.fromPhrase(N).connect(G)).with({signer:F0.any},({signer:N})=>N).otherwise(()=>{return});return{...sy({chain:n,isEIP1559Compatible:o,provider:G,signer:C}),getBalance:wn(n).getBalance,getNetworkParams:vT(n)}}}var gn,dn,rn,an,sn,en,yT,nT;var bT=R(()=>{pn();D0();ry();cn();gn=wy(Jy.Arbitrum),dn=wy(Jy.Aurora),rn=wy(Jy.Avalanche),an=wy(Jy.Base),sn=wy(Jy.Berachain),en=wy(Jy.BinanceSmartChain),yT=wy(Jy.Gnosis),nT=wy(Jy.Polygon)});var E0;var A0=R(()=>{E0=[{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 Tn,Chain as TT,FeeOption as qy,getChainConfig as R5,getRPCUrl as k5,SwapKitError as pT}from"@swapkit/helpers";import{Contract as O5,HDNodeWallet as S5}from"ethers";import{match as u5,P as t0}from"ts-pattern";function hT(n){return new O5(I5,E0,n)}function K0(n){return async function(){let l=hT(n);if(l&&"l1BaseFee"in l)return await l?.l1BaseFee();return}}function V0(n){return async function({from:l,to:y,nonce:x,...f}){let{Transaction:G}=await import("ethers");if(!y)throw new pT("toolbox_evm_invalid_transaction",{error:"Missing to address"});return G.from({...f,authorizationList:f.authorizationList,nonce:x?x:l?await n.getTransactionCount(l):0,to:y}).serialized}}function $0(n){return async function(l){let y=hT(n),x=await V0(n)(l);if(y&&"getL1Fee"in y)return y.getL1Fee(x)}}function b0(n){return async function(l){let y=await n.send("eth_gasPrice",[]),x=await n.estimateGas(l);return y.mul(x)}}function v5(n){return async function(l){let y=await $0(n)(l),x=await b0(n)(l);return y.add(x)}}function F5(n){return async function(l){let y=hT(n),x=await V0(n)(l);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(x)}}function E5(){let{baseDecimal:n,chainId:T,explorerUrl:l,name:y,rpcUrls:x}=R5(TT.Optimism);return{blockExplorerUrls:[l],chainId:T,chainName:y,nativeCurrency:{decimals:n,name:"Ethereum",symbol:TT.Ethereum},rpcUrls:x}}async function A5(n){try{let{maxFeePerGas:T,maxPriorityFeePerGas:l,gasPrice:y}=await n.getFeeData(),x=await K0(n)(),f=y;if(!(T&&l))throw new pT("toolbox_evm_no_fee_data");return{[qy.Average]:{gasPrice:f,l1GasPrice:x,maxFeePerGas:T,maxPriorityFeePerGas:l},[qy.Fast]:{gasPrice:Tn(f,qy.Fast),l1GasPrice:Tn(x||0n,qy.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Tn(l,qy.Fast)},[qy.Fastest]:{gasPrice:Tn(f,qy.Fastest),l1GasPrice:Tn(x||0n,qy.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Tn(l,qy.Fastest)}}}catch(T){throw new pT("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}async function fT({provider:n,...T}){let l=TT.Optimism,y=await k5(l),x=n||await ty(l,y),f=u5(T).with({phrase:t0.string},({phrase:C})=>S5.fromPhrase(C).connect(x)).with({signer:t0.any},({signer:C})=>C).otherwise(()=>{return}),G=sy({provider:x,signer:f}),o=K0(x);return{...G,estimateGasPrices:A5(x),estimateL1Gas:F5(x),estimateL1GasCost:$0(x),estimateL2GasCost:b0(x),estimateTotalGasCost:v5(x),getBalance:wn(TT.Optimism).getBalance,getL1GasPrice:o,getNetworkParams:E5}}var I5="0x420000000000000000000000000000000000000f";var jT=R(()=>{pn();A0();ry();cn()});var h0={};a(h0,{toChecksumAddress:()=>O0,isStateChangingCall:()=>KT,isBrowserProvider:()=>ey,getTokenAddress:()=>nn,getEvmToolbox:()=>p0,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yn,getCreateContractTxObject:()=>Ky,getCreateContract:()=>tT,getChecksumAddressFromAsset:()=>S0,evmValidateAddress:()=>AT,createContract:()=>Mn,OPToolbox:()=>fT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>nT,GNOToolbox:()=>yT,ETHToolbox:()=>mn,ContractAddress:()=>VT,BaseEVMToolbox:()=>sy,BSCToolbox:()=>en,BERAToolbox:()=>sn,BASEToolbox:()=>an,AVAXToolbox:()=>rn,AURORAToolbox:()=>dn,ARBToolbox:()=>gn});import{Chain as oy,SwapKitError as t5}from"@swapkit/helpers";async function p0(n,T){let l={...T,provider:T?.provider||await ty(n)};switch(n){case oy.Arbitrum:return gn(l);case oy.Aurora:return dn(l);case oy.Avalanche:return rn(l);case oy.Base:return an(l);case oy.Berachain:return sn(l);case oy.BinanceSmartChain:return en(l);case oy.Gnosis:return yT(l);case oy.Optimism:return fT(l);case oy.Polygon:return nT(l);case oy.Ethereum:return mn(l);default:throw new t5("toolbox_evm_not_supported",{chain:n})}}var cT=R(()=>{ry();bT();jT();cn();bT();jT()});var j0;var c0=R(()=>{((l)=>{l.Test="goerli";l.Main="homestead"})(j0||={})});var m0={};a(m0,{toHexString:()=>qn,toChecksumAddress:()=>O0,isStateChangingCall:()=>KT,isBrowserProvider:()=>ey,getTokenAddress:()=>nn,getProvider:()=>ty,getNetworkParams:()=>vT,getIsEIP1559Compatible:()=>FT,getEvmToolbox:()=>p0,getEvmApi:()=>wn,getEstimateGasPrices:()=>Vy,getEIP1193SendTransaction:()=>yn,getCreateContractTxObject:()=>Ky,getCreateContract:()=>tT,getChecksumAddressFromAsset:()=>S0,evmValidateAddress:()=>AT,createCustomEvmApi:()=>o5,createContract:()=>Mn,OPToolbox:()=>fT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>nT,GNOToolbox:()=>yT,EthNetwork:()=>j0,ETHToolbox:()=>mn,ContractAddress:()=>VT,BaseEVMToolbox:()=>sy,BSCToolbox:()=>en,BERAToolbox:()=>sn,BASEToolbox:()=>an,AVAXToolbox:()=>rn,AURORAToolbox:()=>dn,ARBToolbox:()=>gn});var i0=R(()=>{pn();ry();cT();c0()});import{AssetValue as zn,Chain as fn,getChainConfig as K5,SwapKitError as Pn}from"@swapkit/helpers";import{match as V5,P as g0}from"ts-pattern";async function mT(){let{BlockfrostProvider:n}=await import("@meshsdk/core"),T="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new n("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function b5(n){try{let{MeshWallet:T}=await import("@meshsdk/core"),l=await mT(),y=new T({fetcher:l,key:{address:n,type:"address"},networkId:1});await y.init();let x=await y.getBalance(),f=[];for(let G of x)if(G.unit===$5){let{baseDecimal:o}=K5(fn.Cardano);f.push(zn.from({chain:fn.Cardano,fromBaseDecimal:o,value:G.quantity}))}else f.push(zn.from({asset:`${fn.Cardano}.${G.unit}`,value:G.quantity}));if(f.length===0)return[zn.from({chain:fn.Cardano})];return f}catch(T){return console.error("Cardano balance fetch error:",T),[zn.from({chain:fn.Cardano})]}}async function d0(){let{deserializeAddress:n}=await import("@meshsdk/core");return(T)=>{try{return n(T),!0}catch{return!1}}}async function p5(n){let T=await d0(),l=await V5(n).with({phrase:g0.string},async({phrase:N})=>{let{MeshWallet:X}=await import("@meshsdk/core"),_=await mT(),Z=new X({fetcher:_,key:{type:"mnemonic",words:N.split(" ")},networkId:1,submitter:_});return await Z.init(),Z}).with({signer:g0.any},({signer:N})=>N).otherwise(()=>{return}),y=l&&"getChangeAddress"in l?await l.getChangeAddress():"";function x(){return y||""}function f(N){let X=N||x();if(!X)throw new Pn("core_wallet_connection_not_found");return b5(X)}function G(){return Promise.resolve(zn.from({chain:fn.Cardano,value:"0.01"}))}async function o({recipient:N,assetValue:X,memo:_}){if(!l||!("getChangeAddress"in l))throw new Pn("core_wallet_connection_not_found");let{Transaction:Z}=await import("@meshsdk/core"),[,B]=X.symbol.split("-");if(!X.isGasAsset&&!B)throw new Pn("core_wallet_connection_not_found");let w=new Z({initiator:l});if(w.sendAssets({address:N},[{quantity:X.getBaseValue("string"),unit:X.isGasAsset?"lovelace":X.symbol}]),_)w.setMetadata(0,_);let M=await w.build();return{tx:w,unsignedTx:M}}function C(N){if(!l||!("getChangeAddress"in l))throw new Pn("core_wallet_connection_not_found");return l.signTx(N)}async function L({recipient:N,assetValue:X,memo:_}){if(!l||!("getChangeAddress"in l))throw new Pn("core_wallet_connection_not_found");let{unsignedTx:Z}=await o({assetValue:X,memo:_,recipient:N}),B=await C(Z);return await(await mT()).submitTx(B)}return{createTransaction:o,estimateTransactionFee:G,getAddress:x,getBalance:f,signTransaction:C,transfer:L,validateAddress:T}}var $5="lovelace";var r0=()=>{};var iT={};a(iT,{getCardanoToolbox:()=>p5,getCardanoAddressValidator:()=>d0});var gT=R(()=>{r0()});import{base64 as a0,bech32 as xT}from"@scure/base";import{SwapKitError as h5}from"@swapkit/helpers";import{fromByteArray as j5,toByteArray as c5}from"base64-js";function Hn(n){return a0.encode(Uint8Array.from(xT.fromWords(xT.decode(n).words)))}function Un(n,T="thor"){return xT.encode(T,xT.toWords(a0.decode(n)))}function m5(n){return j5(n)}function i5(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new h5("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return c5(n)}var dT=()=>{};import{AssetValue as rT,Chain as E,getChainConfig as Cy,getRPCUrl as g5,SwapKitError as s0}from"@swapkit/helpers";function Qy(n){switch(n){case E.Maya:return{amount:[],gas:"10000000000"};case E.THORChain:return{amount:[],gas:"500000000"};case E.Kujira:return nx;case E.Noble:return Tx;default:return yx}}async function Wy(n){let T=await import("@cosmjs/stargate"),l=T.StargateClient??T.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return l.connect({headers:y,url:n})}async function Dn(n,T,l={}){let y=await import("@cosmjs/stargate"),x=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,G=typeof l==="string"?l:"0.0003uatom",o=typeof l==="string"?{}:l;return x.connectWithSigner(n,T,{gasPrice:f.fromString(G),...o})}async function sT(n,T){let l=await import("@cosmjs/stargate");return(l.SigningStargateClient??l.default?.SigningStargateClient).offline(n,T)}async function eT({sender:n,recipient:T,assetValue:l,memo:y="",feeRate:x,sequence:f,accountNumber:G}){let{chain:o,chainId:C}=l,L=await g5(o),X=await(await Wy(L)).getAccount(n);if(!X)throw new s0("toolbox_cosmos_account_not_found",{sender:n});let _=rT.from({chain:o}),Z=Yy(_.symbol),B=Qy(o),w=Z&&x?{amount:[{amount:x.toString(),denom:Z}],gas:B.gas}:B,M={amount:[{amount:l.getBaseValue("string"),denom:Yy(l.symbol)}],fromAddress:n,toAddress:T};return{accountNumber:G??X.accountNumber,chainId:C,fee:w,memo:y,msgs:[{typeUrl:d5(o),value:M}],sequence:f??X.sequence}}var aT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",e0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",yx,nx,Tx,Yy=(n,T=!1)=>{if(T)return n.toLowerCase();switch(n){case"uUSK":case"USK":return aT;case"uYUM":case"YUM":return e0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},Yn=({symbol:n,chain:T})=>{if(T===E.Maya)return(n.toUpperCase()!=="CACAO"?n:`${E.Maya}.${n}`).toUpperCase();if(T===E.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${E.THORChain}.${n}`:n).toUpperCase();return Yy(n,!1)},d5=(n)=>{switch(n){case E.Maya:case E.THORChain:return"/types.MsgSend";case E.Cosmos:case E.Kujira:case E.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new s0("toolbox_cosmos_not_supported",{chain:n})}},r5,yf=(n,T)=>{let l=r5[n.toLowerCase()];if(!l)return rT.from({asset:n,fromBaseDecimal:8,value:T});let{chain:y,asset:x,decimals:f}=l,G=y?{chain:y}:{asset:x};return rT.from({...G,fromBaseDecimal:f,value:T})};var Rn=R(()=>{yx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},nx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Tx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};r5={atom:{chain:E.Cosmos,decimals:Cy(E.Cosmos).baseDecimal},cacao:{chain:E.Maya,decimals:10},kuji:{chain:E.Kujira,decimals:Cy(E.Kujira).baseDecimal},maya:{asset:`${E.Maya}.${E.Maya}`,decimals:4},rune:{chain:E.THORChain,decimals:Cy(E.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Cy(E.THORChain).baseDecimal},uatom:{chain:E.Cosmos,decimals:Cy(E.Cosmos).baseDecimal},ukuji:{chain:E.Kujira,decimals:Cy(E.Kujira).baseDecimal},usdc:{chain:E.Noble,decimals:Cy(E.Noble).baseDecimal},uusdc:{chain:E.Noble,decimals:Cy(E.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Cy(E.THORChain).baseDecimal},[aT.toLowerCase()]:{asset:`${E.Kujira}.USK`,decimals:Cy(E.Kujira).baseDecimal}}});var fx={};a(fx,{$root:()=>H});import m from"protobufjs/minimal.js";var S,ly,D,H;var xx=R(()=>{S=m.Reader,ly=m.Writer,D=m.util,H=m.roots.default||(m.roots.default={});H.common=(()=>{let n={};return n.Asset=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.chain="",T.prototype.symbol="",T.prototype.ticker="",T.prototype.synth=!1,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))x.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))x.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))x.uint32(32).bool(y.synth);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Asset;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.chain=y.string();break;case 2:G.symbol=y.string();break;case 3:G.ticker=y.string();break;case 4:G.synth=y.bool();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!D.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!D.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Asset)return y;let x=new H.common.Asset;if(y.chain!=null)x.chain=String(y.chain);if(y.symbol!=null)x.symbol=String(y.symbol);if(y.ticker!=null)x.ticker=String(y.ticker);if(y.synth!=null)x.synth=Boolean(y.synth);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.Coin=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.asset=null,T.prototype.amount="",T.prototype.decimals=D.Long?D.Long.fromBits(0,0,!1):0,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))H.common.Asset.encode(y.asset,x.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))x.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))x.uint32(24).int64(y.decimals);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Coin;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.asset=H.common.Asset.decode(y,y.uint32());break;case 2:G.amount=y.string();break;case 3:G.decimals=y.int64();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let x=H.common.Asset.verify(y.asset);if(x)return"asset."+x}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!D.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!D.isInteger(y.decimals)&&!(y.decimals&&D.isInteger(y.decimals.low)&&D.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Coin)return y;let x=new H.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=H.common.Asset.fromObject(y.asset)}if(y.amount!=null)x.amount=String(y.amount);if(y.decimals!=null){if(D.Long)(x.decimals=D.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")x.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")x.decimals=y.decimals;else if(typeof y.decimals==="object")x.decimals=new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)if(f.asset=null,f.amount="",D.Long){let G=new D.Long(0,0,!1);f.decimals=x.longs===String?G.toString():x.longs===Number?G.toNumber():G}else f.decimals=x.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=H.common.Asset.toObject(y.asset,x);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=x.longs===String?String(y.decimals):y.decimals;else f.decimals=x.longs===String?D.Long.prototype.toString.call(y.decimals):x.longs===Number?new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.PubKeySet=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.secp256k1="",T.prototype.ed25519="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))x.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))x.uint32(18).string(y.ed25519);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.PubKeySet;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.secp256k1=y.string();break;case 2:G.ed25519=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!D.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!D.isString(y.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.PubKeySet)return y;let x=new H.common.PubKeySet;if(y.secp256k1!=null)x.secp256k1=String(y.secp256k1);if(y.ed25519!=null)x.ed25519=String(y.ed25519);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.Tx=(()=>{function T(l){if(this.coins=[],this.gas=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.id="",T.prototype.chain="",T.prototype.fromAddress="",T.prototype.toAddress="",T.prototype.coins=D.emptyArray,T.prototype.gas=D.emptyArray,T.prototype.memo="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))x.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)H.common.Coin.encode(y.gas[f],x.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(58).string(y.memo);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Tx;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.id=y.string();break;case 2:G.chain=y.string();break;case 3:G.fromAddress=y.string();break;case 4:G.toAddress=y.string();break;case 5:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 6:if(!G.gas?.length)G.gas=[];G.gas.push(H.common.Coin.decode(y,y.uint32()));break;case 7:G.memo=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!D.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!D.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!D.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let x=0;x<y.gas.length;++x){let f=H.common.Coin.verify(y.gas[x]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Tx)return y;let x=new H.common.Tx;if(y.id!=null)x.id=String(y.id);if(y.chain!=null)x.chain=String(y.chain);if(y.fromAddress!=null)x.fromAddress=String(y.fromAddress);if(y.toAddress!=null)x.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[f]=H.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)x.memo=String(y.memo);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[],f.gas=[];if(x.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.gas?.length){f.gas=[];for(let G=0;G<y.gas.length;++G)f.gas[G]=H.common.Coin.toObject(y.gas[G],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.Fee=(()=>{function T(l){if(this.coins=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.coins=D.emptyArray,T.prototype.poolDeduct="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))x.uint32(18).string(y.poolDeduct);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Fee;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 2:G.poolDeduct=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!D.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Fee)return y;let x=new H.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)x.poolDeduct=String(y.poolDeduct);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[];if(x.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.ProtoUint=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.value="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))x.uint32(10).string(y.value);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.ProtoUint;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.value=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!D.isString(y.value))return"value: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.ProtoUint)return y;let x=new H.common.ProtoUint;if(y.value!=null)x.value=String(y.value);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n})();H.types=(()=>{let n={};return n.MsgDeposit=(()=>{function T(l){if(this.coins=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.coins=D.emptyArray,T.prototype.memo="",T.prototype.signer=D.newBuffer([]),T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))x.uint32(26).bytes(y.signer);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.types.MsgDeposit;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 2:G.memo=y.string();break;case 3:G.signer=y.bytes();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||D.isString(y.signer)))return"signer: buffer expected"}return null},T.fromObject=function(y){if(y instanceof H.types.MsgDeposit)return y;let x=new H.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)x.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")D.base64.decode(y.signer,x.signer=D.newBuffer(D.base64.length(y.signer)),0);else if(y.signer.length)x.signer=y.signer}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[];if(x.defaults){if(f.memo="",x.bytes===String)f.signer="";else if(f.signer=[],x.bytes!==Array)f.signer=D.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=x.bytes===String?D.base64.encode(y.signer,0,y.signer.length):x.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n.MsgSend=(()=>{function T(l){if(this.amount=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.fromAddress=D.newBuffer([]),T.prototype.toAddress=D.newBuffer([]),T.prototype.amount=D.emptyArray,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=ly.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)H.cosmos.base.v1beta1.Coin.encode(y.amount[f],x.uint32(26).fork()).ldelim();return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof S))y=S.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.types.MsgSend;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.fromAddress=y.bytes();break;case 2:G.toAddress=y.bytes();break;case 3:if(!G.amount?.length)G.amount=[];G.amount.push(H.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof S))y=new S(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||D.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||D.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let x=0;x<y.amount.length;++x){let f=H.cosmos.base.v1beta1.Coin.verify(y.amount[x]);if(f)return"amount."+f}}return null},T.fromObject=function(y){if(y instanceof H.types.MsgSend)return y;let x=new H.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")D.base64.decode(y.fromAddress,x.fromAddress=D.newBuffer(D.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)x.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")D.base64.decode(y.toAddress,x.toAddress=D.newBuffer(D.base64.length(y.toAddress)),0);else if(y.toAddress.length)x.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[f]=H.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.amount=[];if(x.defaults){if(x.bytes===String)f.fromAddress="";else if(f.fromAddress=[],x.bytes!==Array)f.fromAddress=D.newBuffer(f.fromAddress);if(x.bytes===String)f.toAddress="";else if(f.toAddress=[],x.bytes!==Array)f.toAddress=D.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=x.bytes===String?D.base64.encode(y.fromAddress,0,y.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=x.bytes===String?D.base64.encode(y.toAddress,0,y.toAddress.length):x.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let G=0;G<y.amount.length;++G)f.amount[G]=H.cosmos.base.v1beta1.Coin.toObject(y.amount[G],x)}return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},T})(),n})();H.cosmos=(()=>{let n={};return n.base=(()=>{let T={};return T.v1beta1=(()=>{let l={};return l.Coin=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))G.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))G.uint32(18).string(f.amount);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.Coin;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.denom=f.string();break;case 2:C.amount=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!D.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!D.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.Coin)return f;let G=new H.cosmos.base.v1beta1.Coin;if(f.denom!=null)G.denom=String(f.denom);if(f.amount!=null)G.amount=String(f.amount);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.denom="",o.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))o.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))o.amount=f.amount;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l.DecCoin=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))G.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))G.uint32(18).string(f.amount);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.DecCoin;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.denom=f.string();break;case 2:C.amount=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!D.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!D.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.DecCoin)return f;let G=new H.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)G.denom=String(f.denom);if(f.amount!=null)G.amount=String(f.amount);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.denom="",o.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))o.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))o.amount=f.amount;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l.IntProto=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))G.uint32(10).string(f.int);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.IntProto;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.int=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!D.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.IntProto)return f;let G=new H.cosmos.base.v1beta1.IntProto;if(f.int!=null)G.int=String(f.int);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.int="";if(f.int!=null&&f.hasOwnProperty("int"))o.int=f.int;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l.DecProto=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=ly.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))G.uint32(10).string(f.dec);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof S))f=S.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.DecProto;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.dec=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof S))f=new S(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!D.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.DecProto)return f;let G=new H.cosmos.base.v1beta1.DecProto;if(f.dec!=null)G.dec=String(f.dec);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))o.dec=f.dec;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,m.util.toJSONOptions)},y})(),l})(),T})(),n})()});import{Chain as a5}from"@swapkit/helpers";async function $y(){let{$root:n}=await Promise.resolve().then(() => (xx(),fx)),T=await import("@cosmjs/proto-signing"),l=T.Registry??T.default?.Registry,y=await import("@cosmjs/stargate"),x=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new l([...x,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Dy(n){let T=await import("@cosmjs/stargate"),l=T.AminoTypes??T.default?.AminoTypes,y=n===a5.THORChain?"thorchain":"mayachain";return new l({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:x,...f})=>({...f,signer:Hn(x)}),toAmino:({signer:x,...f})=>({...f,signer:Un(x)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:x,to_address:f,...G})=>({...G,fromAddress:Hn(x),toAddress:Hn(f)}),toAmino:({fromAddress:x,toAddress:f,...G})=>({...G,from_address:Un(x),to_address:Un(f)})}})}var nf=R(()=>{dT()});import{AssetValue as s5,Chain as lT,getChainConfig as lx,SwapKitError as e5}from"@swapkit/helpers";function xf(n){return function(l){let{assetValue:y,recipient:x,memo:f,sender:G,asSignable:o,asAminoMessage:C}=l;if(x)return ox(n)({asAminoMessage:C,asSignable:o,assetValue:y,memo:f,recipient:x,sender:G});return Cx(n)({asAminoMessage:C,asSignable:o,assetValue:y,memo:f,sender:G})}}function ky(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((T)=>{let l=s5.from({asset:T.asset}),y=(l.isSynthetic?l.symbol.split("/")?.[1]:l.symbol)?.toUpperCase(),x=(l.isSynthetic?l.symbol.split("/")?.[0]:l.chain)?.toUpperCase();return{...T,asset:{chain:x,symbol:y,synth:l.isSynthetic,ticker:l.ticker}}})}}}async function kn({chain:n,memo:T,msgs:l}){let y=await $y(),x=await Dy(n),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:l.map((G)=>x.fromAmino(G))}};return y.encode(f)}var yl,nl,Tf=({sender:n,recipient:T,assetValue:l})=>{return{type:`${l.chain===lT.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:l.getBaseValue("string"),denom:Yy(l.symbol,!0)}],from_address:n,to_address:T}}},ff=({sender:n,assetValue:T,memo:l=""})=>{return{type:`${T.chain===lT.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:Yn(T)}],memo:l,signer:n}}},GT=({sender:n,recipient:T,assetValue:l,memo:y})=>{return!T?ff({assetValue:l,memo:y,sender:n}):Tf({assetValue:l,recipient:T,sender:n})},Ry=async(n,T)=>{return(await Dy(T)).fromAmino(n)},Gx=async({rpcUrl:n,sender:T})=>{let y=await(await Wy(n)).getAccount(T);if(!y)throw new e5("toolbox_cosmos_account_not_found",{sender:T});return y},ox=(n)=>async({sender:T,recipient:l,assetValue:y,memo:x="",asSignable:f=!0,asAminoMessage:G=!1,sequence:o,accountNumber:C})=>{let L=await Gx({rpcUrl:n,sender:T}),N=y.chain,{chainId:X}=lx(N),_=Tf({assetValue:y,recipient:l,sender:T}),Z=f?await Ry(G?_:ky(_),N):_;return{accountNumber:C||L.accountNumber,chainId:X,fee:Qy(N),memo:x,msgs:[Z],sequence:o||L.sequence}},Cx=(n)=>async({sender:T,assetValue:l,memo:y="",asSignable:x=!0,asAminoMessage:f=!1,sequence:G,accountNumber:o})=>{let C=await Gx({rpcUrl:n,sender:T}),L=l.chain,{chainId:N}=lx(L),X=ff({assetValue:l,memo:y,sender:T}),_=x?await Ry(f?X:ky(X),L):X;return{accountNumber:o||C.accountNumber,chainId:N,fee:Qy(L),memo:y,msgs:[_],sequence:G||C.sequence}};var Lx=R(()=>{Rn();nf();yl=Qy(lT.THORChain).gas,nl=Qy(lT.Maya).gas});var Xx=()=>{};var _x=R(()=>{Xx()});var lf=R(()=>{dT();Lx();nf();_x()});import{base64 as Cf,bech32 as Gf}from"@scure/base";import{AssetValue as Lf,applyFeeMultiplier as Nx,Chain as s,CosmosChainPrefixes as Tl,DerivationPath as fl,derivationPathToString as Zx,FeeOption as Xf,getChainConfig as xl,getRPCUrl as ll,NetworkDerivationPath as Gl,SwapKitError as _f,SwapKitNumber as of,updateDerivationPath as ol}from"@swapkit/helpers";import{SwapKitApi as Qx}from"@swapkit/helpers/api";import{match as Cl,P as Bx}from"ts-pattern";async function Zf(n,T){try{let y=(await Qx.getGasRate()).find((x)=>x.chainId===n)?.value;return y?Number.parseFloat(y):T}catch{return T}}async function Nf({phrase:n,prefix:T,...l}){let y=await import("@cosmjs/proto-signing"),x=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),G=f.stringToPath??f.default?.stringToPath,o="derivationPath"in l?l.derivationPath:`${fl[l.chain]}/${l.index}`;return x.fromMnemonic(n,{hdPaths:[G(o)],prefix:T})}async function Ll({privateKey:n,prefix:T}){let l=await import("@cosmjs/proto-signing");return(l.DirectSecp256k1Wallet??l.default?.DirectSecp256k1Wallet).fromKey(n,T)}function Wx(n){return async function({signature:l,message:y,address:x}){let f=await n(x);if(!f?.pubkey)throw new _f("toolbox_cosmos_verify_signature_no_pubkey");let G=await import("@cosmjs/crypto"),o=G.Secp256k1Signature??G.default?.Secp256k1Signature,C=G.Secp256k1??G.default?.Secp256k1,L=o.fromFixedLength(Cf.decode(l));return C.verifySignature(L,Cf.decode(y),f.pubkey.value)}}async function On({chain:n,...T}){let l=await ll(n),y=Tl[n],x="index"in T?T.index||0:0,f=Zx("derivationPath"in T&&T.derivationPath?T.derivationPath:ol(Gl[n],{index:x})),G=await Cl(T).with({phrase:Bx.string},({phrase:X})=>Nf({derivationPath:f,phrase:X,prefix:y})).with({signer:Bx.any},({signer:X})=>X).otherwise(()=>{return});async function o(X){return(await Wy(l)).getAccount(X)}async function C(){let[X]=await G?.getAccounts()||[];return X?.address}async function L(){let[X]=await G?.getAccounts()||[];if(!X?.pubkey)throw new _f("toolbox_cosmos_signer_not_defined");return Cf.encode(X?.pubkey)}async function N({recipient:X,assetValue:_,memo:Z="",feeRate:B,feeOptionKey:w=Xf.Fast}){let M=await C();if(!(G&&M))throw new _f("toolbox_cosmos_signer_not_defined");let W=Lf.from({chain:n}),Y=Yn(W),v=B||Nl((await wx(n,Jx[n]))[w],Y),u=await Dn(l,G),F=[{amount:_.getBaseValue("string"),denom:Yy(`u${_.symbol}`).toLowerCase()}],{transactionHash:V}=await u.sendTokens(M,X,F,v,Z);return V}return{createPrivateKeyFromPhrase:Bl(f),createTransaction:eT,fetchFeeRateFromSwapKit:Zf,getAccount:o,getAddress:C,getBalance:async(X,_)=>{let Z=await qx(l)(X),B=await Promise.all(Z.filter(({denom:w})=>w&&!w.includes("IBC/")).map(({denom:w,amount:M})=>{let W=[s.THORChain,s.Maya].includes(n)&&(w.includes("/")||w.includes("˜"))?`${n}.${w}`:w;return yf(W,M)}));if(B.length===0)return[Lf.from({chain:n})];return B},getBalanceAsDenoms:qx(l),getFees:()=>wx(n,Jx[n]),getPubKey:L,getSignerFromPhrase:async({phrase:X,derivationPath:_})=>Nf({derivationPath:Zx(_),index:x,phrase:X,prefix:y}),getSignerFromPrivateKey:async(X)=>{let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(X,y)},transfer:N,validateAddress:Mx(y),verifySignature:Wx(o)}}async function Xl(n,T){try{let y=(await Qx.getGasRate()).find((x)=>x.chainId===n)?.value;return y?Number.parseFloat(y):T}catch{return T}}function _l({assetValue:{chain:n}}){return Lf.from({chain:n,value:Zl(n)})}async function wx(n,T){let{chainId:l,baseDecimal:y}=xl(n),x=await Zf(l,T);return{average:of.fromBigInt(BigInt(x),y),fast:of.fromBigInt(BigInt(Nx(x,Xf.Fast,!0)),y),fastest:of.fromBigInt(BigInt(Nx(x,Xf.Fastest,!0)),y)}}function Nl(n,T){return{amount:[{amount:n.getBaseValue("string"),denom:T}],gas:"200000"}}function Zl(n){return{[s.Cosmos]:0.007,[s.Kujira]:0.02,[s.Noble]:0.01,[s.THORChain]:0.02,[s.Maya]:0.02,[s.Harbor]:0.02}[n]||0}function Mx(n){return function(l){if(!l.startsWith(n))return!1;try{let{prefix:y,words:x}=Gf.decode(l);return Gf.encode(y,x)===l.toLocaleLowerCase()}catch{return!1}}}function qx(n){return async function(l){return(await(await Wy(n)).getAllBalances(l)).map((G)=>({...G,denom:G.denom.includes("/")?G.denom.toUpperCase():G.denom}))}}function Bl(n){return async function(l){let y=await import("@cosmjs/crypto"),x=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,G=y.Slip10??y.default?.Slip10,o=y.EnglishMnemonic??y.default?.EnglishMnemonic,C=y.Bip39??y.default?.Bip39,L=new o(l),N=await C.mnemonicToSeed(L),{privkey:X}=G.derivePath(f.Secp256k1,N,x(n));return X}}var Jx;var oT=R(()=>{Rn();Jx={[s.Cosmos]:500,[s.Kujira]:1000,[s.Noble]:1000,[s.THORChain]:5000000,[s.Maya]:5000000,[s.Harbor]:5000000}});import{base64 as by}from"@scure/base";import{Chain as Jl,CosmosChainPrefixes as wl,derivationPathToString as ql,FeeOption as Bf,getChainConfig as Px,getRPCUrl as Ql,NetworkDerivationPath as Wl,RequestClient as Ml,SKConfig as Pl,SwapKitError as zx,SwapKitNumber as Hx,updateDerivationPath as zl}from"@swapkit/helpers";import{match as Hl,P as Ux}from"ts-pattern";function Ul({prefix:n,derivationPath:T}){return async function(y,x=0){let f=await import("@cosmjs/amino"),G=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,o=await import("@cosmjs/crypto"),C=o.stringToPath??o.default?.stringToPath;return G.fromMnemonic(y,{hdPaths:[C(`${T}/${x}`)],prefix:n})}}function Yl(n){return by.encode(n)}function Dl(n){return async function({wallet:l,tx:y}){let{msgs:x,accountNumber:f,sequence:G,chainId:o,fee:C,memo:L}=typeof y==="string"?JSON.parse(y):y,N=(await l.getAccounts())?.[0]?.address||"",X=await Dy(n),_=await $y(),Z=await sT(l,{aminoTypes:X,registry:_}),B=[];for(let W of x){let Y=await Ry(W,n);B.push(Y)}let{signatures:[w]}=await Z.sign(N,B,C,L,{accountNumber:f,chainId:o,sequence:G});return{bodyBytes:await kn({chain:n,memo:L,msgs:x.map(ky)}),signature:Yl(w)}}}function Rl({prefix:n,rpcUrl:T}){return async function(y,x,f,G,o){let{encodeSecp256k1Pubkey:C,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:N}=(await import("@cosmjs/stargate")).default,{sequence:X,fee:_}=JSON.parse(y),Z=await Yx(f,G),B=x.map((W)=>[L(C(by.decode(W.pubKey)),n),by.decode(W.signature)]),w=await Wy(T),{transactionHash:M}=await w.broadcastTx(N(Z,X,_,o,new Map(B)));return M}}async function Yx(n,T,l=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return y(n.map((f)=>x(by.decode(f))),T,l)}function kl(n){return by.decode(n)}async function Ol({privateKey:n,message:T}){let{Secp256k1:l}=(await import("@cosmjs/crypto")).default,y=await l.createSignature(by.decode(T),n);return by.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Jf({chain:n,...T}){let l=await Ql(n),{nodeUrl:y}=Px(n),{isStagenet:x}=Pl.get("envs"),f=n===Jl.THORChain,G=`${x?"s":""}${wl[n]}`,o="index"in T?T.index||0:0,C="derivationPath"in T&&T.derivationPath?T.derivationPath:zl(Wl[n],{index:o}),L=await On({chain:n,...T}),N=await Hl(T).with({phrase:Ux.string},({phrase:B})=>L.getSignerFromPhrase({derivationPath:C,phrase:B})).with({signer:Ux.any},({signer:B})=>B).otherwise(()=>{return}),X=Qy(n);async function _(){let B,w=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await Ml.get(w);if(!M||Number.isNaN(M)||M<0)throw new zx("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});B=new Hx(M)}catch{B=new Hx({decimal:Px(n).baseDecimal,value:f?0.02:1})}return{[Bf.Average]:B,[Bf.Fast]:B,[Bf.Fastest]:B}}async function Z({assetValue:B,memo:w="",recipient:M}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),Y=(await N?.getAccounts())?.[0]?.address;if(!(Y&&N))throw new zx("toolbox_cosmos_no_signer");let v="signAmino"in N,u=await $y(),F=await Dy(n),V=await Dn(l,N,{aminoTypes:F,registry:u}),d=GT({assetValue:B,memo:w,recipient:M,sender:Y});if(v){let U=await Ry(d,n),{signatures:k,authInfoBytes:O}=await V.sign(Y,[U],X,w),I=W.encode({authInfoBytes:O,bodyBytes:await kn({chain:n,memo:w,msgs:[d].map(ky)}),signatures:k}).finish();return(await V.broadcastTx(I)).transactionHash}let Uy=ky(d),J=await Ry(Uy,n);return(await V.signAndBroadcast(Y,[J],X,w)).transactionHash}return{...L,broadcastMultisigTx:Rl({prefix:G,rpcUrl:l}),buildAminoMsg:GT,buildEncodedTxBody:kn,convertToSignable:Ry,createDefaultAminoTypes:()=>Dy(n),createDefaultRegistry:$y,createMultisig:Yx,createTransaction:xf(l),deposit:Z,getFees:_,importSignature:kl,parseAminoMessageForDirectSigning:ky,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:w}=(await import("@cosmjs/amino")).default;return w(B,G)},secp256k1HdWalletFromMnemonic:Ul({derivationPath:ql(C),prefix:G}),signMultisigTx:Dl(n),signWithPrivateKey:Ol,transfer:Z}}var wf=R(()=>{lf();Rn();oT()});import{Chain as Sn,SwapKitError as Sl}from"@swapkit/helpers";var ul=(n,T)=>{switch(n){case Sn.Cosmos:case Sn.Kujira:case Sn.Noble:return On({chain:n,...T});case Sn.Maya:case Sn.THORChain:return Jf({chain:n,...T});default:throw new Sl("toolbox_cosmos_not_supported",{chain:n})}};var Dx=R(()=>{oT();wf();oT();wf()});var CT={};a(CT,{verifySignature:()=>Wx,transferMsgAmino:()=>Tf,toBase64:()=>m5,parseAminoMessageForDirectSigning:()=>ky,getSignerFromPrivateKey:()=>Ll,getSignerFromPhrase:()=>Nf,getMsgSendDenom:()=>Yy,getFeeRateFromSwapKit:()=>Xl,getDenomWithChain:()=>Yn,getDefaultChainFee:()=>Qy,getCreateTransaction:()=>xf,getCosmosValidateAddress:()=>Mx,getCosmosToolbox:()=>ul,getAssetFromDenom:()=>yf,fromBase64:()=>i5,fetchFeeRateFromSwapKit:()=>Zf,estimateTransactionFee:()=>_l,depositMsgAmino:()=>ff,createThorchainToolbox:()=>Jf,createStargateClient:()=>Wy,createSigningStargateClient:()=>Dn,createOfflineStargateClient:()=>sT,createDefaultRegistry:()=>$y,createDefaultAminoTypes:()=>Dy,createCosmosToolbox:()=>On,cosmosCreateTransaction:()=>eT,convertToSignable:()=>Ry,buildTransferTx:()=>ox,buildEncodedTxBody:()=>kn,buildDepositTx:()=>Cx,buildAminoMsg:()=>GT,bech32ToBase64:()=>Hn,base64ToBech32:()=>Un,YUM_KUJIRA_FACTORY_DENOM:()=>e0,USK_KUJIRA_FACTORY_DENOM:()=>aT,THORCHAIN_GAS_VALUE:()=>yl,MAYA_GAS_VALUE:()=>nl,DEFAULT_NOBLE_FEE_MAINNET:()=>Tx,DEFAULT_KUJI_FEE_MAINNET:()=>nx,DEFAULT_COSMOS_FEE_MAINNET:()=>yx});var LT=R(()=>{lf();Dx();Rn()});import{AssetValue as qf,Chain as hy,DerivationPath as Il,derivationPathToString as vl,getChainConfig as Ox,getRPCUrl as Fl,NetworkDerivationPath as El,SwapKitError as jy,updateDerivationPath as Al}from"@swapkit/helpers";import{match as tl,P as Rx}from"ts-pattern";async function Kl(n){try{let T=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${n}`);if(!T.ok)return null;return await T.json()}catch{return null}}async function Vl(n){let T=await py(),{PublicKey:l}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),x=new l(n),f=[],G=await T.getBalance(x);if(G>0){let{baseDecimal:C}=Ox(hy.Solana);f.push(qf.from({chain:hy.Solana,fromBaseDecimal:C,value:G}))}let o=await T.getParsedTokenAccountsByOwner(x,{programId:y});for(let{account:C}of o.value){let L=C.data.parsed.info,N=L.mint,X=L.tokenAmount.amount;if(Number(X)===0)continue;let _=await Kl(N),Z=_?.symbol||"UNKNOWN",B=_?.decimals||L.tokenAmount.decimals;f.push(qf.from({asset:`${hy.Solana}.${Z}-${N}`,fromBaseDecimal:B,value:X}))}return f}async function Mf(){let{PublicKey:n}=await import("@solana/web3.js");return(T)=>{try{let l=new n(T);return n.isOnCurve(l.toBytes())}catch{return!1}}}async function $l(n){let T=n&&"index"in n?n.index||0:0,l=vl(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:Al(El[hy.Solana],{index:T})),y=await tl(n).with({phrase:Rx.string},({phrase:G})=>Wf({derivationPath:l,phrase:G})).with({signer:Rx.any},({signer:G})=>G).otherwise(()=>{return});function x(){return y?.publicKey?kx(y.publicKey):""}function f(G){let o=G||x();if(!o)throw new jy("core_wallet_connection_not_found");return Vl(o)}return{broadcastTransaction:Qf(py),createKeysForPath:Wf,createTransaction:Pf(py),createTransactionFromInstructions:jl,estimateTransactionFee:bl(py),getAddress:x,getAddressFromPubKey:kx,getAddressValidator:Mf,getBalance:f,getConnection:py,getPubkeyFromAddress:zf,signTransaction:ml(py,y),transfer:cl(py,y)}}function bl(n){return async({recipient:T,assetValue:l,memo:y,isProgramDerivedAddress:x,sender:f})=>{let G=await n(),C=(await Pf(n)({assetValue:l,isProgramDerivedAddress:x,memo:y,recipient:T,sender:f})).compileMessage(),L=await G.getFeeForMessage(C);if(L.value===null)throw new jy("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:N}=Ox(hy.Solana);return qf.from({chain:hy.Solana,fromBaseDecimal:N,value:L.value})}}async function py(){let{Connection:n}=await import("@solana/web3.js"),T=await Fl(hy.Solana);return new n(T,"confirmed")}function pl(n){return async({assetValue:T,recipient:l,sender:y,isProgramDerivedAddress:x})=>{let f=await n(),G=await zf(y);if(T.isGasAsset){let{Transaction:o,SystemProgram:C,PublicKey:L}=await import("@solana/web3.js");return new o().add(C.transfer({fromPubkey:G,lamports:T.getBaseValue("number"),toPubkey:new L(l)}))}if(T.address)return hl({amount:T.getBaseValue("number"),connection:f,decimals:T.decimal,from:G,isProgramDerivedAddress:x,recipient:l,tokenAddress:T.address});return}}async function hl({tokenAddress:n,recipient:T,from:l,connection:y,amount:x,decimals:f,isProgramDerivedAddress:G}){let{getAssociatedTokenAddress:o,getAccount:C,createAssociatedTokenAccountInstruction:L,createTransferCheckedInstruction:N}=await import("@solana/spl-token"),{Transaction:X,PublicKey:_}=await import("@solana/web3.js"),Z=new X,B=new _(n),w=await o(B,l),M=new _(T),W=await o(B,M,G),Y=!1;try{await C(y,W),Y=!0}catch{}if(!Y)Z.add(L(l,W,M,B));return Z.add(N(w,B,W,l,x,f)),Z}function Pf(n){return async({recipient:T,assetValue:l,memo:y,isProgramDerivedAddress:x,sender:f})=>{let{createMemoInstruction:G}=await import("@solana/spl-memo"),o=await zf(f),C=await Mf();if(!(x||C(T)))throw new jy("core_transaction_invalid_recipient_address");let L=await n(),N=await pl(n)({assetValue:l,isProgramDerivedAddress:x,recipient:T,sender:f});if(!N)throw new jy("core_transaction_invalid_sender_address");if(y)N.add(G(y));let X=await L.getLatestBlockhash();return N.recentBlockhash=X.blockhash,N.feePayer=o,N}}async function jl({instructions:n}){let{Transaction:T}=await import("@solana/web3.js"),l=new T().add(...n);if(!l)throw new jy("core_transaction_invalid_sender_address");return l}function cl(n,T){return async({recipient:l,assetValue:y,memo:x,isProgramDerivedAddress:f})=>{if(!T)throw new jy("core_transaction_invalid_sender_address");let G=T.publicKey?.toString()??(await T.connect()).publicKey.toString(),o=await Pf(n)({assetValue:y,isProgramDerivedAddress:f,memo:x,recipient:l,sender:G});if("signTransaction"in T){let C=await T.signTransaction(o);return Qf(n)(C)}return o.sign(T),Qf(n)(o)}}function Qf(n){return async(T)=>{return(await n()).sendRawTransaction(T.serialize())}}function ml(n,T){return async(l)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!T)throw new jy("toolbox_solana_no_signer");if(!(l instanceof y)){let f=await(await n()).getLatestBlockhash();l.recentBlockhash=f.blockhash,l.feePayer=T.publicKey||void 0}if("connect"in T)return await T.signTransaction(l);return await l.sign([T]),l}}async function Wf({phrase:n,derivationPath:T=Il.SOL}){let{HDKey:l}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),f=y(n),G=l.fromMasterSeed(f);return x.fromSeed(G.derive(T,!0).privateKey)}function kx(n){return n.toString()}async function zf(n){let{PublicKey:T}=await import("@solana/web3.js");return new T(n)}var Sx=()=>{};var Hf={};a(Hf,{getSolanaToolbox:()=>$l,getSolanaAddressValidator:()=>Mf,createKeysForPath:()=>Wf});var Uf=R(()=>{Sx()});import{AssetValue as XT,Chain as Yf,getChainConfig as il,SwapKitError as Oy}from"@swapkit/helpers";import{match as gl,P as ux}from"ts-pattern";async function Ix(){let{isValidSuiAddress:n}=await import("@mysten/sui/utils");return function(l){try{return n(l)}catch{return!1}}}async function dl({provider:n,...T}={}){let l=await Ix(),y=await gl(T).with({phrase:ux.string},async({phrase:X})=>{let{Ed25519Keypair:_}=await import("@mysten/sui/keypairs/ed25519");return _.deriveKeypair(X)}).with({signer:ux.any},({signer:X})=>X).otherwise(()=>{return});async function x(X=n){let{SuiClient:_,getFullnodeUrl:Z}=await import("@mysten/sui/client");return new _({url:X||Z("mainnet")})}function f(){return y?.toSuiAddress()||""}async function G(X){let _=X||f();if(!_)throw new Oy("toolbox_sui_address_required");try{let Z=await x(),{totalBalance:B}=await Z.getBalance({owner:_}),{baseDecimal:w,chain:M}=il(Yf.Sui),W=[XT.from({chain:M,fromBaseDecimal:w,value:B})],Y=await Z.getAllBalances({owner:_});for(let{coinType:v,totalBalance:u}of Y){if(v==="0x2::sui::SUI")continue;if(Number(u)>0){let F=v.split("::").pop()?.toUpperCase()||"UNKNOWN",V=`${M}.${F}-${v}`;W.push(XT.from({asset:V,fromBaseDecimal:w,value:u}))}}return W}catch(Z){throw new Oy("toolbox_sui_balance_error",{error:Z})}}async function o(X){let _=XT.from({chain:Yf.Sui,value:"0.01"});if(!X)return _;try{let Z=await x(),{txBytes:B}=await C(X),{effects:{status:w,gasUsed:M}}=await Z.dryRunTransactionBlock({transactionBlock:B});if(w.status!=="success")return _;let W=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return XT.from({chain:Yf.Sui,value:W.toString()})}catch{return _}}async function C({recipient:X,assetValue:_,gasBudget:Z,sender:B}){let{Transaction:w}=await import("@mysten/sui/transactions"),M=B||f();if(!M)throw new Oy("toolbox_sui_no_sender");try{let W=new w;if(W.setSender(M),_.isGasAsset||_.symbol==="SUI"){let[u]=W.splitCoins(W.gas,[_.getBaseValue("string")]);W.transferObjects([u],X)}else throw new Oy("toolbox_sui_custom_token_transfer_not_implemented");if(Z)W.setGasBudget(Z);let Y=await x(),v=await W.build({client:Y});return{tx:W,txBytes:v}}catch(W){throw new Oy("toolbox_sui_transaction_creation_error",{error:W})}}async function L(X){if(!y)throw new Oy("toolbox_sui_no_signer");if(X instanceof Uint8Array)return y.signTransaction(X);let{txBytes:_}="tx"in X?X:await C(X);return y.signTransaction(_)}async function N({assetValue:X,gasBudget:_,recipient:Z}){if(!y)throw new Oy("toolbox_sui_no_signer");let B=y.toSuiAddress()||f();if(!B)throw new Oy("toolbox_sui_no_sender");let{txBytes:w}=await C({assetValue:X,gasBudget:_,recipient:Z,sender:B}),M=await x(),{digest:W}=await M.signAndExecuteTransaction({signer:y,transaction:w});return W}return{createTransaction:C,estimateTransactionFee:o,getAddress:f,getBalance:G,signTransaction:L,transfer:N,validateAddress:l}}var vx=()=>{};var _T={};a(_T,{getSuiToolbox:()=>dl,getSuiAddressValidator:()=>Ix});var NT=R(()=>{vx()});import{AssetValue as Fx,Chain as ZT,getChainConfig as Ex,SwapKitError as xn,SwapKitNumber as rl}from"@swapkit/helpers";import{match as al,P as Ax}from"ts-pattern";async function sl(n={}){let{mnemonicToWalletKey:T}=await import("@ton/crypto"),{Address:l,TonClient:y,WalletContractV4:x}=await import("@ton/ton"),f=await tx(),G,o,C=await al(n).with({phrase:Ax.string},async({phrase:W})=>T(W.split(" "))).with({signer:Ax.any},({signer:W})=>W).otherwise(()=>{return});function L(){let{rpcUrls:W}=Ex(ZT.Ton),[Y]=W;if(!G||G.parameters.endpoint!==Y)G=new y({endpoint:Y});return G}function N(W){if(!o||W){let Y=L(),v=W||C;if(!v)throw new xn("core_wallet_connection_not_found");let u=x.create({publicKey:v.publicKey,workchain:0});o=Y.open(u)}return o}async function X(W){let Y=L(),{baseDecimal:v}=Ex(ZT.Ton);try{let u=await Y.getBalance(l.parse(W));return[Fx.from({chain:ZT.Ton,value:rl.fromBigInt(u,v)})]}catch(u){throw new xn("core_wallet_connection_not_found",{error:u})}}async function _({assetValue:W,recipient:Y,memo:v}){let u=N();if(!u||!C)throw new xn("core_wallet_connection_not_found");let{toNano:F,comment:V,internal:d}=await import("@ton/ton"),Uy=await u.getSeqno(),J=F(W.getValue("string")),P=v?V(v):void 0;return u.createTransfer({messages:[d({body:P,to:Y,value:J})],secretKey:C.secretKey,seqno:Uy})}async function Z({assetValue:W,recipient:Y,memo:v}){let u=N();if(!u||!C)throw new xn("core_wallet_connection_not_found");let F=await _({assetValue:W,memo:v,recipient:Y});return await u.send(F),F.hash().toString()}async function B(W){let Y=N();if(!Y)throw new xn("core_wallet_connection_not_found");try{return await Y.send(W),W.hash().toString("hex")}catch(v){throw new xn("core_wallet_connection_not_found",{error:v})}}function w(){return N().address.toString()}function M(){return Promise.resolve(Fx.from({chain:ZT.Ton,value:"0.0001"}))}return{createTransaction:_,estimateTransactionFee:M,getAddress:w,getBalance:X,sendTransaction:B,transfer:Z,validateAddress:f}}async function tx(){let{Address:n}=await import("@ton/ton");return function(l){try{return n.parse(l),!0}catch{return!1}}}var Kx=()=>{};var BT={};a(BT,{getTONToolbox:()=>sl,getTONAddressValidator:()=>tx});var JT=R(()=>{Kx()});var ln;var Df=R(()=>{ln=[{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 el}from"@swapkit/helpers";async function Vx(n){let T=await import("tronweb"),l=T.TronWeb??T.default?.TronWeb;try{let y=await fetch(`${y2}/v1/accounts/${n}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let x=await y.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=l.address.toHex(n).toLowerCase()}catch{f=n.toLowerCase()}let G=x.data.find((o)=>{return o.address.toLowerCase()===f});if(!G)return;return{balance:G.balance,trc20:G.trc20||[]}}catch(y){throw new el("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}var y2="https://api.trongrid.io";var $x=()=>{};import{AssetValue as My,BaseDecimal as bx,Chain as Ly,derivationPathToString as jx,getRPCUrl as n2,NetworkDerivationPath as cx,SwapKitError as e,updateDerivationPath as mx,warnOnce as Rf}from"@swapkit/helpers";import{match as T2,P as px}from"ts-pattern";async function kf(){let n=await import("tronweb"),T=n.TronWeb??n.default?.TronWeb;return(l)=>{return T.isAddress(l)}}async function ix({phrase:n,derivationPath:T,index:l}){let y=T||jx(mx(cx[Ly.Tron],{index:l||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),G=f(n),C=x.fromMasterSeed(G).derive(y);if(!C.privateKey)throw new e("toolbox_tron_no_signer");return Buffer.from(C.privateKey).toString("hex")}async function o2({phrase:n,derivationPath:T,tronWeb:l}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),f=x(n),o=y.fromMasterSeed(f).derive(T);if(!o.privateKey)throw new e("toolbox_tron_no_signer");let C=Buffer.from(o.privateKey).toString("hex");l.setPrivateKey(C);let L=l?.address.fromPrivateKey(C);return{getAddress:()=>Promise.resolve(typeof L==="string"?L:""),signTransaction:async(N)=>{return await l.trx.sign(N,C)}}}var f2=268,x2=13000,l2=345,hx="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",G2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",gx=async(n={})=>{let T=await import("tronweb"),l=T.TronWeb??T.default?.TronWeb,y=await n2(Ly.Tron),x=void 0,f=new l({fullHost:y,headers:void 0}),G="index"in n?n.index||0:0,o=jx("derivationPath"in n&&n.derivationPath?n.derivationPath:mx(cx[Ly.Tron],{index:G})),C=await T2(n).with({phrase:px.string},async({phrase:J})=>o2({derivationPath:o,phrase:J,tronWeb:f})).with({signer:px.any},({signer:J})=>Promise.resolve(J)).otherwise(()=>Promise.resolve(void 0)),L=async()=>{if(!C)throw new e("toolbox_tron_no_signer");return await C.getAddress()},N=()=>{return 1e8},X=async()=>{try{let J=await f.trx.getChainParameters(),P={};for(let U of J)P[U.key]=U.value;return{bandwidthFee:P.getTransactionFee||1000,createAccountFee:P.getCreateAccountFee||1e5,energyFee:P.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},_=async(J)=>{try{let P=await f.trx.getAccount(J);return P&&Object.keys(P).length>0}catch{return!1}},Z=async(J)=>{try{let P=await f.trx.getAccountResources(J);return{bandwidth:{free:P.freeNetLimit-P.freeNetUsed,total:P.NetLimit||0,used:P.NetUsed||0},energy:{total:P.EnergyLimit||0,used:P.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(J,P)=>{try{let U=f.contract(ln,P);if(!U.methods?.balanceOf)return 0n;let[k]=await U.methods.balanceOf(J).call();return k?typeof k==="bigint"?k:BigInt(k):0n}catch(U){return console.warn(`balanceOf() failed for ${P}:`,U),0n}},w=async(J,P)=>{try{f.setAddress(P);let U=f.contract(ln,J),[k,O]=await Promise.all([U.symbol().call().catch(()=>"UNKNOWN"),U.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:k??"UNKNOWN"}}catch(U){return Rf({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${J}: ${U instanceof Error?U.message:U}`}),null}},M=async(J,P=!0)=>{let U=[My.from({chain:Ly.Tron})];try{let k=await Vx(J);if(k){let O=[];O.push(My.from({chain:Ly.Tron,fromBaseDecimal:6,value:k.balance}));for(let I of k.trc20){let[t,$]=Object.entries(I)[0]||[];if(!(t&&$))continue;let A=await w(t,J);if(!A)continue;O.push(My.from({asset:`TRON.${A.symbol}-${t}`,fromBaseDecimal:A.decimals,value:BigInt($||0)}))}return O}return U}catch(k){Rf({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${k instanceof Error?k.message:k}`});try{let O=[],I=await f.trx.getBalance(J);if(I&&Number(I)>0)O.push(My.from({chain:Ly.Tron,fromBaseDecimal:6,value:I}));let t=await B(J,hx);if(t)O.push(My.from({asset:`TRON.USDT-${hx}`,fromBaseDecimal:6,value:t}));if(O.length===0)return U;return O}catch(O){return console.error("Tron balance fetch failed:",O),U}}},W=async({recipient:J,assetValue:P,memo:U})=>{if(!C)throw new e("toolbox_tron_no_signer");let k=await L();if(f.setAddress(k),P.isGasAsset){let A=await f.transactionBuilder.sendTrx(J,P.getBaseValue("number"),k);if(U){let r=await f.transactionBuilder.addUpdateData(A,U,"utf8"),By=await C.signTransaction(r),{txid:Ey}=await f.trx.sendRawTransaction(By);return Ey}let fy=await C.signTransaction(A),{txid:xy}=await f.trx.sendRawTransaction(fy);return xy}let I=await v({assetValue:P,memo:U,recipient:J,sender:k}),t=await C.signTransaction(I),{txid:$}=await f.trx.sendRawTransaction(t);if(!$)throw new e("toolbox_tron_token_transfer_failed");return $},Y=async({assetValue:J,recipient:P,sender:U})=>{let k=J.isGasAsset;try{let O=U?U:C?await L():void 0;if(!O)return k?My.from({chain:Ly.Tron,fromBaseDecimal:0,value:0.1}):My.from({chain:Ly.Tron,fromBaseDecimal:0,value:15});let I=await X(),$=await _(P)?0:I.createAccountFee,A=await Z(O);if(k){let Ay=f2,P0=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),z0=0;if(Ay>P0)z0=(Ay-P0)*I.bandwidthFee;let r1=$+z0;return My.from({chain:Ly.Tron,fromBaseDecimal:bx.TRON,value:r1})}let fy=l2,xy=x2,r=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),By=A.energy.total-A.energy.used,Ey=0;if(fy>r)Ey=(fy-r)*I.bandwidthFee;let bn=0;if(xy>By)bn=(xy-By)*I.energyFee;let ST=$+Ey+bn;return My.from({chain:Ly.Tron,fromBaseDecimal:bx.TRON,value:ST})}catch(O){throw Rf({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new e("toolbox_tron_fee_estimation_failed",{error:O})}},v=async(J)=>{let{recipient:P,assetValue:U,memo:k,sender:O,expiration:I}=J;if(U.isGasAsset){let A=await f.transactionBuilder.sendTrx(P,U.getBaseValue("number"),O);if(k)return f.transactionBuilder.addUpdateData(A,k,"utf8");if(I)f.transactionBuilder.extendExpiration(A,I);return A}f.setAddress(O);let $=U.address;if(!$)throw new e("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});try{let fy=[{type:"address",value:P},{type:"uint256",value:U.getBaseValue("string")}],xy={callValue:0,feeLimit:N()},r=await f.transactionBuilder.triggerSmartContract($,"transfer(address,uint256)",xy,fy,O);if(k)return f.transactionBuilder.addUpdateData(r.transaction,k,"utf8");if(I)f.transactionBuilder.extendExpiration(r.transaction,I);return r.transaction}catch(A){throw new e("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:A instanceof Error?A.message:String(A)})}},u=async(J)=>{if(!C)throw new e("toolbox_tron_no_signer");return await C.signTransaction(J)},F=async(J)=>{let{txid:P}=await f.trx.sendRawTransaction(J);return P},V=async({assetAddress:J,spenderAddress:P,from:U})=>{try{let k=f.contract(ln,J);if(!k.methods?.allowance)throw new e("toolbox_tron_invalid_token_contract");let[O]=await k.methods.allowance(U,P).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(k){throw new e("toolbox_tron_allowance_check_failed",{error:k})}};return{approve:async({assetAddress:J,spenderAddress:P,amount:U,from:k})=>{if(!C)throw new e("toolbox_tron_no_signer");let O=k||await L(),I=U!==void 0?BigInt(U).toString():G2,t="approve(address,uint256)",$=[{type:"address",value:P},{type:"uint256",value:I}],fy={callValue:0,feeLimit:N()};try{let{transaction:xy}=await f.transactionBuilder.triggerSmartContract(J,t,fy,$,O),r=await C.signTransaction(xy),{txid:By}=await f.trx.sendRawTransaction(r);if(!By)throw new e("toolbox_tron_approve_failed");return By}catch(xy){throw new e("toolbox_tron_approve_failed",{error:xy})}},broadcastTransaction:F,createTransaction:v,estimateTransactionFee:Y,getAddress:L,getApprovedAmount:V,getBalance:M,isApproved:async({assetAddress:J,spenderAddress:P,from:U,amount:k})=>{let O=await V({assetAddress:J,from:U,spenderAddress:P});if(!k)return O>0n;let I=BigInt(k);return O>=I},signTransaction:u,transfer:W,tronWeb:f,validateAddress:await kf()}};var dx=R(()=>{Df();$x()});var Of={};a(Of,{trc20ABI:()=>ln,getTronPrivateKeyFromMnemonic:()=>ix,getTronAddressValidator:()=>kf,createTronToolbox:()=>gx});var Sf=R(()=>{Df();dx()});import{networks as C2}from"@bitgo/utxo-lib";import{Chain as i,getRPCUrl as L2,RequestClient as wT,SKConfig as sx,SwapKitError as Sy,warnOnce as ex}from"@swapkit/helpers";import{networks as X2}from"bitcoinjs-lib";import un from"coininfo";async function _2({chain:n,txHash:T}){let l=`${qT(n)}/push/transaction`,y=JSON.stringify({data:T});try{let x=await wT.post(l,{body:y,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new Sy("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||T}catch(x){let f=await L2(n);if(f){let G=JSON.stringify({id:H0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),o=await wT.post(f,{body:G,headers:{"Content-Type":"application/json"}});if(o.error)throw new Sy("toolbox_utxo_broadcast_failed",{error:o.error?.message});if(o.result.includes('"code":-26'))throw new Sy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return o.result}throw x}}function qT(n){return`https://api.blockchair.com/${N2(n)}`}function rx(n){switch(n){case i.Bitcoin:return 5;case i.Dogecoin:return 1e4;case i.Litecoin:return 1;case i.Zcash:return 1;default:return 2}}function N2(n){switch(n){case i.BitcoinCash:return"bitcoin-cash";case i.Litecoin:return"litecoin";case i.Dash:return"dash";case i.Dogecoin:return"dogecoin";case i.Zcash:return"zcash";case i.Polkadot:return"polkadot";default:return"bitcoin"}}async function Z2(n){try{let{feePerKb:T}=await wT.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),l=T/1000;return Math.max(l,rx(n))}catch{return rx(n)}}async function uf(n,T){let l=await wT.get(`${n}${T?`${n.includes("?")?"&":"?"}key=${T}`:""}`);if(!l||l.context.code!==200)throw new Sy("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return l.data}async function y1({address:n,chain:T,apiKey:l}){if(!n)throw new Sy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await uf(`${qT(T)}/dashboards/address/${n}?transaction_details=true`,l))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function B2({address:n,chain:T,apiKey:l}){return(await y1({address:n,apiKey:l,chain:T}))?.address.balance||0}async function n1({chain:n,apiKey:T,txHash:l}){if(!l)throw new Sy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await uf(`${qT(n)}/raw/transaction/${l}`,T))?.[l]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function J2({chain:n,address:T,apiKey:l,offset:y=0,limit:x=30}){return(await uf(`${qT(n)}/outputs?q=recipient(${T}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${y}`,l)).map(({is_spent:C,script_hex:L,block_id:N,transaction_hash:X,index:_,value:Z,spending_signature_hex:B})=>({hash:X,index:_,is_confirmed:N!==-1,is_spent:C,script_hex:L,txHex:B,value:Z}))}function w2(n){return n.reduce((T,l)=>T+l.value,0)}function ax(n,T){let l=[...n].sort((y,x)=>x.value-y.value);if(T){let y=[],x=0;for(let f of l)if(y.push(f),x+=f.value,x>=T)break;return y}return l}async function T1({chain:n,address:T,apiKey:l,targetValue:y,accumulativeValue:x=0,offset:f=0,limit:G=30}){if(!T)throw new Sy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let o=await J2({address:T,apiKey:l,chain:n,limit:G,offset:f,targetValue:y}),L=o.length<G,N=o.filter(({is_spent:M})=>!M),X=w2(N),_=x+X,Z=y&&_>=y;if(L||Z)return ax(N,y);let B=await T1({accumulativeValue:_,address:T,apiKey:l,chain:n,limit:G,offset:f+G,targetValue:y}),w=[...N,...B];return ax(w,y)}catch(o){return console.error("Failed to fetch unspent UTXOs:",o),[]}}async function q2({address:n,chain:T,apiKey:l,fetchTxHex:y=!0,targetValue:x}){let f=await T1({address:n,apiKey:l,chain:T,targetValue:x}),G=[];for(let{hash:o,index:C,script_hex:L,value:N}of f){let X;if(y)X=await n1({apiKey:l,chain:T,txHash:o});G.push({address:n,hash:o,index:C,txHex:X,value:N,witnessUtxo:{script:Buffer.from(L,"hex"),value:N}})}return G}function Q2(n){let T=sx.get("apiKeys").blockchair||"";return ex({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(l)=>_2({chain:n,txHash:l}),getAddressData:(l)=>y1({address:l,apiKey:T,chain:n}),getBalance:(l)=>B2({address:l,apiKey:T,chain:n}),getRawTx:(l)=>n1({apiKey:T,chain:n,txHash:l}),getSuggestedTxFee:()=>Z2(n),getUtxos:(l)=>q2({...l,apiKey:T,chain:n})}}function W2(n){return n}function yy(n){let T=sx.get("apis")[n];if(T)return ex({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),T;return Q2(n)}function Xy(){return function(T){switch(T){case i.Bitcoin:return X2.bitcoin;case i.BitcoinCash:return un.bitcoincash.main.toBitcoinJS();case i.Dash:return un.dash.main.toBitcoinJS();case i.Litecoin:return un.litecoin.main.toBitcoinJS();case i.Dogecoin:{let l={private:70615956,public:70617039},y=un.dogecoin.test;return y.versions.bip32=l,un.dogecoin.main.toBitcoinJS()}case i.Zcash:return C2.zcash;default:throw new Sy("toolbox_utxo_not_supported",{chain:T})}}}var f1=R(()=>{Jn()});import{SwapKitError as l1}from"@swapkit/helpers";import G1 from"bs58check";import o1 from"cashaddrjs";function vf(n){try{return QT(n),!0}catch{return!1}}function Ff(n){return QT(n)?.network}function Gn(n){let T=QT(n);if(T?.format==="legacy")return n;return z2(T)}function In(n){let T=QT(n);return H2(T)}function QT(n){try{let T=M2(n);if(T)return T}catch{}try{let T=P2(n);if(T)return T}catch{}throw new l1("toolbox_utxo_invalid_address",{address:n})}function M2(n){try{let T=G1.decode(n);if(T.length!==21)throw new l1("toolbox_utxo_invalid_address",{address:n});let l=T[0],y=Array.prototype.slice.call(T,1);switch(l){case K.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case K.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case K.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case K.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case K.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case K.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function P2(n){if(n.indexOf(":")!==-1)try{return x1(n)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let l of T)try{return x1(`${l}:${n}`)}catch{}}return}function x1(n){try{let{hash:T,prefix:l,type:y}=o1.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(T,0),network:l==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function z2(n){let T=K.legacy[n.network][n.type],l=Buffer.alloc(1+n.hash.length);return l[0]=T,l.set(n.hash,1),G1.encode(l)}function H2(n){let T=n.network==="mainnet"?"bitcoincash":"bchtest",l=n.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(n.hash);return o1.encode(T,l,y)}var If,K;var C1=R(()=>{((l)=>{l.Mainnet="mainnet";l.Testnet="testnet"})(If||={});K={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as U2}from"@swapkit/helpers";import{opcodes as Y2,script as D2}from"bitcoinjs-lib";function _y(n){let T=Buffer.from(n,"utf8");return D2.compile([Y2.OP_RETURN,T])}var R2=1000,MT=10,L1=10,k2=41,O2=107,PT,WT,vn,Fn=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new U2("toolbox_utxo_invalid_address",{address:n})},on=({inputs:n,outputs:T,feeRate:l})=>{let y=n[0]&&"address"in n[0]&&n[0].address?Fn(n[0].address):"P2PKH",x=n.filter((G)=>G.value>=WT["type"in G?G.type:"P2PKH"]*Math.ceil(l)).reduce((G,o)=>G+uy(o),0),f=T?.reduce((G,o)=>G+En(o),0)||vn[y];return MT+x+f},uy=(n)=>{if("type"in n)return WT[n.type];if("address"in n&&n.address)return WT[Fn(n.address)];return k2+O2},En=(n,T)=>{if(n?.script)return L1+n.script.length+(n.script.length>=74?2:1);if(T)return vn[T];return vn.P2PKH};var Ef=R(()=>{((l)=>{l.P2PKH="P2PKH";l.P2WPKH="P2WPKH"})(PT||={});WT={["P2PKH"]:148,["P2WPKH"]:68},vn={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as cy,SwapKitError as S2}from"@swapkit/helpers";function zT(n){switch(n){case cy.Bitcoin:case cy.BitcoinCash:return 550;case cy.Dash:case cy.Litecoin:return 5500;case cy.Dogecoin:return 1e5;case cy.Zcash:return 546;default:throw new S2("toolbox_utxo_not_supported",{chain:n})}}function Ny({inputs:n,outputs:T,feeRate:l=1,chain:y=cy.Bitcoin,changeAddress:x=""}){let f=Math.ceil(l),G=n[0]&&"address"in n[0]&&n[0].address?Fn(n[0].address):"P2PKH",o=n.filter((Z)=>uy(Z)*f<=Z.value),C=MT+T.reduce((Z,B)=>Z+En(B,G),0),L=T.reduce((Z,B)=>Z+B.value,0),N=C*f,X=0,_=[];for(let Z of o){let B=uy(Z),w=f*B;N+=w,X+=Z.value,_.push(Z);let M=N+L;if(X<M)continue;let W=X-M,Y=f*En({address:"",value:0},G);if(W>Y){let v=Y+N,u=X-(L+v);if(u>Math.max(uy({})*f,zT(y)))return{fee:v,inputs:_,outputs:T.concat({address:x,value:u})}}return{fee:N,inputs:_,outputs:T}}return{fee:f*on({feeRate:f,inputs:n,outputs:T})}}var X1=R(()=>{Ef()});var Cn=R(()=>{f1();C1();X1();Ef()});import{networks as u2,address as I2}from"@bitgo/utxo-lib";import v2 from"bs58check";function my(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Iy(n){let T=my(n);return vf(T)&&Ff(T)==="mainnet"}function Ln(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=u2.zcash;try{return I2.toOutputScript(n,T),!0}catch{let l=v2.decode(n);if(l.length<21)return!1;let y=l[0];return y===T.pubKeyHash||y===T.scriptHash}}catch{return!1}}var An=R(()=>{Cn()});import tf from"@bitcoinerlab/secp256k1";import{ECPair as F2,HDNode as E2}from"@psf/bitcoincashjs-lib";import{HDKey as A2}from"@scure/bip32";import{mnemonicToSeedSync as _1}from"@scure/bip39";import{AssetValue as Af,applyFeeMultiplier as N1,Chain as ny,DerivationPath as t2,derivationPathToString as K2,FeeOption as Py,NetworkDerivationPath as V2,SwapKitError as zy,SwapKitNumber as $2,updateDerivationPath as b2}from"@swapkit/helpers";import{address as p2,initEccLib as B1,Psbt as h2,payments as Z1}from"bitcoinjs-lib";import{ECPairFactory as j2}from"ecpair";function J1({inputs:n,outputs:T,chain:l,psbt:y,sender:x,compiledMemo:f}){for(let G of n){let o=!!G.witnessUtxo&&!tn.includes(l)&&{witnessUtxo:G.witnessUtxo},C=tn.includes(l)&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};y.addInput({hash:G.hash,index:G.index,...o,...C})}for(let G of T){let o="address"in G&&G.address?G.address:x,C=G.script;if(C&&!f)continue;let L=C?{script:f,value:0}:{address:o,value:G.value};B1(tf),y.addOutput(L)}return{inputs:n,psbt:y}}async function w1({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x,fetchTxHex:f=!1}){let G=n.chain,o=l?await _y(l):null,C=await W1({assetValue:n,fetchTxHex:f,memo:l,recipient:T,sender:x}),{inputs:L,outputs:N}=Ny({...C,chain:G,feeRate:y});if(!(L&&N))throw new zy("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let X=await Xy(),_=new h2({network:X(G)});if(G===ny.Dogecoin)_.setMaximumFeeRate(650000000);let{psbt:Z,inputs:B}=await J1({chain:G,compiledMemo:o,inputs:L,outputs:N,psbt:_,sender:x});return{inputs:B,psbt:Z,utxos:C.inputs}}async function q1(){let n=await Xy();return function({address:l,chain:y}){if(y===ny.BitcoinCash)return Iy(l);if(y===ny.Zcash)return Ln(l);try{return B1(tf),p2.toOutputScript(l,n(y)),!0}catch{return!1}}}async function c2({chain:n,phrase:T,derivationPath:l}){let y=(await Kn(n))({derivationPath:l,phrase:T});async function x(G){return await G.signAllInputs(y),G}function f(){return Kf(n)(y)}return{getAddress:f,signTransaction:x}}async function iy({chain:n,...T}){let l="phrase"in T?T.phrase:void 0,y="index"in T?T.index||0:0,x=K2("derivationPath"in T&&T.derivationPath?T.derivationPath:b2(V2[n],{index:y})),f=l?await c2({chain:n,derivationPath:x,phrase:l}):("signer"in T)?T.signer:void 0;function G(){return Promise.resolve(f?.getAddress())}let o=await q1(),C=await Kn(n);return{accumulative:Ny,broadcastTx:(L)=>yy(n).broadcastTx(L),calculateTxSize:on,createKeysForPath:C,createTransaction:w1,estimateMaxSendableAmount:m2(n),estimateTransactionFee:i2(n),getAddress:G,getAddressFromKeys:Kf(n),getBalance:dy(n),getFeeRates:()=>Vn(n),getInputsOutputsFee:Q1,getPrivateKeyFromMnemonic:(L)=>{return C(L).toWIF()},transfer:g2(f),validateAddress:(L)=>o({address:L,chain:n})}}async function Q1({assetValue:n,feeOptionKey:T=Py.Fast,feeRate:l,memo:y,sender:x,recipient:f}){let G=n.chain,o=await W1({assetValue:n,memo:y,recipient:f,sender:x}),C=l?Math.floor(l):(await Vn(G))[T];return Ny({...o,chain:G,feeRate:C})}function m2(n){return async function({from:l,memo:y,feeRate:x,feeOptionKey:f=Py.Fast,recipients:G=1}){let o=await yy(n).getAddressData(l),C=x?Math.ceil(x):(await Vn(n))[f],L=o?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(zT(n),uy(B)*C));if(!L?.length)return Af.from({chain:n});let N=Af.from({chain:n,value:L.reduce((B,w)=>B+w.value,0)}),X=typeof G==="number"?Array.from({length:G},()=>({address:l,value:0})):G;if(y){let B=await _y(y);X.push({address:l,script:B,value:0})}let Z=on({feeRate:C,inputs:L,outputs:X})*C;return N.sub(Z)}}function i2(n){return async(T)=>{let l=await Q1(T);return Af.from({chain:n,value:$2.fromBigInt(BigInt(l.fee),8).getValue("string")})}}async function Kn(n){let T=await Xy();switch(n){case ny.BitcoinCash:return function({phrase:y,derivationPath:x=`${t2.BCH}/0`,wif:f}){let G=T(n);if(f)return F2.fromWIF(f,G);if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"No phrase provided"});return E2.fromSeedBuffer(Buffer.from(_1(y)),G).derivePath(x).keyPair};case ny.Bitcoin:case ny.Dogecoin:case ny.Litecoin:case ny.Zcash:case ny.Dash:return function({phrase:y,wif:x,derivationPath:f}){if(!(x||y))throw new zy("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let G=j2(tf),o=T(n);if(x)return G.fromWIF(x,o);let C=_1(y),L=A2.fromMasterSeed(C,o).derive(f);if(!L.privateKey)throw new zy("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return G.fromPrivateKey(Buffer.from(L.privateKey),{network:o})};default:throw new zy("toolbox_utxo_not_supported",{chain:n})}}function Kf(n){let T=Xy();return function(y){if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=tn.includes(n)?Z1.p2pkh:Z1.p2wpkh,{address:f}=x({network:T(n),pubkey:y.publicKey});if(!f)throw new zy("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function g2(n){return async function({memo:l,recipient:y,feeOptionKey:x,feeRate:f,assetValue:G}){let o=await n?.getAddress(),C=G.chain;if(!(n&&o))throw new zy("toolbox_utxo_no_signer");if(!y)throw new zy("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=f||(await Vn(C))[x||Py.Fast],{psbt:N}=await w1({assetValue:G,feeRate:L,memo:l,recipient:y,sender:o}),X=await n.signTransaction(N);return X.finalizeAllInputs(),yy(C).broadcastTx(X.extractTransaction().toHex())}}async function Vn(n){let T=await yy(n).getSuggestedTxFee();return{[Py.Average]:T,[Py.Fast]:N1(T,Py.Fast),[Py.Fastest]:N1(T,Py.Fastest)}}async function W1({assetValue:n,recipient:T,memo:l,sender:y,fetchTxHex:x=!1}){let f=n.chain,G=(await Vn(f))[Py.Fastest],o=x||tn.includes(f),C=n.getBaseValue("number"),L=Math.ceil(C+G*5000);return{inputs:await yy(f).getUtxos({address:y,fetchTxHex:o,targetValue:L}),outputs:[{address:T,value:C},...l?[{address:"",script:await _y(l),value:0}]:[]]}}var tn;var $n=R(()=>{Jn();Cn();An();tn=[ny.Dash,ny.Dogecoin,ny.Zcash,ny.BitcoinCash]});import{address as d2,Transaction as r2,TransactionBuilder as a2}from"@psf/bitcoincashjs-lib";import{Chain as s2,derivationPathToString as e2,FeeOption as yG,NetworkDerivationPath as nG,SwapKitError as Xn,updateDerivationPath as TG}from"@swapkit/helpers";import{Psbt as fG}from"bitcoinjs-lib";function gy(n){return my(In(n))}function xG(n){function T({builder:y,utxos:x}){return x.forEach((f,G)=>{y.sign(G,n,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=n.getAddress(0);return Promise.resolve(gy(y))},signTransaction:T}}async function Vf(n){let T="phrase"in n?n.phrase:void 0,l="index"in n?n.index||0:0,y=e2("derivationPath"in n&&n.derivationPath?n.derivationPath:TG(nG[Gy],{index:l})),x=T?(await Kn(Gy))({derivationPath:y,phrase:T}):void 0,f=x?xG(x):("signer"in n)?n.signer:void 0;function G(){return Promise.resolve(f?.getAddress())}let{getBalance:o,getFeeRates:C,broadcastTx:L,...N}=await iy({chain:Gy});function X(_,Z=!0){return o(my(In(_)))}return{...N,broadcastTx:L,buildTx:GG,createTransaction:M1,getAddress:G,getAddressFromKeys:oG,getBalance:X,getFeeRates:C,stripPrefix:my,stripToCashAddress:gy,transfer:lG({broadcastTx:L,getFeeRates:C,signer:f}),validateAddress:Iy}}async function M1({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x}){if(!Iy(T))throw new Xn("toolbox_utxo_invalid_address",{address:T});let f=Math.ceil(n.getBaseValue("number")+y*7500),G=await yy(Gy).getUtxos({address:gy(x),fetchTxHex:!0,targetValue:f}),o=l?await _y(l):null,C=[];C.push({address:T,value:n.getBaseValue("number")});let{inputs:L,outputs:N}=Ny({chain:Gy,feeRate:y,inputs:G,outputs:C});if(!(L&&N))throw new Xn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let X=await Xy(),_=new a2(X(Gy));await Promise.all(L.map(async(Z)=>{let B=await yy(Gy).getRawTx(Z.hash);_.addInput(r2.fromBuffer(Buffer.from(B,"hex")),Z.index)}));for(let Z of N){let B="address"in Z&&Z.address?Z.address:Gn(x),w=await Xy(),M=d2.toOutputScript(Gn(B),w(Gy));_.addOutput(M,Z.value)}if(o)_.addOutput(o,0);return{builder:_,utxos:L}}function lG({broadcastTx:n,getFeeRates:T,signer:l}){return async function({recipient:x,assetValue:f,feeOptionKey:G=yG.Fast,...o}){let C=await l?.getAddress();if(!(l&&C))throw new Xn("toolbox_utxo_no_signer");if(!x)throw new Xn("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=o.feeRate||(await T())[G],{builder:N,utxos:X}=await M1({...o,assetValue:f,feeRate:L,recipient:x,sender:C}),Z=(await l.signTransaction({builder:N,utxos:X})).toHex();return n(Z)}}async function GG({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x,setSigHashType:f}){let G=In(T);if(!Iy(G))throw new Xn("toolbox_utxo_invalid_address",{address:G});let o=Math.ceil(n.getBaseValue("number")+y*7500),C=await yy(Gy).getUtxos({address:gy(x),fetchTxHex:!1,targetValue:o}),L=Number(y.toFixed(0)),N=l?await _y(l):null,X=[];if(X.push({address:Gn(T),value:n.getBaseValue("number")}),N)X.push({script:N,value:0});let{inputs:_,outputs:Z}=Ny({chain:Gy,feeRate:L,inputs:C,outputs:X});if(!(_&&Z))throw new Xn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let B=await Xy(),w=new fG({network:B(Gy)});for(let{hash:M,index:W,witnessUtxo:Y}of _)w.addInput({hash:M,index:W,sighashType:f?65:void 0,witnessUtxo:Y});for(let M of Z){let W="address"in M&&M.address?M.address:Gn(x),Y=M.script?N?{script:N,value:0}:void 0:{address:W,value:M.value};if(Y)w.addOutput(Y)}return{inputs:_,psbt:w,utxos:C}}function oG(n){let T=n.getAddress(0);return gy(T)}var Gy;var HT=R(()=>{Cn();$n();An();Gy=s2.BitcoinCash});import{bitgo as CG,crypto as LG,ECPair as z1,networks as XG,address as _G}from"@bitgo/utxo-lib";import{HDKey as H1}from"@scure/bip32";import{mnemonicToSeedSync as U1}from"@scure/bip39";import{Chain as UT,derivationPathToString as NG,FeeOption as ZG,NetworkDerivationPath as BG,SKConfig as JG,SwapKitError as YT,updateDerivationPath as wG}from"@swapkit/helpers";import qG from"bs58check";import{match as QG,P as $f}from"ts-pattern";function Y1(){return XG.zcash}function D1(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function WG({phrase:n,derivationPath:T}){let l=U1(n),x=H1.fromMasterSeed(l).derive(T);if(!x.privateKey)throw new YT("toolbox_utxo_invalid_params");let f=D1(),G=z1.fromPrivateKey(Buffer.from(x.privateKey),{network:f}),o=LG.hash160(G.publicKey),{isStagenet:C}=JG.get("envs"),L=C?Buffer.from([29,37]):Buffer.from([28,184]),N=Buffer.concat([L,o]),X=qG.encode(N);return{getAddress:()=>Promise.resolve(X),signTransaction:(_)=>{let Z=_.signAllInputs(G);return Promise.resolve(Z)}}}function MG({inputs:n,outputs:T,psbt:l,sender:y,compiledMemo:x}){for(let f of n){let G=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},o=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};l.addInput({hash:f.hash,index:f.index,...G,...o})}for(let f of T){let G="address"in f&&f.address?f.address:y,o=f.script;if(o&&!x)continue;let C=o?{script:x,value:0n}:{script:_G.toOutputScript(G,Y1()),value:BigInt(f.value)};l.addOutput(C)}return{inputs:n,psbt:l}}async function P1(n){let{assetValue:T,recipient:l,memo:y,feeRate:x,sender:f,fetchTxHex:G}=n,o=y?_y(y):null,C=await yy(UT.Zcash).getUtxos({address:f,fetchTxHex:G!==!1}),L=[{address:l,value:Number(T.getBaseValue("string"))},...o?[{script:o,value:0}]:[]],{inputs:N,outputs:X}=Ny({chain:UT.Zcash,changeAddress:f,feeRate:x,inputs:C,outputs:L});if(!(N&&X))throw new YT("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=CG.createPsbtForNetwork({network:Y1()},{version:455}),B=3268858036,w=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),M=Buffer.allocUnsafe(4);M.writeUInt32LE(B>>>0,0),_.addUnknownKeyValToGlobal({key:w,value:M});let{psbt:W,inputs:Y}=await MG({compiledMemo:o,inputs:N,outputs:X,psbt:_,sender:f});return{inputs:Y,outputs:X,psbt:W}}async function bf(n){let T=await QG(n).with({signer:$f.not($f.nullish)},({signer:G})=>Promise.resolve(G)).with({phrase:$f.string},({phrase:G,derivationPath:o,index:C=0})=>{let L=o||BG[UT.Zcash]||[44,133,0,0,0],N=wG(L,{index:C}),X=NG(N);return WG({derivationPath:X,phrase:G})}).otherwise(()=>Promise.resolve(void 0)),l=await iy({chain:UT.Zcash,signer:T});async function y({recipient:G,assetValue:o,feeOptionKey:C=ZG.Fast,...L}){let N=await T?.getAddress();if(!(T&&N))throw new YT("toolbox_utxo_no_signer");let X=L.feeRate||(await l.getFeeRates())[C],{psbt:_}=await P1({...L,assetValue:o,feeRate:X,recipient:G,sender:N}),Z=await T.signTransaction(_);return Z.finalizeAllInputs(),l.broadcastTx(Z.extractTransaction().toHex())}function x({phrase:G,derivationPath:o="m/44'/133'/0'/0/0"}){let C=U1(G),N=H1.fromMasterSeed(C).derive(o);if(!N.privateKey)throw new YT("toolbox_utxo_invalid_params");let X=D1();return z1.fromPrivateKey(Buffer.from(N.privateKey),{network:X})}function f({phrase:G,derivationPath:o="m/44'/133'/0'/0/0"}){return x({derivationPath:o,phrase:G}).toWIF()}return{...l,createKeysForPath:x,createTransaction:P1,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:Ln}}var pf=R(()=>{Cn();$n();An()});import{Chain as _n,SwapKitError as PG}from"@swapkit/helpers";async function zG(n,T){switch(n){case _n.BitcoinCash:return await Vf(T||{});case _n.Zcash:return await bf(T);case _n.Bitcoin:case _n.Dogecoin:case _n.Litecoin:case _n.Dash:return await iy({chain:n,...T});default:throw new PG("toolbox_utxo_not_supported",{chain:n})}}var R1=R(()=>{HT();$n();pf();HT();An()});var hf={};a(hf,{validateZcashAddress:()=>Ln,toLegacyAddress:()=>Gn,toCashAddress:()=>In,stripToCashAddress:()=>gy,stripPrefix:()=>my,nonSegwitChains:()=>tn,isValidAddress:()=>vf,getUtxoToolbox:()=>zG,getUtxoNetwork:()=>Xy,getUtxoApi:()=>yy,getUTXOAddressValidator:()=>q1,getScriptTypeForAddress:()=>Fn,getOutputSize:()=>En,getInputSize:()=>uy,getDustThreshold:()=>zT,getCreateKeysForPath:()=>Kn,detectAddressNetwork:()=>Ff,createZcashToolbox:()=>bf,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>W2,createBCHToolbox:()=>Vf,compileMemo:()=>_y,calculateTxSize:()=>on,bchValidateAddress:()=>Iy,addressFromKeysGetter:()=>Kf,addInputsAndOutputs:()=>J1,accumulative:()=>Ny,UtxoNetwork:()=>If,UTXOScriptType:()=>PT,TX_OVERHEAD:()=>MT,OutputSizes:()=>vn,OP_RETURN_OVERHEAD:()=>L1,MIN_TX_FEE:()=>R2,InputSizes:()=>WT});var jf=R(()=>{Cn();R1();HT();$n();pf()});import{derivationPathToString as HG,SwapKitError as UG}from"@swapkit/helpers";import{KeyPairSigner as YG}from"near-api-js";async function DT(){let{validateAccountId:n}=await import("near-sdk-js");return(T)=>{try{return n(T)}catch{let l=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return T.length>=2&&T.length<=64&&l.test(T)}}}async function RT(n){let{parseSeedPhrase:T}=await import("near-seed-phrase"),{KeyPair:l}=await import("near-api-js"),y=n.index||0,x=n.derivationPath?HG(n.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=T(n.phrase,x),G=l.fromString(f);return O1(G)}async function cf(n){let{KeyPair:T}=await import("near-api-js/lib/utils"),l=T.fromString(n);return O1(l)}function O1(n){return new k1(n)}async function kT(n,T){let y=(await n.query({account_id:T,finality:"final",request_type:"view_access_key_list"})).keys.find((o)=>o.access_key.permission==="FullAccess");if(!y)throw new UG("toolbox_near_no_public_key_found");let{utils:x}=await import("near-api-js"),f=x.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var k1;var mf=R(()=>{k1=class k1 extends YG{#y;constructor(n){super(n);this.#y=n}getAddress(){let n=this.#y.getPublicKey(),T=Buffer.from(n.data).toString("hex");return Promise.resolve(T)}}});function gf(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function df(n){return"contractId"in n&&"methodName"in n}function rf(n){return"actions"in n}function af(n){return"newAccountId"in n}function sf(n){return"contractCode"in n}function ef(n){return"customEstimator"in n}function y0(n){let T=0;for(let l of n)switch(l.enum){case"transfer":T+=Number(g.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(g.CONTRACT_CALL);break;case"createAccount":T+=Number(g.ACCOUNT_CREATION);break;case"deployContract":T+=Number(g.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(g.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(g.ACCESS_KEY_DELETION);break;case"stake":T+=Number(g.STAKE);break;default:T+=Number(g.CONTRACT_CALL)}return T.toString()}function n0(n){if(n==="ft_transfer"||n==="ft_transfer_call")return g.TOKEN_TRANSFER;if(n==="storage_deposit")return g.STORAGE_DEPOSIT;return g.CONTRACT_CALL}function DG(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function RG(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var g;var T0=R(()=>{g={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 OT({account:n,contractId:T,viewMethods:l,changeMethods:y}){let{Contract:x}=await import("near-api-js");return new x(n,T,{changeMethods:y,useLocalViewExecution:!0,viewMethods:l})}async function f0({contractId:n,account:T}){let l=(await import("bn.js")).default,y=await OT({account:T,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:n,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),x=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let C=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new l("100000000000000"),new l(C))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:x,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,G)=>y.storage_deposit({account_id:f},new l("100000000000000"),new l(G||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,G,o)=>{return await x(f),y.ft_transfer({amount:G,memo:o,receiver_id:f},new l("100000000000000"),new l("1"))},transferCall:async(f,G,o,C)=>{return await x(f),y.ft_transfer_call({amount:G,memo:C,msg:o,receiver_id:f},new l("100000000000000"),new l("1"))}}}import{AssetValue as S1,Chain as Nn,getChainConfig as u1,getRPCUrl as kG,SwapKitError as Ty}from"@swapkit/helpers";async function OG(n){let{P:T,match:l}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),x=await l(n).with({phrase:T.string},async(J)=>{return await RT(J)}).with({signer:T.any},({signer:J})=>J).otherwise(()=>{return}),f=await kG(Nn.Near),G=new y.JsonRpcProvider({url:f});async function o(J){let{Account:P}=await import("near-api-js"),U=J||await C();return new P(U,G,x)}async function C(){if(!x)throw new Ty("toolbox_near_no_signer");return await x.getAddress()}async function L(J){if(!x)throw new Ty("toolbox_near_no_signer");let P=await N({...J,sender:await C()});return w(await B(P))}async function N(J){let{recipient:P,assetValue:U,memo:k,attachedDeposit:O,sender:I,functionCall:t}=J,$=await DT();if(!$(P))throw new Ty("toolbox_near_invalid_address",{recipient:P});if(!$(I))throw new Ty("toolbox_near_invalid_address",{signerId:I});if(t)return _({...t,sender:I});if(!U.isGasAsset){let Ay=U.address;if(!Ay)throw new Ty("toolbox_near_missing_contract_address");return _({args:{amount:U.getBaseValue("string"),memo:k||null,receiver_id:P},attachedDeposit:O||"1",contractId:Ay,gas:"250000000000000",methodName:"ft_transfer",sender:I})}let{publicKey:A,nonce:fy}=await kT(G,I),xy=U.getBaseValue("bigint"),{transactions:r,utils:By}=await import("near-api-js"),Ey=[r.transfer(xy)];if(k&&O)Ey.push(r.functionCall("memo",{memo:k},BigInt("250000000000000"),BigInt(O)));let bn=await G.block({finality:"final"}),ST=By.serialize.base_decode(bn.header.hash);return r.createTransaction(I,A,P,fy+1,Ey,ST)}async function X(J){let{SCHEMA:P}=await import("near-api-js/lib/transaction"),{utils:U}=await import("near-api-js"),k=U.serialize.serialize(P.Transaction,J);return Buffer.from(k).toString("base64")}async function _(J){let{sender:P}=J,{publicKey:U,nonce:k}=await kT(G,P),{transactions:O,utils:I}=await import("near-api-js"),t=await G.block({finality:"final"}),$=I.serialize.base_decode(t.header.hash),A=[O.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))];return O.createTransaction(P,U,J.contractId,k+1,A,$)}async function Z(J){let{transactions:P}=await import("near-api-js");return P.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))}async function B(J){if(!x)throw new Ty("toolbox_near_no_signer");let[P,U]=await x.signTransaction(J);return U}async function w(J){return(await G.sendTransaction(J)).transaction.hash}async function M(J){if("assetValue"in J){let O=BigInt("115123062500")+BigInt("108059500000"),I=await W(),t=O*BigInt(I.toString()),{baseDecimal:$}=u1(Nn.Near);return S1.from({chain:Nn.Near,fromBaseDecimal:$,value:t.toString()})}let P=x?await o():void 0;return d(J,P)}async function W(){try{return await G.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Y(J,P,U){if(!x)throw new Ty("toolbox_near_no_signer");let k=await o(),{utils:O}=await import("near-api-js"),I=O.format.parseNearAmount(U)||"0";return(await k.createAccount(J,O.PublicKey.fromString(P),BigInt(I))).transaction.hash}async function v(J){try{if(!x)throw new Ty("toolbox_near_no_signer");let{transactions:P}=await import("near-api-js"),{contractId:U,methodName:k,args:O,deposit:I}=J,t=await o(),$=await d({args:O||{},contractId:U,methodName:k}),A=P.functionCall(k,O||{},$.getBaseValue("bigint"),BigInt(I||"1"));return(await t.signAndSendTransaction({actions:[A],receiverId:U})).transaction_outcome.id}catch(P){throw new Ty("toolbox_near_transfer_failed",{error:P})}}async function u(J){let P=await o();return OT({account:P,changeMethods:J.changeMethods,contractId:J.contractId,viewMethods:J.viewMethods})}async function F(J){if(!x)throw new Ty("toolbox_near_no_signer");if(J.actions.length===0)throw new Ty("toolbox_near_empty_batch");return(await(await o()).signAndSendTransaction({actions:J.actions,receiverId:J.receiverId})).transaction.hash}async function V(J){let P=await o();return f0({account:P,contractId:J})}async function d(J,P){let{baseDecimal:U}=u1(Nn.Near),k=await l(J).when(gf,()=>g.SIMPLE_TRANSFER).when(df,(t)=>n0(t.methodName)).when(rf,(t)=>y0(t.actions)).when(af,()=>g.ACCOUNT_CREATION).when(sf,()=>g.CONTRACT_DEPLOYMENT).when(ef,(t)=>{if(!P)throw new Ty("toolbox_near_no_account");return t.customEstimator(P)}).otherwise(()=>{throw new Ty("toolbox_near_invalid_gas_params")}),I=BigInt(k)*BigInt(1000000000000);return S1.from({chain:Nn.Near,fromBaseDecimal:U,value:I})}async function Uy(){try{return(await G.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:w,callFunction:v,createAction:Z,createContract:u,createContractFunctionCall:_,createSubAccount:Y,createTransaction:N,estimateGas:d,estimateTransactionFee:M,executeBatchTransaction:F,getAddress:C,getBalance:dy(Nn.Near),getGasPrice:Uy,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(J)=>RT(J),getSignerFromPrivateKey:cf,nep141:V,provider:G,serializeTransaction:X,signTransaction:B,transfer:L,validateAddress:await DT()}}var x0=R(()=>{Jn();mf();T0()});var I1=R(()=>{x0()});var l0={};a(l0,{tgasToGas:()=>DG,isSimpleTransfer:()=>gf,isCustomEstimator:()=>ef,isContractDeployment:()=>sf,isContractCall:()=>df,isBatchTransaction:()=>rf,isAccountCreation:()=>af,getValidateNearAddress:()=>DT,getNearToolbox:()=>OG,getNearSignerFromPrivateKey:()=>cf,getNearSignerFromPhrase:()=>RT,getFullAccessPublicKey:()=>kT,getContractMethodGas:()=>n0,gasToTGas:()=>RG,estimateBatchGas:()=>y0,createNearContract:()=>OT,createNEP141Token:()=>f0,GAS_COSTS:()=>g});var G0=R(()=>{mf();T0();x0();I1()});var o0={};a(o0,{radixValidateAddress:()=>F1,RadixToolbox:()=>tG});import{AssetValue as SG,Chain as v1,SKConfig as uG,SwapKitError as IG}from"@swapkit/helpers";function F1(n){return n.startsWith("account_rdx1")&&n.length===66}function vG({networkApi:n}){return async function(l){let y=await FG({address:l,networkApi:n});return EG({networkApi:n,resources:y})}}async function FG({address:n,networkApi:T}){let l=!0,y,x=[],f=await AG(T);while(l){let G={address:n,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},o=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:G});if(x=x.concat(o.items),o.next_cursor)y=o.next_cursor;else l=!1}return x}async function EG({resources:n,networkApi:T}){let l=[],y=50,x=[];for(let f=0;f<n.length;f+=50)x.push(n.slice(f,f+50));for(let f of x){let G=f.map((L)=>L.resource_address),o=await T.state.getEntityDetailsVaultAggregated(G),C=new Map;for(let L of o)if(L.details!==void 0){let N=L.metadata?.items.find((_)=>_.key==="symbol"),X=N?.value.typed.type==="String"?N.value.typed.value:"?";if(L.details.type==="FungibleResource")C.set(L.address,{decimals:L.details.divisibility,symbol:X})}for(let L of f)if(L.aggregation_level==="Global"){let N=C.get(L.resource_address)||{decimals:0,symbol:"?"},X=SG.from({asset:N.symbol!==v1.Radix?`${v1.Radix}.${N.symbol}-${L.resource_address}`:"XRD.XRD",value:L.amount});l.push(X)}}return l}function AG(n){return n.status.getCurrent().then((T)=>T.ledger_state.state_version)}var tG=async({dappConfig:n}={})=>{let{RadixDappToolkit:T}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:l}=await import("@radixdlt/babylon-gateway-api-sdk"),y=n||uG.get("integrations").radix,x=T({...y,networkId:y.network?.networkId||1}),f=l.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:vG({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new IG("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:F1}};var C0=()=>{};var _0={};a(_0,{rippleValidateAddress:()=>X0,hashes:()=>mG,getRippleToolbox:()=>cG});import{AssetValue as L0,Chain as Hy,getChainConfig as E1,getRPCUrl as KG,SwapKitError as vy,SwapKitNumber as VG}from"@swapkit/helpers";import{Client as $G,isValidAddress as bG,Wallet as pG,xrpToDrops as hG}from"xrpl";import{hashes as mG}from"xrpl";function A1(n){let T=pG.fromMnemonic(n);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(l)=>Promise.resolve(T.sign(l))}}function X0(n){return bG(n)}var jG,cG=async(n={})=>{let T="signer"in n&&n.signer?n.signer:("phrase"in n)&&n.phrase?A1(n.phrase):void 0,l=await KG(Hy.Ripple);if(!l)throw new vy({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Hy.Ripple}});let y=new $G(l);await y.connect();let x=()=>{if(!T)throw new vy({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},f=async(_)=>{let Z=_||await x(),{baseDecimal:B}=E1(Hy.Ripple);try{let M=(await y.request({account:Z,command:"account_info"})).result.account_data.Balance;return[L0.from({chain:Hy.Ripple,fromBaseDecimal:B,value:M})]}catch(w){if(w.data.error_code===jG.ACCOUNT_NOT_FOUND)return[L0.from({chain:Hy.Ripple,value:0})];throw new vy("toolbox_ripple_get_balance_error",{info:{address:Z,error:w}})}},G=async()=>{let Z=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:B}=E1(Hy.Ripple);return L0.from({chain:Hy.Ripple,fromBaseDecimal:B,value:VG.fromBigInt(BigInt(Z),B)})},o=async({assetValue:_,recipient:Z,memo:B,sender:w})=>{if(!X0(Z))throw new vy({errorKey:"core_transaction_invalid_recipient_address"});let M=w||await x();if(!_.isGasAsset||_.chain!==Hy.Ripple)throw new vy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:_.toString()}});let W={Account:M,Amount:hG(_.getValue("string")),Destination:Z,TransactionType:"Payment"};if(B)W.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(W)},C=(_)=>{if(!T)throw new vy({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(_)},L=async(_)=>{let B=(await y.submitAndWait(_)).result;if(B.validated)return B.hash;throw new vy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Hy.Ripple}})};return{broadcastTransaction:L,createSigner:A1,createTransaction:o,disconnect:()=>y.disconnect(),estimateTransactionFee:G,getAddress:x,getBalance:f,signer:T,signTransaction:C,transfer:async(_)=>{if(!T)throw new vy({errorKey:"toolbox_ripple_signer_not_found"});let Z=await T.getAddress(),B=await o({..._,sender:Z}),w=await C(B);return L(w.tx_blob)},validateAddress:X0}};var N0=R(()=>{jG={ACCOUNT_NOT_FOUND:19}});import{AssetValue as iG,Chain as gG,SwapKitNumber as t1}from"@swapkit/helpers";async function dG(n,T,l){try{let y=await n.query.system?.account?.(l);if(!y)return[T.set(0)];let{data:{free:x}}=y,f=t1.fromBigInt(BigInt(x.toString()),T.decimal).getValue("string");return[T.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[T.set(0)]}}async function rG(n,T,l){try{let y=await n.query.flip?.account?.(l);if(!y)return[T.set(0)];let x=y.balance||y.data?.balance;if(!x||x.isEmpty)return[T.set(0)];let f=t1.fromBigInt(BigInt(x.toString()),T.decimal).getValue("string");return[T.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[T.set(0)]}}function K1(n,T){return function(y){let x=iG.from({chain:n});switch(n){case gG.Chainflip:return rG(T,x,y);default:return dG(T,x,y)}}}var V1=()=>{};var aG,sG,eG,Fy;var Z0=R(()=>{aG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},sG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},eG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},Fy={DOT:aG,FLIP:sG,GENERIC:eG}});import{hexToU8a as yo,isHex as no,u8aToHex as To}from"@polkadot/util";import{decodeAddress as b1,encodeAddress as p1}from"@polkadot/util-crypto";import{AssetValue as fo,Chain as Bn,getRPCUrl as xo,SwapKitError as Zy,SwapKitNumber as lo}from"@swapkit/helpers";import{match as Go,P as $1}from"ts-pattern";function oo(n,T){switch(n){case Bn.Chainflip:return j1(T);case Bn.Polkadot:return h1(T);default:throw new Zy("toolbox_substrate_not_supported",{chain:n})}}function Zn(n){return"address"in n}async function J0(n,T){let{Keyring:l}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new l({ss58Format:T,type:"sr25519"}).addFromUri(n)}function Bo(n,T){let l=b1(n);return p1(l,T)}function c1(n,T){return no(n)?yo(n):b1(n,void 0,T)}function m1(n,T="ss58",l){if(T==="hex")return To(n);return p1(n,l)}async function Q0({generic:n,chain:T,...l}){let{ApiPromise:y,WsProvider:x}=await import("@polkadot/api"),f=await xo(T),G=new x(f),o=await y.create({provider:G}),C=fo.from({chain:T}),L=n?Fy.GENERIC:Fy[T],N=await Go(l).with({phrase:$1.string},({phrase:X})=>J0(X,Fy[T].prefix)).with({signer:$1.any},({signer:X})=>X).otherwise(()=>{return});return i1({api:o,chain:T,gasAsset:C,network:L,signer:N})}var h1=({generic:n=!1,...T}={})=>{return Q0({chain:Bn.Polkadot,generic:n,...T})},j1=async({generic:n=!1,...T}={})=>{return{...await Q0({chain:Bn.Chainflip,generic:n,...T})}},w0=(n,T)=>n.rpc.system.accountNextIndex(T),B0=(n,T)=>{try{let l=c1(n,T);return m1(l,"ss58",T),!0}catch{return!1}},q0=(n,{recipient:T,assetValue:l})=>n.tx.balances?.transferAllowDeath?.(T,l.getBaseValue("number")),Co=async(n,T,{recipient:l,assetValue:y,sender:x})=>{let f=q0(n,{assetValue:y,recipient:l});if(!f)throw new Zy("toolbox_substrate_transfer_error");let G=Zn(T),o=G?T.address:x;if(!o)throw new Zy("core_transaction_invalid_sender_address");let C=await w0(n,o);return(await f.signAndSend(G?T:o,{nonce:C,signer:G?void 0:T})).toString()},Lo=async(n,T,l,{recipient:y,assetValue:x,sender:f})=>{let G=q0(n,{assetValue:x,recipient:y}),o=Zn(T)?T.address:f;if(!o)return;let C=await G?.paymentInfo(o,{nonce:await w0(n,o)})||{partialFee:0};return l.set(lo.fromBigInt(BigInt(C.partialFee.toString()),l.decimal).getValue("string"))},Xo=async(n,T)=>{if(T)return n.send(T);return(await n.send()).toString()},_o=async(n,T)=>{return await T.signAsync(n)},No=(n,T,l)=>{if(l)return T.signAndSend(n,l);return T.signAndSend(n).toString()},Zo=async({signer:n,address:T,tx:l,callback:y,api:x})=>{let f=await w0(x,T);if(y)l.signAndSend(T,{nonce:f,signer:n},y);return l.signAndSend(T,{nonce:f,signer:n}).toString()},i1=({api:n,network:T,gasAsset:l,signer:y,chain:x})=>({api:n,broadcast:Xo,convertAddress:Bo,createKeyring:(f)=>J0(f,T.prefix),createTransaction:(f)=>q0(n,f),decodeAddress:c1,encodeAddress:m1,estimateTransactionFee:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return Lo(n,y,l,f)},gasAsset:l,getAddress:(f)=>{let G=f||y;if(!G)throw new Zy("core_wallet_not_keypair_wallet");return Zn(G)?G.address:void 0},getBalance:K1(x||Bn.Polkadot,n),network:T,sign:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(Zn(y))return _o(y,f);throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:G,address:o})=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");if(Zn(y))return No(y,f,G);if(o)return Zo({address:o,api:n,callback:G,signer:y,tx:f});throw new Zy("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new Zy("core_wallet_not_keypair_wallet");return Co(n,y,f)},validateAddress:(f)=>B0(f,T.prefix)}),Jo=({address:n,chain:T})=>{let{prefix:l}=T===Bn.Polkadot?Fy.DOT:Fy.FLIP;return B0(n,l)||B0(n,Fy.GENERIC.prefix)};var g1=R(()=>{V1();Z0()});var W0={};a(W0,{substrateValidateAddress:()=>Jo,isKeyringPair:()=>Zn,getSubstrateToolbox:()=>oo,createSubstrateToolbox:()=>Q0,createKeyring:()=>J0,SubstrateNetwork:()=>Fy,PolkadotToolbox:()=>h1,ChainflipToolbox:()=>j1,BaseSubstrateToolbox:()=>i1});var M0=R(()=>{g1();Z0()});import{AssetValue as wo,Chain as z,EVMChains as qo,FeeOption as Qo,SwapKitError as Wo,UTXOChains as Mo}from"@swapkit/helpers";async function DX(){let{match:n}=await import("ts-pattern"),{evmValidateAddress:T}=await Promise.resolve().then(() => (i0(),m0)),{getCardanoAddressValidator:l}=await Promise.resolve().then(() => (gT(),iT)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (LT(),CT)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (Uf(),Hf)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (NT(),_T)),{getTONAddressValidator:G}=await Promise.resolve().then(() => (JT(),BT)),{getTronAddressValidator:o}=await Promise.resolve().then(() => (Sf(),Of)),{getUTXOAddressValidator:C}=await Promise.resolve().then(() => (jf(),hf)),{getValidateNearAddress:L}=await Promise.resolve().then(() => (G0(),l0)),{radixValidateAddress:N}=await Promise.resolve().then(() => (C0(),o0)),{rippleValidateAddress:X}=await Promise.resolve().then(() => (N0(),_0)),{substrateValidateAddress:_}=await Promise.resolve().then(() => (M0(),W0)),Z=await l(),B=await L(),w=await x(),M=await f(),W=await G(),Y=await o(),v=await C();return function({address:F,chain:V}){return n(V).with(...qo,()=>T({address:F})).with(...Mo,()=>v({address:F,chain:V})).with(z.Cosmos,z.Kujira,z.Noble,z.Maya,z.THORChain,(Uy)=>{return y(Uy)(F)}).with(z.Chainflip,z.Polkadot,()=>_({address:F,chain:V})).with(z.Radix,()=>N(F)).with(z.Near,()=>B(F)).with(z.Ripple,()=>X(F)).with(z.Solana,()=>w(F)).with(z.Sui,()=>M(F)).with(z.Ton,()=>W(F)).with(z.Tron,()=>Y(F)).with(z.Cardano,()=>Z(F)).otherwise(()=>!1)}}function RX(n){return async function(l){let{match:y}=await import("ts-pattern");return y(n).returnType().with(z.Arbitrum,z.Aurora,z.Avalanche,z.Base,z.Berachain,z.BinanceSmartChain,z.Ethereum,z.Gnosis,z.Optimism,z.Polygon,async(x)=>{let f=await d1(x),G=await f.createTransaction(l);return f.estimateTransactionFee({...G,chain:x,feeOption:l.feeOptionKey||Qo.Fast})}).with(z.Bitcoin,z.BitcoinCash,z.Dogecoin,z.Dash,z.Litecoin,z.Polkadot,z.Solana,z.Ripple,z.Tron,z.Near,z.Cardano,async(x)=>{return(await d1(x)).estimateTransactionFee(l)}).with(z.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (NT(),_T));return(await x()).estimateTransactionFee(l)}).with(z.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (JT(),BT));return(await x()).estimateTransactionFee()}).with(z.THORChain,z.Maya,z.Kujira,z.Noble,z.Cosmos,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (LT(),CT));return x(l)}).otherwise(async()=>wo.from({chain:n}))}}async function d1(n,T){let{match:l}=await import("ts-pattern");return l(n).returnType().with(z.Arbitrum,z.Aurora,z.Avalanche,z.Base,z.Berachain,z.BinanceSmartChain,z.Ethereum,z.Gnosis,z.Optimism,z.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (cT(),h0));return await y(n,T)}).with(z.Litecoin,z.Dash,z.Dogecoin,z.BitcoinCash,z.Bitcoin,z.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (jf(),hf));return await y(n,T)}).with(z.Cosmos,z.Kujira,z.Noble,z.Maya,z.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (LT(),CT));return await y(n,T)}).with(z.Chainflip,z.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (M0(),W0));return await y(n,T)}).with(z.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (C0(),o0));return await y(T)}).with(z.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (N0(),_0));return await y(T)}).with(z.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (Uf(),Hf));return await y(T)}).with(z.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (NT(),_T));return await y(T)}).with(z.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Sf(),Of));return await y(T)}).with(z.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (G0(),l0));return await y(T)}).with(z.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (gT(),iT));return await y(T)}).with(z.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (JT(),BT));return await y(T)}).otherwise(()=>{throw new Wo("toolbox_not_supported",{chain:n})})}export{d1 as getToolbox,RX as getFeeEstimator,DX as getAddressValidator};
|
|
1
|
+
var Ll=Object.create;var{getPrototypeOf:Xl,defineProperty:Vn,getOwnPropertyNames:Bl}=Object;var wl=Object.prototype.hasOwnProperty;var q=(T,n,x)=>{x=T!=null?Ll(Xl(T)):{};let y=n||!T||!T.__esModule?Vn(x,"default",{value:T,enumerable:!0}):x;for(let o of Bl(T))if(!wl.call(y,o))Vn(y,o,{get:()=>T[o],enumerable:!0});return y};var s=(T,n)=>{for(var x in n)Vn(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var R=(T,n)=>()=>(T&&(n=T(T=0)),n);var Q=((T)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(T,{get:(n,x)=>(typeof require<"u"?require:n)[x]}):T)(function(T){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+T+'" is not supported')});import{AssetValue as Zl,getChainConfig as Jl}from"@swapkit/helpers";import{SwapKitApi as ql}from"@swapkit/helpers/api";function ko(){function T(){let n=Date.now(),x=Kn||n;return Kn=x,n>Kn?n:x+1}return Ql+T().toString(36)}function dy(T){return async function(x,y=!0){let o=await ql.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:f}=Jl(T);return o.map(({identifier:l,value:C,decimal:G})=>{return new Zl({decimal:G||f,identifier:l,value:C})})}}var Ql,Kn=0;var ZT=R(()=>{Ql=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{SKConfig as Ml,warnOnce as Wl}from"@swapkit/helpers";function JT(T){let n=Ml.get("apis")[T];if(n)return Wl({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return zl(T)}function Pl(T){return T}function zl(T){return{getBalance:dy(T)}}var pT=R(()=>{ZT()});import{Chain as p,getChainConfig as vo,getRPCUrl as Yl,SwapKitError as Ul}from"@swapkit/helpers";async function ty(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await Yl(T))}function qT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function bn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=vo(T);return()=>T===p.Ethereum?void 0:{...Hl({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function $n(T){return![p.Arbitrum,p.BinanceSmartChain].includes(T)}function Hl({chain:T}){let{baseDecimal:n}=vo(T);switch(T){case p.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case p.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case p.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case p.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case p.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Ethereum}};case p.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:p.Polygon}};default:throw new Ul("toolbox_evm_not_supported",{chain:T})}}var ry=()=>{};var Eo;var uo=R(()=>{Eo=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});import{AssetValue as Rl,applyFeeMultiplierToBigInt as ay,Chain as Zy,EVMChains as Ol,FeeOption as $,isGasAsset as Sl,SwapKitError as b,SwapKitNumber as hT}from"@swapkit/helpers";import{erc20ABI as QT}from"@swapkit/helpers/contracts";import{BrowserProvider as Dl,Contract as Fo,getAddress as jT,Interface as Ao}from"ethers";function sy({chain:T=Zy.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:ul({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:Ko({chain:T,provider:n}),broadcastTransaction:n.broadcastTransaction,call:gn({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),createApprovalTx:Vl({chain:T,provider:n,signer:x}),createContract:jn({chain:T,provider:n}),createContractTxObject:Vy({chain:T,provider:n}),createTransaction:pn({chain:T,provider:n,signer:x}),createTransferTx:pn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:yT(n),estimateCall:bo({provider:n,signer:x}),estimateGasLimit:Al({chain:T,provider:n,signer:x}),estimateGasPrices:Ky({chain:T,isEIP1559Compatible:y,provider:n}),estimateTransactionFee:Kl({chain:T,isEIP1559Compatible:y,provider:n}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:El({chain:T,provider:n}),sendTransaction:$o({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:Fl({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(o)=>hn({address:o})}}function hn({address:T}){try{return jT(T),!0}catch{return!1}}function ey(T){return T instanceof Dl}function WT(T,n,x){return new Fo(T,Ao.from(n),x)}function jn({provider:T}){return function(x,y){return new Fo(x,Ao.from(y),T)}}function cn({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new b("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&Il.includes(x.stateMutability)}function to(T){return jT(T)}function yT(T){return function({value:x,...y}){if(!ey(T))throw new b("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:f,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:qT(BigInt(x||0))}])}}function Vo(T,n){let x=TT(T,n);if(x)return jT(x.toLowerCase());throw new b("toolbox_evm_invalid_gas_asset_address")}function TT({chain:T,symbol:n,ticker:x},y){try{let o=T===Zy.BinanceSmartChain&&n==="BNB"&&x==="BNB",f=T===y&&n===y&&x===y,l=vl.includes(T)&&n==="ETH"&&x==="ETH";if(f||o||l)return mn[y];return jT(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function Vy({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:o=[],txOverrides:f})=>WT(n,x,T).getFunction(y).populateTransaction(...o.concat(f).filter((l)=>typeof l<"u"))}function Ky({chain:T,provider:n,isEIP1559Compatible:x=!0}){if(T===Zy.Arbitrum)return async function(){try{let{gasPrice:o}=await n.getFeeData();if(!o)throw new b("toolbox_evm_no_fee_data");return{[$.Average]:{gasPrice:o},[$.Fast]:{gasPrice:o},[$.Fastest]:{gasPrice:o}}}catch(o){throw new b("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}};return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:l}=await n.getFeeData();if(x){if(o===null||f===null)throw new b("toolbox_evm_no_fee_data");return{[$.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:f},[$.Fast]:{maxFeePerGas:ay(o,$.Fast),maxPriorityFeePerGas:ay(f,$.Fast)},[$.Fastest]:{maxFeePerGas:ay(o,$.Fastest),maxPriorityFeePerGas:ay(f,$.Fastest)}}}if(!l)throw new b("toolbox_evm_no_gas_price");return{[$.Average]:{gasPrice:l},[$.Fast]:{gasPrice:ay(l,$.Fast)},[$.Fastest]:{gasPrice:ay(l,$.Fastest)}}}catch(o){throw new b("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function gn({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:f,contractAddress:l,abi:C,funcName:G,funcParams:N=[],txOverrides:X={},feeOption:_=$.Fast}){let L=f||T;if(!l)throw new b("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=cn({abi:C,funcName:G});if(B&&ey(L)&&x){let W=Vy({chain:y,provider:L}),M=X?.from||await x?.getAddress(),U=await W({abi:C,contractAddress:l,funcName:G,funcParams:N,txOverrides:{...X,from:M}});return yT(L)(U)}let w=WT(l,C,L);if(B){if(!x)throw new b("toolbox_evm_no_signer");let W=X?.from||await x.getAddress();if(!W)throw new b("toolbox_evm_no_signer_address");let M=w.connect(x),U=Ky({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:v,maxPriorityFeePerGas:I,gasPrice:E}=(await U())[_],V=await w.getFunction(G).estimateGas(...N,X),r=await M[G](...N,{...X,gasLimit:V,gasPrice:E,maxFeePerGas:v,maxPriorityFeePerGas:I,nonce:X?.nonce||await L.getTransactionCount(W)});return typeof r?.hash==="string"?r?.hash:r}let J=await w[G]?.(...N);return typeof J?.hash==="string"?J?.hash:J}}function Ko({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:o,from:f}){return gn({chain:n,isEIP1559Compatible:!0,provider:T})({abi:QT,contractAddress:y,funcName:"allowance",funcParams:[f,o]})}}function El({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:o,from:f,amount:l=MT}){let C=await Ko({chain:n,provider:T})({assetAddress:y,from:f,spenderAddress:o});return hT.fromBigInt(C).gte(hT.fromBigInt(BigInt(l)))}}function ul({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:f,spenderAddress:l,feeOptionKey:C=$.Fast,amount:G,gasLimitFallback:N,from:X,nonce:_}){let L=[l,BigInt(G||MT)],B=await T?.getAddress()||X,w={abi:QT,contractAddress:f,funcName:"approve",funcParams:L,signer:T,txOverrides:{from:B}};if(ey(x)){let W=Vy({chain:y,provider:x}),M=yT(x),U=await W(w);return M(U)}return gn({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...w,feeOption:C,funcParams:L,txOverrides:{from:B,gasLimit:N?BigInt(N.toString()):void 0,nonce:_}})}}function Fl({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:o,memo:f,recipient:l,feeOptionKey:C=$.Fast,sender:G,...N}){let{hexlify:X,toUtf8Bytes:_}=await import("ethers"),L=o.getBaseValue("bigint"),B=o.chain,w=G||await T?.getAddress(),J=$o({chain:B,isEIP1559Compatible:n,provider:x,signer:T});if(!w)throw new b("toolbox_evm_no_from_address");if(o.isGasAsset){let E={...N,data:X(_(f||"")),feeOptionKey:C,from:w,to:l,value:L};return J(E)}if(!TT(o,B))throw new b("toolbox_evm_no_contract_address");let{maxFeePerGas:M,maxPriorityFeePerGas:U,gasPrice:v}=(await Ky({chain:B,isEIP1559Compatible:n,provider:x})())[C],I=await pn({chain:B,provider:x,signer:T})({assetValue:o,data:X(_(f||"")),gasPrice:v,maxFeePerGas:M,maxPriorityFeePerGas:U,memo:f,recipient:l,sender:w});return J(I)}}function bo({provider:T,signer:n}){return function({contractAddress:y,abi:o,funcName:f,funcParams:l=[],txOverrides:C}){if(!y)throw new b("toolbox_evm_no_contract_address");let G=WT(y,o,T);return n?G.connect(n).getFunction(f).estimateGas(...l,C):G.getFunction(f).estimateGas(...l,C)}}function Al({provider:T,signer:n}){return async function({assetValue:y,recipient:o,memo:f,data:l,sender:C,funcName:G,funcParams:N,txOverrides:X}){let _=y.bigIntValue,L=y.isGasAsset?null:TT(y,y.chain);if(L&&G)return bo({provider:T,signer:n})({abi:QT,contractAddress:L,funcName:G,funcParams:N,txOverrides:X});let{hexlify:B,toUtf8Bytes:w}=await import("ethers");return T.estimateGas({data:l?l:f?B(w(f)):void 0,from:C,to:o,value:_})}}function $o({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:f=$.Fast,...l}){let{from:C,to:G,data:N,value:X,..._}=l;if(!n)throw new b("toolbox_evm_no_signer");if(!G)throw new b("toolbox_evm_no_to_address");let L={..._,data:N||"0x",from:C,to:G,value:BigInt(X||0)};if(ey(T))return yT(T)(L);let B=C||await n.getAddress(),w=l.nonce||await T.getTransactionCount(B),J=(await T.getNetwork()).chainId,W=tl(L)||x,M=Ky({chain:y,isEIP1559Compatible:x,provider:T}),U=W&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await M())[f]).reduce((I,[E,V])=>({...I,[E]:qT(BigInt(V))}),{}):{},v;try{v=qT(L.gasLimit||await T.estimateGas(L)*11n/10n)}catch(I){throw new b("toolbox_evm_error_estimating_gas_limit",{error:I})}try{let I={...L,chainId:J,gasLimit:v,nonce:w,type:W?2:0,...U};try{return(await n.sendTransaction(I)).hash}catch{let E=await n.signTransaction({...I,from:B});return(await T.broadcastTransaction(E)).hash}}catch(I){throw new b("toolbox_evm_error_sending_transaction",{error:I})}}}function pn({provider:T,signer:n}){return async function({assetValue:y,memo:o,recipient:f,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:N,gasPrice:X,..._}){let L=y.getBaseValue("bigint"),B=y.chain,w=C||await n?.getAddress();if(!w)throw new b("toolbox_evm_no_from_address");if(Sl(y)){let{hexlify:M,toUtf8Bytes:U}=await import("ethers");return{..._,data:l||M(U(o||"")),from:w,to:f,value:L}}let J=TT(y,B);if(!J)throw new b("toolbox_evm_no_contract_address");return Vy({chain:y.chain,provider:T})({abi:QT,contractAddress:J,funcName:"transfer",funcParams:[f,L],txOverrides:{from:w,gasPrice:X,maxFeePerGas:G,maxPriorityFeePerGas:N}})}}function Vl({provider:T,signer:n,chain:x}){return async function({assetAddress:o,spenderAddress:f,amount:l,from:C}){let G=await n?.getAddress()||C,N=Vy({chain:x,provider:T}),X=["bigint","number"].includes(typeof l)?l:l||MT;return await N({abi:QT,contractAddress:o,funcName:"approve",funcParams:[f,BigInt(X)],txOverrides:{from:G}})}}function Kl({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=$.Fast,chain:o,...f}){let C=await Ky({chain:o,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(f),N=Rl.from({chain:o}),{gasPrice:X,maxFeePerGas:_,maxPriorityFeePerGas:L}=C[y];if(!n&&X)return N.set(hT.fromBigInt(X*G,N.decimal));if(_&&L){let B=(_+L)*G;return N.set(hT.fromBigInt(B,N.decimal))}throw new b("toolbox_evm_no_gas_price")}}var MT,Il,kl,mn,vl,tl=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var cT=R(()=>{ry();MT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Il=["payable","nonpayable"];kl=Ol.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),mn={...kl,[Zy.Optimism]:"0x4200000000000000000000000000000000000042",[Zy.Polygon]:"0x0000000000000000000000000000000000001010"},vl=[Zy.Arbitrum,Zy.Aurora,Zy.Base,Zy.Optimism]});import{Chain as j,FeeOption as bl,getRPCUrl as $l}from"@swapkit/helpers";import{match as pl,P as po}from"ts-pattern";async function mT({provider:T,...n}){let x=await c(j.Ethereum)({provider:T,...n});async function y(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=bl.Fast){let G=await x.createContractTxObject({abi:Eo,contractAddress:f,funcName:l,funcParams:[o]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function c(T){return async function({provider:x,...y}){let{HDNodeWallet:o}=await import("ethers"),f=await $l(T),l=x||await ty(T,f),C=$n(T),G=pl(y).with({phrase:po.string},({phrase:X})=>o.fromPhrase(X).connect(l)).with({signer:po.any},({signer:X})=>X).otherwise(()=>{return});return{...sy({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:JT(T).getBalance,getNetworkParams:bn(T)}}}var iT,gT,dT,rT,aT,sT,ho,eT,yn,Tn,nn,fn,on,PT,xn,ln;var dn=R(()=>{pT();uo();ry();cT();iT=c(j.Arbitrum),gT=c(j.Aurora),dT=c(j.Avalanche),rT=c(j.Base),aT=c(j.Berachain),sT=c(j.BinanceSmartChain),ho=c(j.Botanix),eT=c(j.Core),yn=c(j.Corn),Tn=c(j.Cronos),nn=c(j.Gnosis),fn=c(j.Hyperevm),on=c(j.Polygon),PT=c(j.Sonic),xn=c(j.Unichain),ln=c(j.XLayer)});var jo;var co=R(()=>{jo=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});import{applyFeeMultiplierToBigInt as nT,Chain as Cn,FeeOption as Jy,getChainConfig as jl,getRPCUrl as cl,SwapKitError as rn}from"@swapkit/helpers";import{Contract as ml,HDNodeWallet as il}from"ethers";import{match as gl,P as mo}from"ts-pattern";function an(T){return new ml(dl,jo,T)}function io(T){return async function(){let x=an(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function go(T){return async function({from:x,to:y,nonce:o,...f}){let{Transaction:l}=await import("ethers");if(!y)throw new rn("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...f,authorizationList:f.authorizationList,nonce:o?o:x?await T.getTransactionCount(x):0,to:y}).serialized}}function ro(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(o)}}function ao(T){return async function(x){let y=await T.send("eth_gasPrice",[]),o=await T.estimateGas(x);return y.mul(o)}}function rl(T){return async function(x){let y=await ro(T)(x),o=await ao(T)(x);return y.add(o)}}function al(T){return async function(x){let y=an(T),o=await go(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(o)}}function sl(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:o}=jl(Cn.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:Cn.Ethereum},rpcUrls:o}}async function el(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),o=await io(T)(),f=y;if(!(n&&x))throw new rn("toolbox_evm_no_fee_data");return{[Jy.Average]:{gasPrice:f,l1GasPrice:o,maxFeePerGas:n,maxPriorityFeePerGas:x},[Jy.Fast]:{gasPrice:nT(f,Jy.Fast),l1GasPrice:nT(o||0n,Jy.Fast),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,Jy.Fast)},[Jy.Fastest]:{gasPrice:nT(f,Jy.Fastest),l1GasPrice:nT(o||0n,Jy.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:nT(x,Jy.Fastest)}}}catch(n){throw new rn("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}async function Gn({provider:T,...n}){let x=Cn.Optimism,y=await cl(x),o=T||await ty(x,y),f=gl(n).with({phrase:mo.string},({phrase:G})=>il.fromPhrase(G).connect(o)).with({signer:mo.any},({signer:G})=>G).otherwise(()=>{return}),l=sy({provider:o,signer:f}),C=io(o);return{...l,estimateGasPrices:el(o),estimateL1Gas:al(o),estimateL1GasCost:ro(o),estimateL2GasCost:ao(o),estimateTotalGasCost:rl(o),getBalance:JT(Cn.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:sl}}var dl="0x420000000000000000000000000000000000000f";var sn=R(()=>{pT();co();ry();cT()});var eo={};s(eo,{toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getEvmToolbox:()=>so,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>hn,createContract:()=>WT,XLayerToolbox:()=>ln,UNIToolbox:()=>xn,SONICToolbox:()=>PT,OPToolbox:()=>Gn,MAX_APPROVAL:()=>MT,MATICToolbox:()=>on,HYPEREVMToolbox:()=>fn,GNOToolbox:()=>nn,ETHToolbox:()=>mT,ContractAddress:()=>mn,CROToolbox:()=>Tn,CORNToolbox:()=>yn,COREToolbox:()=>eT,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>sT,BERAToolbox:()=>aT,BASEToolbox:()=>rT,AVAXToolbox:()=>dT,AURORAToolbox:()=>gT,ARBToolbox:()=>iT});import{Chain as h}from"@swapkit/helpers";import{match as y1}from"ts-pattern";async function so(T,n){let x={...n,provider:n?.provider||await ty(T)};return y1(T).returnType().with(h.Arbitrum,()=>iT(x)).with(h.Aurora,()=>gT(x)).with(h.Avalanche,()=>dT(x)).with(h.Base,()=>rT(x)).with(h.Berachain,()=>aT(x)).with(h.BinanceSmartChain,()=>sT(x)).with(h.Botanix,()=>PT(x)).with(h.Core,()=>eT(x)).with(h.Corn,()=>yn(x)).with(h.Cronos,()=>Tn(x)).with(h.Ethereum,()=>mT(x)).with(h.Gnosis,()=>nn(x)).with(h.Hyperevm,()=>fn(x)).with(h.Optimism,()=>Gn(x)).with(h.Polygon,()=>on(x)).with(h.Sonic,()=>PT(x)).with(h.Unichain,()=>xn(x)).with(h.XLayer,()=>ln(x)).exhaustive()}var en=R(()=>{ry();dn();sn();cT();dn();sn()});var yx;var Tx=R(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(yx||={})});var nx={};s(nx,{toHexString:()=>qT,toChecksumAddress:()=>to,isStateChangingCall:()=>cn,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>ty,getNetworkParams:()=>bn,getIsEIP1559Compatible:()=>$n,getEvmToolbox:()=>so,getEvmApi:()=>JT,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>Vy,getCreateContract:()=>jn,getChecksumAddressFromAsset:()=>Vo,evmValidateAddress:()=>hn,createCustomEvmApi:()=>Pl,createContract:()=>WT,XLayerToolbox:()=>ln,UNIToolbox:()=>xn,SONICToolbox:()=>PT,OPToolbox:()=>Gn,MAX_APPROVAL:()=>MT,MATICToolbox:()=>on,HYPEREVMToolbox:()=>fn,GNOToolbox:()=>nn,EthNetwork:()=>yx,ETHToolbox:()=>mT,ContractAddress:()=>mn,CROToolbox:()=>Tn,CORNToolbox:()=>yn,COREToolbox:()=>eT,BotanixToolbox:()=>ho,BaseEVMToolbox:()=>sy,BSCToolbox:()=>sT,BERAToolbox:()=>aT,BASEToolbox:()=>rT,AVAXToolbox:()=>dT,AURORAToolbox:()=>gT,ARBToolbox:()=>iT});var fx=R(()=>{pT();ry();en();Tx()});import{AssetValue as YT,Chain as fT,getChainConfig as T1,SwapKitError as zT}from"@swapkit/helpers";import{match as n1,P as ox}from"ts-pattern";async function yf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function o1(T){try{let{MeshWallet:n}=await import("@meshsdk/core"),x=await yf(),y=new n({fetcher:x,key:{address:T,type:"address"},networkId:1});await y.init();let o=await y.getBalance(),f=[];for(let l of o)if(l.unit===f1){let{baseDecimal:C}=T1(fT.Cardano);f.push(YT.from({chain:fT.Cardano,fromBaseDecimal:C,value:l.quantity}))}else f.push(YT.from({asset:`${fT.Cardano}.${l.unit}`,value:l.quantity}));if(f.length===0)return[YT.from({chain:fT.Cardano})];return f}catch(n){return console.error("Cardano balance fetch error:",n),[YT.from({chain:fT.Cardano})]}}async function xx(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function x1(T){let n=await xx(),x=await n1(T).with({phrase:ox.string},async({phrase:X})=>{let{MeshWallet:_}=await import("@meshsdk/core"),L=await yf(),B=new _({fetcher:L,key:{type:"mnemonic",words:X.split(" ")},networkId:1,submitter:L});return await B.init(),B}).with({signer:ox.any},({signer:X})=>X).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function o(){return y||""}function f(X){let _=X||o();if(!_)throw new zT("core_wallet_connection_not_found");return o1(_)}function l(){return Promise.resolve(YT.from({chain:fT.Cardano,value:"0.01"}))}async function C({recipient:X,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{Transaction:B}=await import("@meshsdk/core"),[,w]=_.symbol.split("-");if(!_.isGasAsset&&!w)throw new zT("core_wallet_connection_not_found");let J=new B({initiator:x});if(J.sendAssets({address:X},[{quantity:_.getBaseValue("string"),unit:_.isGasAsset?"lovelace":_.symbol}]),L)J.setMetadata(0,L);let W=await J.build();return{tx:J,unsignedTx:W}}function G(X){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");return x.signTx(X)}async function N({recipient:X,assetValue:_,memo:L}){if(!x||!("getChangeAddress"in x))throw new zT("core_wallet_connection_not_found");let{unsignedTx:B}=await C({assetValue:_,memo:L,recipient:X}),w=await G(B);return await(await yf()).submitTx(w)}return{createTransaction:C,estimateTransactionFee:l,getAddress:o,getBalance:f,signTransaction:G,transfer:N,validateAddress:n}}var f1="lovelace";var lx=()=>{};var Tf={};s(Tf,{getCardanoToolbox:()=>x1,getCardanoAddressValidator:()=>xx});var nf=R(()=>{lx()});import{base64 as Cx,bech32 as Nn}from"@scure/base";import{SwapKitError as l1}from"@swapkit/helpers";import{fromByteArray as C1,toByteArray as G1}from"base64-js";function UT(T){return Cx.encode(Uint8Array.from(Nn.fromWords(Nn.decode(T).words)))}function HT(T,n="thor"){return Nn.encode(n,Nn.toWords(Cx.decode(T)))}function N1(T){return C1(T)}function _1(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new l1("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return G1(T)}var ff=()=>{};import{AssetValue as of,Chain as F,getChainConfig as Gy,getRPCUrl as L1,SwapKitError as Gx}from"@swapkit/helpers";function qy(T){switch(T){case F.Maya:return{amount:[],gas:"10000000000"};case F.THORChain:return{amount:[],gas:"500000000"};case F.Kujira:return Lx;case F.Noble:return Xx;default:return _x}}async function Qy(T){let n=await import("@cosmjs/stargate"),x=n.StargateClient??n.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return x.connect({headers:y,url:T})}async function OT(T,n,x={}){let y=await import("@cosmjs/stargate"),o=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return o.connectWithSigner(T,n,{gasPrice:f.fromString(l),...C})}async function lf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function Cf({sender:T,recipient:n,assetValue:x,memo:y="",feeRate:o,sequence:f,accountNumber:l}){let{chain:C,chainId:G}=x,N=await L1(C),_=await(await Qy(N)).getAccount(T);if(!_)throw new Gx("toolbox_cosmos_account_not_found",{sender:T});let L=of.from({chain:C}),B=Uy(L.symbol),w=qy(C),J=B&&o?{amount:[{amount:o.toString(),denom:B}],gas:w.gas}:w,W={amount:[{amount:x.getBaseValue("string"),denom:Uy(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??_.accountNumber,chainId:G,fee:J,memo:y,msgs:[{typeUrl:X1(C),value:W}],sequence:f??_.sequence}}var xf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Nx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",_x,Lx,Xx,Uy=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return xf;case"uYUM":case"YUM":return Nx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},RT=({symbol:T,chain:n})=>{if(n===F.Maya)return(T.toUpperCase()!=="CACAO"?T:`${F.Maya}.${T}`).toUpperCase();if(n===F.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${F.THORChain}.${T}`:T).toUpperCase();return Uy(T,!1)},X1=(T)=>{switch(T){case F.Maya:case F.THORChain:return"/types.MsgSend";case F.Cosmos:case F.Kujira:case F.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new Gx("toolbox_cosmos_not_supported",{chain:T})}},B1,Gf=(T,n)=>{let x=B1[T.toLowerCase()];if(!x)return of.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:o,decimals:f}=x,l=y?{chain:y}:{asset:o};return of.from({...l,fromBaseDecimal:f,value:n})};var ST=R(()=>{_x={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Lx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Xx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};B1={atom:{chain:F.Cosmos,decimals:Gy(F.Cosmos).baseDecimal},cacao:{chain:F.Maya,decimals:10},kuji:{chain:F.Kujira,decimals:Gy(F.Kujira).baseDecimal},maya:{asset:`${F.Maya}.${F.Maya}`,decimals:4},rune:{chain:F.THORChain,decimals:Gy(F.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Gy(F.THORChain).baseDecimal},uatom:{chain:F.Cosmos,decimals:Gy(F.Cosmos).baseDecimal},ukuji:{chain:F.Kujira,decimals:Gy(F.Kujira).baseDecimal},usdc:{chain:F.Noble,decimals:Gy(F.Noble).baseDecimal},uusdc:{chain:F.Noble,decimals:Gy(F.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Gy(F.THORChain).baseDecimal},[xf.toLowerCase()]:{asset:`${F.Kujira}.USK`,decimals:Gy(F.Kujira).baseDecimal}}});var Bx={};s(Bx,{$root:()=>z});import i from"protobufjs/minimal.js";var D,ly,H,z;var wx=R(()=>{D=i.Reader,ly=i.Writer,H=i.util,z=i.roots.default||(i.roots.default={});z.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))o.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))o.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))o.uint32(32).bool(y.synth);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Asset;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!H.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!H.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!H.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Asset)return y;let o=new z.common.Asset;if(y.chain!=null)o.chain=String(y.chain);if(y.symbol!=null)o.symbol=String(y.symbol);if(y.ticker!=null)o.ticker=String(y.ticker);if(y.synth!=null)o.synth=Boolean(y.synth);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=H.Long?H.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))z.common.Asset.encode(y.asset,o.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))o.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))o.uint32(24).int64(y.decimals);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Coin;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.asset=z.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let o=z.common.Asset.verify(y.asset);if(o)return"asset."+o}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!H.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!H.isInteger(y.decimals)&&!(y.decimals&&H.isInteger(y.decimals.low)&&H.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Coin)return y;let o=new z.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");o.asset=z.common.Asset.fromObject(y.asset)}if(y.amount!=null)o.amount=String(y.amount);if(y.decimals!=null){if(H.Long)(o.decimals=H.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")o.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")o.decimals=y.decimals;else if(typeof y.decimals==="object")o.decimals=new H.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)if(f.asset=null,f.amount="",H.Long){let l=new H.Long(0,0,!1);f.decimals=o.longs===String?l.toString():o.longs===Number?l.toNumber():l}else f.decimals=o.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=z.common.Asset.toObject(y.asset,o);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=o.longs===String?String(y.decimals):y.decimals;else f.decimals=o.longs===String?H.Long.prototype.toString.call(y.decimals):o.longs===Number?new H.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))o.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))o.uint32(18).string(y.ed25519);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.PubKeySet;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!H.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!H.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.PubKeySet)return y;let o=new z.common.PubKeySet;if(y.secp256k1!=null)o.secp256k1=String(y.secp256k1);if(y.ed25519!=null)o.ed25519=String(y.ed25519);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=H.emptyArray,n.prototype.gas=H.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))o.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)z.common.Coin.encode(y.gas[f],o.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(58).string(y.memo);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Tx;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(z.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!H.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!H.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!H.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!H.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let o=0;o<y.gas.length;++o){let f=z.common.Coin.verify(y.gas[o]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!H.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Tx)return y;let o=new z.common.Tx;if(y.id!=null)o.id=String(y.id);if(y.chain!=null)o.chain=String(y.chain);if(y.fromAddress!=null)o.fromAddress=String(y.fromAddress);if(y.toAddress!=null)o.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");o.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");o.gas[f]=z.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)o.memo=String(y.memo);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[],f.gas=[];if(o.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.gas?.length){f.gas=[];for(let l=0;l<y.gas.length;++l)f.gas[l]=z.common.Coin.toObject(y.gas[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=H.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))o.uint32(18).string(y.poolDeduct);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Fee;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!H.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Fee)return y;let o=new z.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)o.poolDeduct=String(y.poolDeduct);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))o.uint32(10).string(y.value);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.ProtoUint;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!H.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.ProtoUint)return y;let o=new z.common.ProtoUint;if(y.value!=null)o.value=String(y.value);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();z.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=H.emptyArray,n.prototype.memo="",n.prototype.signer=H.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))o.uint32(26).bytes(y.signer);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgDeposit;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!H.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||H.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof z.types.MsgDeposit)return y;let o=new z.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)o.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")H.base64.decode(y.signer,o.signer=H.newBuffer(H.base64.length(y.signer)),0);else if(y.signer.length)o.signer=y.signer}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults){if(f.memo="",o.bytes===String)f.signer="";else if(f.signer=[],o.bytes!==Array)f.signer=H.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=o.bytes===String?H.base64.encode(y.signer,0,y.signer.length):o.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.fromAddress=H.newBuffer([]),n.prototype.toAddress=H.newBuffer([]),n.prototype.amount=H.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=ly.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)z.cosmos.base.v1beta1.Coin.encode(y.amount[f],o.uint32(26).fork()).ldelim();return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof D))y=D.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgSend;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(z.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof D))y=new D(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||H.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||H.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let o=0;o<y.amount.length;++o){let f=z.cosmos.base.v1beta1.Coin.verify(y.amount[o]);if(f)return"amount."+f}}return null},n.fromObject=function(y){if(y instanceof z.types.MsgSend)return y;let o=new z.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")H.base64.decode(y.fromAddress,o.fromAddress=H.newBuffer(H.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)o.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")H.base64.decode(y.toAddress,o.toAddress=H.newBuffer(H.base64.length(y.toAddress)),0);else if(y.toAddress.length)o.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");o.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");o.amount[f]=z.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.amount=[];if(o.defaults){if(o.bytes===String)f.fromAddress="";else if(f.fromAddress=[],o.bytes!==Array)f.fromAddress=H.newBuffer(f.fromAddress);if(o.bytes===String)f.toAddress="";else if(f.toAddress=[],o.bytes!==Array)f.toAddress=H.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=o.bytes===String?H.base64.encode(y.fromAddress,0,y.fromAddress.length):o.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=o.bytes===String?H.base64.encode(y.toAddress,0,y.toAddress.length):o.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let l=0;l<y.amount.length;++l)f.amount[l]=z.cosmos.base.v1beta1.Coin.toObject(y.amount[l],o)}return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},n})(),T})();z.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.Coin;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!H.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!H.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.Coin)return f;let l=new z.cosmos.base.v1beta1.Coin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecCoin;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!H.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!H.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecCoin)return f;let l=new z.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))l.uint32(10).string(f.int);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.IntProto;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.int=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!H.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.IntProto)return f;let l=new z.cosmos.base.v1beta1.IntProto;if(f.int!=null)l.int=String(f.int);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(f.int!=null&&f.hasOwnProperty("int"))C.int=f.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=ly.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))l.uint32(10).string(f.dec);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof D))f=D.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecProto;while(f.pos<C){let N=f.uint32();switch(N>>>3){case 1:G.dec=f.string();break;default:f.skipType(N&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof D))f=new D(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!H.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecProto)return f;let l=new z.cosmos.base.v1beta1.DecProto;if(f.dec!=null)l.dec=String(f.dec);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))C.dec=f.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},y})(),x})(),n})(),T})()});import{Chain as w1}from"@swapkit/helpers";async function by(){let{$root:T}=await Promise.resolve().then(() => (wx(),Bx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),o=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...o,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Hy(T){let n=await import("@cosmjs/stargate"),x=n.AminoTypes??n.default?.AminoTypes,y=T===w1.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:o,...f})=>({...f,signer:UT(o)}),toAmino:({signer:o,...f})=>({...f,signer:HT(o)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:o,to_address:f,...l})=>({...l,fromAddress:UT(o),toAddress:UT(f)}),toAmino:({fromAddress:o,toAddress:f,...l})=>({...l,from_address:HT(o),to_address:HT(f)})}})}var Nf=R(()=>{ff()});import{AssetValue as Z1,Chain as _n,getChainConfig as Zx,SwapKitError as J1}from"@swapkit/helpers";function Xf(T){return function(x){let{assetValue:y,recipient:o,memo:f,sender:l,asSignable:C,asAminoMessage:G}=x;if(o)return qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,recipient:o,sender:l});return Qx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,sender:l})}}function Oy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((n)=>{let x=Z1.from({asset:n.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),o=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:o,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function DT({chain:T,memo:n,msgs:x}){let y=await by(),o=await Hy(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>o.fromAmino(l))}};return y.encode(f)}var q1,Q1,_f=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===_n.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:Uy(x.symbol,!0)}],from_address:T,to_address:n}}},Lf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===_n.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:RT(n)}],memo:x,signer:T}}},Ln=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Lf({assetValue:x,memo:y,sender:T}):_f({assetValue:x,recipient:n,sender:T})},Ry=async(T,n)=>{return(await Hy(n)).fromAmino(T)},Jx=async({rpcUrl:T,sender:n})=>{let y=await(await Qy(T)).getAccount(n);if(!y)throw new J1("toolbox_cosmos_account_not_found",{sender:n});return y},qx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:o="",asSignable:f=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let N=await Jx({rpcUrl:T,sender:n}),X=y.chain,{chainId:_}=Zx(X),L=_f({assetValue:y,recipient:x,sender:n}),B=f?await Ry(l?L:Oy(L),X):L;return{accountNumber:G||N.accountNumber,chainId:_,fee:qy(X),memo:o,msgs:[B],sequence:C||N.sequence}},Qx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:o=!0,asAminoMessage:f=!1,sequence:l,accountNumber:C})=>{let G=await Jx({rpcUrl:T,sender:n}),N=x.chain,{chainId:X}=Zx(N),_=Lf({assetValue:x,memo:y,sender:n}),L=o?await Ry(f?_:Oy(_),N):_;return{accountNumber:C||G.accountNumber,chainId:X,fee:qy(N),memo:y,msgs:[L],sequence:l||G.sequence}};var Mx=R(()=>{ST();Nf();q1=qy(_n.THORChain).gas,Q1=qy(_n.Maya).gas});var Wx=()=>{};var Px=R(()=>{Wx()});var Bf=R(()=>{ff();Mx();Nf();Px()});import{base64 as Jf,bech32 as wf}from"@scure/base";import{AssetValue as qf,applyFeeMultiplier as zx,Chain as e,CosmosChainPrefixes as Sx,DerivationPath as M1,derivationPathToString as Yx,FeeOption as Qf,getChainConfig as W1,getRPCUrl as P1,NetworkDerivationPath as z1,SwapKitError as Mf,SwapKitNumber as Zf,updateDerivationPath as Y1}from"@swapkit/helpers";import{SwapKitApi as Dx}from"@swapkit/helpers/api";import{match as U1,P as Ux}from"ts-pattern";async function Pf(T,n){try{let y=(await Dx.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Wf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),o=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),l=f.stringToPath??f.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${M1[x.chain]}/${x.index}`;return o.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function H1({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function Ix(T){return async function({signature:x,message:y,address:o}){let f=await T(o);if(!f?.pubkey)throw new Mf("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,N=C.fromFixedLength(Jf.decode(x));return G.verifySignature(N,Jf.decode(y),f.pubkey.value)}}async function IT({chain:T,...n}){let x=await P1(T),y=Sx[T],o="index"in n?n.index||0:0,f=Yx("derivationPath"in n&&n.derivationPath?n.derivationPath:Y1(z1[T],{index:o})),l=await U1(n).with({phrase:Ux.string},({phrase:_})=>Wf({derivationPath:f,phrase:_,prefix:y})).with({signer:Ux.any},({signer:_})=>_).otherwise(()=>{return});async function C(_){return(await Qy(x)).getAccount(_)}async function G(){let[_]=await l?.getAccounts()||[];return _?.address}async function N(){let[_]=await l?.getAccounts()||[];if(!_?.pubkey)throw new Mf("toolbox_cosmos_signer_not_defined");return Jf.encode(_?.pubkey)}async function X({recipient:_,assetValue:L,memo:B="",feeRate:w,feeOptionKey:J=Qf.Fast}){let W=await G();if(!(l&&W))throw new Mf("toolbox_cosmos_signer_not_defined");let M=qf.from({chain:T}),U=RT(M),v=w||S1((await Rx(T,Hx[T]))[J],U),I=await OT(x,l),E=[{amount:L.getBaseValue("string"),denom:Uy(`u${L.symbol}`).toLowerCase()}],{transactionHash:V}=await I.sendTokens(W,_,E,v,B);return V}return{createPrivateKeyFromPhrase:I1(f),createTransaction:Cf,fetchFeeRateFromSwapKit:Pf,getAccount:C,getAddress:G,getBalance:async(_,L)=>{let B=await Ox(x)(_),w=await Promise.all(B.filter(({denom:J})=>J&&!J.includes("IBC/")).map(({denom:J,amount:W})=>{let M=[e.THORChain,e.Maya].includes(T)&&(J.includes("/")||J.includes("˜"))?`${T}.${J}`:J;return Gf(M,W)}));if(w.length===0)return[qf.from({chain:T})];return w},getBalanceAsDenoms:Ox(x),getFees:()=>Rx(T,Hx[T]),getPubKey:N,getSignerFromPhrase:async({phrase:_,derivationPath:L})=>Wf({derivationPath:Yx(L),index:o,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:X,validateAddress:kx(T),verifySignature:Ix(C)}}async function R1(T,n){try{let y=(await Dx.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function O1({assetValue:{chain:T}}){return qf.from({chain:T,value:D1(T)})}async function Rx(T,n){let{chainId:x,baseDecimal:y}=W1(T),o=await Pf(x,n);return{average:Zf.fromBigInt(BigInt(o),y),fast:Zf.fromBigInt(BigInt(zx(o,Qf.Fast,!0)),y),fastest:Zf.fromBigInt(BigInt(zx(o,Qf.Fastest,!0)),y)}}function S1(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function D1(T){return{[e.Cosmos]:0.007,[e.Kujira]:0.02,[e.Noble]:0.01,[e.THORChain]:0.02,[e.Maya]:0.02,[e.Harbor]:0.02}[T]||0}function kx(T){let n=Sx[T];return function(y){if(!y.startsWith(n))return!1;try{let{prefix:o,words:f}=wf.decode(y);return wf.encode(o,f)===y.toLocaleLowerCase()}catch{return!1}}}function Ox(T){return async function(x){return(await(await Qy(T)).getAllBalances(x)).map((l)=>({...l,denom:l.denom.includes("/")?l.denom.toUpperCase():l.denom}))}}function I1(T){return async function(x){let y=await import("@cosmjs/crypto"),o=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,N=new C(x),X=await G.mnemonicToSeed(N),{privkey:_}=l.derivePath(f.Secp256k1,X,o(T));return _}}var Hx;var Xn=R(()=>{ST();Hx={[e.Cosmos]:500,[e.Kujira]:1000,[e.Noble]:1000,[e.THORChain]:5000000,[e.Maya]:5000000,[e.Harbor]:5000000}});import{base64 as $y}from"@scure/base";import{Chain as k1,CosmosChainPrefixes as v1,derivationPathToString as E1,FeeOption as zf,getChainConfig as vx,getRPCUrl as u1,NetworkDerivationPath as F1,RequestClient as A1,SKConfig as t1,SwapKitError as Ex,SwapKitNumber as ux,updateDerivationPath as V1}from"@swapkit/helpers";import{match as K1,P as Fx}from"ts-pattern";function b1({prefix:T,derivationPath:n}){return async function(y,o=0){let f=await import("@cosmjs/amino"),l=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${o}`)],prefix:T})}}function $1(T){return $y.encode(T)}function p1(T){return async function({wallet:x,tx:y}){let{msgs:o,accountNumber:f,sequence:l,chainId:C,fee:G,memo:N}=typeof y==="string"?JSON.parse(y):y,X=(await x.getAccounts())?.[0]?.address||"",_=await Hy(T),L=await by(),B=await lf(x,{aminoTypes:_,registry:L}),w=[];for(let M of o){let U=await Ry(M,T);w.push(U)}let{signatures:[J]}=await B.sign(X,w,G,N,{accountNumber:f,chainId:C,sequence:l});return{bodyBytes:await DT({chain:T,memo:N,msgs:o.map(Oy)}),signature:$1(J)}}}function h1({prefix:T,rpcUrl:n}){return async function(y,o,f,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:N}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:X}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:L}=JSON.parse(y),B=await Ax(f,l),w=o.map((M)=>[N(G($y.decode(M.pubKey)),T),$y.decode(M.signature)]),J=await Qy(n),{transactionHash:W}=await J.broadcastTx(X(B,_,L,C,new Map(w)));return W}}async function Ax(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:o}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>o($y.decode(f))),n,x)}function j1(T){return $y.decode(T)}async function c1({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature($y.decode(n),T);return $y.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Yf({chain:T,...n}){let x=await u1(T),{nodeUrl:y}=vx(T),{isStagenet:o}=t1.get("envs"),f=T===k1.THORChain,l=`${o?"s":""}${v1[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:V1(F1[T],{index:C}),N=await IT({chain:T,...n}),X=await K1(n).with({phrase:Fx.string},({phrase:w})=>N.getSignerFromPhrase({derivationPath:G,phrase:w})).with({signer:Fx.any},({signer:w})=>w).otherwise(()=>{return}),_=qy(T);async function L(){let w,J=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await A1.get(J);if(!W||Number.isNaN(W)||W<0)throw new Ex("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});w=new ux(W)}catch{w=new ux({decimal:vx(T).baseDecimal,value:f?0.02:1})}return{[zf.Average]:w,[zf.Fast]:w,[zf.Fastest]:w}}async function B({assetValue:w,memo:J="",recipient:W}){let{TxRaw:M}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),U=(await X?.getAccounts())?.[0]?.address;if(!(U&&X))throw new Ex("toolbox_cosmos_no_signer");let v="signAmino"in X,I=await by(),E=await Hy(T),V=await OT(x,X,{aminoTypes:E,registry:I}),r=Ln({assetValue:w,memo:J,recipient:W,sender:U});if(v){let Y=await Ry(r,T),{signatures:O,authInfoBytes:S}=await V.sign(U,[Y],_,J),k=M.encode({authInfoBytes:S,bodyBytes:await DT({chain:T,memo:J,msgs:[r].map(Oy)}),signatures:O}).finish();return(await V.broadcastTx(k)).transactionHash}let Yy=Oy(r),Z=await Ry(Yy,T);return(await V.signAndBroadcast(U,[Z],_,J)).transactionHash}return{...N,broadcastMultisigTx:h1({prefix:l,rpcUrl:x}),buildAminoMsg:Ln,buildEncodedTxBody:DT,convertToSignable:Ry,createDefaultAminoTypes:()=>Hy(T),createDefaultRegistry:by,createMultisig:Ax,createTransaction:Xf(x),deposit:B,getFees:L,importSignature:j1,parseAminoMessageForDirectSigning:Oy,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(w,l)},secp256k1HdWalletFromMnemonic:b1({derivationPath:E1(G),prefix:l}),signMultisigTx:p1(T),signWithPrivateKey:c1,transfer:B}}var Uf=R(()=>{Bf();ST();Xn()});import{Chain as kT,SwapKitError as m1}from"@swapkit/helpers";var i1=(T,n)=>{switch(T){case kT.Cosmos:case kT.Kujira:case kT.Noble:return IT({chain:T,...n});case kT.Maya:case kT.THORChain:return Yf({chain:T,...n});default:throw new m1("toolbox_cosmos_not_supported",{chain:T})}};var tx=R(()=>{Xn();Uf();Xn();Uf()});var Bn={};s(Bn,{verifySignature:()=>Ix,transferMsgAmino:()=>_f,toBase64:()=>N1,parseAminoMessageForDirectSigning:()=>Oy,getSignerFromPrivateKey:()=>H1,getSignerFromPhrase:()=>Wf,getMsgSendDenom:()=>Uy,getFeeRateFromSwapKit:()=>R1,getDenomWithChain:()=>RT,getDefaultChainFee:()=>qy,getCreateTransaction:()=>Xf,getCosmosValidateAddress:()=>kx,getCosmosToolbox:()=>i1,getAssetFromDenom:()=>Gf,fromBase64:()=>_1,fetchFeeRateFromSwapKit:()=>Pf,estimateTransactionFee:()=>O1,depositMsgAmino:()=>Lf,createThorchainToolbox:()=>Yf,createStargateClient:()=>Qy,createSigningStargateClient:()=>OT,createOfflineStargateClient:()=>lf,createDefaultRegistry:()=>by,createDefaultAminoTypes:()=>Hy,createCosmosToolbox:()=>IT,cosmosCreateTransaction:()=>Cf,convertToSignable:()=>Ry,buildTransferTx:()=>qx,buildEncodedTxBody:()=>DT,buildDepositTx:()=>Qx,buildAminoMsg:()=>Ln,bech32ToBase64:()=>UT,base64ToBech32:()=>HT,YUM_KUJIRA_FACTORY_DENOM:()=>Nx,USK_KUJIRA_FACTORY_DENOM:()=>xf,THORCHAIN_GAS_VALUE:()=>q1,MAYA_GAS_VALUE:()=>Q1,DEFAULT_NOBLE_FEE_MAINNET:()=>Xx,DEFAULT_KUJI_FEE_MAINNET:()=>Lx,DEFAULT_COSMOS_FEE_MAINNET:()=>_x});var wn=R(()=>{Bf();tx();ST()});import{AssetValue as Zn,Chain as Sy,DerivationPath as g1,derivationPathToString as d1,getChainConfig as bx,getRPCUrl as r1,NetworkDerivationPath as a1,SwapKitError as hy,updateDerivationPath as s1}from"@swapkit/helpers";import{match as e1,P as Vx}from"ts-pattern";async function $x(T){let n=Zn.from({address:T,chain:Sy.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:T,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let x=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(x);if(!y.ok)return null;let o=await y.json();if(!Array.isArray(o)||o.length===0)return null;return o.find((l)=>l.id===T)||null}catch{return null}}async function y5(T){let n=await py(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),o=new x(T),f=[],l=await n.getBalance(o);if(l>0){let{baseDecimal:G}=bx(Sy.Solana);f.push(Zn.from({chain:Sy.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(o,{programId:y});for(let{account:G}of C.value){let N=G.data.parsed.info,X=N.mint,_=N.tokenAmount.amount;if(Number(_)===0)continue;let L=await $x(X),B=L?.symbol||"UNKNOWN",w=L?.decimals||N.tokenAmount.decimals;f.push(Zn.from({asset:`${Sy.Solana}.${B}-${X}`,fromBaseDecimal:w,value:_}))}return f}async function Of(){let{PublicKey:T}=await import("@solana/web3.js");return(n)=>{try{let x=new T(n);return T.isOnCurve(x.toBytes())}catch{return!1}}}async function T5(T){let n=T&&"index"in T?T.index||0:0,x=d1(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:s1(a1[Sy.Solana],{index:n})),y=await e1(T).with({phrase:Vx.string},({phrase:l})=>Rf({derivationPath:x,phrase:l})).with({signer:Vx.any},({signer:l})=>l).otherwise(()=>{return});function o(){return y?.publicKey?Kx(y.publicKey):""}function f(l){let C=l||o();if(!C)throw new hy("core_wallet_connection_not_found");return y5(C)}return{broadcastTransaction:Hf(py),createKeysForPath:Rf,createTransaction:Sf(py),createTransactionFromInstructions:x5,estimateTransactionFee:n5(py),getAddress:o,getAddressFromPubKey:Kx,getAddressValidator:Of,getBalance:f,getConnection:py,getPubkeyFromAddress:Df,signTransaction:C5(py,y),transfer:l5(py,y)}}function n5(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let l=await T(),G=(await Sf(T)({assetValue:x,isProgramDerivedAddress:o,memo:y,recipient:n,sender:f})).compileMessage(),N=await l.getFeeForMessage(G);if(N.value===null)throw new hy("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=bx(Sy.Solana);return Zn.from({chain:Sy.Solana,fromBaseDecimal:X,value:N.value})}}async function py(){let{Connection:T}=await import("@solana/web3.js"),n=await r1(Sy.Solana);return new T(n,"confirmed")}function f5(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:o})=>{let f=await T(),l=await Df(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:N}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new N(x)}))}if(n.address)return o5({amount:n.getBaseValue("number"),connection:f,decimals:n.decimal,from:l,isProgramDerivedAddress:o,recipient:x,tokenAddress:n.address});return}}async function o5({tokenAddress:T,recipient:n,from:x,connection:y,amount:o,decimals:f,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:N,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:_,PublicKey:L}=await import("@solana/web3.js"),B=new _,w=new L(T),J=await C(w,x),W=new L(n),M=await C(w,W,l),U=!1;try{await G(y,M),U=!0}catch{}if(!U)B.add(N(x,M,W,w));return B.add(X(J,w,M,x,o,f)),B}function Sf(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Df(f),G=await Of();if(!(o||G(n)))throw new hy("core_transaction_invalid_recipient_address");let N=await T(),X=await f5(T)({assetValue:x,isProgramDerivedAddress:o,recipient:n,sender:f});if(!X)throw new hy("core_transaction_invalid_sender_address");if(y)X.add(l(y));let _=await N.getLatestBlockhash();return X.recentBlockhash=_.blockhash,X.feePayer=C,X}}async function x5({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new hy("core_transaction_invalid_sender_address");return x}function l5(T,n){return async({recipient:x,assetValue:y,memo:o,isProgramDerivedAddress:f})=>{if(!n)throw new hy("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Sf(T)({assetValue:y,isProgramDerivedAddress:f,memo:o,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Hf(T)(G)}return C.sign(n),Hf(T)(C)}}function Hf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function C5(T,n){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!n)throw new hy("toolbox_solana_no_signer");if(!(x instanceof y)){let f=await(await T()).getLatestBlockhash();x.recentBlockhash=f.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Rf({phrase:T,derivationPath:n=g1.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:o}=await import("@solana/web3.js"),f=y(T),l=x.fromMasterSeed(f);return o.fromSeed(l.derive(n,!0).privateKey)}function Kx(T){return T.toString()}async function Df(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var px=()=>{};var If={};s(If,{getSolanaToolbox:()=>T5,getSolanaAddressValidator:()=>Of,fetchTokenMetaData:()=>$x,createKeysForPath:()=>Rf});var kf=R(()=>{px()});import{AssetValue as Jn,Chain as vf,getChainConfig as G5,SwapKitError as Dy}from"@swapkit/helpers";import{match as N5,P as hx}from"ts-pattern";async function jx(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(x){try{return T(x)}catch{return!1}}}async function _5({provider:T,...n}={}){let x=await jx(),y=await N5(n).with({phrase:hx.string},async({phrase:_})=>{let{Ed25519Keypair:L}=await import("@mysten/sui/keypairs/ed25519");return L.deriveKeypair(_)}).with({signer:hx.any},({signer:_})=>_).otherwise(()=>{return});async function o(_=T){let{SuiClient:L,getFullnodeUrl:B}=await import("@mysten/sui/client");return new L({url:_||B("mainnet")})}function f(){return y?.toSuiAddress()||""}async function l(_){let L=_||f();if(!L)throw new Dy("toolbox_sui_address_required");try{let B=await o(),{totalBalance:w}=await B.getBalance({owner:L}),{baseDecimal:J,chain:W}=G5(vf.Sui),M=[Jn.from({chain:W,fromBaseDecimal:J,value:w})],U=await B.getAllBalances({owner:L});for(let{coinType:v,totalBalance:I}of U){if(v==="0x2::sui::SUI")continue;if(Number(I)>0){let E=v.split("::").pop()?.toUpperCase()||"UNKNOWN",V=`${W}.${E}-${v}`;M.push(Jn.from({asset:V,fromBaseDecimal:J,value:I}))}}return M}catch(B){throw new Dy("toolbox_sui_balance_error",{error:B})}}async function C(_){let L=Jn.from({chain:vf.Sui,value:"0.01"});if(!_)return L;try{let B=await o(),{txBytes:w}=await G(_),{effects:{status:J,gasUsed:W}}=await B.dryRunTransactionBlock({transactionBlock:w});if(J.status!=="success")return L;let M=Number(W.computationCost)+Number(W.storageCost)-Number(W.storageRebate);return Jn.from({chain:vf.Sui,value:M.toString()})}catch{return L}}async function G({recipient:_,assetValue:L,gasBudget:B,sender:w}){let{Transaction:J}=await import("@mysten/sui/transactions"),W=w||f();if(!W)throw new Dy("toolbox_sui_no_sender");try{let M=new J;if(M.setSender(W),L.isGasAsset||L.symbol==="SUI"){let[I]=M.splitCoins(M.gas,[L.getBaseValue("string")]);M.transferObjects([I],_)}else throw new Dy("toolbox_sui_custom_token_transfer_not_implemented");if(B)M.setGasBudget(B);let U=await o(),v=await M.build({client:U});return{tx:M,txBytes:v}}catch(M){throw new Dy("toolbox_sui_transaction_creation_error",{error:M})}}async function N(_){if(!y)throw new Dy("toolbox_sui_no_signer");if(_ instanceof Uint8Array)return y.signTransaction(_);let{txBytes:L}="tx"in _?_:await G(_);return y.signTransaction(L)}async function X({assetValue:_,gasBudget:L,recipient:B}){if(!y)throw new Dy("toolbox_sui_no_signer");let w=y.toSuiAddress()||f();if(!w)throw new Dy("toolbox_sui_no_sender");let{txBytes:J}=await G({assetValue:_,gasBudget:L,recipient:B,sender:w}),W=await o(),{digest:M}=await W.signAndExecuteTransaction({signer:y,transaction:J});return M}return{createTransaction:G,estimateTransactionFee:C,getAddress:f,getBalance:l,signTransaction:N,transfer:X,validateAddress:x}}var cx=()=>{};var qn={};s(qn,{getSuiToolbox:()=>_5,getSuiAddressValidator:()=>jx});var Qn=R(()=>{cx()});import{AssetValue as mx,Chain as Mn,getChainConfig as ix,SwapKitError as oT,SwapKitNumber as L5}from"@swapkit/helpers";import{match as X5,P as gx}from"ts-pattern";async function B5(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:o}=await import("@ton/ton"),f=await dx(),l,C,G=await X5(T).with({phrase:gx.string},async({phrase:M})=>n(M.split(" "))).with({signer:gx.any},({signer:M})=>M).otherwise(()=>{return});function N(){let{rpcUrls:M}=ix(Mn.Ton),[U]=M;if(!l||l.parameters.endpoint!==U)l=new y({endpoint:U});return l}function X(M){if(!C||M){let U=N(),v=M||G;if(!v)throw new oT("core_wallet_connection_not_found");let I=o.create({publicKey:v.publicKey,workchain:0});C=U.open(I)}return C}async function _(M){let U=N(),{baseDecimal:v}=ix(Mn.Ton);try{let I=await U.getBalance(x.parse(M));return[mx.from({chain:Mn.Ton,value:L5.fromBigInt(I,v)})]}catch(I){throw new oT("core_wallet_connection_not_found",{error:I})}}async function L({assetValue:M,recipient:U,memo:v}){let I=X();if(!I||!G)throw new oT("core_wallet_connection_not_found");let{toNano:E,comment:V,internal:r}=await import("@ton/ton"),Yy=await I.getSeqno(),Z=E(M.getValue("string")),P=v?V(v):void 0;return I.createTransfer({messages:[r({body:P,to:U,value:Z})],secretKey:G.secretKey,seqno:Yy})}async function B({assetValue:M,recipient:U,memo:v}){let I=X();if(!I||!G)throw new oT("core_wallet_connection_not_found");let E=await L({assetValue:M,memo:v,recipient:U});return await I.send(E),E.hash().toString()}async function w(M){let U=X();if(!U)throw new oT("core_wallet_connection_not_found");try{return await U.send(M),M.hash().toString("hex")}catch(v){throw new oT("core_wallet_connection_not_found",{error:v})}}function J(){return X().address.toString()}function W(){return Promise.resolve(mx.from({chain:Mn.Ton,value:"0.0001"}))}return{createTransaction:L,estimateTransactionFee:W,getAddress:J,getBalance:_,sendTransaction:w,transfer:B,validateAddress:f}}async function dx(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var rx=()=>{};var Wn={};s(Wn,{getTONToolbox:()=>B5,getTONAddressValidator:()=>dx});var Pn=R(()=>{rx()});var xT;var Ef=R(()=>{xT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});import{SwapKitError as w5}from"@swapkit/helpers";async function ax(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${Z5}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let o=await y.json();if(!(o.success&&o.data)||o.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=x.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let l=o.data.find((C)=>{return C.address.toLowerCase()===f});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new w5("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var Z5="https://api.trongrid.io";var sx=()=>{};import{AssetValue as My,BaseDecimal as ex,Chain as Ny,derivationPathToString as n0,getRPCUrl as J5,NetworkDerivationPath as f0,SwapKitError as yy,updateDerivationPath as o0,warnOnce as uf}from"@swapkit/helpers";import{match as q5,P as y0}from"ts-pattern";async function Ff(){let T=await import("tronweb"),n=T.TronWeb??T.default?.TronWeb;return(x)=>{return n.isAddress(x)}}async function x0({phrase:T,derivationPath:n,index:x}){let y=n||n0(o0(f0[Ny.Tron],{index:x||0})),{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),l=f(T),G=o.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new yy("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function z5({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),f=o(T),C=y.fromMasterSeed(f).derive(n);if(!C.privateKey)throw new yy("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let N=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof N==="string"?N:""),signTransaction:async(X)=>{return await x.trx.sign(X,G)}}}var Q5=268,M5=13000,W5=345,T0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",P5="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",l0=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await J5(Ny.Tron),o=void 0,f=new x({fullHost:y,headers:void 0}),l="index"in T?T.index||0:0,C=n0("derivationPath"in T&&T.derivationPath?T.derivationPath:o0(f0[Ny.Tron],{index:l})),G=await q5(T).with({phrase:y0.string},async({phrase:Z})=>z5({derivationPath:C,phrase:Z,tronWeb:f})).with({signer:y0.any},({signer:Z})=>Promise.resolve(Z)).otherwise(()=>Promise.resolve(void 0)),N=async()=>{if(!G)throw new yy("toolbox_tron_no_signer");return await G.getAddress()},X=()=>{return 1e8},_=async()=>{try{let Z=await f.trx.getChainParameters(),P={};for(let Y of Z)P[Y.key]=Y.value;return{bandwidthFee:P.getTransactionFee||1000,createAccountFee:P.getCreateAccountFee||1e5,energyFee:P.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},L=async(Z)=>{try{let P=await f.trx.getAccount(Z);return P&&Object.keys(P).length>0}catch{return!1}},B=async(Z)=>{try{let P=await f.trx.getAccountResources(Z);return{bandwidth:{free:P.freeNetLimit-P.freeNetUsed,total:P.NetLimit||0,used:P.NetUsed||0},energy:{total:P.EnergyLimit||0,used:P.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},w=async(Z,P)=>{try{let Y=f.contract(xT,P);if(!Y.methods?.balanceOf)return 0n;let[O]=await Y.methods.balanceOf(Z).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(Y){return console.warn(`balanceOf() failed for ${P}:`,Y),0n}},J=async(Z,P)=>{try{f.setAddress(P);let Y=f.contract(xT,Z),[O,S]=await Promise.all([Y.symbol().call().catch(()=>"UNKNOWN"),Y.decimals().call().catch(()=>"18")]);return{decimals:Number(S??18),symbol:O??"UNKNOWN"}}catch(Y){return uf({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Z}: ${Y instanceof Error?Y.message:Y}`}),null}},W=async(Z,P=!0)=>{let Y=[My.from({chain:Ny.Tron})];try{let O=await ax(Z);if(O){let S=[];S.push(My.from({chain:Ny.Tron,fromBaseDecimal:6,value:O.balance}));for(let k of O.trc20){let[t,K]=Object.entries(k)[0]||[];if(!(t&&K))continue;let A=await J(t,Z);if(!A)continue;S.push(My.from({asset:`TRON.${A.symbol}-${t}`,fromBaseDecimal:A.decimals,value:BigInt(K||0)}))}return S}return Y}catch(O){uf({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${O instanceof Error?O.message:O}`});try{let S=[],k=await f.trx.getBalance(Z);if(k&&Number(k)>0)S.push(My.from({chain:Ny.Tron,fromBaseDecimal:6,value:k}));let t=await w(Z,T0);if(t)S.push(My.from({asset:`TRON.USDT-${T0}`,fromBaseDecimal:6,value:t}));if(S.length===0)return Y;return S}catch(S){return console.error("Tron balance fetch failed:",S),Y}}},M=async({recipient:Z,assetValue:P,memo:Y})=>{if(!G)throw new yy("toolbox_tron_no_signer");let O=await N();if(f.setAddress(O),P.isGasAsset){let A=await f.transactionBuilder.sendTrx(Z,P.getBaseValue("number"),O);if(Y){let a=await f.transactionBuilder.addUpdateData(A,Y,"utf8"),wy=await G.signTransaction(a),{txid:Fy}=await f.trx.sendRawTransaction(wy);return Fy}let oy=await G.signTransaction(A),{txid:xy}=await f.trx.sendRawTransaction(oy);return xy}let k=await v({assetValue:P,memo:Y,recipient:Z,sender:O}),t=await G.signTransaction(k),{txid:K}=await f.trx.sendRawTransaction(t);if(!K)throw new yy("toolbox_tron_token_transfer_failed");return K},U=async({assetValue:Z,recipient:P,sender:Y})=>{let O=Z.isGasAsset;try{let S=Y?Y:G?await N():void 0;if(!S)return O?My.from({chain:Ny.Tron,fromBaseDecimal:0,value:0.1}):My.from({chain:Ny.Tron,fromBaseDecimal:0,value:15});let k=await _(),K=await L(P)?0:k.createAccountFee,A=await B(S);if(O){let Ay=Q5,Do=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),Io=0;if(Ay>Do)Io=(Ay-Do)*k.bandwidthFee;let _l=K+Io;return My.from({chain:Ny.Tron,fromBaseDecimal:ex.TRON,value:_l})}let oy=W5,xy=M5,a=A.bandwidth.free+(A.bandwidth.total-A.bandwidth.used),wy=A.energy.total-A.energy.used,Fy=0;if(oy>a)Fy=(oy-a)*k.bandwidthFee;let $T=0;if(xy>wy)$T=(xy-wy)*k.energyFee;let tn=K+Fy+$T;return My.from({chain:Ny.Tron,fromBaseDecimal:ex.TRON,value:tn})}catch(S){throw uf({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${S instanceof Error?S.message:S}`}),new yy("toolbox_tron_fee_estimation_failed",{error:S})}},v=async(Z)=>{let{recipient:P,assetValue:Y,memo:O,sender:S,expiration:k}=Z;if(Y.isGasAsset){let A=await f.transactionBuilder.sendTrx(P,Y.getBaseValue("number"),S);if(O)return f.transactionBuilder.addUpdateData(A,O,"utf8");if(k)f.transactionBuilder.extendExpiration(A,k);return A}f.setAddress(S);let K=Y.address;if(!K)throw new yy("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});try{let oy=[{type:"address",value:P},{type:"uint256",value:Y.getBaseValue("string")}],xy={callValue:0,feeLimit:X()},a=await f.transactionBuilder.triggerSmartContract(K,"transfer(address,uint256)",xy,oy,S);if(O)return f.transactionBuilder.addUpdateData(a.transaction,O,"utf8");if(k)f.transactionBuilder.extendExpiration(a.transaction,k);return a.transaction}catch(A){throw new yy("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:A instanceof Error?A.message:String(A)})}},I=async(Z)=>{if(!G)throw new yy("toolbox_tron_no_signer");return await G.signTransaction(Z)},E=async(Z)=>{let{txid:P}=await f.trx.sendRawTransaction(Z);return P},V=async({assetAddress:Z,spenderAddress:P,from:Y})=>{try{let O=f.contract(xT,Z);if(!O.methods?.allowance)throw new yy("toolbox_tron_invalid_token_contract");let[S]=await O.methods.allowance(Y,P).call();return S?typeof S==="bigint"?S:BigInt(S):0n}catch(O){throw new yy("toolbox_tron_allowance_check_failed",{error:O})}};return{approve:async({assetAddress:Z,spenderAddress:P,amount:Y,from:O})=>{if(!G)throw new yy("toolbox_tron_no_signer");let S=O||await N(),k=Y!==void 0?BigInt(Y).toString():P5,t="approve(address,uint256)",K=[{type:"address",value:P},{type:"uint256",value:k}],oy={callValue:0,feeLimit:X()};try{let{transaction:xy}=await f.transactionBuilder.triggerSmartContract(Z,t,oy,K,S),a=await G.signTransaction(xy),{txid:wy}=await f.trx.sendRawTransaction(a);if(!wy)throw new yy("toolbox_tron_approve_failed");return wy}catch(xy){throw new yy("toolbox_tron_approve_failed",{error:xy})}},broadcastTransaction:E,createTransaction:v,estimateTransactionFee:U,getAddress:N,getApprovedAmount:V,getBalance:W,isApproved:async({assetAddress:Z,spenderAddress:P,from:Y,amount:O})=>{let S=await V({assetAddress:Z,from:Y,spenderAddress:P});if(!O)return S>0n;let k=BigInt(O);return S>=k},signTransaction:I,transfer:M,tronWeb:f,validateAddress:await Ff()}};var C0=R(()=>{Ef();sx()});var Af={};s(Af,{trc20ABI:()=>xT,getTronPrivateKeyFromMnemonic:()=>x0,getTronAddressValidator:()=>Ff,createTronToolbox:()=>l0});var tf=R(()=>{Ef();C0()});import{networks as Y5}from"@bitgo/utxo-lib";import{Chain as g,getRPCUrl as U5,RequestClient as zn,SKConfig as _0,SwapKitError as Iy,warnOnce as L0}from"@swapkit/helpers";import{networks as H5}from"bitcoinjs-lib";import vT from"coininfo";async function R5({chain:T,txHash:n}){let x=`${Yn(T)}/push/transaction`,y=JSON.stringify({data:n});try{let o=await zn.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(o.context.code!==200)throw new Iy("toolbox_utxo_broadcast_failed",{error:o.context.error||"Transaction broadcast failed"});return o.data?.transaction_hash||n}catch(o){let f=await U5(T);if(f){let l=JSON.stringify({id:ko(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await zn.post(f,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new Iy("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new Iy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw o}}function Yn(T){return`https://api.blockchair.com/${O5(T)}`}function G0(T){switch(T){case g.Bitcoin:return 5;case g.Dogecoin:return 1e4;case g.Litecoin:return 1;case g.Zcash:return 1;default:return 2}}function O5(T){switch(T){case g.BitcoinCash:return"bitcoin-cash";case g.Litecoin:return"litecoin";case g.Dash:return"dash";case g.Dogecoin:return"dogecoin";case g.Zcash:return"zcash";case g.Polkadot:return"polkadot";default:return"bitcoin"}}async function S5(T){try{let{feePerKb:n}=await zn.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,G0(T))}catch{return G0(T)}}async function Vf(T,n){let x=await zn.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new Iy("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function X0({address:T,chain:n,apiKey:x}){if(!T)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Vf(`${Yn(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function D5({address:T,chain:n,apiKey:x}){return(await X0({address:T,apiKey:x,chain:n}))?.address.balance||0}async function B0({chain:T,apiKey:n,txHash:x}){if(!x)throw new Iy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Vf(`${Yn(T)}/raw/transaction/${x}`,n))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function I5({chain:T,address:n,apiKey:x,offset:y=0,limit:o=30}){return(await Vf(`${Yn(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${o}&offset=${y}`,x)).map(({is_spent:G,script_hex:N,block_id:X,transaction_hash:_,index:L,value:B,spending_signature_hex:w})=>({hash:_,index:L,is_confirmed:X!==-1,is_spent:G,script_hex:N,txHex:w,value:B}))}function k5(T){return T.reduce((n,x)=>n+x.value,0)}function N0(T,n){let x=[...T].sort((y,o)=>o.value-y.value);if(n){let y=[],o=0;for(let f of x)if(y.push(f),o+=f.value,o>=n)break;return y}return x}async function w0({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:o=0,offset:f=0,limit:l=30}){if(!n)throw new Iy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await I5({address:n,apiKey:x,chain:T,limit:l,offset:f,targetValue:y}),N=C.length<l,X=C.filter(({is_spent:W})=>!W),_=k5(X),L=o+_,B=y&&L>=y;if(N||B)return N0(X,y);let w=await w0({accumulativeValue:L,address:n,apiKey:x,chain:T,limit:l,offset:f+l,targetValue:y}),J=[...X,...w];return N0(J,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function v5({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:o}){let f=await w0({address:T,apiKey:x,chain:n,targetValue:o}),l=[];for(let{hash:C,index:G,script_hex:N,value:X}of f){let _;if(y)_=await B0({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:_,value:X,witnessUtxo:{script:Buffer.from(N,"hex"),value:X}})}return l}function E5(T){let n=_0.get("apiKeys").blockchair||"";return L0({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>R5({chain:T,txHash:x}),getAddressData:(x)=>X0({address:x,apiKey:n,chain:T}),getBalance:(x)=>D5({address:x,apiKey:n,chain:T}),getRawTx:(x)=>B0({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>S5(T),getUtxos:(x)=>v5({...x,apiKey:n,chain:T})}}function u5(T){return T}function Ty(T){let n=_0.get("apis")[T];if(n)return L0({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return E5(T)}function _y(){return function(n){switch(n){case g.Bitcoin:return H5.bitcoin;case g.BitcoinCash:return vT.bitcoincash.main.toBitcoinJS();case g.Dash:return vT.dash.main.toBitcoinJS();case g.Litecoin:return vT.litecoin.main.toBitcoinJS();case g.Dogecoin:{let x={private:70615956,public:70617039},y=vT.dogecoin.test;return y.versions.bip32=x,vT.dogecoin.main.toBitcoinJS()}case g.Zcash:return Y5.zcash;default:throw new Iy("toolbox_utxo_not_supported",{chain:n})}}}var Z0=R(()=>{ZT()});import{SwapKitError as q0}from"@swapkit/helpers";import Q0 from"bs58check";import M0 from"cashaddrjs";function bf(T){try{return Un(T),!0}catch{return!1}}function $f(T){return Un(T)?.network}function lT(T){let n=Un(T);if(n?.format==="legacy")return T;return t5(n)}function ET(T){let n=Un(T);return V5(n)}function Un(T){try{let n=F5(T);if(n)return n}catch{}try{let n=A5(T);if(n)return n}catch{}throw new q0("toolbox_utxo_invalid_address",{address:T})}function F5(T){try{let n=Q0.decode(T);if(n.length!==21)throw new q0("toolbox_utxo_invalid_address",{address:T});let x=n[0],y=Array.prototype.slice.call(n,1);switch(x){case jy.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case jy.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case jy.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case jy.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case jy.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case jy.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function A5(T){if(T.indexOf(":")!==-1)try{return J0(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return J0(`${x}:${T}`)}catch{}}return}function J0(T){try{let{hash:n,prefix:x,type:y}=M0.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t5(T){let n=jy.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=n,x.set(T.hash,1),Q0.encode(x)}function V5(T){let n=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return M0.encode(n,x,y)}var Kf,jy;var W0=R(()=>{((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Kf||={});jy={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as K5}from"@swapkit/helpers";import{opcodes as b5,script as $5}from"bitcoinjs-lib";function Ly(T){let n=Buffer.from(T,"utf8");return $5.compile([b5.OP_RETURN,n])}var p5=1000,On=10,P0=10,h5=41,j5=107,Sn,Hn,Rn,uT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new K5("toolbox_utxo_invalid_address",{address:T})},CT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?uT(T[0].address):"P2PKH",o=T.filter((l)=>l.value>=Hn["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+ky(C),0),f=n?.reduce((l,C)=>l+FT(C),0)||Rn[y];return On+o+f},ky=(T)=>{if("type"in T)return Hn[T.type];if("address"in T&&T.address)return Hn[uT(T.address)];return h5+j5},FT=(T,n)=>{if(T?.script)return P0+T.script.length+(T.script.length>=74?2:1);if(n)return Rn[n];return Rn.P2PKH};var pf=R(()=>{((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(Sn||={});Hn={["P2PKH"]:148,["P2WPKH"]:68},Rn={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as cy,SwapKitError as c5}from"@swapkit/helpers";function Dn(T){switch(T){case cy.Bitcoin:case cy.BitcoinCash:return 550;case cy.Dash:case cy.Litecoin:return 5500;case cy.Dogecoin:return 1e5;case cy.Zcash:return 546;default:throw new c5("toolbox_utxo_not_supported",{chain:T})}}function Xy({inputs:T,outputs:n,feeRate:x=1,chain:y=cy.Bitcoin,changeAddress:o=""}){let f=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?uT(T[0].address):"P2PKH",C=T.filter((B)=>ky(B)*f<=B.value),G=On+n.reduce((B,w)=>B+FT(w,l),0),N=n.reduce((B,w)=>B+w.value,0),X=G*f,_=0,L=[];for(let B of C){let w=ky(B),J=f*w;X+=J,_+=B.value,L.push(B);let W=X+N;if(_<W)continue;let M=_-W,U=f*FT({address:"",value:0},l);if(M>U){let v=U+X,I=_-(N+v);if(I>Math.max(ky({})*f,Dn(y)))return{fee:v,inputs:L,outputs:n.concat({address:o,value:I})}}return{fee:X,inputs:L,outputs:n}}return{fee:f*CT({feeRate:f,inputs:T,outputs:n})}}var z0=R(()=>{pf()});var GT=R(()=>{Z0();W0();z0();pf()});import{networks as m5,address as i5}from"@bitgo/utxo-lib";import g5 from"bs58check";function my(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function vy(T){let n=my(T);return bf(n)&&$f(n)==="mainnet"}function NT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let n=m5.zcash;try{return i5.toOutputScript(T,n),!0}catch{let x=g5.decode(T);if(x.length<21)return!1;let y=x[0];return y===n.pubKeyHash||y===n.scriptHash}}catch{return!1}}var AT=R(()=>{GT()});import jf from"@bitcoinerlab/secp256k1";import{ECPair as d5,HDNode as r5}from"@psf/bitcoincashjs-lib";import{HDKey as a5}from"@scure/bip32";import{mnemonicToSeedSync as Y0}from"@scure/bip39";import{AssetValue as hf,applyFeeMultiplier as U0,Chain as ny,DerivationPath as s5,derivationPathToString as e5,FeeOption as Wy,NetworkDerivationPath as yC,SwapKitError as Py,SwapKitNumber as TC,updateDerivationPath as nC}from"@swapkit/helpers";import{address as fC,initEccLib as R0,Psbt as oC,payments as H0}from"bitcoinjs-lib";import{ECPairFactory as xC}from"ecpair";function O0({inputs:T,outputs:n,chain:x,psbt:y,sender:o,compiledMemo:f}){for(let l of T){let C=!!l.witnessUtxo&&!tT.includes(x)&&{witnessUtxo:l.witnessUtxo},G=tT.includes(x)&&{nonWitnessUtxo:l.txHex?Buffer.from(l.txHex,"hex"):void 0};y.addInput({hash:l.hash,index:l.index,...C,...G})}for(let l of n){let C="address"in l&&l.address?l.address:o,G=l.script;if(G&&!f)continue;let N=G?{script:f,value:0}:{address:C,value:l.value};R0(jf),y.addOutput(N)}return{inputs:T,psbt:y}}async function S0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,fetchTxHex:f=!1}){let l=T.chain,C=x?await Ly(x):null,G=await k0({assetValue:T,fetchTxHex:f,memo:x,recipient:n,sender:o}),{inputs:N,outputs:X}=Xy({...G,chain:l,feeRate:y});if(!(N&&X))throw new Py("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let _=await _y(),L=new oC({network:_(l)});if(l===ny.Dogecoin)L.setMaximumFeeRate(650000000);let{psbt:B,inputs:w}=await O0({chain:l,compiledMemo:C,inputs:N,outputs:X,psbt:L,sender:o});return{inputs:w,psbt:B,utxos:G.inputs}}async function D0(){let T=await _y();return function({address:x,chain:y}){if(y===ny.BitcoinCash)return vy(x);if(y===ny.Zcash)return NT(x);try{return R0(jf),fC.toOutputScript(x,T(y)),!0}catch{return!1}}}async function lC({chain:T,phrase:n,derivationPath:x}){let y=(await VT(T))({derivationPath:x,phrase:n});async function o(l){return await l.signAllInputs(y),l}function f(){return cf(T)(y)}return{getAddress:f,signTransaction:o}}async function iy({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,o=e5("derivationPath"in n&&n.derivationPath?n.derivationPath:nC(yC[T],{index:y})),f=x?await lC({chain:T,derivationPath:o,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let C=await D0(),G=await VT(T);return{accumulative:Xy,broadcastTx:(N)=>Ty(T).broadcastTx(N),calculateTxSize:CT,createKeysForPath:G,createTransaction:S0,estimateMaxSendableAmount:CC(T),estimateTransactionFee:GC(T),getAddress:l,getAddressFromKeys:cf(T),getBalance:dy(T),getFeeRates:()=>KT(T),getInputsOutputsFee:I0,getPrivateKeyFromMnemonic:(N)=>{return G(N).toWIF()},transfer:NC(f),validateAddress:(N)=>C({address:N,chain:T})}}async function I0({assetValue:T,feeOptionKey:n=Wy.Fast,feeRate:x,memo:y,sender:o,recipient:f}){let l=T.chain,C=await k0({assetValue:T,memo:y,recipient:f,sender:o}),G=x?Math.floor(x):(await KT(l))[n];return Xy({...C,chain:l,feeRate:G})}function CC(T){return async function({from:x,memo:y,feeRate:o,feeOptionKey:f=Wy.Fast,recipients:l=1}){let C=await Ty(T).getAddressData(x),G=o?Math.ceil(o):(await KT(T))[f],N=C?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Dn(T),ky(w)*G));if(!N?.length)return hf.from({chain:T});let X=hf.from({chain:T,value:N.reduce((w,J)=>w+J.value,0)}),_=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let w=await Ly(y);_.push({address:x,script:w,value:0})}let B=CT({feeRate:G,inputs:N,outputs:_})*G;return X.sub(B)}}function GC(T){return async(n)=>{let x=await I0(n);return hf.from({chain:T,value:TC.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function VT(T){let n=await _y();switch(T){case ny.BitcoinCash:return function({phrase:y,derivationPath:o=`${s5.BCH}/0`,wif:f}){let l=n(T);if(f)return d5.fromWIF(f,l);if(!y)throw new Py("toolbox_utxo_invalid_params",{error:"No phrase provided"});return r5.fromSeedBuffer(Buffer.from(Y0(y)),l).derivePath(o).keyPair};case ny.Bitcoin:case ny.Dogecoin:case ny.Litecoin:case ny.Zcash:case ny.Dash:return function({phrase:y,wif:o,derivationPath:f}){if(!(o||y))throw new Py("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=xC(jf),C=n(T);if(o)return l.fromWIF(o,C);let G=Y0(y),N=a5.fromMasterSeed(G,C).derive(f);if(!N.privateKey)throw new Py("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(N.privateKey),{network:C})};default:throw new Py("toolbox_utxo_not_supported",{chain:T})}}function cf(T){let n=_y();return function(y){if(!y)throw new Py("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let o=tT.includes(T)?H0.p2pkh:H0.p2wpkh,{address:f}=o({network:n(T),pubkey:y.publicKey});if(!f)throw new Py("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function NC(T){return async function({memo:x,recipient:y,feeOptionKey:o,feeRate:f,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new Py("toolbox_utxo_no_signer");if(!y)throw new Py("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=f||(await KT(G))[o||Wy.Fast],{psbt:X}=await S0({assetValue:l,feeRate:N,memo:x,recipient:y,sender:C}),_=await T.signTransaction(X);return _.finalizeAllInputs(),Ty(G).broadcastTx(_.extractTransaction().toHex())}}async function KT(T){let n=await Ty(T).getSuggestedTxFee();return{[Wy.Average]:n,[Wy.Fast]:U0(n,Wy.Fast),[Wy.Fastest]:U0(n,Wy.Fastest)}}async function k0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:o=!1}){let f=T.chain,l=(await KT(f))[Wy.Fastest],C=o||tT.includes(f),G=T.getBaseValue("number"),N=Math.ceil(G+l*5000);return{inputs:await Ty(f).getUtxos({address:y,fetchTxHex:C,targetValue:N}),outputs:[{address:n,value:G},...x?[{address:"",script:await Ly(x),value:0}]:[]]}}var tT;var bT=R(()=>{ZT();GT();AT();tT=[ny.Dash,ny.Dogecoin,ny.Zcash,ny.BitcoinCash]});import{address as _C,Transaction as LC,TransactionBuilder as XC}from"@psf/bitcoincashjs-lib";import{Chain as BC,derivationPathToString as wC,FeeOption as ZC,NetworkDerivationPath as JC,SwapKitError as _T,updateDerivationPath as qC}from"@swapkit/helpers";import{Psbt as QC}from"bitcoinjs-lib";function gy(T){return my(ET(T))}function MC(T){function n({builder:y,utxos:o}){return o.forEach((f,l)=>{y.sign(l,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(gy(y))},signTransaction:n}}async function mf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=wC("derivationPath"in T&&T.derivationPath?T.derivationPath:qC(JC[Cy],{index:x})),o=n?(await VT(Cy))({derivationPath:y,phrase:n}):void 0,f=o?MC(o):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:N,...X}=await iy({chain:Cy});function _(L,B=!0){return C(my(ET(L)))}return{...X,broadcastTx:N,buildTx:PC,createTransaction:v0,getAddress:l,getAddressFromKeys:zC,getBalance:_,getFeeRates:G,stripPrefix:my,stripToCashAddress:gy,transfer:WC({broadcastTx:N,getFeeRates:G,signer:f}),validateAddress:vy}}async function v0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o}){if(!vy(n))throw new _T("toolbox_utxo_invalid_address",{address:n});let f=Math.ceil(T.getBaseValue("number")+y*7500),l=await Ty(Cy).getUtxos({address:gy(o),fetchTxHex:!0,targetValue:f}),C=x?await Ly(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:N,outputs:X}=Xy({chain:Cy,feeRate:y,inputs:l,outputs:G});if(!(N&&X))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let _=await _y(),L=new XC(_(Cy));await Promise.all(N.map(async(B)=>{let w=await Ty(Cy).getRawTx(B.hash);L.addInput(LC.fromBuffer(Buffer.from(w,"hex")),B.index)}));for(let B of X){let w="address"in B&&B.address?B.address:lT(o),J=await _y(),W=_C.toOutputScript(lT(w),J(Cy));L.addOutput(W,B.value)}if(C)L.addOutput(C,0);return{builder:L,utxos:N}}function WC({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:o,assetValue:f,feeOptionKey:l=ZC.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new _T("toolbox_utxo_no_signer");if(!o)throw new _T("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let N=C.feeRate||(await n())[l],{builder:X,utxos:_}=await v0({...C,assetValue:f,feeRate:N,recipient:o,sender:G}),B=(await x.signTransaction({builder:X,utxos:_})).toHex();return T(B)}}async function PC({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,setSigHashType:f}){let l=ET(n);if(!vy(l))throw new _T("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await Ty(Cy).getUtxos({address:gy(o),fetchTxHex:!1,targetValue:C}),N=Number(y.toFixed(0)),X=x?await Ly(x):null,_=[];if(_.push({address:lT(n),value:T.getBaseValue("number")}),X)_.push({script:X,value:0});let{inputs:L,outputs:B}=Xy({chain:Cy,feeRate:N,inputs:G,outputs:_});if(!(L&&B))throw new _T("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let w=await _y(),J=new QC({network:w(Cy)});for(let{hash:W,index:M,witnessUtxo:U}of L)J.addInput({hash:W,index:M,sighashType:f?65:void 0,witnessUtxo:U});for(let W of B){let M="address"in W&&W.address?W.address:lT(o),U=W.script?X?{script:X,value:0}:void 0:{address:M,value:W.value};if(U)J.addOutput(U)}return{inputs:L,psbt:J,utxos:G}}function zC(T){let n=T.getAddress(0);return gy(n)}var Cy;var In=R(()=>{GT();bT();AT();Cy=BC.BitcoinCash});import{bitgo as YC,crypto as UC,ECPair as u0,networks as HC,address as RC}from"@bitgo/utxo-lib";import{HDKey as F0}from"@scure/bip32";import{mnemonicToSeedSync as A0}from"@scure/bip39";import{Chain as kn,derivationPathToString as OC,FeeOption as SC,NetworkDerivationPath as DC,SKConfig as IC,SwapKitError as vn,updateDerivationPath as kC}from"@swapkit/helpers";import vC from"bs58check";import{match as EC,P as gf}from"ts-pattern";function t0(){return HC.zcash}function V0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function uC({phrase:T,derivationPath:n}){let x=A0(T),o=F0.fromMasterSeed(x).derive(n);if(!o.privateKey)throw new vn("toolbox_utxo_invalid_params");let f=V0(),l=u0.fromPrivateKey(Buffer.from(o.privateKey),{network:f}),C=UC.hash160(l.publicKey),{isStagenet:G}=IC.get("envs"),N=G?Buffer.from([29,37]):Buffer.from([28,184]),X=Buffer.concat([N,C]),_=vC.encode(X);return{getAddress:()=>Promise.resolve(_),signTransaction:(L)=>{let B=L.signAllInputs(l);return Promise.resolve(B)}}}function FC({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:o}){for(let f of T){let l=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},C=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};x.addInput({hash:f.hash,index:f.index,...l,...C})}for(let f of n){let l="address"in f&&f.address?f.address:y,C=f.script;if(C&&!o)continue;let G=C?{script:o,value:0n}:{script:RC.toOutputScript(l,t0()),value:BigInt(f.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function E0(T){let{assetValue:n,recipient:x,memo:y,feeRate:o,sender:f,fetchTxHex:l}=T,C=y?Ly(y):null,G=await Ty(kn.Zcash).getUtxos({address:f,fetchTxHex:l!==!1}),N=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:X,outputs:_}=Xy({chain:kn.Zcash,changeAddress:f,feeRate:o,inputs:G,outputs:N});if(!(X&&_))throw new vn("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let L=YC.createPsbtForNetwork({network:t0()},{version:455}),w=3268858036,J=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=Buffer.allocUnsafe(4);W.writeUInt32LE(w>>>0,0),L.addUnknownKeyValToGlobal({key:J,value:W});let{psbt:M,inputs:U}=await FC({compiledMemo:C,inputs:X,outputs:_,psbt:L,sender:f});return{inputs:U,outputs:_,psbt:M}}async function df(T){let n=await EC(T).with({signer:gf.not(gf.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:gf.string},({phrase:l,derivationPath:C,index:G=0})=>{let N=C||DC[kn.Zcash]||[44,133,0,0,0],X=kC(N,{index:G}),_=OC(X);return uC({derivationPath:_,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await iy({chain:kn.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=SC.Fast,...N}){let X=await n?.getAddress();if(!(n&&X))throw new vn("toolbox_utxo_no_signer");let _=N.feeRate||(await x.getFeeRates())[G],{psbt:L}=await E0({...N,assetValue:C,feeRate:_,recipient:l,sender:X}),B=await n.signTransaction(L);return B.finalizeAllInputs(),x.broadcastTx(B.extractTransaction().toHex())}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=A0(l),X=F0.fromMasterSeed(G).derive(C);if(!X.privateKey)throw new vn("toolbox_utxo_invalid_params");let _=V0();return u0.fromPrivateKey(Buffer.from(X.privateKey),{network:_})}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return o({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:o,createTransaction:E0,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:NT}}var rf=R(()=>{GT();bT();AT()});import{Chain as LT,SwapKitError as AC}from"@swapkit/helpers";async function tC(T,n){switch(T){case LT.BitcoinCash:return await mf(n||{});case LT.Zcash:return await df(n);case LT.Bitcoin:case LT.Dogecoin:case LT.Litecoin:case LT.Dash:return await iy({chain:T,...n});default:throw new AC("toolbox_utxo_not_supported",{chain:T})}}var K0=R(()=>{In();bT();rf();In();AT()});var af={};s(af,{validateZcashAddress:()=>NT,toLegacyAddress:()=>lT,toCashAddress:()=>ET,stripToCashAddress:()=>gy,stripPrefix:()=>my,nonSegwitChains:()=>tT,isValidAddress:()=>bf,getUtxoToolbox:()=>tC,getUtxoNetwork:()=>_y,getUtxoApi:()=>Ty,getUTXOAddressValidator:()=>D0,getScriptTypeForAddress:()=>uT,getOutputSize:()=>FT,getInputSize:()=>ky,getDustThreshold:()=>Dn,getCreateKeysForPath:()=>VT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>iy,createCustomUtxoApi:()=>u5,createBCHToolbox:()=>mf,compileMemo:()=>Ly,calculateTxSize:()=>CT,bchValidateAddress:()=>vy,addressFromKeysGetter:()=>cf,addInputsAndOutputs:()=>O0,accumulative:()=>Xy,UtxoNetwork:()=>Kf,UTXOScriptType:()=>Sn,TX_OVERHEAD:()=>On,OutputSizes:()=>Rn,OP_RETURN_OVERHEAD:()=>P0,MIN_TX_FEE:()=>p5,InputSizes:()=>Hn});var sf=R(()=>{GT();K0();In();bT();rf()});import{derivationPathToString as VC,SwapKitError as KC}from"@swapkit/helpers";import{KeyPairSigner as bC}from"near-api-js";async function En(){let{validateAccountId:T}=await import("near-sdk-js");return(n)=>{try{return T(n)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return n.length>=2&&n.length<=64&&x.test(n)}}}async function un(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,o=T.derivationPath?VC(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=n(T.phrase,o),l=x.fromString(f);return $0(l)}async function ef(T){let{KeyPair:n}=await import("near-api-js/lib/utils"),x=n.fromString(T);return $0(x)}function $0(T){return new b0(T)}async function Fn(T,n){let y=(await T.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((C)=>C.access_key.permission==="FullAccess");if(!y)throw new KC("toolbox_near_no_public_key_found");let{utils:o}=await import("near-api-js"),f=o.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var b0;var yo=R(()=>{b0=class b0 extends bC{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),n=Buffer.from(T.data).toString("hex");return Promise.resolve(n)}}});function To(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function no(T){return"contractId"in T&&"methodName"in T}function fo(T){return"actions"in T}function oo(T){return"newAccountId"in T}function xo(T){return"contractCode"in T}function lo(T){return"customEstimator"in T}function Co(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(d.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(d.CONTRACT_CALL);break;case"createAccount":n+=Number(d.ACCOUNT_CREATION);break;case"deployContract":n+=Number(d.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(d.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(d.ACCESS_KEY_DELETION);break;case"stake":n+=Number(d.STAKE);break;default:n+=Number(d.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return d.TOKEN_TRANSFER;if(T==="storage_deposit")return d.STORAGE_DEPOSIT;return d.CONTRACT_CALL}function $C(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function pC(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var d;var No=R(()=>{d={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function An({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:o}=await import("near-api-js");return new o(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function _o({contractId:T,account:n}){let x=(await import("bn.js")).default,y=await An({account:n,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),o=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let G=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new x("100000000000000"),new x(G))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:o,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,l)=>y.storage_deposit({account_id:f},new x("100000000000000"),new x(l||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,l,C)=>{return await o(f),y.ft_transfer({amount:l,memo:C,receiver_id:f},new x("100000000000000"),new x("1"))},transferCall:async(f,l,C,G)=>{return await o(f),y.ft_transfer_call({amount:l,memo:G,msg:C,receiver_id:f},new x("100000000000000"),new x("1"))}}}import{AssetValue as p0,Chain as XT,getChainConfig as h0,getRPCUrl as hC,SwapKitError as fy}from"@swapkit/helpers";async function jC(T){let{P:n,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),o=await x(T).with({phrase:n.string},async(Z)=>{return await un(Z)}).with({signer:n.any},({signer:Z})=>Z).otherwise(()=>{return}),f=await hC(XT.Near),l=new y.JsonRpcProvider({url:f});async function C(Z){let{Account:P}=await import("near-api-js"),Y=Z||await G();return new P(Y,l,o)}async function G(){if(!o)throw new fy("toolbox_near_no_signer");return await o.getAddress()}async function N(Z){if(!o)throw new fy("toolbox_near_no_signer");let P=await X({...Z,sender:await G()});return J(await w(P))}async function X(Z){let{recipient:P,assetValue:Y,memo:O,attachedDeposit:S,sender:k,functionCall:t}=Z,K=await En();if(!K(P))throw new fy("toolbox_near_invalid_address",{recipient:P});if(!K(k))throw new fy("toolbox_near_invalid_address",{signerId:k});if(t)return L({...t,sender:k});if(!Y.isGasAsset){let Ay=Y.address;if(!Ay)throw new fy("toolbox_near_missing_contract_address");return L({args:{amount:Y.getBaseValue("string"),memo:O||null,receiver_id:P},attachedDeposit:S||"1",contractId:Ay,gas:"250000000000000",methodName:"ft_transfer",sender:k})}let{publicKey:A,nonce:oy}=await Fn(l,k),xy=Y.getBaseValue("bigint"),{transactions:a,utils:wy}=await import("near-api-js"),Fy=[a.transfer(xy)];if(O&&S)Fy.push(a.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(S)));let $T=await l.block({finality:"final"}),tn=wy.serialize.base_decode($T.header.hash);return a.createTransaction(k,A,P,oy+1,Fy,tn)}async function _(Z){let{SCHEMA:P}=await import("near-api-js/lib/transaction"),{utils:Y}=await import("near-api-js"),O=Y.serialize.serialize(P.Transaction,Z);return Buffer.from(O).toString("base64")}async function L(Z){let{sender:P}=Z,{publicKey:Y,nonce:O}=await Fn(l,P),{transactions:S,utils:k}=await import("near-api-js"),t=await l.block({finality:"final"}),K=k.serialize.base_decode(t.header.hash),A=[S.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))];return S.createTransaction(P,Y,Z.contractId,O+1,A,K)}async function B(Z){let{transactions:P}=await import("near-api-js");return P.functionCall(Z.methodName,Buffer.from(JSON.stringify(Z.args)),BigInt(Z.gas),BigInt(Z.attachedDeposit))}async function w(Z){if(!o)throw new fy("toolbox_near_no_signer");let[P,Y]=await o.signTransaction(Z);return Y}async function J(Z){return(await l.sendTransaction(Z)).transaction.hash}async function W(Z){if("assetValue"in Z){let S=BigInt("115123062500")+BigInt("108059500000"),k=await M(),t=S*BigInt(k.toString()),{baseDecimal:K}=h0(XT.Near);return p0.from({chain:XT.Near,fromBaseDecimal:K,value:t.toString()})}let P=o?await C():void 0;return r(Z,P)}async function M(){try{return await l.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function U(Z,P,Y){if(!o)throw new fy("toolbox_near_no_signer");let O=await C(),{utils:S}=await import("near-api-js"),k=S.format.parseNearAmount(Y)||"0";return(await O.createAccount(Z,S.PublicKey.fromString(P),BigInt(k))).transaction.hash}async function v(Z){try{if(!o)throw new fy("toolbox_near_no_signer");let{transactions:P}=await import("near-api-js"),{contractId:Y,methodName:O,args:S,deposit:k}=Z,t=await C(),K=await r({args:S||{},contractId:Y,methodName:O}),A=P.functionCall(O,S||{},K.getBaseValue("bigint"),BigInt(k||"1"));return(await t.signAndSendTransaction({actions:[A],receiverId:Y})).transaction_outcome.id}catch(P){throw new fy("toolbox_near_transfer_failed",{error:P})}}async function I(Z){let P=await C();return An({account:P,changeMethods:Z.changeMethods,contractId:Z.contractId,viewMethods:Z.viewMethods})}async function E(Z){if(!o)throw new fy("toolbox_near_no_signer");if(Z.actions.length===0)throw new fy("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:Z.actions,receiverId:Z.receiverId})).transaction.hash}async function V(Z){let P=await C();return _o({account:P,contractId:Z})}async function r(Z,P){let{baseDecimal:Y}=h0(XT.Near),O=await x(Z).when(To,()=>d.SIMPLE_TRANSFER).when(no,(t)=>Go(t.methodName)).when(fo,(t)=>Co(t.actions)).when(oo,()=>d.ACCOUNT_CREATION).when(xo,()=>d.CONTRACT_DEPLOYMENT).when(lo,(t)=>{if(!P)throw new fy("toolbox_near_no_account");return t.customEstimator(P)}).otherwise(()=>{throw new fy("toolbox_near_invalid_gas_params")}),k=BigInt(O)*BigInt(1000000000000);return p0.from({chain:XT.Near,fromBaseDecimal:Y,value:k})}async function Yy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:J,callFunction:v,createAction:B,createContract:I,createContractFunctionCall:L,createSubAccount:U,createTransaction:X,estimateGas:r,estimateTransactionFee:W,executeBatchTransaction:E,getAddress:G,getBalance:dy(XT.Near),getGasPrice:Yy,getPublicKey:async()=>o?(await o.getPublicKey()).toString():"",getSignerFromPhrase:(Z)=>un(Z),getSignerFromPrivateKey:ef,nep141:V,provider:l,serializeTransaction:_,signTransaction:w,transfer:N,validateAddress:await En()}}var Lo=R(()=>{ZT();yo();No()});var j0=R(()=>{Lo()});var Xo={};s(Xo,{tgasToGas:()=>$C,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>En,getNearToolbox:()=>jC,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>un,getFullAccessPublicKey:()=>Fn,getContractMethodGas:()=>Go,gasToTGas:()=>pC,estimateBatchGas:()=>Co,createNearContract:()=>An,createNEP141Token:()=>_o,GAS_COSTS:()=>d});var Bo=R(()=>{yo();No();Lo();j0()});var wo={};s(wo,{radixValidateAddress:()=>m0,RadixToolbox:()=>sC});import{AssetValue as cC,Chain as c0,SKConfig as mC,SwapKitError as iC}from"@swapkit/helpers";function m0(T){return T.startsWith("account_rdx1")&&T.length===66}function gC({networkApi:T}){return async function(x){let y=await dC({address:x,networkApi:T});return rC({networkApi:T,resources:y})}}async function dC({address:T,networkApi:n}){let x=!0,y,o=[],f=await aC(n);while(x){let l={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(o=o.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return o}async function rC({resources:T,networkApi:n}){let x=[],y=50,o=[];for(let f=0;f<T.length;f+=50)o.push(T.slice(f,f+50));for(let f of o){let l=f.map((N)=>N.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let N of C)if(N.details!==void 0){let X=N.metadata?.items.find((L)=>L.key==="symbol"),_=X?.value.typed.type==="String"?X.value.typed.value:"?";if(N.details.type==="FungibleResource")G.set(N.address,{decimals:N.details.divisibility,symbol:_})}for(let N of f)if(N.aggregation_level==="Global"){let X=G.get(N.resource_address)||{decimals:0,symbol:"?"},_=cC.from({asset:X.symbol!==c0.Radix?`${c0.Radix}.${X.symbol}-${N.resource_address}`:"XRD.XRD",value:N.amount});x.push(_)}}return x}function aC(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var sC=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||mC.get("integrations").radix,o=n({...y,networkId:y.network?.networkId||1}),f=x.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:gC({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new iC("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:m0}};var Zo=()=>{};var Qo={};s(Qo,{rippleValidateAddress:()=>qo,hashes:()=>C2,getRippleToolbox:()=>l2});import{AssetValue as Jo,Chain as zy,getChainConfig as i0,getRPCUrl as eC,SwapKitError as Ey,SwapKitNumber as y2}from"@swapkit/helpers";import{Client as T2,isValidAddress as n2,Wallet as f2,xrpToDrops as o2}from"xrpl";import{hashes as C2}from"xrpl";function g0(T){let n=f2.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function qo(T){return n2(T)}var x2,l2=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?g0(T.phrase):void 0,x=await eC(zy.Ripple);if(!x)throw new Ey({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:zy.Ripple}});let y=new T2(x);await y.connect();let o=()=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},f=async(L)=>{let B=L||await o(),{baseDecimal:w}=i0(zy.Ripple);try{let W=(await y.request({account:B,command:"account_info"})).result.account_data.Balance;return[Jo.from({chain:zy.Ripple,fromBaseDecimal:w,value:W})]}catch(J){if(J.data.error_code===x2.ACCOUNT_NOT_FOUND)return[Jo.from({chain:zy.Ripple,value:0})];throw new Ey("toolbox_ripple_get_balance_error",{info:{address:B,error:J}})}},l=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:w}=i0(zy.Ripple);return Jo.from({chain:zy.Ripple,fromBaseDecimal:w,value:y2.fromBigInt(BigInt(B),w)})},C=async({assetValue:L,recipient:B,memo:w,sender:J})=>{if(!qo(B))throw new Ey({errorKey:"core_transaction_invalid_recipient_address"});let W=J||await o();if(!L.isGasAsset||L.chain!==zy.Ripple)throw new Ey({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let M={Account:W,Amount:o2(L.getValue("string")),Destination:B,TransactionType:"Payment"};if(w)M.Memos=[{Memo:{MemoData:Buffer.from(w).toString("hex")}}];return await y.autofill(M)},G=(L)=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)},N=async(L)=>{let w=(await y.submitAndWait(L)).result;if(w.validated)return w.hash;throw new Ey({errorKey:"toolbox_ripple_broadcast_error",info:{chain:zy.Ripple}})};return{broadcastTransaction:N,createSigner:g0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:o,getBalance:f,signer:n,signTransaction:G,transfer:async(L)=>{if(!n)throw new Ey({errorKey:"toolbox_ripple_signer_not_found"});let B=await n.getAddress(),w=await C({...L,sender:B}),J=await G(w);return N(J.tx_blob)},validateAddress:qo}};var Mo=R(()=>{x2={ACCOUNT_NOT_FOUND:19}});import{AssetValue as G2,Chain as N2,SwapKitNumber as d0}from"@swapkit/helpers";async function _2(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:o}}=y,f=d0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function L2(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let o=y.balance||y.data?.balance;if(!o||o.isEmpty)return[n.set(0)];let f=d0.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function r0(T,n){return function(y){let o=G2.from({chain:T});switch(T){case N2.Chainflip:return L2(n,o,y);default:return _2(n,o,y)}}}var a0=()=>{};var X2,B2,w2,uy;var Wo=R(()=>{X2={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},B2={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},w2={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},uy={DOT:X2,FLIP:B2,GENERIC:w2}});import{hexToU8a as Z2,isHex as J2,u8aToHex as q2}from"@polkadot/util";import{decodeAddress as e0,encodeAddress as yl}from"@polkadot/util-crypto";import{AssetValue as Q2,Chain as wT,getRPCUrl as M2,SwapKitError as By,SwapKitNumber as W2}from"@swapkit/helpers";import{match as P2,P as s0}from"ts-pattern";function z2(T,n){switch(T){case wT.Chainflip:return nl(n);case wT.Polkadot:return Tl(n);default:throw new By("toolbox_substrate_not_supported",{chain:T})}}function BT(T){return"address"in T}async function zo(T,n){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:n,type:"sr25519"}).addFromUri(T)}function D2(T,n){let x=e0(T);return yl(x,n)}function fl(T,n){return J2(T)?Z2(T):e0(T,void 0,n)}function ol(T,n="ss58",x){if(n==="hex")return q2(T);return yl(T,x)}async function Ho({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:o}=await import("@polkadot/api"),f=await M2(n),l=new o(f),C=await y.create({provider:l}),G=Q2.from({chain:n}),N=T?uy.GENERIC:uy[n],X=await P2(x).with({phrase:s0.string},({phrase:_})=>zo(_,uy[n].prefix)).with({signer:s0.any},({signer:_})=>_).otherwise(()=>{return});return xl({api:C,chain:n,gasAsset:G,network:N,signer:X})}var Tl=({generic:T=!1,...n}={})=>{return Ho({chain:wT.Polkadot,generic:T,...n})},nl=async({generic:T=!1,...n}={})=>{return{...await Ho({chain:wT.Chainflip,generic:T,...n})}},Yo=(T,n)=>T.rpc.system.accountNextIndex(n),Po=(T,n)=>{try{let x=fl(T,n);return ol(x,"ss58",n),!0}catch{return!1}},Uo=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),Y2=async(T,n,{recipient:x,assetValue:y,sender:o})=>{let f=Uo(T,{assetValue:y,recipient:x});if(!f)throw new By("toolbox_substrate_transfer_error");let l=BT(n),C=l?n.address:o;if(!C)throw new By("core_transaction_invalid_sender_address");let G=await Yo(T,C);return(await f.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},U2=async(T,n,x,{recipient:y,assetValue:o,sender:f})=>{let l=Uo(T,{assetValue:o,recipient:y}),C=BT(n)?n.address:f;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await Yo(T,C)})||{partialFee:0};return x.set(W2.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},H2=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},R2=async(T,n)=>{return await n.signAsync(T)},O2=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},S2=async({signer:T,address:n,tx:x,callback:y,api:o})=>{let f=await Yo(o,n);if(y)x.signAndSend(n,{nonce:f,signer:T},y);return x.signAndSend(n,{nonce:f,signer:T}).toString()},xl=({api:T,network:n,gasAsset:x,signer:y,chain:o})=>({api:T,broadcast:H2,convertAddress:D2,createKeyring:(f)=>zo(f,n.prefix),createTransaction:(f)=>Uo(T,f),decodeAddress:fl,encodeAddress:ol,estimateTransactionFee:(f)=>{if(!y)throw new By("core_wallet_not_keypair_wallet");return U2(T,y,x,f)},gasAsset:x,getAddress:(f)=>{let l=f||y;if(!l)throw new By("core_wallet_not_keypair_wallet");return BT(l)?l.address:void 0},getBalance:r0(o||wT.Polkadot,T),network:n,sign:(f)=>{if(!y)throw new By("core_wallet_not_keypair_wallet");if(BT(y))return R2(y,f);throw new By("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:l,address:C})=>{if(!y)throw new By("core_wallet_not_keypair_wallet");if(BT(y))return O2(y,f,l);if(C)return S2({address:C,api:T,callback:l,signer:y,tx:f});throw new By("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new By("core_wallet_not_keypair_wallet");return Y2(T,y,f)},validateAddress:(f)=>Po(f,n.prefix)}),I2=({address:T,chain:n})=>{let{prefix:x}=n===wT.Polkadot?uy.DOT:uy.FLIP;return Po(T,x)||Po(T,uy.GENERIC.prefix)};var ll=R(()=>{a0();Wo()});var Ro={};s(Ro,{substrateValidateAddress:()=>I2,isKeyringPair:()=>BT,getSubstrateToolbox:()=>z2,createSubstrateToolbox:()=>Ho,createKeyring:()=>zo,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>Tl,ChainflipToolbox:()=>nl,BaseSubstrateToolbox:()=>xl});var Oo=R(()=>{ll();Wo()});import{AssetValue as k2,Chain as u,CosmosChains as Gl,EVMChains as So,FeeOption as v2,SubstrateChains as E2,SwapKitError as u2,UTXOChains as Nl}from"@swapkit/helpers";async function VL(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (fx(),nx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (nf(),Tf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (wn(),Bn)),{getSolanaAddressValidator:o}=await Promise.resolve().then(() => (kf(),If)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (Qn(),qn)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (Pn(),Wn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (tf(),Af)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:N}=await Promise.resolve().then(() => (Bo(),Xo)),{radixValidateAddress:X}=await Promise.resolve().then(() => (Zo(),wo)),{rippleValidateAddress:_}=await Promise.resolve().then(() => (Mo(),Qo)),{substrateValidateAddress:L}=await Promise.resolve().then(() => (Oo(),Ro)),B=await x(),w=await N(),J=await o(),W=await f(),M=await l(),U=await C(),v=await G();return function({address:E,chain:V}){return T(V).with(...So,()=>n({address:E})).with(...Nl,()=>v({address:E,chain:V})).with(u.Cosmos,u.Kujira,u.Noble,u.Maya,u.THORChain,(Yy)=>{return y(Yy)(E)}).with(u.Chainflip,u.Polkadot,()=>L({address:E,chain:V})).with(u.Radix,()=>X(E)).with(u.Near,()=>w(E)).with(u.Ripple,()=>_(E)).with(u.Solana,()=>J(E)).with(u.Sui,()=>W(E)).with(u.Ton,()=>M(E)).with(u.Tron,()=>U(E)).with(u.Cardano,()=>B(E)).otherwise(()=>!1)}}function KL(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...So,async(o)=>{let f=await Cl(o),l=await f.createTransaction(x);return f.estimateTransactionFee({...l,chain:o,feeOption:x.feeOptionKey||v2.Fast})}).with(u.Bitcoin,u.BitcoinCash,u.Dogecoin,u.Dash,u.Litecoin,u.Polkadot,u.Solana,u.Ripple,u.Tron,u.Near,u.Cardano,async(o)=>{return(await Cl(o)).estimateTransactionFee(x)}).with(u.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Qn(),qn));return(await o()).estimateTransactionFee(x)}).with(u.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Pn(),Wn));return(await o()).estimateTransactionFee()}).with(...Gl,async()=>{let{estimateTransactionFee:o}=await Promise.resolve().then(() => (wn(),Bn));return o(x)}).otherwise(async()=>k2.from({chain:T}))}}async function Cl(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...So,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (en(),eo));return await y(T,n)}).with(...Nl,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (sf(),af));return await y(T,n)}).with(...Gl,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (wn(),Bn));return await y(T,n)}).with(...E2,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Oo(),Ro));return await y(T,n)}).with(u.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Zo(),wo));return await y(n)}).with(u.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Mo(),Qo));return await y(n)}).with(u.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (kf(),If));return await y(n)}).with(u.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Qn(),qn));return await y(n)}).with(u.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (tf(),Af));return await y(n)}).with(u.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (Bo(),Xo));return await y(n)}).with(u.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (nf(),Tf));return await y(n)}).with(u.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (Pn(),Wn));return await y(n)}).otherwise(()=>{throw new u2("toolbox_not_supported",{chain:T})})}export{Cl as getToolbox,KL as getFeeEstimator,VL as getAddressValidator};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=49E0981A5DC9493664756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.js.map
|