@swapkit/toolboxes 4.1.13 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +3 -3
- package/dist/src/tron/index.cjs +2 -2
- package/dist/src/tron/index.cjs.map +3 -3
- package/dist/src/tron/index.js +2 -2
- package/dist/src/tron/index.js.map +3 -3
- package/dist/types/tron/toolbox.d.ts.map +1 -1
- package/dist/types/tron/types.d.ts +1 -0
- package/dist/types/tron/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var P5=Object.create;var{getPrototypeOf:v5,defineProperty:wy,getOwnPropertyNames:A0,getOwnPropertyDescriptor:S5}=Object,n0=Object.prototype.hasOwnProperty;var W=(y,f,G)=>{G=y!=null?P5(v5(y)):{};let T=f||!y||!y.__esModule?wy(G,"default",{value:y,enumerable:!0}):G;for(let x of A0(y))if(!n0.call(T,x))wy(T,x,{get:()=>y[x],enumerable:!0});return T},S0=new WeakMap,YT=(y)=>{var f=S0.get(y),G;if(f)return f;if(f=wy({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function")A0(y).map((T)=>!n0.call(f,T)&&wy(f,T,{get:()=>y[T],enumerable:!(G=S5(y,T))||G.enumerable}));return S0.set(y,f),f};var qT=(y,f)=>{for(var G in f)wy(y,G,{get:f[G],enumerable:!0,configurable:!0,set:(T)=>f[G]=()=>T})};var l=(y,f)=>()=>(y&&(f=y(y=0)),f);function V0(){function y(){let f=Date.now(),G=df||f;return df=G,f>df?f:G+1}return A5+y().toString(36)}function yy(y){return async function(G,T=!0){let x=await F0.SwapKitApi.getChainBalance({address:G,chain:y,scamFilter:T}),{baseDecimal:N}=yf.getChainConfig(y);return x.map(({identifier:L,value:X,decimal:_})=>{return new yf.AssetValue({decimal:_||N,identifier:L,value:X})})}}var yf,F0,A5,df=0;var Iy=l(()=>{yf=require("@swapkit/helpers"),F0=require("@swapkit/helpers/api"),A5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Ry(y){let f=ff.SKConfig.get("apis")[y];if(f)return ff.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return F5(y)}function n5(y){return y}function F5(y){return{getBalance:yy(y)}}var ff;var xf=l(()=>{Iy();ff=require("@swapkit/helpers")});async function cT(y,f){let{JsonRpcProvider:G}=await import("ethers");return new G(f||await i.getRPCUrl(y))}function Oy(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function rf(y){let{explorerUrl:f,chainId:G,rpcUrls:T}=i.getChainConfig(y);return()=>y===i.Chain.Ethereum?void 0:{...V5({chain:y}),blockExplorerUrls:[f],chainId:G,rpcUrls:T}}function af(y){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(y)}function V5({chain:y}){let{baseDecimal:f}=i.getChainConfig(y);switch(y){case i.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}};case i.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case i.Chain.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}};case i.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case i.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case i.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:i.Chain.Polygon}};default:throw new i.SwapKitError("toolbox_evm_not_supported",{chain:y})}}var i;var fy=l(()=>{i=require("@swapkit/helpers")});var $0;var K0=l(()=>{$0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function Ny({chain:y=M.Chain.Ethereum,provider:f,signer:G,isEIP1559Compatible:T=!0}){return{approve:o5({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),approvedAmount:j0({chain:y,provider:f}),broadcastTransaction:f.broadcastTransaction,call:xx({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),createApprovalTx:m5({chain:y,provider:f,signer:G}),createContract:Tx({chain:y,provider:f}),createContractTxObject:tT({chain:y,provider:f}),createTransaction:sf({chain:y,provider:f,signer:G}),createTransferTx:sf({chain:y,provider:f,signer:G}),EIP1193SendTransaction:Ly(f),estimateCall:h0({provider:f,signer:G}),estimateGasLimit:h5({chain:y,provider:f,signer:G}),estimateGasPrices:gT({chain:y,isEIP1559Compatible:T,provider:f}),estimateTransactionFee:c5({chain:y,isEIP1559Compatible:T,provider:f}),getAddress:()=>{return G?G.getAddress():void 0},isApproved:u5({chain:y,provider:f}),sendTransaction:p0({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),signMessage:G?.signMessage,transfer:j5({chain:y,isEIP1559Compatible:T,provider:f,signer:G}),validateAddress:(x)=>ef({address:x})}}function ef({address:y}){try{return zT.getAddress(y),!0}catch{return!1}}function Gy(y){return y instanceof zT.BrowserProvider}function ly(y,f,G){return new zT.Contract(y,zT.Interface.from(f),G)}function Tx({provider:y}){return function(G,T){return new zT.Contract(G,zT.Interface.from(T),y)}}function yx({abi:y,funcName:f}){let G=y.find((T)=>T.name===f);if(!G)throw new M.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return G.stateMutability&&$5.includes(G.stateMutability)}function u0(y){return zT.getAddress(y)}function Ly(y){return function({value:G,...T}){if(!Gy(y))throw new M.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:N,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=T;return y.send("eth_sendTransaction",[{..._,value:Oy(BigInt(G||0))}])}}function o0(y,f){let G=Xy(y,f);if(G)return zT.getAddress(G.toLowerCase());throw new M.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Xy({chain:y,symbol:f,ticker:G},T){try{let x=y===M.Chain.BinanceSmartChain&&f==="BNB"&&G==="BNB",N=y===T&&f===T&&G===T,L=b5.includes(y)&&f==="ETH"&&G==="ETH";if(N||x||L)return fx[T];return zT.getAddress(f.slice(G.length+1).replace(/^0X/,""))}catch{return null}}function tT({provider:y}){return async({contractAddress:f,abi:G,funcName:T,funcParams:x=[],txOverrides:N})=>ly(f,G,y).getFunction(T).populateTransaction(...x.concat(N).filter((L)=>typeof L<"u"))}function gT({chain:y,provider:f,isEIP1559Compatible:G=!0}){return b0.match(y).with(M.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:x,maxPriorityFeePerGas:N}=await f.getFeeData();if(!x||N===null)throw new M.SwapKitError("toolbox_evm_no_fee_data");return{[M.FeeOption.Average]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Average),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(N,M.FeeOption.Average)},[M.FeeOption.Fast]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fast),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(N,M.FeeOption.Fast)},[M.FeeOption.Fastest]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fastest),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(N,M.FeeOption.Fastest)}}}catch(x){throw new M.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).with(M.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:x}=await f.getFeeData();if(!x)throw new M.SwapKitError("toolbox_evm_no_fee_data");return{[M.FeeOption.Average]:{gasPrice:x},[M.FeeOption.Fast]:{gasPrice:x},[M.FeeOption.Fastest]:{gasPrice:x}}}catch(x){throw new M.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:N,gasPrice:L}=await f.getFeeData();if(G){if(x===null||N===null)throw new M.SwapKitError("toolbox_evm_no_fee_data");return{[M.FeeOption.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:N},[M.FeeOption.Fast]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fast),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(N,M.FeeOption.Fast)},[M.FeeOption.Fastest]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fastest),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(N,M.FeeOption.Fastest)}}}if(!L)throw new M.SwapKitError("toolbox_evm_no_gas_price");return{[M.FeeOption.Average]:{gasPrice:L},[M.FeeOption.Fast]:{gasPrice:M.applyFeeMultiplierToBigInt(L,M.FeeOption.Fast)},[M.FeeOption.Fastest]:{gasPrice:M.applyFeeMultiplierToBigInt(L,M.FeeOption.Fastest)}}}catch(x){throw new M.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}})}function xx({provider:y,isEIP1559Compatible:f,signer:G,chain:T}){return async function({callProvider:N,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:J={},feeOption:q=M.FeeOption.Fast}){let B=N||y;if(!L)throw new M.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=yx({abi:X,funcName:_});if(Q&&Gy(B)&&G){let H=tT({chain:T,provider:B}),C=J?.from||await G?.getAddress(),R=await H({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...J,from:C}});return Ly(B)(R)}let Y=ly(L,X,B);if(Q){if(!G)throw new M.SwapKitError("toolbox_evm_no_signer");let H=J?.from||await G.getAddress();if(!H)throw new M.SwapKitError("toolbox_evm_no_signer_address");let C=Y.connect(G),R=gT({chain:T,isEIP1559Compatible:f,provider:y}),{maxFeePerGas:K,maxPriorityFeePerGas:F,gasPrice:u}=(await R())[q],d=await Y.getFunction(_).estimateGas(...Z,J),xT=await C[_](...Z,{...J,gasLimit:d,gasPrice:u,maxFeePerGas:K,maxPriorityFeePerGas:F,nonce:J?.nonce||await B.getTransactionCount(H)});return typeof xT?.hash==="string"?xT?.hash:xT}let U=await Y[_]?.(...Z);return typeof U?.hash==="string"?U?.hash:U}}function j0({provider:y,chain:f}){return function({assetAddress:T,spenderAddress:x,from:N}){return xx({chain:f,isEIP1559Compatible:!0,provider:y})({abi:xy.erc20ABI,contractAddress:T,funcName:"allowance",funcParams:[N,x]})}}function u5({provider:y,chain:f}){return async function({assetAddress:T,spenderAddress:x,from:N,amount:L=Ey}){let X=await j0({chain:f,provider:y})({assetAddress:T,from:N,spenderAddress:x});return M.SwapKitNumber.fromBigInt(X).gte(M.SwapKitNumber.fromBigInt(BigInt(L)))}}function o5({signer:y,isEIP1559Compatible:f=!0,provider:G,chain:T}){return async function({assetAddress:N,spenderAddress:L,feeOptionKey:X=M.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:J,nonce:q}){let B=[L,BigInt(_||Ey)],Q=await y?.getAddress()||J,Y={abi:xy.erc20ABI,contractAddress:N,funcName:"approve",funcParams:B,signer:y,txOverrides:{from:Q}};if(Gy(G)){let H=tT({chain:T,provider:G}),C=Ly(G),R=await H(Y);return C(R)}return xx({chain:T,isEIP1559Compatible:f,provider:G,signer:y})({...Y,feeOption:X,funcParams:B,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:q}})}}function j5({signer:y,isEIP1559Compatible:f=!0,provider:G}){return async function({assetValue:x,memo:N,recipient:L,feeOptionKey:X=M.FeeOption.Fast,sender:_,...Z}){let{hexlify:J,toUtf8Bytes:q}=await import("ethers"),B=x.getBaseValue("bigint"),Q=x.chain,Y=_||await y?.getAddress(),U=p0({chain:Q,isEIP1559Compatible:f,provider:G,signer:y});if(!Y)throw new M.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset){let u={...Z,data:J(q(N||"")),feeOptionKey:X,from:Y,to:L,value:B};return U(u)}if(!Xy(x,Q))throw new M.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:C,maxPriorityFeePerGas:R,gasPrice:K}=(await gT({chain:Q,isEIP1559Compatible:f,provider:G})())[X],F=await sf({chain:Q,provider:G,signer:y})({assetValue:x,data:J(q(N||"")),gasPrice:K,maxFeePerGas:C,maxPriorityFeePerGas:R,memo:N,recipient:L,sender:Y});return U(F)}}function h0({provider:y,signer:f}){return function({contractAddress:T,abi:x,funcName:N,funcParams:L=[],txOverrides:X}){if(!T)throw new M.SwapKitError("toolbox_evm_no_contract_address");let _=ly(T,x,y);return f?_.connect(f).getFunction(N).estimateGas(...L,X):_.getFunction(N).estimateGas(...L,X)}}function h5({provider:y,signer:f}){return async function({assetValue:T,recipient:x,memo:N,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:J}){let q=T.bigIntValue,B=T.isGasAsset?null:Xy(T,T.chain);if(B&&_)return h0({provider:y,signer:f})({abi:xy.erc20ABI,contractAddress:B,funcName:_,funcParams:Z,txOverrides:J});let{hexlify:Q,toUtf8Bytes:Y}=await import("ethers");return y.estimateGas({data:L?L:N?Q(Y(N)):void 0,from:X,to:x,value:q})}}function p0({provider:y,signer:f,isEIP1559Compatible:G=!0,chain:T}){return async function({feeOptionKey:N=M.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:J,...q}=L;if(!f)throw new M.SwapKitError("toolbox_evm_no_signer");if(!_)throw new M.SwapKitError("toolbox_evm_no_to_address");let B={...q,data:Z||"0x",from:X,to:_,value:BigInt(J||0)};if(Gy(y))return Ly(y)(B);let Q=X||await f.getAddress(),Y=L.nonce||await y.getTransactionCount(Q),U=(await y.getNetwork()).chainId,H=p5(B)||G,C=gT({chain:T,isEIP1559Compatible:G,provider:y}),R=H&&!(B.maxFeePerGas&&B.maxPriorityFeePerGas)||!B.gasPrice?Object.entries((await C())[N]).reduce((F,[u,d])=>({...F,[u]:Oy(BigInt(d))}),{}):{},K;try{K=Oy(B.gasLimit||await y.estimateGas(B)*11n/10n)}catch(F){throw new M.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:F})}try{let F={...B,chainId:U,gasLimit:K,nonce:Y,type:H?2:0,...R};try{return(await f.sendTransaction(F)).hash}catch{let u=await f.signTransaction({...F,from:Q});return(await y.broadcastTransaction(u)).hash}}catch(F){throw new M.SwapKitError("toolbox_evm_error_sending_transaction",{error:F})}}}function sf({provider:y,signer:f}){return async function({assetValue:T,memo:x,recipient:N,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:J,...q}){let B=T.getBaseValue("bigint"),Q=T.chain,Y=X||await f?.getAddress();if(!Y)throw new M.SwapKitError("toolbox_evm_no_from_address");if(M.isGasAsset(T)){let{hexlify:C,toUtf8Bytes:R}=await import("ethers");return{...q,data:L||C(R(x||"")),from:Y,to:N,value:B}}let U=Xy(T,Q);if(!U)throw new M.SwapKitError("toolbox_evm_no_contract_address");return tT({chain:T.chain,provider:y})({abi:xy.erc20ABI,contractAddress:U,funcName:"transfer",funcParams:[N,B],txOverrides:{from:Y,gasPrice:J,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function m5({provider:y,signer:f,chain:G}){return async function({assetAddress:x,spenderAddress:N,amount:L,from:X}){let _=await f?.getAddress()||X,Z=tT({chain:G,provider:y}),J=["bigint","number"].includes(typeof L)?L:L||Ey;return await Z({abi:xy.erc20ABI,contractAddress:x,funcName:"approve",funcParams:[N,BigInt(J)],txOverrides:{from:_}})}}function c5({provider:y,isEIP1559Compatible:f=!0}){return async function({feeOption:T=M.FeeOption.Fast,chain:x,...N}){let X=await gT({chain:x,isEIP1559Compatible:f,provider:y})(),_=await y.estimateGas(N),Z=M.AssetValue.from({chain:x}),{gasPrice:J,maxFeePerGas:q,maxPriorityFeePerGas:B}=X[T];if(!f&&J)return Z.set(M.SwapKitNumber.fromBigInt(J*_,Z.decimal));if(q&&B){let Q=(q+B)*_;return Z.set(M.SwapKitNumber.fromBigInt(Q,Z.decimal))}throw new M.SwapKitError("toolbox_evm_no_gas_price")}}var M,xy,zT,b0,Ey,$5,K5,fx,b5,p5=(y)=>y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas;var Nf=l(()=>{fy();M=require("@swapkit/helpers"),xy=require("@swapkit/helpers/contracts"),zT=require("ethers"),b0=require("ts-pattern"),Ey=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");$5=["payable","nonpayable"];K5=M.EVMChains.reduce((y,f)=>{return y[f]="0x0000000000000000000000000000000000000000",y},{}),fx={...K5,[M.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[M.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},b5=[M.Chain.Arbitrum,M.Chain.Aurora,M.Chain.Base,M.Chain.Optimism]});async function Gf({provider:y,...f}){let G=await LT(a.Chain.Ethereum)({provider:y,...f});async function T(x,N="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=a.FeeOption.Fast){let _=await G.createContractTxObject({abi:$0,contractAddress:N,funcName:L,funcParams:[x]});return G.sendTransaction({..._,feeOptionKey:X})}return{...G,multicall:T}}function LT(y){return async function({provider:G,...T}){let{HDNodeWallet:x}=await import("ethers"),N=await a.getRPCUrl(y),L=G||await cT(y,N),X=af(y),_=ky.match(T).with({phrase:ky.P.string},({phrase:J})=>x.fromPhrase(J).connect(L)).with({signer:ky.P.any},({signer:J})=>J).otherwise(()=>{return});return{...Ny({chain:y,isEIP1559Compatible:X,provider:L,signer:_}),getBalance:Ry(y).getBalance,getNetworkParams:rf(y)}}}var a,ky,Lf,Xf,_f,Zf,Bf,Jf,m0,qf,Qf,Yf,zf,Wf,Mf,Dy,Hf,Uf;var Nx=l(()=>{xf();K0();fy();Nf();a=require("@swapkit/helpers"),ky=require("ts-pattern");Lf=LT(a.Chain.Arbitrum),Xf=LT(a.Chain.Aurora),_f=LT(a.Chain.Avalanche),Zf=LT(a.Chain.Base),Bf=LT(a.Chain.Berachain),Jf=LT(a.Chain.BinanceSmartChain),m0=LT(a.Chain.Botanix),qf=LT(a.Chain.Core),Qf=LT(a.Chain.Corn),Yf=LT(a.Chain.Cronos),zf=LT(a.Chain.Gnosis),Wf=LT(a.Chain.Hyperevm),Mf=LT(a.Chain.Polygon),Dy=LT(a.Chain.Sonic),Hf=LT(a.Chain.Unichain),Uf=LT(a.Chain.XLayer)});var c0;var t0=l(()=>{c0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function Gx(y){return new Cf.Contract(g5,c0,y)}function g0(y){return async function(){let G=Gx(y);if(G&&"l1BaseFee"in G)return await G?.l1BaseFee();return}}function i0(y){return async function({from:G,to:T,nonce:x,...N}){let{Transaction:L}=await import("ethers");if(!T)throw new p.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...N,authorizationList:N.authorizationList,nonce:x?x:G?await y.getTransactionCount(G):0,to:T}).serialized}}function d0(y){return async function(G){let T=Gx(y),x=await i0(y)(G);if(T&&"getL1Fee"in T)return T.getL1Fee(x)}}function r0(y){return async function(G){let T=await y.send("eth_gasPrice",[]),x=await y.estimateGas(G);return T.mul(x)}}function i5(y){return async function(G){let T=await d0(y)(G),x=await r0(y)(G);return T.add(x)}}function d5(y){return async function(G){let T=Gx(y),x=await i0(y)(G);if(T&&"getL1GasUsed"in T)return T.getL1GasUsed(x)}}function r5(){let{baseDecimal:y,chainId:f,explorerUrl:G,name:T,rpcUrls:x}=p.getChainConfig(p.Chain.Optimism);return{blockExplorerUrls:[G],chainId:f,chainName:T,nativeCurrency:{decimals:y,name:"Ethereum",symbol:p.Chain.Ethereum},rpcUrls:x}}async function a5(y){try{let{maxFeePerGas:f,maxPriorityFeePerGas:G,gasPrice:T}=await y.getFeeData(),x=await g0(y)(),N=T;if(!(f&&G))throw new p.SwapKitError("toolbox_evm_no_fee_data");return{[p.FeeOption.Average]:{gasPrice:N,l1GasPrice:x,maxFeePerGas:f,maxPriorityFeePerGas:G},[p.FeeOption.Fast]:{gasPrice:p.applyFeeMultiplierToBigInt(N,p.FeeOption.Fast),l1GasPrice:p.applyFeeMultiplierToBigInt(x||0n,p.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(G,p.FeeOption.Fast)},[p.FeeOption.Fastest]:{gasPrice:p.applyFeeMultiplierToBigInt(N,p.FeeOption.Fastest),l1GasPrice:p.applyFeeMultiplierToBigInt(x||0n,p.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(G,p.FeeOption.Fastest)}}}catch(f){throw new p.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function wf({provider:y,...f}){let G=p.Chain.Optimism,T=await p.getRPCUrl(G),x=y||await cT(G,T),N=Py.match(f).with({phrase:Py.P.string},({phrase:_})=>Cf.HDNodeWallet.fromPhrase(_).connect(x)).with({signer:Py.P.any},({signer:_})=>_).otherwise(()=>{return}),L=Ny({provider:x,signer:N}),X=g0(x);return{...L,estimateGasPrices:a5(x),estimateL1Gas:d5(x),estimateL1GasCost:d0(x),estimateL2GasCost:r0(x),estimateTotalGasCost:i5(x),getBalance:Ry(p.Chain.Optimism).getBalance,getL1GasPrice:X,getNetworkParams:r5}}var p,Cf,Py,g5="0x420000000000000000000000000000000000000f";var Lx=l(()=>{xf();t0();fy();Nf();p=require("@swapkit/helpers"),Cf=require("ethers"),Py=require("ts-pattern")});var e0={};qT(e0,{toChecksumAddress:()=>u0,isStateChangingCall:()=>yx,isBrowserProvider:()=>Gy,getTokenAddress:()=>Xy,getEvmToolbox:()=>s0,getEstimateGasPrices:()=>gT,getEIP1193SendTransaction:()=>Ly,getCreateContractTxObject:()=>tT,getCreateContract:()=>Tx,getChecksumAddressFromAsset:()=>o0,evmValidateAddress:()=>ef,createContract:()=>ly,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>Dy,OPToolbox:()=>wf,MAX_APPROVAL:()=>Ey,MATICToolbox:()=>Mf,HYPEREVMToolbox:()=>Wf,GNOToolbox:()=>zf,ETHToolbox:()=>Gf,ContractAddress:()=>fx,CROToolbox:()=>Yf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>Ny,BSCToolbox:()=>Jf,BERAToolbox:()=>Bf,BASEToolbox:()=>Zf,AVAXToolbox:()=>_f,AURORAToolbox:()=>Xf,ARBToolbox:()=>Lf});async function s0(y,f){let G={...f,provider:f?.provider||await cT(y)};return a0.match(y).returnType().with(fT.Chain.Arbitrum,()=>Lf(G)).with(fT.Chain.Aurora,()=>Xf(G)).with(fT.Chain.Avalanche,()=>_f(G)).with(fT.Chain.Base,()=>Zf(G)).with(fT.Chain.Berachain,()=>Bf(G)).with(fT.Chain.BinanceSmartChain,()=>Jf(G)).with(fT.Chain.Botanix,()=>Dy(G)).with(fT.Chain.Core,()=>qf(G)).with(fT.Chain.Corn,()=>Qf(G)).with(fT.Chain.Cronos,()=>Yf(G)).with(fT.Chain.Ethereum,()=>Gf(G)).with(fT.Chain.Gnosis,()=>zf(G)).with(fT.Chain.Hyperevm,()=>Wf(G)).with(fT.Chain.Optimism,()=>wf(G)).with(fT.Chain.Polygon,()=>Mf(G)).with(fT.Chain.Sonic,()=>Dy(G)).with(fT.Chain.Unichain,()=>Hf(G)).with(fT.Chain.XLayer,()=>Uf(G)).exhaustive()}var fT,a0;var Xx=l(()=>{fy();Nx();Lx();fT=require("@swapkit/helpers"),a0=require("ts-pattern");Nf();Nx();Lx()});var T1;var y1=l(()=>{((G)=>{G.Test="goerli";G.Main="homestead"})(T1||={})});var f1={};qT(f1,{toHexString:()=>Oy,toChecksumAddress:()=>u0,isStateChangingCall:()=>yx,isBrowserProvider:()=>Gy,getTokenAddress:()=>Xy,getProvider:()=>cT,getNetworkParams:()=>rf,getIsEIP1559Compatible:()=>af,getEvmToolbox:()=>s0,getEvmApi:()=>Ry,getEstimateGasPrices:()=>gT,getEIP1193SendTransaction:()=>Ly,getCreateContractTxObject:()=>tT,getCreateContract:()=>Tx,getChecksumAddressFromAsset:()=>o0,evmValidateAddress:()=>ef,createCustomEvmApi:()=>n5,createContract:()=>ly,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>Dy,OPToolbox:()=>wf,MAX_APPROVAL:()=>Ey,MATICToolbox:()=>Mf,HYPEREVMToolbox:()=>Wf,GNOToolbox:()=>zf,EthNetwork:()=>T1,ETHToolbox:()=>Gf,ContractAddress:()=>fx,CROToolbox:()=>Yf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>Ny,BSCToolbox:()=>Jf,BERAToolbox:()=>Bf,BASEToolbox:()=>Zf,AVAXToolbox:()=>_f,AURORAToolbox:()=>Xf,ARBToolbox:()=>Lf});module.exports=YT(f1);var x1=l(()=>{xf();fy();Xx();y1()});async function _x(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function e5(y){try{let{MeshWallet:f}=await import("@meshsdk/core"),G=await _x(),T=new f({fetcher:G,key:{address:y,type:"address"},networkId:1});await T.init();let x=await T.getBalance(),N=[];for(let L of x)if(L.unit===s5){let{baseDecimal:X}=s.getChainConfig(s.Chain.Cardano);N.push(s.AssetValue.from({chain:s.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else N.push(s.AssetValue.from({asset:`${s.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(N.length===0)return[s.AssetValue.from({chain:s.Chain.Cardano})];return N}catch(f){return console.error("Cardano balance fetch error:",f),[s.AssetValue.from({chain:s.Chain.Cardano})]}}async function N1(){let{deserializeAddress:y}=await import("@meshsdk/core");return(f)=>{try{return y(f),!0}catch{return!1}}}async function T2(y){let f=await N1(),G=await vy.match(y).with({phrase:vy.P.string},async({phrase:J})=>{let{MeshWallet:q}=await import("@meshsdk/core"),B=await _x(),Q=new q({fetcher:B,key:{type:"mnemonic",words:J.split(" ")},networkId:1,submitter:B});return await Q.init(),Q}).with({signer:vy.P.any},({signer:J})=>J).otherwise(()=>{return}),T=G&&"getChangeAddress"in G?await G.getChangeAddress():"";function x(){return T||""}function N(J){let q=J||x();if(!q)throw new s.SwapKitError("core_wallet_connection_not_found");return e5(q)}function L(){return Promise.resolve(s.AssetValue.from({chain:s.Chain.Cardano,value:"0.01"}))}async function X({recipient:J,assetValue:q,memo:B}){if(!G||!("getChangeAddress"in G))throw new s.SwapKitError("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,Y]=q.symbol.split("-");if(!q.isGasAsset&&!Y)throw new s.SwapKitError("core_wallet_connection_not_found");let U=new Q({initiator:G});if(U.sendAssets({address:J},[{quantity:q.getBaseValue("string"),unit:q.isGasAsset?"lovelace":q.symbol}]),B)U.setMetadata(0,B);let H=await U.build();return{tx:U,unsignedTx:H}}function _(J){if(!G||!("getChangeAddress"in G))throw new s.SwapKitError("core_wallet_connection_not_found");return G.signTx(J)}async function Z({recipient:J,assetValue:q,memo:B}){if(!G||!("getChangeAddress"in G))throw new s.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:Q}=await X({assetValue:q,memo:B,recipient:J}),Y=await _(Q);return await(await _x()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:x,getBalance:N,signTransaction:_,transfer:Z,validateAddress:f}}var s,vy,s5="lovelace";var G1=l(()=>{s=require("@swapkit/helpers"),vy=require("ts-pattern")});var Zx={};qT(Zx,{getCardanoToolbox:()=>T2,getCardanoAddressValidator:()=>N1});module.exports=YT(Zx);var Bx=l(()=>{G1()});function Sy(y){return AT.base64.encode(Uint8Array.from(AT.bech32.fromWords(AT.bech32.decode(y).words)))}function Ay(y,f="thor"){return AT.bech32.encode(f,AT.bech32.toWords(AT.base64.decode(y)))}function y2(y){return If.fromByteArray(y)}function f2(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new L1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return If.toByteArray(y)}var AT,L1,If;var Jx=l(()=>{AT=require("@scure/base"),L1=require("@swapkit/helpers"),If=require("base64-js")});function DT(y){switch(y){case k.Chain.Maya:return{amount:[],gas:"10000000000"};case k.Chain.THORChain:return{amount:[],gas:"500000000"};case k.Chain.Kujira:return Z1;case k.Chain.Noble:return B1;default:return _1}}async function PT(y){let f=await import("@cosmjs/stargate"),G=f.StargateClient??f.default?.StargateClient,T=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return G.connect({headers:T,url:y})}async function Zy(y,f,G={}){let T=await import("@cosmjs/stargate"),x=T.SigningStargateClient??T.default?.SigningStargateClient,N=T.GasPrice??T.default?.GasPrice,L=typeof G==="string"?G:"0.0003uatom",X=typeof G==="string"?{}:G;return x.connectWithSigner(y,f,{gasPrice:N.fromString(L),...X})}async function Qx(y,f){let G=await import("@cosmjs/stargate");return(G.SigningStargateClient??G.default?.SigningStargateClient).offline(y,f)}async function Yx({sender:y,recipient:f,assetValue:G,memo:T="",feeRate:x,sequence:N,accountNumber:L}){let{chain:X,chainId:_}=G,Z=await k.getRPCUrl(X),q=await(await PT(Z)).getAccount(y);if(!q)throw new k.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let B=k.AssetValue.from({chain:X}),Q=kT(B.symbol),Y=DT(X),U=Q&&x?{amount:[{amount:x.toString(),denom:Q}],gas:Y.gas}:Y,H={amount:[{amount:G.getBaseValue("string"),denom:kT(G.symbol)}],fromAddress:y,toAddress:f};return{accountNumber:L??q.accountNumber,chainId:_,fee:U,memo:T,msgs:[{typeUrl:x2(X),value:H}],sequence:N??q.sequence}}var k,qx="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",X1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",_1,Z1,B1,kT=(y,f=!1)=>{if(f)return y.toLowerCase();switch(y){case"uUSK":case"USK":return qx;case"uYUM":case"YUM":return X1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},_y=({symbol:y,chain:f})=>{if(f===k.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${k.Chain.Maya}.${y}`).toUpperCase();if(f===k.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${k.Chain.THORChain}.${y}`:y).toUpperCase();return kT(y,!1)},x2=(y)=>{switch(y){case k.Chain.Maya:case k.Chain.THORChain:return"/types.MsgSend";case k.Chain.Cosmos:case k.Chain.Kujira:case k.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new k.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},N2,zx=(y,f)=>{let G=N2[y.toLowerCase()];if(!G)return k.AssetValue.from({asset:y,fromBaseDecimal:8,value:f});let{chain:T,asset:x,decimals:N}=G,L=T?{chain:T}:{asset:x};return k.AssetValue.from({...L,fromBaseDecimal:N,value:f})};var ny=l(()=>{k=require("@swapkit/helpers"),_1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Z1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},B1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};N2={atom:{chain:k.Chain.Cosmos,decimals:k.getChainConfig(k.Chain.Cosmos).baseDecimal},cacao:{chain:k.Chain.Maya,decimals:10},kuji:{chain:k.Chain.Kujira,decimals:k.getChainConfig(k.Chain.Kujira).baseDecimal},maya:{asset:`${k.Chain.Maya}.${k.Chain.Maya}`,decimals:4},rune:{chain:k.Chain.THORChain,decimals:k.getChainConfig(k.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:k.getChainConfig(k.Chain.THORChain).baseDecimal},uatom:{chain:k.Chain.Cosmos,decimals:k.getChainConfig(k.Chain.Cosmos).baseDecimal},ukuji:{chain:k.Chain.Kujira,decimals:k.getChainConfig(k.Chain.Kujira).baseDecimal},usdc:{chain:k.Chain.Noble,decimals:k.getChainConfig(k.Chain.Noble).baseDecimal},uusdc:{chain:k.Chain.Noble,decimals:k.getChainConfig(k.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:k.getChainConfig(k.Chain.THORChain).baseDecimal},[qx.toLowerCase()]:{asset:`${k.Chain.Kujira}.USK`,decimals:k.getChainConfig(k.Chain.Kujira).baseDecimal}}});var J1={};qT(J1,{$root:()=>I});var GT,n,MT,E,I;var q1=l(()=>{GT=W(require("protobufjs/minimal.js")),n=GT.default.Reader,MT=GT.default.Writer,E=GT.default.util,I=GT.default.roots.default||(GT.default.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(10).string(T.chain);if(T.symbol!=null&&Object.hasOwnProperty.call(T,"symbol"))x.uint32(18).string(T.symbol);if(T.ticker!=null&&Object.hasOwnProperty.call(T,"ticker"))x.uint32(26).string(T.ticker);if(T.synth!=null&&Object.hasOwnProperty.call(T,"synth"))x.uint32(32).bool(T.synth);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Asset;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.chain=T.string();break;case 2:L.symbol=T.string();break;case 3:L.ticker=T.string();break;case 4:L.synth=T.bool();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.chain!=null&&T.hasOwnProperty("chain")){if(!E.isString(T.chain))return"chain: string expected"}if(T.symbol!=null&&T.hasOwnProperty("symbol")){if(!E.isString(T.symbol))return"symbol: string expected"}if(T.ticker!=null&&T.hasOwnProperty("ticker")){if(!E.isString(T.ticker))return"ticker: string expected"}if(T.synth!=null&&T.hasOwnProperty("synth")){if(typeof T.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Asset)return T;let x=new I.common.Asset;if(T.chain!=null)x.chain=String(T.chain);if(T.symbol!=null)x.symbol=String(T.symbol);if(T.ticker!=null)x.ticker=String(T.ticker);if(T.synth!=null)x.synth=Boolean(T.synth);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)N.chain="",N.symbol="",N.ticker="",N.synth=!1;if(T.chain!=null&&T.hasOwnProperty("chain"))N.chain=T.chain;if(T.symbol!=null&&T.hasOwnProperty("symbol"))N.symbol=T.symbol;if(T.ticker!=null&&T.hasOwnProperty("ticker"))N.ticker=T.ticker;if(T.synth!=null&&T.hasOwnProperty("synth"))N.synth=T.synth;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y.Coin=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.asset!=null&&Object.hasOwnProperty.call(T,"asset"))I.common.Asset.encode(T.asset,x.uint32(10).fork()).ldelim();if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))x.uint32(18).string(T.amount);if(T.decimals!=null&&Object.hasOwnProperty.call(T,"decimals"))x.uint32(24).int64(T.decimals);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Coin;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.asset=I.common.Asset.decode(T,T.uint32());break;case 2:L.amount=T.string();break;case 3:L.decimals=T.int64();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.asset!=null&&T.hasOwnProperty("asset")){let x=I.common.Asset.verify(T.asset);if(x)return"asset."+x}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!E.isString(T.amount))return"amount: string expected"}if(T.decimals!=null&&T.hasOwnProperty("decimals")){if(!E.isInteger(T.decimals)&&!(T.decimals&&E.isInteger(T.decimals.low)&&E.isInteger(T.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Coin)return T;let x=new I.common.Coin;if(T.asset!=null){if(typeof T.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=I.common.Asset.fromObject(T.asset)}if(T.amount!=null)x.amount=String(T.amount);if(T.decimals!=null){if(E.Long)(x.decimals=E.Long.fromValue(T.decimals)).unsigned=!1;else if(typeof T.decimals==="string")x.decimals=Number.parseInt(T.decimals,10);else if(typeof T.decimals==="number")x.decimals=T.decimals;else if(typeof T.decimals==="object")x.decimals=new E.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber()}return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)if(N.asset=null,N.amount="",E.Long){let L=new E.Long(0,0,!1);N.decimals=x.longs===String?L.toString():x.longs===Number?L.toNumber():L}else N.decimals=x.longs===String?"0":0;if(T.asset!=null&&T.hasOwnProperty("asset"))N.asset=I.common.Asset.toObject(T.asset,x);if(T.amount!=null&&T.hasOwnProperty("amount"))N.amount=T.amount;if(T.decimals!=null&&T.hasOwnProperty("decimals"))if(typeof T.decimals==="number")N.decimals=x.longs===String?String(T.decimals):T.decimals;else N.decimals=x.longs===String?E.Long.prototype.toString.call(T.decimals):x.longs===Number?new E.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber():T.decimals;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y.PubKeySet=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.secp256k1!=null&&Object.hasOwnProperty.call(T,"secp256k1"))x.uint32(10).string(T.secp256k1);if(T.ed25519!=null&&Object.hasOwnProperty.call(T,"ed25519"))x.uint32(18).string(T.ed25519);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.PubKeySet;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.secp256k1=T.string();break;case 2:L.ed25519=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1")){if(!E.isString(T.secp256k1))return"secp256k1: string expected"}if(T.ed25519!=null&&T.hasOwnProperty("ed25519")){if(!E.isString(T.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.PubKeySet)return T;let x=new I.common.PubKeySet;if(T.secp256k1!=null)x.secp256k1=String(T.secp256k1);if(T.ed25519!=null)x.ed25519=String(T.ed25519);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)N.secp256k1="",N.ed25519="";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1"))N.secp256k1=T.secp256k1;if(T.ed25519!=null&&T.hasOwnProperty("ed25519"))N.ed25519=T.ed25519;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y.Tx=(()=>{function f(G){if(this.coins=[],this.gas=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=E.emptyArray,f.prototype.gas=E.emptyArray,f.prototype.memo="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.id!=null&&Object.hasOwnProperty.call(T,"id"))x.uint32(10).string(T.id);if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(18).string(T.chain);if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(26).string(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(34).string(T.toAddress);if(T.coins?.length)for(let N=0;N<T.coins.length;++N)I.common.Coin.encode(T.coins[N],x.uint32(42).fork()).ldelim();if(T.gas?.length)for(let N=0;N<T.gas.length;++N)I.common.Coin.encode(T.gas[N],x.uint32(50).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(58).string(T.memo);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Tx;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.id=T.string();break;case 2:L.chain=T.string();break;case 3:L.fromAddress=T.string();break;case 4:L.toAddress=T.string();break;case 5:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(I.common.Coin.decode(T,T.uint32()));break;case 7:L.memo=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.id!=null&&T.hasOwnProperty("id")){if(!E.isString(T.id))return"id: string expected"}if(T.chain!=null&&T.hasOwnProperty("chain")){if(!E.isString(T.chain))return"chain: string expected"}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!E.isString(T.fromAddress))return"fromAddress: string expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!E.isString(T.toAddress))return"toAddress: string expected"}if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let N=I.common.Coin.verify(T.coins[x]);if(N)return"coins."+N}}if(T.gas!=null&&T.hasOwnProperty("gas")){if(!Array.isArray(T.gas))return"gas: array expected";for(let x=0;x<T.gas.length;++x){let N=I.common.Coin.verify(T.gas[x]);if(N)return"gas."+N}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!E.isString(T.memo))return"memo: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Tx)return T;let x=new I.common.Tx;if(T.id!=null)x.id=String(T.id);if(T.chain!=null)x.chain=String(T.chain);if(T.fromAddress!=null)x.fromAddress=String(T.fromAddress);if(T.toAddress!=null)x.toAddress=String(T.toAddress);if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let N=0;N<T.coins.length;++N){if(typeof T.coins[N]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[N]=I.common.Coin.fromObject(T.coins[N])}}if(T.gas){if(!Array.isArray(T.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let N=0;N<T.gas.length;++N){if(typeof T.gas[N]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[N]=I.common.Coin.fromObject(T.gas[N])}}if(T.memo!=null)x.memo=String(T.memo);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.coins=[],N.gas=[];if(x.defaults)N.id="",N.chain="",N.fromAddress="",N.toAddress="",N.memo="";if(T.id!=null&&T.hasOwnProperty("id"))N.id=T.id;if(T.chain!=null&&T.hasOwnProperty("chain"))N.chain=T.chain;if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))N.fromAddress=T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))N.toAddress=T.toAddress;if(T.coins?.length){N.coins=[];for(let L=0;L<T.coins.length;++L)N.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.gas?.length){N.gas=[];for(let L=0;L<T.gas.length;++L)N.gas[L]=I.common.Coin.toObject(T.gas[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))N.memo=T.memo;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y.Fee=(()=>{function f(G){if(this.coins=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.poolDeduct="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.coins?.length)for(let N=0;N<T.coins.length;++N)I.common.Coin.encode(T.coins[N],x.uint32(10).fork()).ldelim();if(T.poolDeduct!=null&&Object.hasOwnProperty.call(T,"poolDeduct"))x.uint32(18).string(T.poolDeduct);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.Fee;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.poolDeduct=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let N=I.common.Coin.verify(T.coins[x]);if(N)return"coins."+N}}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct")){if(!E.isString(T.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Fee)return T;let x=new I.common.Fee;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let N=0;N<T.coins.length;++N){if(typeof T.coins[N]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[N]=I.common.Coin.fromObject(T.coins[N])}}if(T.poolDeduct!=null)x.poolDeduct=String(T.poolDeduct);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.coins=[];if(x.defaults)N.poolDeduct="";if(T.coins?.length){N.coins=[];for(let L=0;L<T.coins.length;++L)N.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct"))N.poolDeduct=T.poolDeduct;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y.ProtoUint=(()=>{function f(G){if(G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.value="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.value!=null&&Object.hasOwnProperty.call(T,"value"))x.uint32(10).string(T.value);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.common.ProtoUint;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.value=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.value!=null&&T.hasOwnProperty("value")){if(!E.isString(T.value))return"value: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.ProtoUint)return T;let x=new I.common.ProtoUint;if(T.value!=null)x.value=String(T.value);return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.defaults)N.value="";if(T.value!=null&&T.hasOwnProperty("value"))N.value=T.value;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function f(G){if(this.coins=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.coins=E.emptyArray,f.prototype.memo="",f.prototype.signer=E.newBuffer([]),f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.coins?.length)for(let N=0;N<T.coins.length;++N)I.common.Coin.encode(T.coins[N],x.uint32(10).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(18).string(T.memo);if(T.signer!=null&&Object.hasOwnProperty.call(T,"signer"))x.uint32(26).bytes(T.signer);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.types.MsgDeposit;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.memo=T.string();break;case 3:L.signer=T.bytes();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let N=I.common.Coin.verify(T.coins[x]);if(N)return"coins."+N}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!E.isString(T.memo))return"memo: string expected"}if(T.signer!=null&&T.hasOwnProperty("signer")){if(!(T.signer&&typeof T.signer.length==="number"||E.isString(T.signer)))return"signer: buffer expected"}return null},f.fromObject=function(T){if(T instanceof I.types.MsgDeposit)return T;let x=new I.types.MsgDeposit;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let N=0;N<T.coins.length;++N){if(typeof T.coins[N]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[N]=I.common.Coin.fromObject(T.coins[N])}}if(T.memo!=null)x.memo=String(T.memo);if(T.signer!=null){if(typeof T.signer==="string")E.base64.decode(T.signer,x.signer=E.newBuffer(E.base64.length(T.signer)),0);else if(T.signer.length)x.signer=T.signer}return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.coins=[];if(x.defaults){if(N.memo="",x.bytes===String)N.signer="";else if(N.signer=[],x.bytes!==Array)N.signer=E.newBuffer(N.signer)}if(T.coins?.length){N.coins=[];for(let L=0;L<T.coins.length;++L)N.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))N.memo=T.memo;if(T.signer!=null&&T.hasOwnProperty("signer"))N.signer=x.bytes===String?E.base64.encode(T.signer,0,T.signer.length):x.bytes===Array?Array.prototype.slice.call(T.signer):T.signer;return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y.MsgSend=(()=>{function f(G){if(this.amount=[],G){for(let T=Object.keys(G),x=0;x<T.length;++x)if(G[T[x]]!=null)this[T[x]]=G[T[x]]}}return f.prototype.fromAddress=E.newBuffer([]),f.prototype.toAddress=E.newBuffer([]),f.prototype.amount=E.emptyArray,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=MT.create();if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(10).bytes(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(18).bytes(T.toAddress);if(T.amount?.length)for(let N=0;N<T.amount.length;++N)I.cosmos.base.v1beta1.Coin.encode(T.amount[N],x.uint32(26).fork()).ldelim();return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let N=x===void 0?T.len:T.pos+x,L=new I.types.MsgSend;while(T.pos<N){let X=T.uint32();switch(X>>>3){case 1:L.fromAddress=T.bytes();break;case 2:L.toAddress=T.bytes();break;case 3:if(!L.amount?.length)L.amount=[];L.amount.push(I.cosmos.base.v1beta1.Coin.decode(T,T.uint32()));break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!(T.fromAddress&&typeof T.fromAddress.length==="number"||E.isString(T.fromAddress)))return"fromAddress: buffer expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!(T.toAddress&&typeof T.toAddress.length==="number"||E.isString(T.toAddress)))return"toAddress: buffer expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!Array.isArray(T.amount))return"amount: array expected";for(let x=0;x<T.amount.length;++x){let N=I.cosmos.base.v1beta1.Coin.verify(T.amount[x]);if(N)return"amount."+N}}return null},f.fromObject=function(T){if(T instanceof I.types.MsgSend)return T;let x=new I.types.MsgSend;if(T.fromAddress!=null){if(typeof T.fromAddress==="string")E.base64.decode(T.fromAddress,x.fromAddress=E.newBuffer(E.base64.length(T.fromAddress)),0);else if(T.fromAddress.length)x.fromAddress=T.fromAddress}if(T.toAddress!=null){if(typeof T.toAddress==="string")E.base64.decode(T.toAddress,x.toAddress=E.newBuffer(E.base64.length(T.toAddress)),0);else if(T.toAddress.length)x.toAddress=T.toAddress}if(T.amount){if(!Array.isArray(T.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let N=0;N<T.amount.length;++N){if(typeof T.amount[N]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[N]=I.cosmos.base.v1beta1.Coin.fromObject(T.amount[N])}}return x},f.toObject=function(T,x){if(!x)x={};let N={};if(x.arrays||x.defaults)N.amount=[];if(x.defaults){if(x.bytes===String)N.fromAddress="";else if(N.fromAddress=[],x.bytes!==Array)N.fromAddress=E.newBuffer(N.fromAddress);if(x.bytes===String)N.toAddress="";else if(N.toAddress=[],x.bytes!==Array)N.toAddress=E.newBuffer(N.toAddress)}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))N.fromAddress=x.bytes===String?E.base64.encode(T.fromAddress,0,T.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(T.fromAddress):T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))N.toAddress=x.bytes===String?E.base64.encode(T.toAddress,0,T.toAddress.length):x.bytes===Array?Array.prototype.slice.call(T.toAddress):T.toAddress;if(T.amount?.length){N.amount=[];for(let L=0;L<T.amount.length;++L)N.amount[L]=I.cosmos.base.v1beta1.Coin.toObject(T.amount[L],x)}return N},f.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},f})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let f={};return f.v1beta1=(()=>{let G={};return G.Coin=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=MT.create();if(N.denom!=null&&Object.hasOwnProperty.call(N,"denom"))L.uint32(10).string(N.denom);if(N.amount!=null&&Object.hasOwnProperty.call(N,"amount"))L.uint32(18).string(N.amount);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof n))N=n.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.Coin;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.denom=N.string();break;case 2:_.amount=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof n))N=new n(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.denom!=null&&N.hasOwnProperty("denom")){if(!E.isString(N.denom))return"denom: string expected"}if(N.amount!=null&&N.hasOwnProperty("amount")){if(!E.isString(N.amount))return"amount: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.Coin)return N;let L=new I.cosmos.base.v1beta1.Coin;if(N.denom!=null)L.denom=String(N.denom);if(N.amount!=null)L.amount=String(N.amount);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(N.denom!=null&&N.hasOwnProperty("denom"))X.denom=N.denom;if(N.amount!=null&&N.hasOwnProperty("amount"))X.amount=N.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},T})(),G.DecCoin=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=MT.create();if(N.denom!=null&&Object.hasOwnProperty.call(N,"denom"))L.uint32(10).string(N.denom);if(N.amount!=null&&Object.hasOwnProperty.call(N,"amount"))L.uint32(18).string(N.amount);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof n))N=n.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.DecCoin;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.denom=N.string();break;case 2:_.amount=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof n))N=new n(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.denom!=null&&N.hasOwnProperty("denom")){if(!E.isString(N.denom))return"denom: string expected"}if(N.amount!=null&&N.hasOwnProperty("amount")){if(!E.isString(N.amount))return"amount: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.DecCoin)return N;let L=new I.cosmos.base.v1beta1.DecCoin;if(N.denom!=null)L.denom=String(N.denom);if(N.amount!=null)L.amount=String(N.amount);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(N.denom!=null&&N.hasOwnProperty("denom"))X.denom=N.denom;if(N.amount!=null&&N.hasOwnProperty("amount"))X.amount=N.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},T})(),G.IntProto=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.int="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=MT.create();if(N.int!=null&&Object.hasOwnProperty.call(N,"int"))L.uint32(10).string(N.int);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof n))N=n.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.IntProto;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.int=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof n))N=new n(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.int!=null&&N.hasOwnProperty("int")){if(!E.isString(N.int))return"int: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.IntProto)return N;let L=new I.cosmos.base.v1beta1.IntProto;if(N.int!=null)L.int=String(N.int);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(N.int!=null&&N.hasOwnProperty("int"))X.int=N.int;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},T})(),G.DecProto=(()=>{function T(x){if(x){for(let N=Object.keys(x),L=0;L<N.length;++L)if(x[N[L]]!=null)this[N[L]]=x[N[L]]}}return T.prototype.dec="",T.create=function(N){return new T(N)},T.encode=function(N,L){if(!L)L=MT.create();if(N.dec!=null&&Object.hasOwnProperty.call(N,"dec"))L.uint32(10).string(N.dec);return L},T.encodeDelimited=function(N,L){return this.encode(N,L).ldelim()},T.decode=function(N,L){if(!(N instanceof n))N=n.create(N);let X=L===void 0?N.len:N.pos+L,_=new I.cosmos.base.v1beta1.DecProto;while(N.pos<X){let Z=N.uint32();switch(Z>>>3){case 1:_.dec=N.string();break;default:N.skipType(Z&7);break}}return _},T.decodeDelimited=function(N){if(!(N instanceof n))N=new n(N);return this.decode(N,N.uint32())},T.verify=function(N){if(typeof N!=="object"||N===null)return"object expected";if(N.dec!=null&&N.hasOwnProperty("dec")){if(!E.isString(N.dec))return"dec: string expected"}return null},T.fromObject=function(N){if(N instanceof I.cosmos.base.v1beta1.DecProto)return N;let L=new I.cosmos.base.v1beta1.DecProto;if(N.dec!=null)L.dec=String(N.dec);return L},T.toObject=function(N,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(N.dec!=null&&N.hasOwnProperty("dec"))X.dec=N.dec;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,GT.default.util.toJSONOptions)},T})(),G})(),f})(),y})()});async function iT(){let{$root:y}=await Promise.resolve().then(() => (q1(),J1)),f=await import("@cosmjs/proto-signing"),G=f.Registry??f.default?.Registry,T=await import("@cosmjs/stargate"),x=T.defaultRegistryTypes??T.default?.defaultRegistryTypes;return new G([...x,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function nT(y){let f=await import("@cosmjs/stargate"),G=f.AminoTypes??f.default?.AminoTypes,T=y===Q1.Chain.THORChain?"thorchain":"mayachain";return new G({"/types.MsgDeposit":{aminoType:`${T}/MsgDeposit`,fromAmino:({signer:x,...N})=>({...N,signer:Sy(x)}),toAmino:({signer:x,...N})=>({...N,signer:Ay(x)})},"/types.MsgSend":{aminoType:`${T}/MsgSend`,fromAmino:({from_address:x,to_address:N,...L})=>({...L,fromAddress:Sy(x),toAddress:Sy(N)}),toAmino:({fromAddress:x,toAddress:N,...L})=>({...L,from_address:Ay(x),to_address:Ay(N)})}})}var Q1;var Wx=l(()=>{Jx();Q1=require("@swapkit/helpers")});function Ux(y){return function(G){let{assetValue:T,recipient:x,memo:N,sender:L,asSignable:X,asAminoMessage:_}=G;if(x)return z1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:N,recipient:x,sender:L});return W1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:N,sender:L})}}function VT(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((f)=>{let G=HT.AssetValue.from({asset:f.asset}),T=(G.isSynthetic?G.symbol.split("/")?.[1]:G.symbol)?.toUpperCase(),x=(G.isSynthetic?G.symbol.split("/")?.[0]:G.chain)?.toUpperCase();return{...f,asset:{chain:x,symbol:T,synth:G.isSynthetic,ticker:G.ticker}}})}}}async function Fy({chain:y,memo:f,msgs:G}){let T=await iT(),x=await nT(y),N={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:G.map((L)=>x.fromAmino(L))}};return T.encode(N)}var HT,G2,L2,Mx=({sender:y,recipient:f,assetValue:G})=>{return{type:`${G.chain===HT.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:G.getBaseValue("string"),denom:kT(G.symbol,!0)}],from_address:y,to_address:f}}},Hx=({sender:y,assetValue:f,memo:G=""})=>{return{type:`${f.chain===HT.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:_y(f)}],memo:G,signer:y}}},Rf=({sender:y,recipient:f,assetValue:G,memo:T})=>{return!f?Hx({assetValue:G,memo:T,sender:y}):Mx({assetValue:G,recipient:f,sender:y})},FT=async(y,f)=>{return(await nT(f)).fromAmino(y)},Y1=async({rpcUrl:y,sender:f})=>{let T=await(await PT(y)).getAccount(f);if(!T)throw new HT.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return T},z1=(y)=>async({sender:f,recipient:G,assetValue:T,memo:x="",asSignable:N=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await Y1({rpcUrl:y,sender:f}),J=T.chain,{chainId:q}=HT.getChainConfig(J),B=Mx({assetValue:T,recipient:G,sender:f}),Q=N?await FT(L?B:VT(B),J):B;return{accountNumber:_||Z.accountNumber,chainId:q,fee:DT(J),memo:x,msgs:[Q],sequence:X||Z.sequence}},W1=(y)=>async({sender:f,assetValue:G,memo:T="",asSignable:x=!0,asAminoMessage:N=!1,sequence:L,accountNumber:X})=>{let _=await Y1({rpcUrl:y,sender:f}),Z=G.chain,{chainId:J}=HT.getChainConfig(Z),q=Hx({assetValue:G,memo:T,sender:f}),B=x?await FT(N?q:VT(q),Z):q;return{accountNumber:X||_.accountNumber,chainId:J,fee:DT(Z),memo:T,msgs:[B],sequence:L||_.sequence}};var M1=l(()=>{ny();Wx();HT=require("@swapkit/helpers"),G2=DT(HT.Chain.THORChain).gas,L2=DT(HT.Chain.Maya).gas});var H1=()=>{};var U1=l(()=>{H1()});var Cx=l(()=>{Jx();M1();Wx();U1()});async function Ex(y,f){try{let T=(await Ox.SwapKitApi.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}async function Rx({phrase:y,prefix:f,...G}){let T=await import("@cosmjs/proto-signing"),x=T.DirectSecp256k1HdWallet??T.default?.DirectSecp256k1HdWallet,N=await import("@cosmjs/crypto"),L=N.stringToPath??N.default?.stringToPath,X="derivationPath"in G?G.derivationPath:`${v.DerivationPath[G.chain]}/${G.index}`;return x.fromMnemonic(y,{hdPaths:[L(X)],prefix:f})}async function X2({privateKey:y,prefix:f}){let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(y,f)}function I1(y){return async function({signature:G,message:T,address:x}){let N=await y(x);if(!N?.pubkey)throw new v.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength($T.base64.decode(G));return _.verifySignature(Z,$T.base64.decode(T),N.pubkey.value)}}async function $y({chain:y,...f}){let G=await v.getRPCUrl(y),T=v.CosmosChainPrefixes[y],x="index"in f?f.index||0:0,N=v.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[y],{index:x})),L=await Vy.match(f).with({phrase:Vy.P.string},({phrase:B})=>Rx({derivationPath:N,phrase:B,prefix:T})).with({signer:Vy.P.any},({signer:B})=>B).otherwise(()=>{return});async function X(B){return(await PT(G)).getAccount(B)}async function _(){let[B]=await L?.getAccounts()||[];return B?.address}async function Z(){let[B]=await L?.getAccounts()||[];if(!B?.pubkey)throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");return $T.base64.encode(B?.pubkey)}async function J({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:H=v.FeeOption.Fast}){let C=await _();if(!(L&&C))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let R=v.AssetValue.from({chain:y}),K=_y(R),F=U||C1((await Ix(y,wx[y]))[H],K),u=await Zy(G,L),d=kT(Q.symbol),xT=Q.getBaseValue("string"),{TxRaw:QT}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),A={amount:[{amount:xT,denom:d}],fromAddress:C,toAddress:B},V=await u.sign(C,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:A}],F,Y),z=QT.encode(V).finish();return Buffer.from(z).toString("hex")}async function q({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:H=v.FeeOption.Fast,dryRun:C=!1}){if(C)return J({assetValue:Q,feeOptionKey:H,feeRate:U,memo:Y,recipient:B});let R=await _();if(!(L&&R))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let K=v.AssetValue.from({chain:y}),F=_y(K),u=U||C1((await Ix(y,wx[y]))[H],F),d=await Zy(G,L),xT=kT(Q.symbol),QT=[{amount:Q.getBaseValue("string"),denom:xT}],{transactionHash:A}=await d.sendTokens(R,B,QT,u,Y);return A}return{createPrivateKeyFromPhrase:J2(N),createTransaction:Yx,fetchFeeRateFromSwapKit:Ex,getAccount:X,getAddress:_,getBalance:async(B,Q)=>{let Y=await w1(G)(B),U=await Promise.all(Y.filter(({denom:H})=>H&&!H.includes("IBC/")).map(({denom:H,amount:C})=>{let R=[v.Chain.THORChain,v.Chain.Maya].includes(y)&&(H.includes("/")||H.includes("˜"))?`${y}.${H}`:H;return zx(R,C)}));if(U.length===0)return[v.AssetValue.from({chain:y})];return U},getBalanceAsDenoms:w1(G),getFees:()=>Ix(y,wx[y]),getPubKey:Z,getSignerFromPhrase:async({phrase:B,derivationPath:Q})=>Rx({derivationPath:v.derivationPathToString(Q),index:x,phrase:B,prefix:T}),getSignerFromPrivateKey:async(B)=>{let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(B,T)},signTransaction:J,transfer:q,validateAddress:R1(y),verifySignature:I1(X)}}async function _2(y,f){try{let T=(await Ox.SwapKitApi.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}function Z2({assetValue:{chain:y}}){return v.AssetValue.from({chain:y,value:B2(y)})}async function Ix(y,f){let{chainId:G,baseDecimal:T}=v.getChainConfig(y),x=await Ex(G,f);return{average:v.SwapKitNumber.fromBigInt(BigInt(x),T),fast:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(x,v.FeeOption.Fast,!0)),T),fastest:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(x,v.FeeOption.Fastest,!0)),T)}}function C1(y,f){return{amount:[{amount:y.getBaseValue("string"),denom:f}],gas:"200000"}}function B2(y){return{[v.Chain.Cosmos]:0.007,[v.Chain.Kujira]:0.02,[v.Chain.Noble]:0.01,[v.Chain.THORChain]:0.02,[v.Chain.Maya]:0.02,[v.Chain.Harbor]:0.02}[y]||0}function R1(y){let f=v.CosmosChainPrefixes[y];return function(T){if(!T.startsWith(f))return!1;try{let{prefix:x,words:N}=$T.bech32.decode(T);return $T.bech32.encode(x,N)===T.toLocaleLowerCase()}catch{return!1}}}function w1(y){return async function(G){return(await(await PT(y)).getAllBalances(G)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function J2(y){return async function(G){let T=await import("@cosmjs/crypto"),x=T.stringToPath??T.default?.stringToPath,N=T.Slip10Curve??T.default?.Slip10Curve,L=T.Slip10??T.default?.Slip10,X=T.EnglishMnemonic??T.default?.EnglishMnemonic,_=T.Bip39??T.default?.Bip39,Z=new X(G),J=await _.mnemonicToSeed(Z),{privkey:q}=L.derivePath(N.Secp256k1,J,x(y));return q}}var $T,v,Ox,Vy,wx;var Of=l(()=>{ny();$T=require("@scure/base"),v=require("@swapkit/helpers"),Ox=require("@swapkit/helpers/api"),Vy=require("ts-pattern");wx={[v.Chain.Cosmos]:1000,[v.Chain.Kujira]:1000,[v.Chain.Noble]:1000,[v.Chain.THORChain]:5000000,[v.Chain.Maya]:5000000,[v.Chain.Harbor]:5000000}});function q2({prefix:y,derivationPath:f}){return async function(T,x=0){let N=await import("@cosmjs/amino"),L=N.Secp256k1HdWallet??N.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(T,{hdPaths:[_(`${f}/${x}`)],prefix:y})}}function Q2(y){return KT.base64.encode(y)}function Y2(y){return async function({wallet:G,tx:T}){let{msgs:x,accountNumber:N,sequence:L,chainId:X,fee:_,memo:Z}=typeof T==="string"?JSON.parse(T):T,J=(await G.getAccounts())?.[0]?.address||"",q=await nT(y),B=await iT(),Q=await Qx(G,{aminoTypes:q,registry:B}),Y=[];for(let C of x){let R=await FT(C,y);Y.push(R)}let{signatures:[U]}=await Q.sign(J,Y,_,Z,{accountNumber:N,chainId:X,sequence:L});return{bodyBytes:await Fy({chain:y,memo:Z,msgs:x.map(VT)}),signature:Q2(U)}}}function z2({prefix:y,rpcUrl:f}){return async function(T,x,N,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:J}=(await import("@cosmjs/stargate")).default,{sequence:q,fee:B}=JSON.parse(T),Q=await O1(N,L),Y=x.map((C)=>[Z(_(KT.base64.decode(C.pubKey)),y),KT.base64.decode(C.signature)]),U=await PT(f),{transactionHash:H}=await U.broadcastTx(J(Q,q,B,X,new Map(Y)));return H}}async function O1(y,f,G=!0){let{createMultisigThresholdPubkey:T,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return T(y.map((N)=>x(KT.base64.decode(N))),f,G)}function W2(y){return KT.base64.decode(y)}async function M2({privateKey:y,message:f}){let{Secp256k1:G}=(await import("@cosmjs/crypto")).default,T=await G.createSignature(KT.base64.decode(f),y);return KT.base64.encode(Buffer.concat([T.r(32),T.s(32)]))}async function lx({chain:y,...f}){let G=await g.getRPCUrl(y),{nodeUrl:T}=g.getChainConfig(y),{isStagenet:x}=g.SKConfig.get("envs"),N=y===g.Chain.THORChain,L=`${x?"s":""}${g.CosmosChainPrefixes[y]}`,X="index"in f?f.index||0:0,_="derivationPath"in f&&f.derivationPath?f.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[y],{index:X}),Z=await $y({chain:y,...f}),J=await Ky.match(f).with({phrase:Ky.P.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:Ky.P.any},({signer:Y})=>Y).otherwise(()=>{return}),q=DT(y);async function B(){let Y,U=`${T}/${N?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:H}}=await g.RequestClient.get(U);if(!H||Number.isNaN(H)||H<0)throw new g.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:H.toString()});Y=new g.SwapKitNumber(H)}catch{Y=new g.SwapKitNumber({decimal:g.getChainConfig(y).baseDecimal,value:N?0.02:1})}return{[g.FeeOption.Average]:Y,[g.FeeOption.Fast]:Y,[g.FeeOption.Fastest]:Y}}async function Q({assetValue:Y,memo:U="",recipient:H}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),R=(await J?.getAccounts())?.[0]?.address;if(!(R&&J))throw new g.SwapKitError("toolbox_cosmos_no_signer");let K="signAmino"in J,F=await iT(),u=await nT(y),d=await Zy(G,J,{aminoTypes:u,registry:F}),xT=Rf({assetValue:Y,memo:U,recipient:H,sender:R});if(K){let z=await FT(xT,y),{signatures:w,authInfoBytes:O}=await d.sign(R,[z],q,U),b=C.encode({authInfoBytes:O,bodyBytes:await Fy({chain:y,memo:U,msgs:[xT].map(VT)}),signatures:w}).finish();return(await d.broadcastTx(b)).transactionHash}let QT=VT(xT),A=await FT(QT,y);return(await d.signAndBroadcast(R,[A],q,U)).transactionHash}return{...Z,broadcastMultisigTx:z2({prefix:L,rpcUrl:G}),buildAminoMsg:Rf,buildEncodedTxBody:Fy,convertToSignable:FT,createDefaultAminoTypes:()=>nT(y),createDefaultRegistry:iT,createMultisig:O1,createTransaction:Ux(G),deposit:Q,getFees:B,importSignature:W2,parseAminoMessageForDirectSigning:VT,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:U}=(await import("@cosmjs/amino")).default;return U(Y,L)},secp256k1HdWalletFromMnemonic:q2({derivationPath:g.derivationPathToString(_),prefix:L}),signMultisigTx:Y2(y),signWithPrivateKey:M2,transfer:Q}}var KT,g,Ky;var kx=l(()=>{Cx();ny();Of();KT=require("@scure/base"),g=require("@swapkit/helpers"),Ky=require("ts-pattern")});var bT,H2=(y,f)=>{switch(y){case bT.Chain.Cosmos:case bT.Chain.Kujira:case bT.Chain.Noble:return $y({chain:y,...f});case bT.Chain.Maya:case bT.Chain.THORChain:return lx({chain:y,...f});default:throw new bT.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var E1=l(()=>{Of();kx();bT=require("@swapkit/helpers");Of();kx()});var Ef={};qT(Ef,{verifySignature:()=>I1,transferMsgAmino:()=>Mx,toBase64:()=>y2,parseAminoMessageForDirectSigning:()=>VT,getSignerFromPrivateKey:()=>X2,getSignerFromPhrase:()=>Rx,getMsgSendDenom:()=>kT,getFeeRateFromSwapKit:()=>_2,getDenomWithChain:()=>_y,getDefaultChainFee:()=>DT,getCreateTransaction:()=>Ux,getCosmosValidateAddress:()=>R1,getCosmosToolbox:()=>H2,getAssetFromDenom:()=>zx,fromBase64:()=>f2,fetchFeeRateFromSwapKit:()=>Ex,estimateTransactionFee:()=>Z2,depositMsgAmino:()=>Hx,createThorchainToolbox:()=>lx,createStargateClient:()=>PT,createSigningStargateClient:()=>Zy,createOfflineStargateClient:()=>Qx,createDefaultRegistry:()=>iT,createDefaultAminoTypes:()=>nT,createCosmosToolbox:()=>$y,cosmosCreateTransaction:()=>Yx,convertToSignable:()=>FT,buildTransferTx:()=>z1,buildEncodedTxBody:()=>Fy,buildDepositTx:()=>W1,buildAminoMsg:()=>Rf,bech32ToBase64:()=>Sy,base64ToBech32:()=>Ay,YUM_KUJIRA_FACTORY_DENOM:()=>X1,USK_KUJIRA_FACTORY_DENOM:()=>qx,THORCHAIN_GAS_VALUE:()=>G2,MAYA_GAS_VALUE:()=>L2,DEFAULT_NOBLE_FEE_MAINNET:()=>B1,DEFAULT_KUJI_FEE_MAINNET:()=>Z1,DEFAULT_COSMOS_FEE_MAINNET:()=>_1});module.exports=YT(Ef);var lf=l(()=>{Cx();E1();ny()});async function k1(y){let f=j.AssetValue.from({address:y,chain:j.Chain.Solana});if(f.symbol!=="UNKNOWN")return{decimals:f.decimal||0,id:y,logoURI:f.getIconUrl(),name:f.symbol,symbol:f.ticker};let G=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let T=await fetch(G);if(!T.ok)return null;let x=await T.json();if(!Array.isArray(x)||x.length===0)return null;return x.find((L)=>L.id===y)||null}catch{return null}}async function U2(y){let f=await dT(),{PublicKey:G}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:T}=await import("@solana/spl-token"),x=new G(y),N=[],L=await f.getBalance(x);if(L>0){let{baseDecimal:_}=j.getChainConfig(j.Chain.Solana);N.push(j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:_,value:L}))}let X=await f.getParsedTokenAccountsByOwner(x,{programId:T});for(let{account:_}of X.value){let Z=_.data.parsed.info,J=Z.mint,q=Z.tokenAmount.amount;if(Number(q)===0)continue;let B=await k1(J),Q=B?.symbol||"UNKNOWN",Y=B?.decimals||Z.tokenAmount.decimals;N.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${Q}-${J}`,fromBaseDecimal:Y,value:q}))}return N}async function vx(){let{PublicKey:y}=await import("@solana/web3.js");return(f)=>{try{let G=new y(f);return y.isOnCurve(G.toBytes())}catch{return!1}}}async function C2(y){let f=y&&"index"in y?y.index||0:0,G=j.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:f})),T=await by.match(y).with({phrase:by.P.string},({phrase:L})=>Px({derivationPath:G,phrase:L})).with({signer:by.P.any},({signer:L})=>L).otherwise(()=>{return});function x(){return T?.publicKey?l1(T.publicKey):""}function N(L){let X=L||x();if(!X)throw new j.SwapKitError("core_wallet_connection_not_found");return U2(X)}return{broadcastTransaction:Dx(dT),createKeysForPath:Px,createTransaction:Sx(dT),createTransactionFromInstructions:O2,estimateTransactionFee:w2(dT),getAddress:x,getAddressFromPubKey:l1,getAddressValidator:vx,getBalance:N,getConnection:dT,getPubkeyFromAddress:Ax,signTransaction:l2(dT,T),transfer:E2(dT,T)}}function w2(y){return async({recipient:f,assetValue:G,memo:T,isProgramDerivedAddress:x,sender:N})=>{let L=await y(),_=(await Sx(y)({assetValue:G,isProgramDerivedAddress:x,memo:T,recipient:f,sender:N})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new j.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:J}=j.getChainConfig(j.Chain.Solana);return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:J,value:Z.value})}}async function dT(){let{Connection:y}=await import("@solana/web3.js"),f=await j.getRPCUrl(j.Chain.Solana);return new y(f,"confirmed")}function I2(y){return async({assetValue:f,recipient:G,sender:T,isProgramDerivedAddress:x})=>{let N=await y(),L=await Ax(T);if(f.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:f.getBaseValue("number"),toPubkey:new Z(G)}))}if(f.address)return R2({amount:f.getBaseValue("number"),connection:N,decimals:f.decimal,from:L,isProgramDerivedAddress:x,recipient:G,tokenAddress:f.address});return}}async function R2({tokenAddress:y,recipient:f,from:G,connection:T,amount:x,decimals:N,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:J}=await import("@solana/spl-token"),{Transaction:q,PublicKey:B}=await import("@solana/web3.js"),Q=new q,Y=new B(y),U=await X(Y,G),H=new B(f),C=await X(Y,H,L),R=!1;try{await _(T,C),R=!0}catch{}if(!R)Q.add(Z(G,C,H,Y));return Q.add(J(U,Y,C,G,x,N)),Q}function Sx(y){return async({recipient:f,assetValue:G,memo:T,isProgramDerivedAddress:x,sender:N})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await Ax(N),_=await vx();if(!(x||_(f)))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let Z=await y(),J=await I2(y)({assetValue:G,isProgramDerivedAddress:x,recipient:f,sender:N});if(!J)throw new j.SwapKitError("core_transaction_invalid_sender_address");if(T)J.add(L(T));let q=await Z.getLatestBlockhash();return J.recentBlockhash=q.blockhash,J.feePayer=X,J}}async function O2({instructions:y}){let{Transaction:f}=await import("@solana/web3.js"),G=new f().add(...y);if(!G)throw new j.SwapKitError("core_transaction_invalid_sender_address");return G}function E2(y,f){return async({recipient:G,assetValue:T,memo:x,isProgramDerivedAddress:N})=>{if(!f)throw new j.SwapKitError("core_transaction_invalid_sender_address");let L=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),X=await Sx(y)({assetValue:T,isProgramDerivedAddress:N,memo:x,recipient:G,sender:L});if("signTransaction"in f){let _=await f.signTransaction(X);return Dx(y)(_)}return X.sign(f),Dx(y)(X)}}function Dx(y){return async(f)=>{return(await y()).sendRawTransaction(f.serialize())}}function l2(y,f){return async(G)=>{let{VersionedTransaction:T}=await import("@solana/web3.js");if(!f)throw new j.SwapKitError("toolbox_solana_no_signer");if(!(G instanceof T)){let N=await(await y()).getLatestBlockhash();G.recentBlockhash=N.blockhash,G.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(G);return await G.sign([f]),G}}async function Px({phrase:y,derivationPath:f=j.DerivationPath.SOL}){let{HDKey:G}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),N=T(y),L=G.fromMasterSeed(N);return x.fromSeed(L.derive(f,!0).privateKey)}function l1(y){return y.toString()}async function Ax(y){let{PublicKey:f}=await import("@solana/web3.js");return new f(y)}var j,by;var D1=l(()=>{j=require("@swapkit/helpers"),by=require("ts-pattern")});var nx={};qT(nx,{getSolanaToolbox:()=>C2,getSolanaAddressValidator:()=>vx,fetchTokenMetaData:()=>k1,createKeysForPath:()=>Px});module.exports=YT(nx);var Fx=l(()=>{D1()});async function P1(){let{isValidSuiAddress:y}=await import("@mysten/sui/utils");return function(G){try{return y(G)}catch{return!1}}}async function k2({provider:y,...f}={}){let G=await P1(),T=await uy.match(f).with({phrase:uy.P.string},async({phrase:q})=>{let{Ed25519Keypair:B}=await import("@mysten/sui/keypairs/ed25519");return B.deriveKeypair(q)}).with({signer:uy.P.any},({signer:q})=>q).otherwise(()=>{return});async function x(q=y){let{SuiClient:B,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new B({url:q||Q("mainnet")})}function N(){return T?.toSuiAddress()||""}async function L(q){let B=q||N();if(!B)throw new e.SwapKitError("toolbox_sui_address_required");try{let Q=await x(),{totalBalance:Y}=await Q.getBalance({owner:B}),{baseDecimal:U,chain:H}=e.getChainConfig(e.Chain.Sui),C=[e.AssetValue.from({chain:H,fromBaseDecimal:U,value:Y})],R=await Q.getAllBalances({owner:B});for(let{coinType:K,totalBalance:F}of R){if(K==="0x2::sui::SUI")continue;if(Number(F)>0){let u=K.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${H}.${u}-${K}`;C.push(e.AssetValue.from({asset:d,fromBaseDecimal:U,value:F}))}}return C}catch(Q){throw new e.SwapKitError("toolbox_sui_balance_error",{error:Q})}}async function X(q){let B=e.AssetValue.from({chain:e.Chain.Sui,value:"0.01"});if(!q)return B;try{let Q=await x(),{txBytes:Y}=await _(q),{effects:{status:U,gasUsed:H}}=await Q.dryRunTransactionBlock({transactionBlock:Y});if(U.status!=="success")return B;let C=Number(H.computationCost)+Number(H.storageCost)-Number(H.storageRebate);return e.AssetValue.from({chain:e.Chain.Sui,value:C.toString()})}catch{return B}}async function _({recipient:q,assetValue:B,gasBudget:Q,sender:Y}){let{Transaction:U}=await import("@mysten/sui/transactions"),H=Y||N();if(!H)throw new e.SwapKitError("toolbox_sui_no_sender");try{let C=new U;if(C.setSender(H),B.isGasAsset||B.symbol==="SUI"){let[F]=C.splitCoins(C.gas,[B.getBaseValue("string")]);C.transferObjects([F],q)}else throw new e.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(Q)C.setGasBudget(Q);let R=await x(),K=await C.build({client:R});return{tx:C,txBytes:K}}catch(C){throw new e.SwapKitError("toolbox_sui_transaction_creation_error",{error:C})}}async function Z(q){if(!T)throw new e.SwapKitError("toolbox_sui_no_signer");if(q instanceof Uint8Array)return T.signTransaction(q);let{txBytes:B}="tx"in q?q:await _(q);return T.signTransaction(B)}async function J({assetValue:q,gasBudget:B,recipient:Q}){if(!T)throw new e.SwapKitError("toolbox_sui_no_signer");let Y=T.toSuiAddress()||N();if(!Y)throw new e.SwapKitError("toolbox_sui_no_sender");let{txBytes:U}=await _({assetValue:q,gasBudget:B,recipient:Q,sender:Y}),H=await x(),{digest:C}=await H.signAndExecuteTransaction({signer:T,transaction:U});return C}return{createTransaction:_,estimateTransactionFee:X,getAddress:N,getBalance:L,signTransaction:Z,transfer:J,validateAddress:G}}var e,uy;var v1=l(()=>{e=require("@swapkit/helpers"),uy=require("ts-pattern")});var kf={};qT(kf,{getSuiToolbox:()=>k2,getSuiAddressValidator:()=>P1});module.exports=YT(kf);var Df=l(()=>{v1()});async function D2(y={}){let{mnemonicToWalletKey:f}=await import("@ton/crypto"),{Address:G,TonClient:T,WalletContractV4:x}=await import("@ton/ton"),N=await S1(),L,X,_=await oy.match(y).with({phrase:oy.P.string},async({phrase:C})=>f(C.split(" "))).with({signer:oy.P.any},({signer:C})=>C).otherwise(()=>{return});function Z(){let{rpcUrls:C}=TT.getChainConfig(TT.Chain.Ton),[R]=C;if(!L||L.parameters.endpoint!==R)L=new T({endpoint:R});return L}function J(C){if(!X||C){let R=Z(),K=C||_;if(!K)throw new TT.SwapKitError("core_wallet_connection_not_found");let F=x.create({publicKey:K.publicKey,workchain:0});X=R.open(F)}return X}async function q(C){let R=Z(),{baseDecimal:K}=TT.getChainConfig(TT.Chain.Ton);try{let F=await R.getBalance(G.parse(C));return[TT.AssetValue.from({chain:TT.Chain.Ton,value:TT.SwapKitNumber.fromBigInt(F,K)})]}catch(F){throw new TT.SwapKitError("core_wallet_connection_not_found",{error:F})}}async function B({assetValue:C,recipient:R,memo:K}){let F=J();if(!F||!_)throw new TT.SwapKitError("core_wallet_connection_not_found");let{toNano:u,comment:d,internal:xT}=await import("@ton/ton"),QT=await F.getSeqno(),A=u(C.getValue("string")),V=K?d(K):void 0;return F.createTransfer({messages:[xT({body:V,to:R,value:A})],secretKey:_.secretKey,seqno:QT})}async function Q({assetValue:C,recipient:R,memo:K}){let F=J();if(!F||!_)throw new TT.SwapKitError("core_wallet_connection_not_found");let u=await B({assetValue:C,memo:K,recipient:R});return await F.send(u),u.hash().toString()}async function Y(C){let R=J();if(!R)throw new TT.SwapKitError("core_wallet_connection_not_found");try{return await R.send(C),C.hash().toString("hex")}catch(K){throw new TT.SwapKitError("core_wallet_connection_not_found",{error:K})}}function U(){return J().address.toString()}function H(){return Promise.resolve(TT.AssetValue.from({chain:TT.Chain.Ton,value:"0.0001"}))}return{createTransaction:B,estimateTransactionFee:H,getAddress:U,getBalance:q,sendTransaction:Y,transfer:Q,validateAddress:N}}async function S1(){let{Address:y}=await import("@ton/ton");return function(G){try{return y.parse(G),!0}catch{return!1}}}var TT,oy;var A1=l(()=>{TT=require("@swapkit/helpers"),oy=require("ts-pattern")});var Pf={};qT(Pf,{getTONToolbox:()=>D2,getTONAddressValidator:()=>S1});module.exports=YT(Pf);var vf=l(()=>{A1()});var By;var Vx=l(()=>{By=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function F1(y){let f=await import("tronweb"),G=f.TronWeb??f.default?.TronWeb;try{let T=await fetch(`${P2}/v1/accounts/${y}`);if(!T.ok)throw Error(`TronGrid API error: ${T.status} ${T.statusText}`);let x=await T.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let N;try{N=G.address.toHex(y).toLowerCase()}catch{N=y.toLowerCase()}let L=x.data.find((X)=>{return X.address.toLowerCase()===N});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(T){throw new n1.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}var n1,P2="https://api.trongrid.io";var V1=l(()=>{n1=require("@swapkit/helpers")});async function $x(){let y=await import("tronweb"),f=y.TronWeb??y.default?.TronWeb;return(G)=>{return f.isAddress(G)}}async function K1({phrase:y,derivationPath:f,index:G}){let T=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:G||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:N}=await import("@scure/bip39"),L=N(y),_=x.fromMasterSeed(L).derive(T);if(!_.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function F2({phrase:y,derivationPath:f,tronWeb:G}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),N=x(y),X=T.fromMasterSeed(N).derive(f);if(!X.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");G.setPrivateKey(_);let Z=G?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(J)=>{return await G.trx.sign(J,_)}}}var P,jy,v2=268,S2=13000,A2=345,$1="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",n2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",b1=async(y={})=>{let f=await import("tronweb"),G=f.TronWeb??f.default?.TronWeb,T=await P.getRPCUrl(P.Chain.Tron),x=void 0,N=new G({fullHost:T,headers:void 0}),L="index"in y?y.index||0:0,X=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:L})),_=await jy.match(y).with({phrase:jy.P.string},async({phrase:A})=>F2({derivationPath:X,phrase:A,tronWeb:N})).with({signer:jy.P.any},({signer:A})=>Promise.resolve(A)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");return await _.getAddress()},J=()=>{return 1e8},q=async()=>{try{let A=await N.trx.getChainParameters(),V={};for(let z of A)V[z.key]=z.value;return{bandwidthFee:V.getTransactionFee||1000,createAccountFee:V.getCreateAccountFee||1e5,energyFee:V.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},B=async(A)=>{try{let V=await N.trx.getAccount(A);return V&&Object.keys(V).length>0}catch{return!1}},Q=async(A)=>{try{let V=await N.trx.getAccountResources(A);return{bandwidth:{free:V.freeNetLimit-V.freeNetUsed,total:V.NetLimit||0,used:V.NetUsed||0},energy:{total:V.EnergyLimit||0,used:V.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(A,V)=>{try{let z=N.contract(By,V);if(!z.methods?.balanceOf)return 0n;let[w]=await z.methods.balanceOf(A).call();return w?typeof w==="bigint"?w:BigInt(w):0n}catch(z){return console.warn(`balanceOf() failed for ${V}:`,z),0n}},U=async(A,V)=>{try{N.setAddress(V);let z=N.contract(By,A),[w,O]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(O??18),symbol:w??"UNKNOWN"}}catch(z){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${A}: ${z instanceof Error?z.message:z}`}),null}},H=async(A,V=!0)=>{let z=[P.AssetValue.from({chain:P.Chain.Tron})];try{let w=await F1(A);if(w){let O=[];O.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:w.balance}));for(let b of w.trc20){let[t,h]=Object.entries(b)[0]||[];if(!(t&&h))continue;let $=await U(t,A);if(!$)continue;O.push(P.AssetValue.from({asset:`TRON.${$.symbol}-${t}`,fromBaseDecimal:$.decimals,value:BigInt(h||0)}))}return O}return z}catch(w){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${w instanceof Error?w.message:w}`});try{let O=[],b=await N.trx.getBalance(A);if(b&&Number(b)>0)O.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:b}));let t=await Y(A,$1);if(t)O.push(P.AssetValue.from({asset:`TRON.USDT-${$1}`,fromBaseDecimal:6,value:t}));if(O.length===0)return z;return O}catch(O){return console.error("Tron balance fetch failed:",O),z}}},C=async({recipient:A,assetValue:V,memo:z})=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");let w=await Z();if(N.setAddress(w),V.isGasAsset){let $=await N.transactionBuilder.sendTrx(A,V.getBaseValue("number"),w);if(z){let JT=await N.transactionBuilder.addUpdateData($,z,"utf8"),wT=await _.signTransaction(JT),{txid:pT}=await N.trx.sendRawTransaction(wT);return pT}let NT=await _.signTransaction($),{txid:ZT}=await N.trx.sendRawTransaction(NT);return ZT}let b=await K({assetValue:V,memo:z,recipient:A,sender:w}),t=await _.signTransaction(b),{txid:h}=await N.trx.sendRawTransaction(t);if(!h)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return h},R=async({assetValue:A,recipient:V,sender:z})=>{let w=A.isGasAsset;try{let O=z?z:_?await Z():void 0;if(!O)return w?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let b=await q(),h=await B(V)?0:b.createAccountFee,$=await Q(O);if(w){let mT=v2,sy=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),ey=0;if(mT>sy)ey=(mT-sy)*b.bandwidthFee;let Tf=h+ey;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:Tf})}let NT=A2,ZT=S2,JT=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),wT=$.energy.total-$.energy.used,pT=0;if(NT>JT)pT=(NT-JT)*b.bandwidthFee;let ay=0;if(ZT>wT)ay=(ZT-wT)*b.energyFee;let gf=h+pT+ay;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:gf})}catch(O){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${O instanceof Error?O.message:O}`}),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:O})}},K=async(A)=>{let{recipient:V,assetValue:z,memo:w,sender:O,expiration:b}=A;if(z.isGasAsset){let $=await N.transactionBuilder.sendTrx(V,z.getBaseValue("number"),O);if(w)return N.transactionBuilder.addUpdateData($,w,"utf8");if(b)N.transactionBuilder.extendExpiration($,b);return $}N.setAddress(O);let h=z.address;if(!h)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let NT=[{type:"address",value:V},{type:"uint256",value:z.getBaseValue("string")}],ZT={callValue:0,feeLimit:J()},JT=await N.transactionBuilder.triggerSmartContract(h,"transfer(address,uint256)",ZT,NT,O);if(w)return N.transactionBuilder.addUpdateData(JT.transaction,w,"utf8");if(b)N.transactionBuilder.extendExpiration(JT.transaction,b);return JT.transaction}catch($){throw new P.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:$ instanceof Error?$.message:String($)})}},F=async(A)=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");return await _.signTransaction(A)},u=async(A)=>{let{txid:V}=await N.trx.sendRawTransaction(A);return V},d=async({assetAddress:A,spenderAddress:V,from:z})=>{try{let w=N.contract(By,A);if(!w.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let[O]=await w.methods.allowance(z,V).call();return O?typeof O==="bigint"?O:BigInt(O):0n}catch(w){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:w})}};return{approve:async({assetAddress:A,spenderAddress:V,amount:z,from:w})=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");let O=w||await Z(),b=z!==void 0?BigInt(z).toString():n2,t="approve(address,uint256)",h=[{type:"address",value:V},{type:"uint256",value:b}],NT={callValue:0,feeLimit:J()};try{let{transaction:ZT}=await N.transactionBuilder.triggerSmartContract(A,t,NT,h,O),JT=await _.signTransaction(ZT),{txid:wT}=await N.trx.sendRawTransaction(JT);if(!wT)throw new P.SwapKitError("toolbox_tron_approve_failed");return wT}catch(ZT){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:ZT})}},broadcastTransaction:u,createTransaction:K,estimateTransactionFee:R,getAddress:Z,getApprovedAmount:d,getBalance:H,isApproved:async({assetAddress:A,spenderAddress:V,from:z,amount:w})=>{let O=await d({assetAddress:A,from:z,spenderAddress:V});if(!w)return O>0n;let b=BigInt(w);return O>=b},signTransaction:F,transfer:C,tronWeb:N,validateAddress:await $x()}};var u1=l(()=>{Vx();V1();P=require("@swapkit/helpers"),jy=require("ts-pattern")});var Kx={};qT(Kx,{trc20ABI:()=>By,getTronPrivateKeyFromMnemonic:()=>K1,getTronAddressValidator:()=>$x,createTronToolbox:()=>b1});module.exports=YT(Kx);var bx=l(()=>{Vx();u1()});async function V2({chain:y,txHash:f}){let G=`${Sf(y)}/push/transaction`,T=JSON.stringify({data:f});try{let x=await o.RequestClient.post(G,{body:T,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new o.SwapKitError("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||f}catch(x){let N=await o.getRPCUrl(y);if(N){let L=JSON.stringify({id:V0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),X=await o.RequestClient.post(N,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new o.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new o.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw x}}function Sf(y){return`https://api.blockchair.com/${$2(y)}`}function o1(y){switch(y){case o.Chain.Bitcoin:return 5;case o.Chain.Dogecoin:return 1e4;case o.Chain.Litecoin:return 1;case o.Chain.Zcash:return 1;default:return 2}}function $2(y){switch(y){case o.Chain.BitcoinCash:return"bitcoin-cash";case o.Chain.Litecoin:return"litecoin";case o.Chain.Dash:return"dash";case o.Chain.Dogecoin:return"dogecoin";case o.Chain.Zcash:return"zcash";case o.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function K2(y){try{let{feePerKb:f}=await o.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),G=f/1000;return Math.max(G,o1(y))}catch{return o1(y)}}async function ux(y,f){let G=await o.RequestClient.get(`${y}${f?`${y.includes("?")?"&":"?"}key=${f}`:""}`);if(!G||G.context.code!==200)throw new o.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return G.data}async function m1({address:y,chain:f,apiKey:G}){if(!y)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await ux(`${Sf(f)}/dashboards/address/${y}?transaction_details=true`,G))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function b2({address:y,chain:f,apiKey:G}){return(await m1({address:y,apiKey:G,chain:f}))?.address.balance||0}async function c1({chain:y,apiKey:f,txHash:G}){if(!G)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await ux(`${Sf(y)}/raw/transaction/${G}`,f))?.[G]?.raw_transaction||""}catch(T){return console.error("Failed to fetch raw transaction:",T),""}}async function u2({chain:y,address:f,apiKey:G,offset:T=0,limit:x=30}){return(await ux(`${Sf(y)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${T}`,G)).map(({is_spent:_,script_hex:Z,block_id:J,transaction_hash:q,index:B,value:Q,spending_signature_hex:Y})=>({hash:q,index:B,is_confirmed:J!==-1,is_spent:_,script_hex:Z,txHex:Y,value:Q}))}function o2(y){return y.reduce((f,G)=>f+G.value,0)}function j1(y,f){let G=[...y].sort((T,x)=>x.value-T.value);if(f){let T=[],x=0;for(let N of G)if(T.push(N),x+=N.value,x>=f)break;return T}return G}async function t1({chain:y,address:f,apiKey:G,targetValue:T,accumulativeValue:x=0,offset:N=0,limit:L=30}){if(!f)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await u2({address:f,apiKey:G,chain:y,limit:L,offset:N,targetValue:T}),Z=X.length<L,J=X.filter(({is_spent:H})=>!H),q=o2(J),B=x+q,Q=T&&B>=T;if(Z||Q)return j1(J,T);let Y=await t1({accumulativeValue:B,address:f,apiKey:G,chain:y,limit:L,offset:N+L,targetValue:T}),U=[...J,...Y];return j1(U,T)}catch(X){return console.error("Failed to fetch unspent UTXOs:",X),[]}}async function j2({address:y,chain:f,apiKey:G,fetchTxHex:T=!0,targetValue:x}){let N=await t1({address:y,apiKey:G,chain:f,targetValue:x}),L=[];for(let{hash:X,index:_,script_hex:Z,value:J}of N){let q;if(T)q=await c1({apiKey:G,chain:f,txHash:X});L.push({address:y,hash:X,index:_,txHex:q,value:J,witnessUtxo:{script:Buffer.from(Z,"hex"),value:J}})}return L}function h2(y){let f=o.SKConfig.get("apiKeys").blockchair||"";return o.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(G)=>V2({chain:y,txHash:G}),getAddressData:(G)=>m1({address:G,apiKey:f,chain:y}),getBalance:(G)=>b2({address:G,apiKey:f,chain:y}),getRawTx:(G)=>c1({apiKey:f,chain:y,txHash:G}),getSuggestedTxFee:()=>K2(y),getUtxos:(G)=>j2({...G,apiKey:f,chain:y})}}function p2(y){return y}function WT(y){let f=o.SKConfig.get("apis")[y];if(f)return o.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return h2(y)}function IT(){return function(f){switch(f){case o.Chain.Bitcoin:return p1.networks.bitcoin;case o.Chain.BitcoinCash:return Jy.default.bitcoincash.main.toBitcoinJS();case o.Chain.Dash:return Jy.default.dash.main.toBitcoinJS();case o.Chain.Litecoin:return Jy.default.litecoin.main.toBitcoinJS();case o.Chain.Dogecoin:{let G={private:70615956,public:70617039},T=Jy.default.dogecoin.test;return T.versions.bip32=G,Jy.default.dogecoin.main.toBitcoinJS()}case o.Chain.Zcash:return h1.networks.zcash;default:throw new o.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var h1,o,p1,Jy;var g1=l(()=>{Iy();h1=require("@bitgo/utxo-lib"),o=require("@swapkit/helpers"),p1=require("bitcoinjs-lib"),Jy=W(require("coininfo"))});function mx(y){try{return Af(y),!0}catch{return!1}}function cx(y){return Af(y)?.network}function qy(y){let f=Af(y);if(f?.format==="legacy")return y;return t2(f)}function hy(y){let f=Af(y);return g2(f)}function Af(y){try{let f=m2(y);if(f)return f}catch{}try{let f=c2(y);if(f)return f}catch{}throw new ox.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function m2(y){try{let f=jx.default.decode(y);if(f.length!==21)throw new ox.SwapKitError("toolbox_utxo_invalid_address",{address:y});let G=f[0],T=Array.prototype.slice.call(f,1);switch(G){case rT.legacy.mainnet.p2pkh:return{format:"legacy",hash:T,network:"mainnet",type:"p2pkh"};case rT.legacy.mainnet.p2sh:return{format:"legacy",hash:T,network:"mainnet",type:"p2sh"};case rT.legacy.testnet.p2pkh:return{format:"legacy",hash:T,network:"testnet",type:"p2pkh"};case rT.legacy.testnet.p2sh:return{format:"legacy",hash:T,network:"testnet",type:"p2sh"};case rT.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2pkh"};case rT.bitpay.mainnet.p2sh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function c2(y){if(y.indexOf(":")!==-1)try{return i1(y)}catch{}else{let f=["bitcoincash","bchtest","bchreg"];for(let G of f)try{return i1(`${G}:${y}`)}catch{}}return}function i1(y){try{let{hash:f,prefix:G,type:T}=hx.default.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:G==="bitcoincash"?"mainnet":"testnet",type:T==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function t2(y){let f=rT.legacy[y.network][y.type],G=Buffer.alloc(1+y.hash.length);return G[0]=f,G.set(y.hash,1),jx.default.encode(G)}function g2(y){let f=y.network==="mainnet"?"bitcoincash":"bchtest",G=y.type==="p2pkh"?"P2PKH":"P2SH",T=new Uint8Array(y.hash);return hx.default.encode(f,G,T)}var ox,jx,hx,px,rT;var d1=l(()=>{ox=require("@swapkit/helpers"),jx=W(require("bs58check")),hx=W(require("cashaddrjs"));((G)=>{G.Mainnet="mainnet";G.Testnet="testnet"})(px||={});rT={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function RT(y){let f=Buffer.from(y,"utf8");return Vf.script.compile([Vf.opcodes.OP_RETURN,f])}var r1,Vf,i2=1000,$f=10,a1=10,d2=41,r2=107,Kf,nf,Ff,py=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new r1.SwapKitError("toolbox_utxo_invalid_address",{address:y})},Qy=({inputs:y,outputs:f,feeRate:G})=>{let T=y[0]&&"address"in y[0]&&y[0].address?py(y[0].address):"P2PKH",x=y.filter((L)=>L.value>=nf["type"in L?L.type:"P2PKH"]*Math.ceil(G)).reduce((L,X)=>L+uT(X),0),N=f?.reduce((L,X)=>L+my(X),0)||Ff[T];return $f+x+N},uT=(y)=>{if("type"in y)return nf[y.type];if("address"in y&&y.address)return nf[py(y.address)];return d2+r2},my=(y,f)=>{if(y?.script)return a1+y.script.length+(y.script.length>=74?2:1);if(f)return Ff[f];return Ff.P2PKH};var tx=l(()=>{r1=require("@swapkit/helpers"),Vf=require("bitcoinjs-lib");((G)=>{G.P2PKH="P2PKH";G.P2WPKH="P2WPKH"})(Kf||={});nf={["P2PKH"]:148,["P2WPKH"]:68},Ff={["P2PKH"]:34,["P2WPKH"]:31}});function bf(y){switch(y){case OT.Chain.Bitcoin:case OT.Chain.BitcoinCash:return 550;case OT.Chain.Dash:case OT.Chain.Litecoin:return 5500;case OT.Chain.Dogecoin:return 1e5;case OT.Chain.Zcash:return 546;default:throw new OT.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function ET({inputs:y,outputs:f,feeRate:G=1,chain:T=OT.Chain.Bitcoin,changeAddress:x=""}){let N=Math.ceil(G),L=y[0]&&"address"in y[0]&&y[0].address?py(y[0].address):"P2PKH",X=y.filter((Q)=>uT(Q)*N<=Q.value),_=$f+f.reduce((Q,Y)=>Q+my(Y,L),0),Z=f.reduce((Q,Y)=>Q+Y.value,0),J=_*N,q=0,B=[];for(let Q of X){let Y=uT(Q),U=N*Y;J+=U,q+=Q.value,B.push(Q);let H=J+Z;if(q<H)continue;let C=q-H,R=N*my({address:"",value:0},L);if(C>R){let K=R+J,F=q-(Z+K);if(F>Math.max(uT({})*N,bf(T)))return{fee:K,inputs:B,outputs:f.concat({address:x,value:F})}}return{fee:J,inputs:B,outputs:f}}return{fee:N*Qy({feeRate:N,inputs:y,outputs:f})}}var OT;var s1=l(()=>{tx();OT=require("@swapkit/helpers")});var Yy=l(()=>{g1();d1();s1();tx()});function aT(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function oT(y){let f=aT(y);return mx(f)&&cx(f)==="mainnet"}function zy(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=uf.networks.zcash;try{return uf.address.toOutputScript(y,f),!0}catch{let G=e1.default.decode(y);if(G.length<21)return!1;let T=G[0];return T===f.pubKeyHash||T===f.scriptHash}}catch{return!1}}var uf,e1;var cy=l(()=>{Yy();uf=require("@bitgo/utxo-lib"),e1=W(require("bs58check"))});function f5({inputs:y,outputs:f,chain:G,psbt:T,sender:x,compiledMemo:N}){for(let L of y){let X=!!L.witnessUtxo&&!ty.includes(G)&&{witnessUtxo:L.witnessUtxo},_=ty.includes(G)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};T.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of f){let X="address"in L&&L.address?L.address:x,_=L.script;if(_&&!N)continue;let Z=_?{script:N,value:0}:{address:X,value:L.value};lT.initEccLib(of.default),T.addOutput(Z)}return{inputs:y,psbt:T}}async function x5({assetValue:y,recipient:f,memo:G,feeRate:T,sender:x,fetchTxHex:N=!1}){let L=y.chain,X=G?await RT(G):null,_=await L5({assetValue:y,fetchTxHex:N,memo:G,recipient:f,sender:x}),{inputs:Z,outputs:J}=ET({..._,chain:L,feeRate:T});if(!(Z&&J))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await IT(),B=new lT.Psbt({network:q(L)});if(L===S.Chain.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:Q,inputs:Y}=await f5({chain:L,compiledMemo:X,inputs:Z,outputs:J,psbt:B,sender:x});return{inputs:Y,psbt:Q,utxos:_.inputs}}async function N5(){let y=await IT();return function({address:G,chain:T}){if(T===S.Chain.BitcoinCash)return oT(G);if(T===S.Chain.Zcash)return zy(G);try{return lT.initEccLib(of.default),lT.address.toOutputScript(G,y(T)),!0}catch{return!1}}}async function a2({chain:y,phrase:f,derivationPath:G}){let T=(await gy(y))({derivationPath:G,phrase:f});async function x(L){return await L.signAllInputs(T),L}function N(){return ix(y)(T)}return{getAddress:N,signTransaction:x}}async function sT({chain:y,...f}){let G="phrase"in f?f.phrase:void 0,T="index"in f?f.index||0:0,x=S.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[y],{index:T})),N=G?await a2({chain:y,derivationPath:x,phrase:G}):("signer"in f)?f.signer:void 0;function L(){return Promise.resolve(N?.getAddress())}let X=await N5(),_=await gy(y);return{accumulative:ET,broadcastTx:(Z)=>WT(y).broadcastTx(Z),calculateTxSize:Qy,createKeysForPath:_,createTransaction:x5,estimateMaxSendableAmount:s2(y),estimateTransactionFee:e2(y),getAddress:L,getAddressFromKeys:ix(y),getBalance:yy(y),getFeeRates:()=>iy(y),getInputsOutputsFee:G5,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:TN(N),validateAddress:(Z)=>X({address:Z,chain:y})}}async function G5({assetValue:y,feeOptionKey:f=S.FeeOption.Fast,feeRate:G,memo:T,sender:x,recipient:N}){let L=y.chain,X=await L5({assetValue:y,memo:T,recipient:N,sender:x}),_=G?Math.floor(G):(await iy(L))[f];return ET({...X,chain:L,feeRate:_})}function s2(y){return async function({from:G,memo:T,feeRate:x,feeOptionKey:N=S.FeeOption.Fast,recipients:L=1}){let X=await WT(y).getAddressData(G),_=x?Math.ceil(x):(await iy(y))[N],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(bf(y),uT(Y)*_));if(!Z?.length)return S.AssetValue.from({chain:y});let J=S.AssetValue.from({chain:y,value:Z.reduce((Y,U)=>Y+U.value,0)}),q=typeof L==="number"?Array.from({length:L},()=>({address:G,value:0})):L;if(T){let Y=await RT(T);q.push({address:G,script:Y,value:0})}let Q=Qy({feeRate:_,inputs:Z,outputs:q})*_;return J.sub(Q)}}function e2(y){return async(f)=>{let G=await G5(f);return S.AssetValue.from({chain:y,value:S.SwapKitNumber.fromBigInt(BigInt(G.fee),8).getValue("string")})}}async function gy(y){let f=await IT();switch(y){case S.Chain.BitcoinCash:return function({phrase:T,derivationPath:x=`${S.DerivationPath.BCH}/0`,wif:N}){let L=f(y);if(N)return jf.ECPair.fromWIF(N,L);if(!T)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return jf.HDNode.fromSeedBuffer(Buffer.from(gx.mnemonicToSeedSync(T)),L).derivePath(x).keyPair};case S.Chain.Bitcoin:case S.Chain.Dogecoin:case S.Chain.Litecoin:case S.Chain.Zcash:case S.Chain.Dash:return function({phrase:T,wif:x,derivationPath:N}){if(!(x||T))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=y5.ECPairFactory(of.default),X=f(y);if(x)return L.fromWIF(x,X);let _=gx.mnemonicToSeedSync(T),Z=T5.HDKey.fromMasterSeed(_,X).derive(N);if(!Z.privateKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new S.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function ix(y){let f=IT();return function(T){if(!T)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=ty.includes(y)?lT.payments.p2pkh:lT.payments.p2wpkh,{address:N}=x({network:f(y),pubkey:T.publicKey});if(!N)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return N}}function TN(y){return async function({memo:G,recipient:T,feeOptionKey:x,feeRate:N,assetValue:L}){let X=await y?.getAddress(),_=L.chain;if(!(y&&X))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=N||(await iy(_))[x||S.FeeOption.Fast],{psbt:J}=await x5({assetValue:L,feeRate:Z,memo:G,recipient:T,sender:X}),q=await y.signTransaction(J);return q.finalizeAllInputs(),WT(_).broadcastTx(q.extractTransaction().toHex())}}async function iy(y){let f=await WT(y).getSuggestedTxFee();return{[S.FeeOption.Average]:f,[S.FeeOption.Fast]:S.applyFeeMultiplier(f,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(f,S.FeeOption.Fastest)}}async function L5({assetValue:y,recipient:f,memo:G,sender:T,fetchTxHex:x=!1}){let N=y.chain,L=(await iy(N))[S.FeeOption.Fastest],X=x||ty.includes(N),_=y.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await WT(N).getUtxos({address:T,fetchTxHex:X,targetValue:Z}),outputs:[{address:f,value:_},...G?[{address:"",script:await RT(G),value:0}]:[]]}}var of,jf,T5,gx,S,lT,y5,ty;var dy=l(()=>{Iy();Yy();cy();of=W(require("@bitcoinerlab/secp256k1")),jf=require("@psf/bitcoincashjs-lib"),T5=require("@scure/bip32"),gx=require("@scure/bip39"),S=require("@swapkit/helpers"),lT=require("bitcoinjs-lib"),y5=require("ecpair"),ty=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash]});function eT(y){return aT(hy(y))}function yN(y){function f({builder:T,utxos:x}){return x.forEach((N,L)=>{T.sign(L,y,void 0,65,N.witnessUtxo?.value)}),T.build()}return{getAddress:()=>{let T=y.getAddress(0);return Promise.resolve(eT(T))},signTransaction:f}}async function dx(y){let f="phrase"in y?y.phrase:void 0,G="index"in y?y.index||0:0,T=_T.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:_T.updateDerivationPath(_T.NetworkDerivationPath[UT],{index:G})),x=f?(await gy(UT))({derivationPath:T,phrase:f}):void 0,N=x?yN(x):("signer"in y)?y.signer:void 0;function L(){return Promise.resolve(N?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...J}=await sT({chain:UT});function q(B,Q=!0){return X(aT(hy(B)))}return{...J,broadcastTx:Z,buildTx:xN,createTransaction:_5,getAddress:L,getAddressFromKeys:NN,getBalance:q,getFeeRates:_,stripPrefix:aT,stripToCashAddress:eT,transfer:fN({broadcastTx:Z,getFeeRates:_,signer:N}),validateAddress:oT}}async function _5({assetValue:y,recipient:f,memo:G,feeRate:T,sender:x}){if(!oT(f))throw new _T.SwapKitError("toolbox_utxo_invalid_address",{address:f});let N=Math.ceil(y.getBaseValue("number")+T*7500),L=await WT(UT).getUtxos({address:eT(x),fetchTxHex:!0,targetValue:N}),X=G?await RT(G):null,_=[];_.push({address:f,value:y.getBaseValue("number")});let{inputs:Z,outputs:J}=ET({chain:UT,feeRate:T,inputs:L,outputs:_});if(!(Z&&J))throw new _T.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await IT(),B=new Wy.TransactionBuilder(q(UT));await Promise.all(Z.map(async(Q)=>{let Y=await WT(UT).getRawTx(Q.hash);B.addInput(Wy.Transaction.fromBuffer(Buffer.from(Y,"hex")),Q.index)}));for(let Q of J){let Y="address"in Q&&Q.address?Q.address:qy(x),U=await IT(),H=Wy.address.toOutputScript(qy(Y),U(UT));B.addOutput(H,Q.value)}if(X)B.addOutput(X,0);return{builder:B,utxos:Z}}function fN({broadcastTx:y,getFeeRates:f,signer:G}){return async function({recipient:x,assetValue:N,feeOptionKey:L=_T.FeeOption.Fast,...X}){let _=await G?.getAddress();if(!(G&&_))throw new _T.SwapKitError("toolbox_utxo_no_signer");if(!x)throw new _T.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await f())[L],{builder:J,utxos:q}=await _5({...X,assetValue:N,feeRate:Z,recipient:x,sender:_}),Q=(await G.signTransaction({builder:J,utxos:q})).toHex();return y(Q)}}async function xN({assetValue:y,recipient:f,memo:G,feeRate:T,sender:x,setSigHashType:N}){let L=hy(f);if(!oT(L))throw new _T.SwapKitError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(y.getBaseValue("number")+T*7500),_=await WT(UT).getUtxos({address:eT(x),fetchTxHex:!1,targetValue:X}),Z=Number(T.toFixed(0)),J=G?await RT(G):null,q=[];if(q.push({address:qy(f),value:y.getBaseValue("number")}),J)q.push({script:J,value:0});let{inputs:B,outputs:Q}=ET({chain:UT,feeRate:Z,inputs:_,outputs:q});if(!(B&&Q))throw new _T.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let Y=await IT(),U=new X5.Psbt({network:Y(UT)});for(let{hash:H,index:C,witnessUtxo:R}of B)U.addInput({hash:H,index:C,sighashType:N?65:void 0,witnessUtxo:R});for(let H of Q){let C="address"in H&&H.address?H.address:qy(x),R=H.script?J?{script:J,value:0}:void 0:{address:C,value:H.value};if(R)U.addOutput(R)}return{inputs:B,psbt:U,utxos:_}}function NN(y){let f=y.getAddress(0);return eT(f)}var Wy,_T,X5,UT;var hf=l(()=>{Yy();dy();cy();Wy=require("@psf/bitcoincashjs-lib"),_T=require("@swapkit/helpers"),X5=require("bitcoinjs-lib"),UT=_T.Chain.BitcoinCash});function J5(){return CT.networks.zcash}function q5(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function GN({phrase:y,derivationPath:f}){let G=ax.mnemonicToSeedSync(y),x=rx.HDKey.fromMasterSeed(G).derive(f);if(!x.privateKey)throw new yT.SwapKitError("toolbox_utxo_invalid_params");let N=q5(),L=CT.ECPair.fromPrivateKey(Buffer.from(x.privateKey),{network:N}),X=CT.crypto.hash160(L.publicKey),{isStagenet:_}=yT.SKConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),J=Buffer.concat([Z,X]),q=B5.default.encode(J);return{getAddress:()=>Promise.resolve(q),signTransaction:(B)=>{let Q=B.signAllInputs(L);return Promise.resolve(Q)}}}function LN({inputs:y,outputs:f,psbt:G,sender:T,compiledMemo:x}){for(let N of y){let L=!!N.witnessUtxo&&{witnessUtxo:{...N.witnessUtxo,value:BigInt(N.value)}},X=!N.witnessUtxo&&{nonWitnessUtxo:N.txHex?Buffer.from(N.txHex,"hex"):void 0};G.addInput({hash:N.hash,index:N.index,...L,...X})}for(let N of f){let L="address"in N&&N.address?N.address:T,X=N.script;if(X&&!x)continue;let _=X?{script:x,value:0n}:{script:CT.address.toOutputScript(L,J5()),value:BigInt(N.value)};G.addOutput(_)}return{inputs:y,psbt:G}}async function Z5(y){let{assetValue:f,recipient:G,memo:T,feeRate:x,sender:N,fetchTxHex:L}=y,X=T?RT(T):null,_=await WT(yT.Chain.Zcash).getUtxos({address:N,fetchTxHex:L!==!1}),Z=[{address:G,value:Number(f.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:J,outputs:q}=ET({chain:yT.Chain.Zcash,changeAddress:N,feeRate:x,inputs:_,outputs:Z});if(!(J&&q))throw new yT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:N});let B=CT.bitgo.createPsbtForNetwork({network:J5()},{version:455}),Y=3268858036,U=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),H=Buffer.allocUnsafe(4);H.writeUInt32LE(Y>>>0,0),B.addUnknownKeyValToGlobal({key:U,value:H});let{psbt:C,inputs:R}=await LN({compiledMemo:X,inputs:J,outputs:q,psbt:B,sender:N});return{inputs:R,outputs:q,psbt:C}}async function sx(y){let f=await My.match(y).with({signer:My.P.not(My.P.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:My.P.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||yT.NetworkDerivationPath[yT.Chain.Zcash]||[44,133,0,0,0],J=yT.updateDerivationPath(Z,{index:_}),q=yT.derivationPathToString(J);return GN({derivationPath:q,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),G=await sT({chain:yT.Chain.Zcash,signer:f});async function T({recipient:L,assetValue:X,feeOptionKey:_=yT.FeeOption.Fast,...Z}){let J=await f?.getAddress();if(!(f&&J))throw new yT.SwapKitError("toolbox_utxo_no_signer");let q=Z.feeRate||(await G.getFeeRates())[_],{psbt:B}=await Z5({...Z,assetValue:X,feeRate:q,recipient:L,sender:J}),Q=await f.signTransaction(B);return Q.finalizeAllInputs(),G.broadcastTx(Q.extractTransaction().toHex())}function x({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=ax.mnemonicToSeedSync(L),J=rx.HDKey.fromMasterSeed(_).derive(X);if(!J.privateKey)throw new yT.SwapKitError("toolbox_utxo_invalid_params");let q=q5();return CT.ECPair.fromPrivateKey(Buffer.from(J.privateKey),{network:q})}function N({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return x({derivationPath:X,phrase:L}).toWIF()}return{...G,createKeysForPath:x,createTransaction:Z5,getPrivateKeyFromMnemonic:N,transfer:T,validateAddress:zy}}var CT,rx,ax,yT,B5,My;var ex=l(()=>{Yy();dy();cy();CT=require("@bitgo/utxo-lib"),rx=require("@scure/bip32"),ax=require("@scure/bip39"),yT=require("@swapkit/helpers"),B5=W(require("bs58check")),My=require("ts-pattern")});async function XN(y,f){switch(y){case vT.Chain.BitcoinCash:return await dx(f||{});case vT.Chain.Zcash:return await sx(f);case vT.Chain.Bitcoin:case vT.Chain.Dogecoin:case vT.Chain.Litecoin:case vT.Chain.Dash:return await sT({chain:y,...f});default:throw new vT.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var vT;var Q5=l(()=>{hf();dy();ex();hf();cy();vT=require("@swapkit/helpers")});var T0={};qT(T0,{validateZcashAddress:()=>zy,toLegacyAddress:()=>qy,toCashAddress:()=>hy,stripToCashAddress:()=>eT,stripPrefix:()=>aT,nonSegwitChains:()=>ty,isValidAddress:()=>mx,getUtxoToolbox:()=>XN,getUtxoNetwork:()=>IT,getUtxoApi:()=>WT,getUTXOAddressValidator:()=>N5,getScriptTypeForAddress:()=>py,getOutputSize:()=>my,getInputSize:()=>uT,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gy,detectAddressNetwork:()=>cx,createZcashToolbox:()=>sx,createUTXOToolbox:()=>sT,createCustomUtxoApi:()=>p2,createBCHToolbox:()=>dx,compileMemo:()=>RT,calculateTxSize:()=>Qy,bchValidateAddress:()=>oT,addressFromKeysGetter:()=>ix,addInputsAndOutputs:()=>f5,accumulative:()=>ET,UtxoNetwork:()=>px,UTXOScriptType:()=>Kf,TX_OVERHEAD:()=>$f,OutputSizes:()=>Ff,OP_RETURN_OVERHEAD:()=>a1,MIN_TX_FEE:()=>i2,InputSizes:()=>nf});module.exports=YT(T0);var y0=l(()=>{Yy();Q5();hf();dy();ex()});async function mf(){let{validateAccountId:y}=await import("near-sdk-js");return(f)=>{try{return y(f)}catch{let G=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&G.test(f)}}}async function cf(y){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:G}=await import("@near-js/crypto"),T=y.index||0,x=y.derivationPath?pf.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:N}=f(y.phrase,x),L=G.fromString(N);return W5(L)}async function f0(y){let{KeyPair:f}=await import("@near-js/crypto"),G=f.fromString(y);return W5(G)}function W5(y){return new z5(y)}async function tf(y,f){let T=(await y.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!T)throw new pf.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:x}=await import("@near-js/crypto"),N=x.fromString(T.public_key);return{nonce:T.access_key.nonce||0,publicKey:N}}var Y5,pf,z5;var x0=l(()=>{Y5=require("@near-js/signers"),pf=require("@swapkit/helpers");z5=class z5 extends Y5.KeyPairSigner{#T;constructor(y){super(y);this.#T=y}getAddress(){let y=this.#T.getPublicKey(),f=Buffer.from(y.data).toString("hex");return Promise.resolve(f)}}});function N0(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function G0(y){return"contractId"in y&&"methodName"in y}function L0(y){return"actions"in y}function X0(y){return"newAccountId"in y}function _0(y){return"contractCode"in y}function Z0(y){return"customEstimator"in y}function B0(y){let f=0;for(let G of y)switch(G.enum){case"transfer":f+=Number(BT.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(BT.CONTRACT_CALL);break;case"createAccount":f+=Number(BT.ACCOUNT_CREATION);break;case"deployContract":f+=Number(BT.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(BT.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(BT.ACCESS_KEY_DELETION);break;case"stake":f+=Number(BT.STAKE);break;default:f+=Number(BT.CONTRACT_CALL)}return f.toString()}function J0(y){if(y==="ft_transfer"||y==="ft_transfer_call")return BT.TOKEN_TRANSFER;if(y==="storage_deposit")return BT.STORAGE_DEPOSIT;return BT.CONTRACT_CALL}function _N(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function ZN(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var BT;var q0=l(()=>{BT={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function Q0({account:y,contractId:f,viewMethods:G,changeMethods:T}){let{Contract:x}=await import("@near-js/accounts");return new x(y,f,{changeMethods:T,useLocalViewExecution:!0,viewMethods:G})}async function BN(y){let{P:f,match:G}=await import("ts-pattern"),{JsonRpcProvider:T}=await import("@near-js/providers"),x=await G(y).with({phrase:f.string},async(z)=>{return await cf(z)}).with({signer:f.any},({signer:z})=>z).otherwise(()=>{return}),N=await m.getRPCUrl(m.Chain.Near),L=new T({url:N});async function X(z){let{Account:w}=await import("@near-js/accounts"),O=z||await _();return new w(O,L,x)}async function _(){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");return await x.getAddress()}async function Z(z){return(await xT({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function J(z){let O=[await U({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return QT({actions:O,receiverId:z.contractId})}async function q(z){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let{assetValue:w,recipient:O,memo:b}=z,t=await _();if(!w.isGasAsset&&w.address){if(!await Z({accountId:O,contractId:w.address}))return J({assetValue:w,contractId:w.address,memo:b,recipient:O})}let h=await B({...z,sender:t});return R(h)}async function B(z){let{recipient:w,assetValue:O,memo:b,attachedDeposit:t,sender:h,functionCall:$}=z,NT=await mf();if(!NT(w))throw new m.SwapKitError("toolbox_near_invalid_address",{recipient:w});if(!NT(h))throw new m.SwapKitError("toolbox_near_invalid_address",{signerId:h});if($)return Y({...$,sender:h});if(!O.isGasAsset){let Tf=O.address;if(!Tf)throw new m.SwapKitError("toolbox_near_missing_contract_address");return Y({args:{amount:O.getBaseValue("string"),memo:b||null,receiver_id:w},attachedDeposit:t||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:h})}let{publicKey:ZT,nonce:JT}=await tf(L,h),wT=O.getBaseValue("bigint"),{actionCreators:pT,createTransaction:ay}=await import("@near-js/transactions"),{baseDecode:gf}=await import("@near-js/utils"),mT=[pT.transfer(wT)];if(b&&t)mT.push(pT.functionCall("memo",{memo:b},BigInt("250000000000000"),BigInt(t)));let sy=await L.block({finality:"final"}),ey=gf(sy.header.hash);return ay(h,ZT,w,JT+1,mT,ey)}function Q(z){let w=z.encode();return Buffer.from(w).toString("base64")}async function Y(z){let{sender:w}=z,{publicKey:O,nonce:b}=await tf(L,w),{createTransaction:t,actionCreators:h}=await import("@near-js/transactions"),{baseDecode:$}=await import("@near-js/utils"),NT=await L.block({finality:"final"}),ZT=$(NT.header.hash),JT=[h.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return t(w,O,z.contractId,b+1,JT,ZT)}async function U(z){let{actionCreators:w}=await import("@near-js/transactions");return w.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function H(z){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let[w,O]=await x.signTransaction(z);return O}async function C(z){return(await L.sendTransaction(z)).transaction.hash}async function R(z){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");try{let w=await H(z);return await C(w)}catch{return x.signAndSendTransactions?.({transactions:[z]})}}async function K(z){if("assetValue"in z){let t=BigInt("115123062500")+BigInt("108059500000"),h=await F(),$=t*BigInt(h.toString()),{baseDecimal:NT}=m.getChainConfig(m.Chain.Near);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:NT,value:$.toString()})}let w=x?await X():void 0;return A(z,w)}async function F(){try{return await L.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function u(z,w,O){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let b=await X(),{formatNearAmount:t}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),$=t(O)||"0";return(await b.createAccount(z,h.fromString(w),BigInt($))).transaction.hash}async function d(z){try{if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let{actionCreators:w}=await import("@near-js/transactions"),{contractId:O,methodName:b,args:t,deposit:h}=z,$=await X(),NT=await A({args:t||{},contractId:O,methodName:b}),ZT=w.functionCall(b,t||{},NT.getBaseValue("bigint"),BigInt(h||"1"));return(await $.signAndSendTransaction({actions:[ZT],receiverId:O})).transaction_outcome.id}catch(w){throw new m.SwapKitError("toolbox_near_transfer_failed",{error:w})}}async function xT(z){let w=await X();return Q0({account:w,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function QT(z){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new m.SwapKitError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function A(z,w){let{baseDecimal:O}=m.getChainConfig(m.Chain.Near),b=await G(z).when(N0,()=>BT.SIMPLE_TRANSFER).when(G0,($)=>J0($.methodName)).when(L0,($)=>B0($.actions)).when(X0,()=>BT.ACCOUNT_CREATION).when(_0,()=>BT.CONTRACT_DEPLOYMENT).when(Z0,($)=>{if(!w)throw new m.SwapKitError("toolbox_near_no_account");return $.customEstimator(w)}).otherwise(()=>{throw new m.SwapKitError("toolbox_near_invalid_gas_params")}),h=BigInt(b)*BigInt(1000000000000);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:O,value:h})}async function V(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:C,callFunction:d,createAction:U,createContract:xT,createContractFunctionCall:Y,createSubAccount:u,createTransaction:B,estimateGas:A,estimateTransactionFee:K,executeBatchTransaction:QT,getAddress:_,getBalance:yy(m.Chain.Near),getGasPrice:V,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>cf(z),getSignerFromPrivateKey:f0,provider:L,serializeTransaction:Q,signAndSendTransaction:R,signTransaction:H,transfer:q,validateAddress:await mf()}}var m;var Y0=l(()=>{Iy();x0();q0();m=require("@swapkit/helpers")});var M5=l(()=>{Y0()});var z0={};qT(z0,{tgasToGas:()=>_N,isSimpleTransfer:()=>N0,isCustomEstimator:()=>Z0,isContractDeployment:()=>_0,isContractCall:()=>G0,isBatchTransaction:()=>L0,isAccountCreation:()=>X0,getValidateNearAddress:()=>mf,getNearToolbox:()=>BN,getNearSignerFromPrivateKey:()=>f0,getNearSignerFromPhrase:()=>cf,getFullAccessPublicKey:()=>tf,getContractMethodGas:()=>J0,gasToTGas:()=>ZN,estimateBatchGas:()=>B0,createNearContract:()=>Q0,GAS_COSTS:()=>BT});module.exports=YT(z0);var W0=l(()=>{x0();q0();Y0();M5()});var M0={};qT(M0,{radixValidateAddress:()=>H5,RadixToolbox:()=>zN});module.exports=YT(M0);function H5(y){return y.startsWith("account_rdx1")&&y.length===66}function JN({networkApi:y}){return async function(G){let T=await qN({address:G,networkApi:y});return QN({networkApi:y,resources:T})}}async function qN({address:y,networkApi:f}){let G=!0,T,x=[],N=await YN(f);while(G){let L={address:y,at_ledger_state:{state_version:N},cursor:T,limit_per_page:100},X=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(x=x.concat(X.items),X.next_cursor)T=X.next_cursor;else G=!1}return x}async function QN({resources:y,networkApi:f}){let G=[],T=50,x=[];for(let N=0;N<y.length;N+=50)x.push(y.slice(N,N+50));for(let N of x){let L=N.map((Z)=>Z.resource_address),X=await f.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let J=Z.metadata?.items.find((B)=>B.key==="symbol"),q=J?.value.typed.type==="String"?J.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:q})}for(let Z of N)if(Z.aggregation_level==="Global"){let J=_.get(Z.resource_address)||{decimals:0,symbol:"?"},q=ST.AssetValue.from({asset:J.symbol!==ST.Chain.Radix?`${ST.Chain.Radix}.${J.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});G.push(q)}}return G}function YN(y){return y.status.getCurrent().then((f)=>f.ledger_state.state_version)}var ST,zN=async({dappConfig:y}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:G}=await import("@radixdlt/babylon-gateway-api-sdk"),T=y||ST.SKConfig.get("integrations").radix,x=f({...T,networkId:T.network?.networkId||1}),N=G.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:JN({networkApi:N}),networkApi:N,signAndBroadcast:()=>{throw new ST.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:H5}};var H0=l(()=>{ST=require("@swapkit/helpers")});var C0={};qT(C0,{rippleValidateAddress:()=>U0,hashes:()=>C5.hashes,getRippleToolbox:()=>MN});module.exports=YT(C0);function U5(y){let f=jT.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(G)=>Promise.resolve(f.sign(G))}}function U0(y){return jT.isValidAddress(y)}var c,jT,C5,WN,MN=async(y={})=>{let f="signer"in y&&y.signer?y.signer:("phrase"in y)&&y.phrase?U5(y.phrase):void 0,G=await c.getRPCUrl(c.Chain.Ripple);if(!G)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let T=new jT.Client(G);await T.connect();let x=()=>{if(!f)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},N=async(B)=>{let Q=B||await x(),{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);try{let H=(await T.request({account:Q,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:H})]}catch(U){if(U.data.error_code===WN.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:Q,error:U}})}},L=async()=>{let Q=(await T.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:c.SwapKitNumber.fromBigInt(BigInt(Q),Y)})},X=async({assetValue:B,recipient:Q,memo:Y,sender:U})=>{if(!U0(Q))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let H=U||await x();if(!B.isGasAsset||B.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:B.toString()}});let C={Account:H,Amount:jT.xrpToDrops(B.getValue("string")),Destination:Q,TransactionType:"Payment"};if(Y)C.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await T.autofill(C)},_=(B)=>{if(!f)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(B)},Z=async(B)=>{let Y=(await T.submitAndWait(B)).result;if(Y.validated)return Y.hash;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:U5,createTransaction:X,disconnect:()=>T.disconnect(),estimateTransactionFee:L,getAddress:x,getBalance:N,signer:f,signTransaction:_,transfer:async(B)=>{if(!f)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let Q=await f.getAddress(),Y=await X({...B,sender:Q}),U=await _(Y);return Z(U.tx_blob)},validateAddress:U0}};var w0=l(()=>{c=require("@swapkit/helpers"),jT=require("xrpl"),C5=require("xrpl"),WN={ACCOUNT_NOT_FOUND:19}});async function HN(y,f,G){try{let T=await y.query.system?.account?.(G);if(!T)return[f.set(0)];let{data:{free:x}}=T,N=Ty.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(N)]}catch(T){return console.error("Error fetching substrate balance:",T),[f.set(0)]}}async function UN(y,f,G){try{let T=await y.query.flip?.account?.(G);if(!T)return[f.set(0)];let x=T.balance||T.data?.balance;if(!x||x.isEmpty)return[f.set(0)];let N=Ty.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(N)]}catch(T){return console.error("Error fetching chainflip balance:",T),[f.set(0)]}}function w5(y,f){return function(T){let x=Ty.AssetValue.from({chain:y});switch(y){case Ty.Chain.Chainflip:return UN(f,x,T);default:return HN(f,x,T)}}}var Ty;var I5=l(()=>{Ty=require("@swapkit/helpers")});var CN,wN,IN,hT;var I0=l(()=>{CN={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},wN={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},IN={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hT={DOT:CN,FLIP:wN,GENERIC:IN}});function RN(y,f){switch(y){case r.Chain.Chainflip:return O5(f);case r.Chain.Polkadot:return R5(f);default:throw new r.SwapKitError("toolbox_substrate_not_supported",{chain:y})}}function Hy(y){return"address"in y}async function O0(y,f){let{Keyring:G}=await import("@polkadot/api"),{cryptoWaitReady:T}=await import("@polkadot/util-crypto");return await T(),new G({ss58Format:f,type:"sr25519"}).addFromUri(y)}function vN(y,f){let G=Cy.decodeAddress(y);return Cy.encodeAddress(G,f)}function E5(y,f){return Uy.isHex(y)?Uy.hexToU8a(y):Cy.decodeAddress(y,void 0,f)}function l5(y,f="ss58",G){if(f==="hex")return Uy.u8aToHex(y);return Cy.encodeAddress(y,G)}async function k0({generic:y,chain:f,...G}){let{ApiPromise:T,WsProvider:x}=await import("@polkadot/api"),N=await r.getRPCUrl(f),L=new x(N),X=await T.create({noInitWarn:!0,provider:L}),_=r.AssetValue.from({chain:f}),Z=y?hT.GENERIC:hT[f],J=await ry.match(G).with({phrase:ry.P.string},({phrase:q})=>O0(q,hT[f].prefix)).with({signer:ry.P.any},({signer:q})=>q).otherwise(()=>{return});return k5({api:X,chain:f,gasAsset:_,network:Z,signer:J})}var Uy,Cy,r,ry,R5=({generic:y=!1,...f}={})=>{return k0({chain:r.Chain.Polkadot,generic:y,...f})},O5=async({generic:y=!1,...f}={})=>{return{...await k0({chain:r.Chain.Chainflip,generic:y,...f})}},E0=(y,f)=>y.rpc.system.accountNextIndex(f),R0=(y,f)=>{try{let G=E5(y,f);return l5(G,"ss58",f),!0}catch{return!1}},l0=(y,{recipient:f,assetValue:G})=>y.tx.balances?.transferAllowDeath?.(f,G.getBaseValue("number")),ON=async(y,f,{recipient:G,assetValue:T,sender:x})=>{let N=l0(y,{assetValue:T,recipient:G});if(!N)throw new r.SwapKitError("toolbox_substrate_transfer_error");let L=Hy(f),X=L?f.address:x;if(!X)throw new r.SwapKitError("core_transaction_invalid_sender_address");let _=await E0(y,X);return(await N.signAndSend(L?f:X,{nonce:_,signer:L?void 0:f})).toString()},EN=async(y,f,G,{recipient:T,assetValue:x,sender:N})=>{let L=l0(y,{assetValue:x,recipient:T}),X=Hy(f)?f.address:N;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await E0(y,X)})||{partialFee:0};return G.set(r.SwapKitNumber.fromBigInt(BigInt(_.partialFee.toString()),G.decimal).getValue("string"))},lN=async(y,f)=>{if(f)return y.send(f);return(await y.send()).toString()},kN=async(y,f)=>{return await f.signAsync(y)},DN=(y,f,G)=>{if(G)return f.signAndSend(y,G);return f.signAndSend(y).toString()},PN=async({signer:y,address:f,tx:G,callback:T,api:x})=>{let N=await E0(x,f);if(T)G.signAndSend(f,{nonce:N,signer:y},T);return G.signAndSend(f,{nonce:N,signer:y}).toString()},k5=({api:y,network:f,gasAsset:G,signer:T,chain:x})=>({api:y,broadcast:lN,convertAddress:vN,createKeyring:(N)=>O0(N,f.prefix),createTransaction:(N)=>l0(y,N),decodeAddress:E5,encodeAddress:l5,estimateTransactionFee:(N)=>{if(!T)throw new r.SwapKitError("core_wallet_not_keypair_wallet");return EN(y,T,G,N)},gasAsset:G,getAddress:(N)=>{let L=N||T;if(!L)throw new r.SwapKitError("core_wallet_not_keypair_wallet");return Hy(L)?L.address:void 0},getBalance:w5(x||r.Chain.Polkadot,y),network:f,sign:(N)=>{if(!T)throw new r.SwapKitError("core_wallet_not_keypair_wallet");if(Hy(T))return kN(T,N);throw new r.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:N,callback:L,address:X})=>{if(!T)throw new r.SwapKitError("core_wallet_not_keypair_wallet");if(Hy(T))return DN(T,N,L);if(X)return PN({address:X,api:y,callback:L,signer:T,tx:N});throw new r.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(N)=>{if(!T)throw new r.SwapKitError("core_wallet_not_keypair_wallet");return ON(y,T,N)},validateAddress:(N)=>R0(N,f.prefix)}),SN=({address:y,chain:f})=>{let{prefix:G}=f===r.Chain.Polkadot?hT.DOT:hT.FLIP;return R0(y,G)||R0(y,hT.GENERIC.prefix)};var D5=l(()=>{I5();I0();Uy=require("@polkadot/util"),Cy=require("@polkadot/util-crypto"),r=require("@swapkit/helpers"),ry=require("ts-pattern")});var D0={};qT(D0,{substrateValidateAddress:()=>SN,isKeyringPair:()=>Hy,getSubstrateToolbox:()=>RN,createSubstrateToolbox:()=>k0,createKeyring:()=>O0,SubstrateNetwork:()=>hT,PolkadotToolbox:()=>R5,ChainflipToolbox:()=>O5,BaseSubstrateToolbox:()=>k5});module.exports=YT(D0);var P0=l(()=>{D5();I0()});var FN={};qT(FN,{getToolbox:()=>v0,getFeeEstimator:()=>nN,getAddressValidator:()=>AN});module.exports=YT(FN);var D=require("@swapkit/helpers");async function AN(){let{match:y}=await import("ts-pattern"),{evmValidateAddress:f}=await Promise.resolve().then(() => (x1(),f1)),{getCardanoAddressValidator:G}=await Promise.resolve().then(() => (Bx(),Zx)),{getCosmosValidateAddress:T}=await Promise.resolve().then(() => (lf(),Ef)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (Fx(),nx)),{getSuiAddressValidator:N}=await Promise.resolve().then(() => (Df(),kf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (vf(),Pf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (bx(),Kx)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (y0(),T0)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (W0(),z0)),{radixValidateAddress:J}=await Promise.resolve().then(() => (H0(),M0)),{rippleValidateAddress:q}=await Promise.resolve().then(() => (w0(),C0)),{substrateValidateAddress:B}=await Promise.resolve().then(() => (P0(),D0)),Q=await G(),Y=await Z(),U=await x(),H=await N(),C=await L(),R=await X(),K=await _();return function({address:u,chain:d}){return y(d).with(...D.EVMChains,()=>f({address:u})).with(...D.UTXOChains,()=>K({address:u,chain:d})).with(D.Chain.Cosmos,D.Chain.Kujira,D.Chain.Noble,D.Chain.Maya,D.Chain.THORChain,(QT)=>{return T(QT)(u)}).with(D.Chain.Chainflip,D.Chain.Polkadot,()=>B({address:u,chain:d})).with(D.Chain.Radix,()=>J(u)).with(D.Chain.Near,()=>Y(u)).with(D.Chain.Ripple,()=>q(u)).with(D.Chain.Solana,()=>U(u)).with(D.Chain.Sui,()=>H(u)).with(D.Chain.Ton,()=>C(u)).with(D.Chain.Tron,()=>R(u)).with(D.Chain.Cardano,()=>Q(u)).otherwise(()=>!1)}}function nN(y){return async function(G){let{match:T}=await import("ts-pattern");return T(y).returnType().with(...D.EVMChains,async(x)=>{let N=await v0(x),L=await N.createTransaction(G);return N.estimateTransactionFee({...L,chain:x,feeOption:G.feeOptionKey||D.FeeOption.Fast})}).with(D.Chain.Bitcoin,D.Chain.BitcoinCash,D.Chain.Dogecoin,D.Chain.Dash,D.Chain.Litecoin,D.Chain.Polkadot,D.Chain.Solana,D.Chain.Ripple,D.Chain.Tron,D.Chain.Near,D.Chain.Cardano,async(x)=>{return(await v0(x)).estimateTransactionFee(G)}).with(D.Chain.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (Df(),kf));return(await x()).estimateTransactionFee(G)}).with(D.Chain.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (vf(),Pf));return(await x()).estimateTransactionFee()}).with(...D.CosmosChains,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (lf(),Ef));return x(G)}).otherwise(async()=>D.AssetValue.from({chain:y}))}}async function v0(y,f){let{match:G}=await import("ts-pattern");return G(y).returnType().with(...D.EVMChains,async()=>{let{getEvmToolbox:T}=await Promise.resolve().then(() => (Xx(),e0));return await T(y,f)}).with(...D.UTXOChains,async()=>{let{getUtxoToolbox:T}=await Promise.resolve().then(() => (y0(),T0));return await T(y,f)}).with(...D.CosmosChains,async()=>{let{getCosmosToolbox:T}=await Promise.resolve().then(() => (lf(),Ef));return await T(y,f)}).with(...D.SubstrateChains,async()=>{let{getSubstrateToolbox:T}=await Promise.resolve().then(() => (P0(),D0));return await T(y,f)}).with(D.Chain.Radix,async()=>{let{RadixToolbox:T}=await Promise.resolve().then(() => (H0(),M0));return await T(f)}).with(D.Chain.Ripple,async()=>{let{getRippleToolbox:T}=await Promise.resolve().then(() => (w0(),C0));return await T(f)}).with(D.Chain.Solana,async()=>{let{getSolanaToolbox:T}=await Promise.resolve().then(() => (Fx(),nx));return await T(f)}).with(D.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (Df(),kf));return await T(f)}).with(D.Chain.Tron,async()=>{let{createTronToolbox:T}=await Promise.resolve().then(() => (bx(),Kx));return await T(f)}).with(D.Chain.Near,async()=>{let{getNearToolbox:T}=await Promise.resolve().then(() => (W0(),z0));return await T(f)}).with(D.Chain.Cardano,async()=>{let{getCardanoToolbox:T}=await Promise.resolve().then(() => (Bx(),Zx));return await T(f)}).with(D.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (vf(),Pf));return await T(f)}).otherwise(()=>{throw new D.SwapKitError("toolbox_not_supported",{chain:y})})}
|
|
1
|
+
var P5=Object.create;var{getPrototypeOf:v5,defineProperty:wy,getOwnPropertyNames:A0,getOwnPropertyDescriptor:S5}=Object,n0=Object.prototype.hasOwnProperty;var W=(y,f,N)=>{N=y!=null?P5(v5(y)):{};let T=f||!y||!y.__esModule?wy(N,"default",{value:y,enumerable:!0}):N;for(let x of A0(y))if(!n0.call(T,x))wy(T,x,{get:()=>y[x],enumerable:!0});return T},S0=new WeakMap,zT=(y)=>{var f=S0.get(y),N;if(f)return f;if(f=wy({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function")A0(y).map((T)=>!n0.call(f,T)&&wy(f,T,{get:()=>y[T],enumerable:!(N=S5(y,T))||N.enumerable}));return S0.set(y,f),f};var JT=(y,f)=>{for(var N in f)wy(y,N,{get:f[N],enumerable:!0,configurable:!0,set:(T)=>f[N]=()=>T})};var E=(y,f)=>()=>(y&&(f=y(y=0)),f);function V0(){function y(){let f=Date.now(),N=df||f;return df=N,f>df?f:N+1}return A5+y().toString(36)}function yy(y){return async function(N,T=!0){let x=await F0.SwapKitApi.getChainBalance({address:N,chain:y,scamFilter:T}),{baseDecimal:G}=yf.getChainConfig(y);return x.map(({identifier:L,value:X,decimal:_})=>{return new yf.AssetValue({decimal:_||G,identifier:L,value:X})})}}var yf,F0,A5,df=0;var Iy=E(()=>{yf=require("@swapkit/helpers"),F0=require("@swapkit/helpers/api"),A5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Ry(y){let f=ff.SKConfig.get("apis")[y];if(f)return ff.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return F5(y)}function n5(y){return y}function F5(y){return{getBalance:yy(y)}}var ff;var xf=E(()=>{Iy();ff=require("@swapkit/helpers")});async function tT(y,f){let{JsonRpcProvider:N}=await import("ethers");return new N(f||await i.getRPCUrl(y))}function Oy(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function rf(y){let{explorerUrl:f,chainId:N,rpcUrls:T}=i.getChainConfig(y);return()=>y===i.Chain.Ethereum?void 0:{...V5({chain:y}),blockExplorerUrls:[f],chainId:N,rpcUrls:T}}function af(y){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(y)}function V5({chain:y}){let{baseDecimal:f}=i.getChainConfig(y);switch(y){case i.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}};case i.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case i.Chain.XLayer:return{chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}};case i.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case i.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case i.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:i.Chain.Polygon}};default:throw new i.SwapKitError("toolbox_evm_not_supported",{chain:y})}}var i;var fy=E(()=>{i=require("@swapkit/helpers")});var $0;var K0=E(()=>{$0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function Gy({chain:y=M.Chain.Ethereum,provider:f,signer:N,isEIP1559Compatible:T=!0}){return{approve:o5({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),approvedAmount:j0({chain:y,provider:f}),broadcastTransaction:f.broadcastTransaction,call:xx({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),createApprovalTx:m5({chain:y,provider:f,signer:N}),createContract:Tx({chain:y,provider:f}),createContractTxObject:cT({chain:y,provider:f}),createTransaction:sf({chain:y,provider:f,signer:N}),createTransferTx:sf({chain:y,provider:f,signer:N}),EIP1193SendTransaction:Ly(f),estimateCall:h0({provider:f,signer:N}),estimateGasLimit:h5({chain:y,provider:f,signer:N}),estimateGasPrices:gT({chain:y,isEIP1559Compatible:T,provider:f}),estimateTransactionFee:t5({chain:y,isEIP1559Compatible:T,provider:f}),getAddress:()=>{return N?N.getAddress():void 0},isApproved:u5({chain:y,provider:f}),sendTransaction:p0({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),signMessage:N?.signMessage,transfer:j5({chain:y,isEIP1559Compatible:T,provider:f,signer:N}),validateAddress:(x)=>ef({address:x})}}function ef({address:y}){try{return WT.getAddress(y),!0}catch{return!1}}function Ny(y){return y instanceof WT.BrowserProvider}function Ey(y,f,N){return new WT.Contract(y,WT.Interface.from(f),N)}function Tx({provider:y}){return function(N,T){return new WT.Contract(N,WT.Interface.from(T),y)}}function yx({abi:y,funcName:f}){let N=y.find((T)=>T.name===f);if(!N)throw new M.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return N.stateMutability&&$5.includes(N.stateMutability)}function u0(y){return WT.getAddress(y)}function Ly(y){return function({value:N,...T}){if(!Ny(y))throw new M.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:G,maxFeePerGas:L,maxPriorityFeePerGas:X,..._}=T;return y.send("eth_sendTransaction",[{..._,value:Oy(BigInt(N||0))}])}}function o0(y,f){let N=Xy(y,f);if(N)return WT.getAddress(N.toLowerCase());throw new M.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Xy({chain:y,symbol:f,ticker:N},T){try{let x=y===M.Chain.BinanceSmartChain&&f==="BNB"&&N==="BNB",G=y===T&&f===T&&N===T,L=b5.includes(y)&&f==="ETH"&&N==="ETH";if(G||x||L)return fx[T];return WT.getAddress(f.slice(N.length+1).replace(/^0X/,""))}catch{return null}}function cT({provider:y}){return async({contractAddress:f,abi:N,funcName:T,funcParams:x=[],txOverrides:G})=>Ey(f,N,y).getFunction(T).populateTransaction(...x.concat(G).filter((L)=>typeof L<"u"))}function gT({chain:y,provider:f,isEIP1559Compatible:N=!0}){return b0.match(y).with(M.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:x,maxPriorityFeePerGas:G}=await f.getFeeData();if(!x||G===null)throw new M.SwapKitError("toolbox_evm_no_fee_data");return{[M.FeeOption.Average]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Average),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(G,M.FeeOption.Average)},[M.FeeOption.Fast]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fast),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(G,M.FeeOption.Fast)},[M.FeeOption.Fastest]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fastest),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(G,M.FeeOption.Fastest)}}}catch(x){throw new M.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).with(M.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:x}=await f.getFeeData();if(!x)throw new M.SwapKitError("toolbox_evm_no_fee_data");return{[M.FeeOption.Average]:{gasPrice:x},[M.FeeOption.Fast]:{gasPrice:x},[M.FeeOption.Fastest]:{gasPrice:x}}}catch(x){throw new M.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:G,gasPrice:L}=await f.getFeeData();if(N){if(x===null||G===null)throw new M.SwapKitError("toolbox_evm_no_fee_data");return{[M.FeeOption.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:G},[M.FeeOption.Fast]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fast),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(G,M.FeeOption.Fast)},[M.FeeOption.Fastest]:{maxFeePerGas:M.applyFeeMultiplierToBigInt(x,M.FeeOption.Fastest),maxPriorityFeePerGas:M.applyFeeMultiplierToBigInt(G,M.FeeOption.Fastest)}}}if(!L)throw new M.SwapKitError("toolbox_evm_no_gas_price");return{[M.FeeOption.Average]:{gasPrice:L},[M.FeeOption.Fast]:{gasPrice:M.applyFeeMultiplierToBigInt(L,M.FeeOption.Fast)},[M.FeeOption.Fastest]:{gasPrice:M.applyFeeMultiplierToBigInt(L,M.FeeOption.Fastest)}}}catch(x){throw new M.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}})}function xx({provider:y,isEIP1559Compatible:f,signer:N,chain:T}){return async function({callProvider:G,contractAddress:L,abi:X,funcName:_,funcParams:Z=[],txOverrides:J={},feeOption:q=M.FeeOption.Fast}){let B=G||y;if(!L)throw new M.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=yx({abi:X,funcName:_});if(Q&&Ny(B)&&N){let H=cT({chain:T,provider:B}),C=J?.from||await N?.getAddress(),O=await H({abi:X,contractAddress:L,funcName:_,funcParams:Z,txOverrides:{...J,from:C}});return Ly(B)(O)}let Y=Ey(L,X,B);if(Q){if(!N)throw new M.SwapKitError("toolbox_evm_no_signer");let H=J?.from||await N.getAddress();if(!H)throw new M.SwapKitError("toolbox_evm_no_signer_address");let C=Y.connect(N),O=gT({chain:T,isEIP1559Compatible:f,provider:y}),{maxFeePerGas:$,maxPriorityFeePerGas:F,gasPrice:K}=(await O())[q],d=await Y.getFunction(_).estimateGas(...Z,J),GT=await C[_](...Z,{...J,gasLimit:d,gasPrice:K,maxFeePerGas:$,maxPriorityFeePerGas:F,nonce:J?.nonce||await B.getTransactionCount(H)});return typeof GT?.hash==="string"?GT?.hash:GT}let U=await Y[_]?.(...Z);return typeof U?.hash==="string"?U?.hash:U}}function j0({provider:y,chain:f}){return function({assetAddress:T,spenderAddress:x,from:G}){return xx({chain:f,isEIP1559Compatible:!0,provider:y})({abi:xy.erc20ABI,contractAddress:T,funcName:"allowance",funcParams:[G,x]})}}function u5({provider:y,chain:f}){return async function({assetAddress:T,spenderAddress:x,from:G,amount:L=ly}){let X=await j0({chain:f,provider:y})({assetAddress:T,from:G,spenderAddress:x});return M.SwapKitNumber.fromBigInt(X).gte(M.SwapKitNumber.fromBigInt(BigInt(L)))}}function o5({signer:y,isEIP1559Compatible:f=!0,provider:N,chain:T}){return async function({assetAddress:G,spenderAddress:L,feeOptionKey:X=M.FeeOption.Fast,amount:_,gasLimitFallback:Z,from:J,nonce:q}){let B=[L,BigInt(_||ly)],Q=await y?.getAddress()||J,Y={abi:xy.erc20ABI,contractAddress:G,funcName:"approve",funcParams:B,signer:y,txOverrides:{from:Q}};if(Ny(N)){let H=cT({chain:T,provider:N}),C=Ly(N),O=await H(Y);return C(O)}return xx({chain:T,isEIP1559Compatible:f,provider:N,signer:y})({...Y,feeOption:X,funcParams:B,txOverrides:{from:Q,gasLimit:Z?BigInt(Z.toString()):void 0,nonce:q}})}}function j5({signer:y,isEIP1559Compatible:f=!0,provider:N}){return async function({assetValue:x,memo:G,recipient:L,feeOptionKey:X=M.FeeOption.Fast,sender:_,...Z}){let{hexlify:J,toUtf8Bytes:q}=await import("ethers"),B=x.getBaseValue("bigint"),Q=x.chain,Y=_||await y?.getAddress(),U=p0({chain:Q,isEIP1559Compatible:f,provider:N,signer:y});if(!Y)throw new M.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset){let K={...Z,data:J(q(G||"")),feeOptionKey:X,from:Y,to:L,value:B};return U(K)}if(!Xy(x,Q))throw new M.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:C,maxPriorityFeePerGas:O,gasPrice:$}=(await gT({chain:Q,isEIP1559Compatible:f,provider:N})())[X],F=await sf({chain:Q,provider:N,signer:y})({assetValue:x,data:J(q(G||"")),gasPrice:$,maxFeePerGas:C,maxPriorityFeePerGas:O,memo:G,recipient:L,sender:Y});return U(F)}}function h0({provider:y,signer:f}){return function({contractAddress:T,abi:x,funcName:G,funcParams:L=[],txOverrides:X}){if(!T)throw new M.SwapKitError("toolbox_evm_no_contract_address");let _=Ey(T,x,y);return f?_.connect(f).getFunction(G).estimateGas(...L,X):_.getFunction(G).estimateGas(...L,X)}}function h5({provider:y,signer:f}){return async function({assetValue:T,recipient:x,memo:G,data:L,sender:X,funcName:_,funcParams:Z,txOverrides:J}){let q=T.bigIntValue,B=T.isGasAsset?null:Xy(T,T.chain);if(B&&_)return h0({provider:y,signer:f})({abi:xy.erc20ABI,contractAddress:B,funcName:_,funcParams:Z,txOverrides:J});let{hexlify:Q,toUtf8Bytes:Y}=await import("ethers");return y.estimateGas({data:L?L:G?Q(Y(G)):void 0,from:X,to:x,value:q})}}function p0({provider:y,signer:f,isEIP1559Compatible:N=!0,chain:T}){return async function({feeOptionKey:G=M.FeeOption.Fast,...L}){let{from:X,to:_,data:Z,value:J,...q}=L;if(!f)throw new M.SwapKitError("toolbox_evm_no_signer");if(!_)throw new M.SwapKitError("toolbox_evm_no_to_address");let B={...q,data:Z||"0x",from:X,to:_,value:BigInt(J||0)};if(Ny(y))return Ly(y)(B);let Q=X||await f.getAddress(),Y=L.nonce||await y.getTransactionCount(Q),U=(await y.getNetwork()).chainId,H=p5(B)||N,C=gT({chain:T,isEIP1559Compatible:N,provider:y}),O=H&&!(B.maxFeePerGas&&B.maxPriorityFeePerGas)||!B.gasPrice?Object.entries((await C())[G]).reduce((F,[K,d])=>({...F,[K]:Oy(BigInt(d))}),{}):{},$;try{$=Oy(B.gasLimit||await y.estimateGas(B)*11n/10n)}catch(F){throw new M.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:F})}try{let F={...B,chainId:U,gasLimit:$,nonce:Y,type:H?2:0,...O};try{return(await f.sendTransaction(F)).hash}catch{let K=await f.signTransaction({...F,from:Q});return(await y.broadcastTransaction(K)).hash}}catch(F){throw new M.SwapKitError("toolbox_evm_error_sending_transaction",{error:F})}}}function sf({provider:y,signer:f}){return async function({assetValue:T,memo:x,recipient:G,data:L,sender:X,maxFeePerGas:_,maxPriorityFeePerGas:Z,gasPrice:J,...q}){let B=T.getBaseValue("bigint"),Q=T.chain,Y=X||await f?.getAddress();if(!Y)throw new M.SwapKitError("toolbox_evm_no_from_address");if(M.isGasAsset(T)){let{hexlify:C,toUtf8Bytes:O}=await import("ethers");return{...q,data:L||C(O(x||"")),from:Y,to:G,value:B}}let U=Xy(T,Q);if(!U)throw new M.SwapKitError("toolbox_evm_no_contract_address");return cT({chain:T.chain,provider:y})({abi:xy.erc20ABI,contractAddress:U,funcName:"transfer",funcParams:[G,B],txOverrides:{from:Y,gasPrice:J,maxFeePerGas:_,maxPriorityFeePerGas:Z}})}}function m5({provider:y,signer:f,chain:N}){return async function({assetAddress:x,spenderAddress:G,amount:L,from:X}){let _=await f?.getAddress()||X,Z=cT({chain:N,provider:y}),J=["bigint","number"].includes(typeof L)?L:L||ly;return await Z({abi:xy.erc20ABI,contractAddress:x,funcName:"approve",funcParams:[G,BigInt(J)],txOverrides:{from:_}})}}function t5({provider:y,isEIP1559Compatible:f=!0}){return async function({feeOption:T=M.FeeOption.Fast,chain:x,...G}){let X=await gT({chain:x,isEIP1559Compatible:f,provider:y})(),_=await y.estimateGas(G),Z=M.AssetValue.from({chain:x}),{gasPrice:J,maxFeePerGas:q,maxPriorityFeePerGas:B}=X[T];if(!f&&J)return Z.set(M.SwapKitNumber.fromBigInt(J*_,Z.decimal));if(q&&B){let Q=(q+B)*_;return Z.set(M.SwapKitNumber.fromBigInt(Q,Z.decimal))}throw new M.SwapKitError("toolbox_evm_no_gas_price")}}var M,xy,WT,b0,ly,$5,K5,fx,b5,p5=(y)=>y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas;var Gf=E(()=>{fy();M=require("@swapkit/helpers"),xy=require("@swapkit/helpers/contracts"),WT=require("ethers"),b0=require("ts-pattern"),ly=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");$5=["payable","nonpayable"];K5=M.EVMChains.reduce((y,f)=>{return y[f]="0x0000000000000000000000000000000000000000",y},{}),fx={...K5,[M.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[M.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},b5=[M.Chain.Arbitrum,M.Chain.Aurora,M.Chain.Base,M.Chain.Optimism]});async function Nf({provider:y,...f}){let N=await XT(s.Chain.Ethereum)({provider:y,...f});async function T(x,G="0x5ba1e12693dc8f9c48aad8770482f4739beed696",L="aggregate",X=s.FeeOption.Fast){let _=await N.createContractTxObject({abi:$0,contractAddress:G,funcName:L,funcParams:[x]});return N.sendTransaction({..._,feeOptionKey:X})}return{...N,multicall:T}}function XT(y){return async function({provider:N,...T}){let{HDNodeWallet:x}=await import("ethers"),G=await s.getRPCUrl(y),L=N||await tT(y,G),X=af(y),_=ky.match(T).with({phrase:ky.P.string},({phrase:J})=>x.fromPhrase(J).connect(L)).with({signer:ky.P.any},({signer:J})=>J).otherwise(()=>{return});return{...Gy({chain:y,isEIP1559Compatible:X,provider:L,signer:_}),getBalance:Ry(y).getBalance,getNetworkParams:rf(y)}}}var s,ky,Lf,Xf,_f,Zf,Bf,Jf,m0,qf,Qf,Yf,zf,Wf,Mf,Dy,Hf,Uf;var Gx=E(()=>{xf();K0();fy();Gf();s=require("@swapkit/helpers"),ky=require("ts-pattern");Lf=XT(s.Chain.Arbitrum),Xf=XT(s.Chain.Aurora),_f=XT(s.Chain.Avalanche),Zf=XT(s.Chain.Base),Bf=XT(s.Chain.Berachain),Jf=XT(s.Chain.BinanceSmartChain),m0=XT(s.Chain.Botanix),qf=XT(s.Chain.Core),Qf=XT(s.Chain.Corn),Yf=XT(s.Chain.Cronos),zf=XT(s.Chain.Gnosis),Wf=XT(s.Chain.Hyperevm),Mf=XT(s.Chain.Polygon),Dy=XT(s.Chain.Sonic),Hf=XT(s.Chain.Unichain),Uf=XT(s.Chain.XLayer)});var t0;var c0=E(()=>{t0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function Nx(y){return new Cf.Contract(g5,t0,y)}function g0(y){return async function(){let N=Nx(y);if(N&&"l1BaseFee"in N)return await N?.l1BaseFee();return}}function i0(y){return async function({from:N,to:T,nonce:x,...G}){let{Transaction:L}=await import("ethers");if(!T)throw new m.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return L.from({...G,authorizationList:G.authorizationList,nonce:x?x:N?await y.getTransactionCount(N):0,to:T}).serialized}}function d0(y){return async function(N){let T=Nx(y),x=await i0(y)(N);if(T&&"getL1Fee"in T)return T.getL1Fee(x)}}function r0(y){return async function(N){let T=await y.send("eth_gasPrice",[]),x=await y.estimateGas(N);return T.mul(x)}}function i5(y){return async function(N){let T=await d0(y)(N),x=await r0(y)(N);return T.add(x)}}function d5(y){return async function(N){let T=Nx(y),x=await i0(y)(N);if(T&&"getL1GasUsed"in T)return T.getL1GasUsed(x)}}function r5(){let{baseDecimal:y,chainId:f,explorerUrl:N,name:T,rpcUrls:x}=m.getChainConfig(m.Chain.Optimism);return{blockExplorerUrls:[N],chainId:f,chainName:T,nativeCurrency:{decimals:y,name:"Ethereum",symbol:m.Chain.Ethereum},rpcUrls:x}}async function a5(y){try{let{maxFeePerGas:f,maxPriorityFeePerGas:N,gasPrice:T}=await y.getFeeData(),x=await g0(y)(),G=T;if(!(f&&N))throw new m.SwapKitError("toolbox_evm_no_fee_data");return{[m.FeeOption.Average]:{gasPrice:G,l1GasPrice:x,maxFeePerGas:f,maxPriorityFeePerGas:N},[m.FeeOption.Fast]:{gasPrice:m.applyFeeMultiplierToBigInt(G,m.FeeOption.Fast),l1GasPrice:m.applyFeeMultiplierToBigInt(x||0n,m.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:m.applyFeeMultiplierToBigInt(N,m.FeeOption.Fast)},[m.FeeOption.Fastest]:{gasPrice:m.applyFeeMultiplierToBigInt(G,m.FeeOption.Fastest),l1GasPrice:m.applyFeeMultiplierToBigInt(x||0n,m.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:m.applyFeeMultiplierToBigInt(N,m.FeeOption.Fastest)}}}catch(f){throw new m.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function wf({provider:y,...f}){let N=m.Chain.Optimism,T=await m.getRPCUrl(N),x=y||await tT(N,T),G=Py.match(f).with({phrase:Py.P.string},({phrase:_})=>Cf.HDNodeWallet.fromPhrase(_).connect(x)).with({signer:Py.P.any},({signer:_})=>_).otherwise(()=>{return}),L=Gy({provider:x,signer:G}),X=g0(x);return{...L,estimateGasPrices:a5(x),estimateL1Gas:d5(x),estimateL1GasCost:d0(x),estimateL2GasCost:r0(x),estimateTotalGasCost:i5(x),getBalance:Ry(m.Chain.Optimism).getBalance,getL1GasPrice:X,getNetworkParams:r5}}var m,Cf,Py,g5="0x420000000000000000000000000000000000000f";var Lx=E(()=>{xf();c0();fy();Gf();m=require("@swapkit/helpers"),Cf=require("ethers"),Py=require("ts-pattern")});var e0={};JT(e0,{toChecksumAddress:()=>u0,isStateChangingCall:()=>yx,isBrowserProvider:()=>Ny,getTokenAddress:()=>Xy,getEvmToolbox:()=>s0,getEstimateGasPrices:()=>gT,getEIP1193SendTransaction:()=>Ly,getCreateContractTxObject:()=>cT,getCreateContract:()=>Tx,getChecksumAddressFromAsset:()=>o0,evmValidateAddress:()=>ef,createContract:()=>Ey,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>Dy,OPToolbox:()=>wf,MAX_APPROVAL:()=>ly,MATICToolbox:()=>Mf,HYPEREVMToolbox:()=>Wf,GNOToolbox:()=>zf,ETHToolbox:()=>Nf,ContractAddress:()=>fx,CROToolbox:()=>Yf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>Gy,BSCToolbox:()=>Jf,BERAToolbox:()=>Bf,BASEToolbox:()=>Zf,AVAXToolbox:()=>_f,AURORAToolbox:()=>Xf,ARBToolbox:()=>Lf});async function s0(y,f){let N={...f,provider:f?.provider||await tT(y)};return a0.match(y).returnType().with(xT.Chain.Arbitrum,()=>Lf(N)).with(xT.Chain.Aurora,()=>Xf(N)).with(xT.Chain.Avalanche,()=>_f(N)).with(xT.Chain.Base,()=>Zf(N)).with(xT.Chain.Berachain,()=>Bf(N)).with(xT.Chain.BinanceSmartChain,()=>Jf(N)).with(xT.Chain.Botanix,()=>Dy(N)).with(xT.Chain.Core,()=>qf(N)).with(xT.Chain.Corn,()=>Qf(N)).with(xT.Chain.Cronos,()=>Yf(N)).with(xT.Chain.Ethereum,()=>Nf(N)).with(xT.Chain.Gnosis,()=>zf(N)).with(xT.Chain.Hyperevm,()=>Wf(N)).with(xT.Chain.Optimism,()=>wf(N)).with(xT.Chain.Polygon,()=>Mf(N)).with(xT.Chain.Sonic,()=>Dy(N)).with(xT.Chain.Unichain,()=>Hf(N)).with(xT.Chain.XLayer,()=>Uf(N)).exhaustive()}var xT,a0;var Xx=E(()=>{fy();Gx();Lx();xT=require("@swapkit/helpers"),a0=require("ts-pattern");Gf();Gx();Lx()});var T1;var y1=E(()=>{((N)=>{N.Test="goerli";N.Main="homestead"})(T1||={})});var f1={};JT(f1,{toHexString:()=>Oy,toChecksumAddress:()=>u0,isStateChangingCall:()=>yx,isBrowserProvider:()=>Ny,getTokenAddress:()=>Xy,getProvider:()=>tT,getNetworkParams:()=>rf,getIsEIP1559Compatible:()=>af,getEvmToolbox:()=>s0,getEvmApi:()=>Ry,getEstimateGasPrices:()=>gT,getEIP1193SendTransaction:()=>Ly,getCreateContractTxObject:()=>cT,getCreateContract:()=>Tx,getChecksumAddressFromAsset:()=>o0,evmValidateAddress:()=>ef,createCustomEvmApi:()=>n5,createContract:()=>Ey,XLayerToolbox:()=>Uf,UNIToolbox:()=>Hf,SONICToolbox:()=>Dy,OPToolbox:()=>wf,MAX_APPROVAL:()=>ly,MATICToolbox:()=>Mf,HYPEREVMToolbox:()=>Wf,GNOToolbox:()=>zf,EthNetwork:()=>T1,ETHToolbox:()=>Nf,ContractAddress:()=>fx,CROToolbox:()=>Yf,CORNToolbox:()=>Qf,COREToolbox:()=>qf,BotanixToolbox:()=>m0,BaseEVMToolbox:()=>Gy,BSCToolbox:()=>Jf,BERAToolbox:()=>Bf,BASEToolbox:()=>Zf,AVAXToolbox:()=>_f,AURORAToolbox:()=>Xf,ARBToolbox:()=>Lf});module.exports=zT(f1);var x1=E(()=>{xf();fy();Xx();y1()});async function _x(){let{BlockfrostProvider:y}=await import("@meshsdk/core"),f="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new y("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function e5(y){try{let{MeshWallet:f}=await import("@meshsdk/core"),N=await _x(),T=new f({fetcher:N,key:{address:y,type:"address"},networkId:1});await T.init();let x=await T.getBalance(),G=[];for(let L of x)if(L.unit===s5){let{baseDecimal:X}=e.getChainConfig(e.Chain.Cardano);G.push(e.AssetValue.from({chain:e.Chain.Cardano,fromBaseDecimal:X,value:L.quantity}))}else G.push(e.AssetValue.from({asset:`${e.Chain.Cardano}.${L.unit}`,value:L.quantity}));if(G.length===0)return[e.AssetValue.from({chain:e.Chain.Cardano})];return G}catch(f){return console.error("Cardano balance fetch error:",f),[e.AssetValue.from({chain:e.Chain.Cardano})]}}async function G1(){let{deserializeAddress:y}=await import("@meshsdk/core");return(f)=>{try{return y(f),!0}catch{return!1}}}async function T2(y){let f=await G1(),N=await vy.match(y).with({phrase:vy.P.string},async({phrase:J})=>{let{MeshWallet:q}=await import("@meshsdk/core"),B=await _x(),Q=new q({fetcher:B,key:{type:"mnemonic",words:J.split(" ")},networkId:1,submitter:B});return await Q.init(),Q}).with({signer:vy.P.any},({signer:J})=>J).otherwise(()=>{return}),T=N&&"getChangeAddress"in N?await N.getChangeAddress():"";function x(){return T||""}function G(J){let q=J||x();if(!q)throw new e.SwapKitError("core_wallet_connection_not_found");return e5(q)}function L(){return Promise.resolve(e.AssetValue.from({chain:e.Chain.Cardano,value:"0.01"}))}async function X({recipient:J,assetValue:q,memo:B}){if(!N||!("getChangeAddress"in N))throw new e.SwapKitError("core_wallet_connection_not_found");let{Transaction:Q}=await import("@meshsdk/core"),[,Y]=q.symbol.split("-");if(!q.isGasAsset&&!Y)throw new e.SwapKitError("core_wallet_connection_not_found");let U=new Q({initiator:N});if(U.sendAssets({address:J},[{quantity:q.getBaseValue("string"),unit:q.isGasAsset?"lovelace":q.symbol}]),B)U.setMetadata(0,B);let H=await U.build();return{tx:U,unsignedTx:H}}function _(J){if(!N||!("getChangeAddress"in N))throw new e.SwapKitError("core_wallet_connection_not_found");return N.signTx(J)}async function Z({recipient:J,assetValue:q,memo:B}){if(!N||!("getChangeAddress"in N))throw new e.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:Q}=await X({assetValue:q,memo:B,recipient:J}),Y=await _(Q);return await(await _x()).submitTx(Y)}return{createTransaction:X,estimateTransactionFee:L,getAddress:x,getBalance:G,signTransaction:_,transfer:Z,validateAddress:f}}var e,vy,s5="lovelace";var N1=E(()=>{e=require("@swapkit/helpers"),vy=require("ts-pattern")});var Zx={};JT(Zx,{getCardanoToolbox:()=>T2,getCardanoAddressValidator:()=>G1});module.exports=zT(Zx);var Bx=E(()=>{N1()});function Sy(y){return AT.base64.encode(Uint8Array.from(AT.bech32.fromWords(AT.bech32.decode(y).words)))}function Ay(y,f="thor"){return AT.bech32.encode(f,AT.bech32.toWords(AT.base64.decode(y)))}function y2(y){return If.fromByteArray(y)}function f2(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new L1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return If.toByteArray(y)}var AT,L1,If;var Jx=E(()=>{AT=require("@scure/base"),L1=require("@swapkit/helpers"),If=require("base64-js")});function DT(y){switch(y){case k.Chain.Maya:return{amount:[],gas:"10000000000"};case k.Chain.THORChain:return{amount:[],gas:"500000000"};case k.Chain.Kujira:return Z1;case k.Chain.Noble:return B1;default:return _1}}async function PT(y){let f=await import("@cosmjs/stargate"),N=f.StargateClient??f.default?.StargateClient,T=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return N.connect({headers:T,url:y})}async function Zy(y,f,N={}){let T=await import("@cosmjs/stargate"),x=T.SigningStargateClient??T.default?.SigningStargateClient,G=T.GasPrice??T.default?.GasPrice,L=typeof N==="string"?N:"0.0003uatom",X=typeof N==="string"?{}:N;return x.connectWithSigner(y,f,{gasPrice:G.fromString(L),...X})}async function Qx(y,f){let N=await import("@cosmjs/stargate");return(N.SigningStargateClient??N.default?.SigningStargateClient).offline(y,f)}async function Yx({sender:y,recipient:f,assetValue:N,memo:T="",feeRate:x,sequence:G,accountNumber:L}){let{chain:X,chainId:_}=N,Z=await k.getRPCUrl(X),q=await(await PT(Z)).getAccount(y);if(!q)throw new k.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let B=k.AssetValue.from({chain:X}),Q=kT(B.symbol),Y=DT(X),U=Q&&x?{amount:[{amount:x.toString(),denom:Q}],gas:Y.gas}:Y,H={amount:[{amount:N.getBaseValue("string"),denom:kT(N.symbol)}],fromAddress:y,toAddress:f};return{accountNumber:L??q.accountNumber,chainId:_,fee:U,memo:T,msgs:[{typeUrl:x2(X),value:H}],sequence:G??q.sequence}}var k,qx="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",X1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",_1,Z1,B1,kT=(y,f=!1)=>{if(f)return y.toLowerCase();switch(y){case"uUSK":case"USK":return qx;case"uYUM":case"YUM":return X1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},_y=({symbol:y,chain:f})=>{if(f===k.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${k.Chain.Maya}.${y}`).toUpperCase();if(f===k.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${k.Chain.THORChain}.${y}`:y).toUpperCase();return kT(y,!1)},x2=(y)=>{switch(y){case k.Chain.Maya:case k.Chain.THORChain:return"/types.MsgSend";case k.Chain.Cosmos:case k.Chain.Kujira:case k.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new k.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},G2,zx=(y,f)=>{let N=G2[y.toLowerCase()];if(!N)return k.AssetValue.from({asset:y,fromBaseDecimal:8,value:f});let{chain:T,asset:x,decimals:G}=N,L=T?{chain:T}:{asset:x};return k.AssetValue.from({...L,fromBaseDecimal:G,value:f})};var ny=E(()=>{k=require("@swapkit/helpers"),_1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Z1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},B1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};G2={atom:{chain:k.Chain.Cosmos,decimals:k.getChainConfig(k.Chain.Cosmos).baseDecimal},cacao:{chain:k.Chain.Maya,decimals:10},kuji:{chain:k.Chain.Kujira,decimals:k.getChainConfig(k.Chain.Kujira).baseDecimal},maya:{asset:`${k.Chain.Maya}.${k.Chain.Maya}`,decimals:4},rune:{chain:k.Chain.THORChain,decimals:k.getChainConfig(k.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:k.getChainConfig(k.Chain.THORChain).baseDecimal},uatom:{chain:k.Chain.Cosmos,decimals:k.getChainConfig(k.Chain.Cosmos).baseDecimal},ukuji:{chain:k.Chain.Kujira,decimals:k.getChainConfig(k.Chain.Kujira).baseDecimal},usdc:{chain:k.Chain.Noble,decimals:k.getChainConfig(k.Chain.Noble).baseDecimal},uusdc:{chain:k.Chain.Noble,decimals:k.getChainConfig(k.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:k.getChainConfig(k.Chain.THORChain).baseDecimal},[qx.toLowerCase()]:{asset:`${k.Chain.Kujira}.USK`,decimals:k.getChainConfig(k.Chain.Kujira).baseDecimal}}});var J1={};JT(J1,{$root:()=>I});var LT,n,HT,l,I;var q1=E(()=>{LT=W(require("protobufjs/minimal.js")),n=LT.default.Reader,HT=LT.default.Writer,l=LT.default.util,I=LT.default.roots.default||(LT.default.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(10).string(T.chain);if(T.symbol!=null&&Object.hasOwnProperty.call(T,"symbol"))x.uint32(18).string(T.symbol);if(T.ticker!=null&&Object.hasOwnProperty.call(T,"ticker"))x.uint32(26).string(T.ticker);if(T.synth!=null&&Object.hasOwnProperty.call(T,"synth"))x.uint32(32).bool(T.synth);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Asset;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.chain=T.string();break;case 2:L.symbol=T.string();break;case 3:L.ticker=T.string();break;case 4:L.synth=T.bool();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.chain!=null&&T.hasOwnProperty("chain")){if(!l.isString(T.chain))return"chain: string expected"}if(T.symbol!=null&&T.hasOwnProperty("symbol")){if(!l.isString(T.symbol))return"symbol: string expected"}if(T.ticker!=null&&T.hasOwnProperty("ticker")){if(!l.isString(T.ticker))return"ticker: string expected"}if(T.synth!=null&&T.hasOwnProperty("synth")){if(typeof T.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Asset)return T;let x=new I.common.Asset;if(T.chain!=null)x.chain=String(T.chain);if(T.symbol!=null)x.symbol=String(T.symbol);if(T.ticker!=null)x.ticker=String(T.ticker);if(T.synth!=null)x.synth=Boolean(T.synth);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)G.chain="",G.symbol="",G.ticker="",G.synth=!1;if(T.chain!=null&&T.hasOwnProperty("chain"))G.chain=T.chain;if(T.symbol!=null&&T.hasOwnProperty("symbol"))G.symbol=T.symbol;if(T.ticker!=null&&T.hasOwnProperty("ticker"))G.ticker=T.ticker;if(T.synth!=null&&T.hasOwnProperty("synth"))G.synth=T.synth;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y.Coin=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=l.Long?l.Long.fromBits(0,0,!1):0,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.asset!=null&&Object.hasOwnProperty.call(T,"asset"))I.common.Asset.encode(T.asset,x.uint32(10).fork()).ldelim();if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))x.uint32(18).string(T.amount);if(T.decimals!=null&&Object.hasOwnProperty.call(T,"decimals"))x.uint32(24).int64(T.decimals);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Coin;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.asset=I.common.Asset.decode(T,T.uint32());break;case 2:L.amount=T.string();break;case 3:L.decimals=T.int64();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.asset!=null&&T.hasOwnProperty("asset")){let x=I.common.Asset.verify(T.asset);if(x)return"asset."+x}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!l.isString(T.amount))return"amount: string expected"}if(T.decimals!=null&&T.hasOwnProperty("decimals")){if(!l.isInteger(T.decimals)&&!(T.decimals&&l.isInteger(T.decimals.low)&&l.isInteger(T.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Coin)return T;let x=new I.common.Coin;if(T.asset!=null){if(typeof T.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=I.common.Asset.fromObject(T.asset)}if(T.amount!=null)x.amount=String(T.amount);if(T.decimals!=null){if(l.Long)(x.decimals=l.Long.fromValue(T.decimals)).unsigned=!1;else if(typeof T.decimals==="string")x.decimals=Number.parseInt(T.decimals,10);else if(typeof T.decimals==="number")x.decimals=T.decimals;else if(typeof T.decimals==="object")x.decimals=new l.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber()}return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)if(G.asset=null,G.amount="",l.Long){let L=new l.Long(0,0,!1);G.decimals=x.longs===String?L.toString():x.longs===Number?L.toNumber():L}else G.decimals=x.longs===String?"0":0;if(T.asset!=null&&T.hasOwnProperty("asset"))G.asset=I.common.Asset.toObject(T.asset,x);if(T.amount!=null&&T.hasOwnProperty("amount"))G.amount=T.amount;if(T.decimals!=null&&T.hasOwnProperty("decimals"))if(typeof T.decimals==="number")G.decimals=x.longs===String?String(T.decimals):T.decimals;else G.decimals=x.longs===String?l.Long.prototype.toString.call(T.decimals):x.longs===Number?new l.LongBits(T.decimals.low>>>0,T.decimals.high>>>0).toNumber():T.decimals;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y.PubKeySet=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.secp256k1!=null&&Object.hasOwnProperty.call(T,"secp256k1"))x.uint32(10).string(T.secp256k1);if(T.ed25519!=null&&Object.hasOwnProperty.call(T,"ed25519"))x.uint32(18).string(T.ed25519);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.PubKeySet;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.secp256k1=T.string();break;case 2:L.ed25519=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1")){if(!l.isString(T.secp256k1))return"secp256k1: string expected"}if(T.ed25519!=null&&T.hasOwnProperty("ed25519")){if(!l.isString(T.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.PubKeySet)return T;let x=new I.common.PubKeySet;if(T.secp256k1!=null)x.secp256k1=String(T.secp256k1);if(T.ed25519!=null)x.ed25519=String(T.ed25519);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)G.secp256k1="",G.ed25519="";if(T.secp256k1!=null&&T.hasOwnProperty("secp256k1"))G.secp256k1=T.secp256k1;if(T.ed25519!=null&&T.hasOwnProperty("ed25519"))G.ed25519=T.ed25519;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y.Tx=(()=>{function f(N){if(this.coins=[],this.gas=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=l.emptyArray,f.prototype.gas=l.emptyArray,f.prototype.memo="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.id!=null&&Object.hasOwnProperty.call(T,"id"))x.uint32(10).string(T.id);if(T.chain!=null&&Object.hasOwnProperty.call(T,"chain"))x.uint32(18).string(T.chain);if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(26).string(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(34).string(T.toAddress);if(T.coins?.length)for(let G=0;G<T.coins.length;++G)I.common.Coin.encode(T.coins[G],x.uint32(42).fork()).ldelim();if(T.gas?.length)for(let G=0;G<T.gas.length;++G)I.common.Coin.encode(T.gas[G],x.uint32(50).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(58).string(T.memo);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Tx;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.id=T.string();break;case 2:L.chain=T.string();break;case 3:L.fromAddress=T.string();break;case 4:L.toAddress=T.string();break;case 5:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 6:if(!L.gas?.length)L.gas=[];L.gas.push(I.common.Coin.decode(T,T.uint32()));break;case 7:L.memo=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.id!=null&&T.hasOwnProperty("id")){if(!l.isString(T.id))return"id: string expected"}if(T.chain!=null&&T.hasOwnProperty("chain")){if(!l.isString(T.chain))return"chain: string expected"}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!l.isString(T.fromAddress))return"fromAddress: string expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!l.isString(T.toAddress))return"toAddress: string expected"}if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let G=I.common.Coin.verify(T.coins[x]);if(G)return"coins."+G}}if(T.gas!=null&&T.hasOwnProperty("gas")){if(!Array.isArray(T.gas))return"gas: array expected";for(let x=0;x<T.gas.length;++x){let G=I.common.Coin.verify(T.gas[x]);if(G)return"gas."+G}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!l.isString(T.memo))return"memo: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Tx)return T;let x=new I.common.Tx;if(T.id!=null)x.id=String(T.id);if(T.chain!=null)x.chain=String(T.chain);if(T.fromAddress!=null)x.fromAddress=String(T.fromAddress);if(T.toAddress!=null)x.toAddress=String(T.toAddress);if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let G=0;G<T.coins.length;++G){if(typeof T.coins[G]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[G]=I.common.Coin.fromObject(T.coins[G])}}if(T.gas){if(!Array.isArray(T.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let G=0;G<T.gas.length;++G){if(typeof T.gas[G]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[G]=I.common.Coin.fromObject(T.gas[G])}}if(T.memo!=null)x.memo=String(T.memo);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[],G.gas=[];if(x.defaults)G.id="",G.chain="",G.fromAddress="",G.toAddress="",G.memo="";if(T.id!=null&&T.hasOwnProperty("id"))G.id=T.id;if(T.chain!=null&&T.hasOwnProperty("chain"))G.chain=T.chain;if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))G.fromAddress=T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))G.toAddress=T.toAddress;if(T.coins?.length){G.coins=[];for(let L=0;L<T.coins.length;++L)G.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.gas?.length){G.gas=[];for(let L=0;L<T.gas.length;++L)G.gas[L]=I.common.Coin.toObject(T.gas[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))G.memo=T.memo;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y.Fee=(()=>{function f(N){if(this.coins=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.coins=l.emptyArray,f.prototype.poolDeduct="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.coins?.length)for(let G=0;G<T.coins.length;++G)I.common.Coin.encode(T.coins[G],x.uint32(10).fork()).ldelim();if(T.poolDeduct!=null&&Object.hasOwnProperty.call(T,"poolDeduct"))x.uint32(18).string(T.poolDeduct);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.Fee;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.poolDeduct=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let G=I.common.Coin.verify(T.coins[x]);if(G)return"coins."+G}}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct")){if(!l.isString(T.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.Fee)return T;let x=new I.common.Fee;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let G=0;G<T.coins.length;++G){if(typeof T.coins[G]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[G]=I.common.Coin.fromObject(T.coins[G])}}if(T.poolDeduct!=null)x.poolDeduct=String(T.poolDeduct);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults)G.poolDeduct="";if(T.coins?.length){G.coins=[];for(let L=0;L<T.coins.length;++L)G.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.poolDeduct!=null&&T.hasOwnProperty("poolDeduct"))G.poolDeduct=T.poolDeduct;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y.ProtoUint=(()=>{function f(N){if(N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.value="",f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.value!=null&&Object.hasOwnProperty.call(T,"value"))x.uint32(10).string(T.value);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.common.ProtoUint;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.value=T.string();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.value!=null&&T.hasOwnProperty("value")){if(!l.isString(T.value))return"value: string expected"}return null},f.fromObject=function(T){if(T instanceof I.common.ProtoUint)return T;let x=new I.common.ProtoUint;if(T.value!=null)x.value=String(T.value);return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.defaults)G.value="";if(T.value!=null&&T.hasOwnProperty("value"))G.value=T.value;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function f(N){if(this.coins=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.coins=l.emptyArray,f.prototype.memo="",f.prototype.signer=l.newBuffer([]),f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.coins?.length)for(let G=0;G<T.coins.length;++G)I.common.Coin.encode(T.coins[G],x.uint32(10).fork()).ldelim();if(T.memo!=null&&Object.hasOwnProperty.call(T,"memo"))x.uint32(18).string(T.memo);if(T.signer!=null&&Object.hasOwnProperty.call(T,"signer"))x.uint32(26).bytes(T.signer);return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.types.MsgDeposit;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:if(!L.coins?.length)L.coins=[];L.coins.push(I.common.Coin.decode(T,T.uint32()));break;case 2:L.memo=T.string();break;case 3:L.signer=T.bytes();break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.coins!=null&&T.hasOwnProperty("coins")){if(!Array.isArray(T.coins))return"coins: array expected";for(let x=0;x<T.coins.length;++x){let G=I.common.Coin.verify(T.coins[x]);if(G)return"coins."+G}}if(T.memo!=null&&T.hasOwnProperty("memo")){if(!l.isString(T.memo))return"memo: string expected"}if(T.signer!=null&&T.hasOwnProperty("signer")){if(!(T.signer&&typeof T.signer.length==="number"||l.isString(T.signer)))return"signer: buffer expected"}return null},f.fromObject=function(T){if(T instanceof I.types.MsgDeposit)return T;let x=new I.types.MsgDeposit;if(T.coins){if(!Array.isArray(T.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let G=0;G<T.coins.length;++G){if(typeof T.coins[G]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[G]=I.common.Coin.fromObject(T.coins[G])}}if(T.memo!=null)x.memo=String(T.memo);if(T.signer!=null){if(typeof T.signer==="string")l.base64.decode(T.signer,x.signer=l.newBuffer(l.base64.length(T.signer)),0);else if(T.signer.length)x.signer=T.signer}return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.coins=[];if(x.defaults){if(G.memo="",x.bytes===String)G.signer="";else if(G.signer=[],x.bytes!==Array)G.signer=l.newBuffer(G.signer)}if(T.coins?.length){G.coins=[];for(let L=0;L<T.coins.length;++L)G.coins[L]=I.common.Coin.toObject(T.coins[L],x)}if(T.memo!=null&&T.hasOwnProperty("memo"))G.memo=T.memo;if(T.signer!=null&&T.hasOwnProperty("signer"))G.signer=x.bytes===String?l.base64.encode(T.signer,0,T.signer.length):x.bytes===Array?Array.prototype.slice.call(T.signer):T.signer;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y.MsgSend=(()=>{function f(N){if(this.amount=[],N){for(let T=Object.keys(N),x=0;x<T.length;++x)if(N[T[x]]!=null)this[T[x]]=N[T[x]]}}return f.prototype.fromAddress=l.newBuffer([]),f.prototype.toAddress=l.newBuffer([]),f.prototype.amount=l.emptyArray,f.create=function(T){return new f(T)},f.encode=function(T,x){if(!x)x=HT.create();if(T.fromAddress!=null&&Object.hasOwnProperty.call(T,"fromAddress"))x.uint32(10).bytes(T.fromAddress);if(T.toAddress!=null&&Object.hasOwnProperty.call(T,"toAddress"))x.uint32(18).bytes(T.toAddress);if(T.amount?.length)for(let G=0;G<T.amount.length;++G)I.cosmos.base.v1beta1.Coin.encode(T.amount[G],x.uint32(26).fork()).ldelim();return x},f.encodeDelimited=function(T,x){return this.encode(T,x).ldelim()},f.decode=function(T,x){if(!(T instanceof n))T=n.create(T);let G=x===void 0?T.len:T.pos+x,L=new I.types.MsgSend;while(T.pos<G){let X=T.uint32();switch(X>>>3){case 1:L.fromAddress=T.bytes();break;case 2:L.toAddress=T.bytes();break;case 3:if(!L.amount?.length)L.amount=[];L.amount.push(I.cosmos.base.v1beta1.Coin.decode(T,T.uint32()));break;default:T.skipType(X&7);break}}return L},f.decodeDelimited=function(T){if(!(T instanceof n))T=new n(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress")){if(!(T.fromAddress&&typeof T.fromAddress.length==="number"||l.isString(T.fromAddress)))return"fromAddress: buffer expected"}if(T.toAddress!=null&&T.hasOwnProperty("toAddress")){if(!(T.toAddress&&typeof T.toAddress.length==="number"||l.isString(T.toAddress)))return"toAddress: buffer expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!Array.isArray(T.amount))return"amount: array expected";for(let x=0;x<T.amount.length;++x){let G=I.cosmos.base.v1beta1.Coin.verify(T.amount[x]);if(G)return"amount."+G}}return null},f.fromObject=function(T){if(T instanceof I.types.MsgSend)return T;let x=new I.types.MsgSend;if(T.fromAddress!=null){if(typeof T.fromAddress==="string")l.base64.decode(T.fromAddress,x.fromAddress=l.newBuffer(l.base64.length(T.fromAddress)),0);else if(T.fromAddress.length)x.fromAddress=T.fromAddress}if(T.toAddress!=null){if(typeof T.toAddress==="string")l.base64.decode(T.toAddress,x.toAddress=l.newBuffer(l.base64.length(T.toAddress)),0);else if(T.toAddress.length)x.toAddress=T.toAddress}if(T.amount){if(!Array.isArray(T.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let G=0;G<T.amount.length;++G){if(typeof T.amount[G]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[G]=I.cosmos.base.v1beta1.Coin.fromObject(T.amount[G])}}return x},f.toObject=function(T,x){if(!x)x={};let G={};if(x.arrays||x.defaults)G.amount=[];if(x.defaults){if(x.bytes===String)G.fromAddress="";else if(G.fromAddress=[],x.bytes!==Array)G.fromAddress=l.newBuffer(G.fromAddress);if(x.bytes===String)G.toAddress="";else if(G.toAddress=[],x.bytes!==Array)G.toAddress=l.newBuffer(G.toAddress)}if(T.fromAddress!=null&&T.hasOwnProperty("fromAddress"))G.fromAddress=x.bytes===String?l.base64.encode(T.fromAddress,0,T.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(T.fromAddress):T.fromAddress;if(T.toAddress!=null&&T.hasOwnProperty("toAddress"))G.toAddress=x.bytes===String?l.base64.encode(T.toAddress,0,T.toAddress.length):x.bytes===Array?Array.prototype.slice.call(T.toAddress):T.toAddress;if(T.amount?.length){G.amount=[];for(let L=0;L<T.amount.length;++L)G.amount[L]=I.cosmos.base.v1beta1.Coin.toObject(T.amount[L],x)}return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},f})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let f={};return f.v1beta1=(()=>{let N={};return N.Coin=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=HT.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof n))G=n.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.Coin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof n))G=new n(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!l.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!l.isString(G.amount))return"amount: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.Coin)return G;let L=new I.cosmos.base.v1beta1.Coin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},T})(),N.DecCoin=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.denom="",T.prototype.amount="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=HT.create();if(G.denom!=null&&Object.hasOwnProperty.call(G,"denom"))L.uint32(10).string(G.denom);if(G.amount!=null&&Object.hasOwnProperty.call(G,"amount"))L.uint32(18).string(G.amount);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof n))G=n.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.DecCoin;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.denom=G.string();break;case 2:_.amount=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof n))G=new n(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.denom!=null&&G.hasOwnProperty("denom")){if(!l.isString(G.denom))return"denom: string expected"}if(G.amount!=null&&G.hasOwnProperty("amount")){if(!l.isString(G.amount))return"amount: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.DecCoin)return G;let L=new I.cosmos.base.v1beta1.DecCoin;if(G.denom!=null)L.denom=String(G.denom);if(G.amount!=null)L.amount=String(G.amount);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.denom="",X.amount="";if(G.denom!=null&&G.hasOwnProperty("denom"))X.denom=G.denom;if(G.amount!=null&&G.hasOwnProperty("amount"))X.amount=G.amount;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},T})(),N.IntProto=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.int="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=HT.create();if(G.int!=null&&Object.hasOwnProperty.call(G,"int"))L.uint32(10).string(G.int);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof n))G=n.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.IntProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.int=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof n))G=new n(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.int!=null&&G.hasOwnProperty("int")){if(!l.isString(G.int))return"int: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.IntProto)return G;let L=new I.cosmos.base.v1beta1.IntProto;if(G.int!=null)L.int=String(G.int);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.int="";if(G.int!=null&&G.hasOwnProperty("int"))X.int=G.int;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},T})(),N.DecProto=(()=>{function T(x){if(x){for(let G=Object.keys(x),L=0;L<G.length;++L)if(x[G[L]]!=null)this[G[L]]=x[G[L]]}}return T.prototype.dec="",T.create=function(G){return new T(G)},T.encode=function(G,L){if(!L)L=HT.create();if(G.dec!=null&&Object.hasOwnProperty.call(G,"dec"))L.uint32(10).string(G.dec);return L},T.encodeDelimited=function(G,L){return this.encode(G,L).ldelim()},T.decode=function(G,L){if(!(G instanceof n))G=n.create(G);let X=L===void 0?G.len:G.pos+L,_=new I.cosmos.base.v1beta1.DecProto;while(G.pos<X){let Z=G.uint32();switch(Z>>>3){case 1:_.dec=G.string();break;default:G.skipType(Z&7);break}}return _},T.decodeDelimited=function(G){if(!(G instanceof n))G=new n(G);return this.decode(G,G.uint32())},T.verify=function(G){if(typeof G!=="object"||G===null)return"object expected";if(G.dec!=null&&G.hasOwnProperty("dec")){if(!l.isString(G.dec))return"dec: string expected"}return null},T.fromObject=function(G){if(G instanceof I.cosmos.base.v1beta1.DecProto)return G;let L=new I.cosmos.base.v1beta1.DecProto;if(G.dec!=null)L.dec=String(G.dec);return L},T.toObject=function(G,L){if(!L)L={};let X={};if(L.defaults)X.dec="";if(G.dec!=null&&G.hasOwnProperty("dec"))X.dec=G.dec;return X},T.prototype.toJSON=function(){return this.constructor.toObject(this,LT.default.util.toJSONOptions)},T})(),N})(),f})(),y})()});async function iT(){let{$root:y}=await Promise.resolve().then(() => (q1(),J1)),f=await import("@cosmjs/proto-signing"),N=f.Registry??f.default?.Registry,T=await import("@cosmjs/stargate"),x=T.defaultRegistryTypes??T.default?.defaultRegistryTypes;return new N([...x,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function nT(y){let f=await import("@cosmjs/stargate"),N=f.AminoTypes??f.default?.AminoTypes,T=y===Q1.Chain.THORChain?"thorchain":"mayachain";return new N({"/types.MsgDeposit":{aminoType:`${T}/MsgDeposit`,fromAmino:({signer:x,...G})=>({...G,signer:Sy(x)}),toAmino:({signer:x,...G})=>({...G,signer:Ay(x)})},"/types.MsgSend":{aminoType:`${T}/MsgSend`,fromAmino:({from_address:x,to_address:G,...L})=>({...L,fromAddress:Sy(x),toAddress:Sy(G)}),toAmino:({fromAddress:x,toAddress:G,...L})=>({...L,from_address:Ay(x),to_address:Ay(G)})}})}var Q1;var Wx=E(()=>{Jx();Q1=require("@swapkit/helpers")});function Ux(y){return function(N){let{assetValue:T,recipient:x,memo:G,sender:L,asSignable:X,asAminoMessage:_}=N;if(x)return z1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:G,recipient:x,sender:L});return W1(y)({asAminoMessage:_,asSignable:X,assetValue:T,memo:G,sender:L})}}function VT(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((f)=>{let N=UT.AssetValue.from({asset:f.asset}),T=(N.isSynthetic?N.symbol.split("/")?.[1]:N.symbol)?.toUpperCase(),x=(N.isSynthetic?N.symbol.split("/")?.[0]:N.chain)?.toUpperCase();return{...f,asset:{chain:x,symbol:T,synth:N.isSynthetic,ticker:N.ticker}}})}}}async function Fy({chain:y,memo:f,msgs:N}){let T=await iT(),x=await nT(y),G={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:N.map((L)=>x.fromAmino(L))}};return T.encode(G)}var UT,N2,L2,Mx=({sender:y,recipient:f,assetValue:N})=>{return{type:`${N.chain===UT.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:N.getBaseValue("string"),denom:kT(N.symbol,!0)}],from_address:y,to_address:f}}},Hx=({sender:y,assetValue:f,memo:N=""})=>{return{type:`${f.chain===UT.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:_y(f)}],memo:N,signer:y}}},Rf=({sender:y,recipient:f,assetValue:N,memo:T})=>{return!f?Hx({assetValue:N,memo:T,sender:y}):Mx({assetValue:N,recipient:f,sender:y})},FT=async(y,f)=>{return(await nT(f)).fromAmino(y)},Y1=async({rpcUrl:y,sender:f})=>{let T=await(await PT(y)).getAccount(f);if(!T)throw new UT.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return T},z1=(y)=>async({sender:f,recipient:N,assetValue:T,memo:x="",asSignable:G=!0,asAminoMessage:L=!1,sequence:X,accountNumber:_})=>{let Z=await Y1({rpcUrl:y,sender:f}),J=T.chain,{chainId:q}=UT.getChainConfig(J),B=Mx({assetValue:T,recipient:N,sender:f}),Q=G?await FT(L?B:VT(B),J):B;return{accountNumber:_||Z.accountNumber,chainId:q,fee:DT(J),memo:x,msgs:[Q],sequence:X||Z.sequence}},W1=(y)=>async({sender:f,assetValue:N,memo:T="",asSignable:x=!0,asAminoMessage:G=!1,sequence:L,accountNumber:X})=>{let _=await Y1({rpcUrl:y,sender:f}),Z=N.chain,{chainId:J}=UT.getChainConfig(Z),q=Hx({assetValue:N,memo:T,sender:f}),B=x?await FT(G?q:VT(q),Z):q;return{accountNumber:X||_.accountNumber,chainId:J,fee:DT(Z),memo:T,msgs:[B],sequence:L||_.sequence}};var M1=E(()=>{ny();Wx();UT=require("@swapkit/helpers"),N2=DT(UT.Chain.THORChain).gas,L2=DT(UT.Chain.Maya).gas});var H1=()=>{};var U1=E(()=>{H1()});var Cx=E(()=>{Jx();M1();Wx();U1()});async function lx(y,f){try{let T=(await Ox.SwapKitApi.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}async function Rx({phrase:y,prefix:f,...N}){let T=await import("@cosmjs/proto-signing"),x=T.DirectSecp256k1HdWallet??T.default?.DirectSecp256k1HdWallet,G=await import("@cosmjs/crypto"),L=G.stringToPath??G.default?.stringToPath,X="derivationPath"in N?N.derivationPath:`${v.DerivationPath[N.chain]}/${N.index}`;return x.fromMnemonic(y,{hdPaths:[L(X)],prefix:f})}async function X2({privateKey:y,prefix:f}){let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(y,f)}function I1(y){return async function({signature:N,message:T,address:x}){let G=await y(x);if(!G?.pubkey)throw new v.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let L=await import("@cosmjs/crypto"),X=L.Secp256k1Signature??L.default?.Secp256k1Signature,_=L.Secp256k1??L.default?.Secp256k1,Z=X.fromFixedLength($T.base64.decode(N));return _.verifySignature(Z,$T.base64.decode(T),G.pubkey.value)}}async function $y({chain:y,...f}){let N=await v.getRPCUrl(y),T=v.CosmosChainPrefixes[y],x="index"in f?f.index||0:0,G=v.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[y],{index:x})),L=await Vy.match(f).with({phrase:Vy.P.string},({phrase:B})=>Rx({derivationPath:G,phrase:B,prefix:T})).with({signer:Vy.P.any},({signer:B})=>B).otherwise(()=>{return});async function X(B){return(await PT(N)).getAccount(B)}async function _(){let[B]=await L?.getAccounts()||[];return B?.address}async function Z(){let[B]=await L?.getAccounts()||[];if(!B?.pubkey)throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");return $T.base64.encode(B?.pubkey)}async function J({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:H=v.FeeOption.Fast}){let C=await _();if(!(L&&C))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let O=v.AssetValue.from({chain:y}),$=_y(O),F=U||C1((await Ix(y,wx[y]))[H],$),K=await Zy(N,L),d=kT(Q.symbol),GT=Q.getBaseValue("string"),{TxRaw:QT}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),A={amount:[{amount:GT,denom:d}],fromAddress:C,toAddress:B},V=await K.sign(C,[{typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:A}],F,Y),z=QT.encode(V).finish();return Buffer.from(z).toString("hex")}async function q({recipient:B,assetValue:Q,memo:Y="",feeRate:U,feeOptionKey:H=v.FeeOption.Fast,dryRun:C=!1}){if(C)return J({assetValue:Q,feeOptionKey:H,feeRate:U,memo:Y,recipient:B});let O=await _();if(!(L&&O))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let $=v.AssetValue.from({chain:y}),F=_y($),K=U||C1((await Ix(y,wx[y]))[H],F),d=await Zy(N,L),GT=kT(Q.symbol),QT=[{amount:Q.getBaseValue("string"),denom:GT}],{transactionHash:A}=await d.sendTokens(O,B,QT,K,Y);return A}return{createPrivateKeyFromPhrase:J2(G),createTransaction:Yx,fetchFeeRateFromSwapKit:lx,getAccount:X,getAddress:_,getBalance:async(B,Q)=>{let Y=await w1(N)(B),U=await Promise.all(Y.filter(({denom:H})=>H&&!H.includes("IBC/")).map(({denom:H,amount:C})=>{let O=[v.Chain.THORChain,v.Chain.Maya].includes(y)&&(H.includes("/")||H.includes("˜"))?`${y}.${H}`:H;return zx(O,C)}));if(U.length===0)return[v.AssetValue.from({chain:y})];return U},getBalanceAsDenoms:w1(N),getFees:()=>Ix(y,wx[y]),getPubKey:Z,getSignerFromPhrase:async({phrase:B,derivationPath:Q})=>Rx({derivationPath:v.derivationPathToString(Q),index:x,phrase:B,prefix:T}),getSignerFromPrivateKey:async(B)=>{let Q=await import("@cosmjs/proto-signing");return(Q.DirectSecp256k1Wallet??Q.default?.DirectSecp256k1Wallet).fromKey(B,T)},signTransaction:J,transfer:q,validateAddress:R1(y),verifySignature:I1(X)}}async function _2(y,f){try{let T=(await Ox.SwapKitApi.getGasRate()).find((x)=>x.chainId===y)?.value;return T?Number.parseFloat(T):f}catch{return f}}function Z2({assetValue:{chain:y}}){return v.AssetValue.from({chain:y,value:B2(y)})}async function Ix(y,f){let{chainId:N,baseDecimal:T}=v.getChainConfig(y),x=await lx(N,f);return{average:v.SwapKitNumber.fromBigInt(BigInt(x),T),fast:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(x,v.FeeOption.Fast,!0)),T),fastest:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(x,v.FeeOption.Fastest,!0)),T)}}function C1(y,f){return{amount:[{amount:y.getBaseValue("string"),denom:f}],gas:"200000"}}function B2(y){return{[v.Chain.Cosmos]:0.007,[v.Chain.Kujira]:0.02,[v.Chain.Noble]:0.01,[v.Chain.THORChain]:0.02,[v.Chain.Maya]:0.02,[v.Chain.Harbor]:0.02}[y]||0}function R1(y){let f=v.CosmosChainPrefixes[y];return function(T){if(!T.startsWith(f))return!1;try{let{prefix:x,words:G}=$T.bech32.decode(T);return $T.bech32.encode(x,G)===T.toLocaleLowerCase()}catch{return!1}}}function w1(y){return async function(N){return(await(await PT(y)).getAllBalances(N)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function J2(y){return async function(N){let T=await import("@cosmjs/crypto"),x=T.stringToPath??T.default?.stringToPath,G=T.Slip10Curve??T.default?.Slip10Curve,L=T.Slip10??T.default?.Slip10,X=T.EnglishMnemonic??T.default?.EnglishMnemonic,_=T.Bip39??T.default?.Bip39,Z=new X(N),J=await _.mnemonicToSeed(Z),{privkey:q}=L.derivePath(G.Secp256k1,J,x(y));return q}}var $T,v,Ox,Vy,wx;var Of=E(()=>{ny();$T=require("@scure/base"),v=require("@swapkit/helpers"),Ox=require("@swapkit/helpers/api"),Vy=require("ts-pattern");wx={[v.Chain.Cosmos]:1000,[v.Chain.Kujira]:1000,[v.Chain.Noble]:1000,[v.Chain.THORChain]:5000000,[v.Chain.Maya]:5000000,[v.Chain.Harbor]:5000000}});function q2({prefix:y,derivationPath:f}){return async function(T,x=0){let G=await import("@cosmjs/amino"),L=G.Secp256k1HdWallet??G.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),_=X.stringToPath??X.default?.stringToPath;return L.fromMnemonic(T,{hdPaths:[_(`${f}/${x}`)],prefix:y})}}function Q2(y){return KT.base64.encode(y)}function Y2(y){return async function({wallet:N,tx:T}){let{msgs:x,accountNumber:G,sequence:L,chainId:X,fee:_,memo:Z}=typeof T==="string"?JSON.parse(T):T,J=(await N.getAccounts())?.[0]?.address||"",q=await nT(y),B=await iT(),Q=await Qx(N,{aminoTypes:q,registry:B}),Y=[];for(let C of x){let O=await FT(C,y);Y.push(O)}let{signatures:[U]}=await Q.sign(J,Y,_,Z,{accountNumber:G,chainId:X,sequence:L});return{bodyBytes:await Fy({chain:y,memo:Z,msgs:x.map(VT)}),signature:Q2(U)}}}function z2({prefix:y,rpcUrl:f}){return async function(T,x,G,L,X){let{encodeSecp256k1Pubkey:_,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:J}=(await import("@cosmjs/stargate")).default,{sequence:q,fee:B}=JSON.parse(T),Q=await O1(G,L),Y=x.map((C)=>[Z(_(KT.base64.decode(C.pubKey)),y),KT.base64.decode(C.signature)]),U=await PT(f),{transactionHash:H}=await U.broadcastTx(J(Q,q,B,X,new Map(Y)));return H}}async function O1(y,f,N=!0){let{createMultisigThresholdPubkey:T,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return T(y.map((G)=>x(KT.base64.decode(G))),f,N)}function W2(y){return KT.base64.decode(y)}async function M2({privateKey:y,message:f}){let{Secp256k1:N}=(await import("@cosmjs/crypto")).default,T=await N.createSignature(KT.base64.decode(f),y);return KT.base64.encode(Buffer.concat([T.r(32),T.s(32)]))}async function Ex({chain:y,...f}){let N=await g.getRPCUrl(y),{nodeUrl:T}=g.getChainConfig(y),{isStagenet:x}=g.SKConfig.get("envs"),G=y===g.Chain.THORChain,L=`${x?"s":""}${g.CosmosChainPrefixes[y]}`,X="index"in f?f.index||0:0,_="derivationPath"in f&&f.derivationPath?f.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[y],{index:X}),Z=await $y({chain:y,...f}),J=await Ky.match(f).with({phrase:Ky.P.string},({phrase:Y})=>Z.getSignerFromPhrase({derivationPath:_,phrase:Y})).with({signer:Ky.P.any},({signer:Y})=>Y).otherwise(()=>{return}),q=DT(y);async function B(){let Y,U=`${T}/${G?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:H}}=await g.RequestClient.get(U);if(!H||Number.isNaN(H)||H<0)throw new g.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:H.toString()});Y=new g.SwapKitNumber(H)}catch{Y=new g.SwapKitNumber({decimal:g.getChainConfig(y).baseDecimal,value:G?0.02:1})}return{[g.FeeOption.Average]:Y,[g.FeeOption.Fast]:Y,[g.FeeOption.Fastest]:Y}}async function Q({assetValue:Y,memo:U="",recipient:H}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),O=(await J?.getAccounts())?.[0]?.address;if(!(O&&J))throw new g.SwapKitError("toolbox_cosmos_no_signer");let $="signAmino"in J,F=await iT(),K=await nT(y),d=await Zy(N,J,{aminoTypes:K,registry:F}),GT=Rf({assetValue:Y,memo:U,recipient:H,sender:O});if($){let z=await FT(GT,y),{signatures:w,authInfoBytes:R}=await d.sign(O,[z],q,U),u=C.encode({authInfoBytes:R,bodyBytes:await Fy({chain:y,memo:U,msgs:[GT].map(VT)}),signatures:w}).finish();return(await d.broadcastTx(u)).transactionHash}let QT=VT(GT),A=await FT(QT,y);return(await d.signAndBroadcast(O,[A],q,U)).transactionHash}return{...Z,broadcastMultisigTx:z2({prefix:L,rpcUrl:N}),buildAminoMsg:Rf,buildEncodedTxBody:Fy,convertToSignable:FT,createDefaultAminoTypes:()=>nT(y),createDefaultRegistry:iT,createMultisig:O1,createTransaction:Ux(N),deposit:Q,getFees:B,importSignature:W2,parseAminoMessageForDirectSigning:VT,pubkeyToAddress:async(Y)=>{let{pubkeyToAddress:U}=(await import("@cosmjs/amino")).default;return U(Y,L)},secp256k1HdWalletFromMnemonic:q2({derivationPath:g.derivationPathToString(_),prefix:L}),signMultisigTx:Y2(y),signWithPrivateKey:M2,transfer:Q}}var KT,g,Ky;var kx=E(()=>{Cx();ny();Of();KT=require("@scure/base"),g=require("@swapkit/helpers"),Ky=require("ts-pattern")});var bT,H2=(y,f)=>{switch(y){case bT.Chain.Cosmos:case bT.Chain.Kujira:case bT.Chain.Noble:return $y({chain:y,...f});case bT.Chain.Maya:case bT.Chain.THORChain:return Ex({chain:y,...f});default:throw new bT.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var l1=E(()=>{Of();kx();bT=require("@swapkit/helpers");Of();kx()});var lf={};JT(lf,{verifySignature:()=>I1,transferMsgAmino:()=>Mx,toBase64:()=>y2,parseAminoMessageForDirectSigning:()=>VT,getSignerFromPrivateKey:()=>X2,getSignerFromPhrase:()=>Rx,getMsgSendDenom:()=>kT,getFeeRateFromSwapKit:()=>_2,getDenomWithChain:()=>_y,getDefaultChainFee:()=>DT,getCreateTransaction:()=>Ux,getCosmosValidateAddress:()=>R1,getCosmosToolbox:()=>H2,getAssetFromDenom:()=>zx,fromBase64:()=>f2,fetchFeeRateFromSwapKit:()=>lx,estimateTransactionFee:()=>Z2,depositMsgAmino:()=>Hx,createThorchainToolbox:()=>Ex,createStargateClient:()=>PT,createSigningStargateClient:()=>Zy,createOfflineStargateClient:()=>Qx,createDefaultRegistry:()=>iT,createDefaultAminoTypes:()=>nT,createCosmosToolbox:()=>$y,cosmosCreateTransaction:()=>Yx,convertToSignable:()=>FT,buildTransferTx:()=>z1,buildEncodedTxBody:()=>Fy,buildDepositTx:()=>W1,buildAminoMsg:()=>Rf,bech32ToBase64:()=>Sy,base64ToBech32:()=>Ay,YUM_KUJIRA_FACTORY_DENOM:()=>X1,USK_KUJIRA_FACTORY_DENOM:()=>qx,THORCHAIN_GAS_VALUE:()=>N2,MAYA_GAS_VALUE:()=>L2,DEFAULT_NOBLE_FEE_MAINNET:()=>B1,DEFAULT_KUJI_FEE_MAINNET:()=>Z1,DEFAULT_COSMOS_FEE_MAINNET:()=>_1});module.exports=zT(lf);var Ef=E(()=>{Cx();l1();ny()});async function k1(y){let f=o.AssetValue.from({address:y,chain:o.Chain.Solana});if(f.symbol!=="UNKNOWN")return{decimals:f.decimal||0,id:y,logoURI:f.getIconUrl(),name:f.symbol,symbol:f.ticker};let N=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let T=await fetch(N);if(!T.ok)return null;let x=await T.json();if(!Array.isArray(x)||x.length===0)return null;return x.find((L)=>L.id===y)||null}catch{return null}}async function U2(y){let f=await dT(),{PublicKey:N}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:T}=await import("@solana/spl-token"),x=new N(y),G=[],L=await f.getBalance(x);if(L>0){let{baseDecimal:_}=o.getChainConfig(o.Chain.Solana);G.push(o.AssetValue.from({chain:o.Chain.Solana,fromBaseDecimal:_,value:L}))}let X=await f.getParsedTokenAccountsByOwner(x,{programId:T});for(let{account:_}of X.value){let Z=_.data.parsed.info,J=Z.mint,q=Z.tokenAmount.amount;if(Number(q)===0)continue;let B=await k1(J),Q=B?.symbol||"UNKNOWN",Y=B?.decimals||Z.tokenAmount.decimals;G.push(o.AssetValue.from({asset:`${o.Chain.Solana}.${Q}-${J}`,fromBaseDecimal:Y,value:q}))}return G}async function vx(){let{PublicKey:y}=await import("@solana/web3.js");return(f)=>{try{let N=new y(f);return y.isOnCurve(N.toBytes())}catch{return!1}}}async function C2(y){let f=y&&"index"in y?y.index||0:0,N=o.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:o.updateDerivationPath(o.NetworkDerivationPath[o.Chain.Solana],{index:f})),T=await by.match(y).with({phrase:by.P.string},({phrase:L})=>Px({derivationPath:N,phrase:L})).with({signer:by.P.any},({signer:L})=>L).otherwise(()=>{return});function x(){return T?.publicKey?E1(T.publicKey):""}function G(L){let X=L||x();if(!X)throw new o.SwapKitError("core_wallet_connection_not_found");return U2(X)}return{broadcastTransaction:Dx(dT),createKeysForPath:Px,createTransaction:Sx(dT),createTransactionFromInstructions:O2,estimateTransactionFee:w2(dT),getAddress:x,getAddressFromPubKey:E1,getAddressValidator:vx,getBalance:G,getConnection:dT,getPubkeyFromAddress:Ax,signTransaction:E2(dT,T),transfer:l2(dT,T)}}function w2(y){return async({recipient:f,assetValue:N,memo:T,isProgramDerivedAddress:x,sender:G})=>{let L=await y(),_=(await Sx(y)({assetValue:N,isProgramDerivedAddress:x,memo:T,recipient:f,sender:G})).compileMessage(),Z=await L.getFeeForMessage(_);if(Z.value===null)throw new o.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:J}=o.getChainConfig(o.Chain.Solana);return o.AssetValue.from({chain:o.Chain.Solana,fromBaseDecimal:J,value:Z.value})}}async function dT(){let{Connection:y}=await import("@solana/web3.js"),f=await o.getRPCUrl(o.Chain.Solana);return new y(f,"confirmed")}function I2(y){return async({assetValue:f,recipient:N,sender:T,isProgramDerivedAddress:x})=>{let G=await y(),L=await Ax(T);if(f.isGasAsset){let{Transaction:X,SystemProgram:_,PublicKey:Z}=await import("@solana/web3.js");return new X().add(_.transfer({fromPubkey:L,lamports:f.getBaseValue("number"),toPubkey:new Z(N)}))}if(f.address)return R2({amount:f.getBaseValue("number"),connection:G,decimals:f.decimal,from:L,isProgramDerivedAddress:x,recipient:N,tokenAddress:f.address});return}}async function R2({tokenAddress:y,recipient:f,from:N,connection:T,amount:x,decimals:G,isProgramDerivedAddress:L}){let{getAssociatedTokenAddress:X,getAccount:_,createAssociatedTokenAccountInstruction:Z,createTransferCheckedInstruction:J}=await import("@solana/spl-token"),{Transaction:q,PublicKey:B}=await import("@solana/web3.js"),Q=new q,Y=new B(y),U=await X(Y,N),H=new B(f),C=await X(Y,H,L),O=!1;try{await _(T,C),O=!0}catch{}if(!O)Q.add(Z(N,C,H,Y));return Q.add(J(U,Y,C,N,x,G)),Q}function Sx(y){return async({recipient:f,assetValue:N,memo:T,isProgramDerivedAddress:x,sender:G})=>{let{createMemoInstruction:L}=await import("@solana/spl-memo"),X=await Ax(G),_=await vx();if(!(x||_(f)))throw new o.SwapKitError("core_transaction_invalid_recipient_address");let Z=await y(),J=await I2(y)({assetValue:N,isProgramDerivedAddress:x,recipient:f,sender:G});if(!J)throw new o.SwapKitError("core_transaction_invalid_sender_address");if(T)J.add(L(T));let q=await Z.getLatestBlockhash();return J.recentBlockhash=q.blockhash,J.feePayer=X,J}}async function O2({instructions:y}){let{Transaction:f}=await import("@solana/web3.js"),N=new f().add(...y);if(!N)throw new o.SwapKitError("core_transaction_invalid_sender_address");return N}function l2(y,f){return async({recipient:N,assetValue:T,memo:x,isProgramDerivedAddress:G})=>{if(!f)throw new o.SwapKitError("core_transaction_invalid_sender_address");let L=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),X=await Sx(y)({assetValue:T,isProgramDerivedAddress:G,memo:x,recipient:N,sender:L});if("signTransaction"in f){let _=await f.signTransaction(X);return Dx(y)(_)}return X.sign(f),Dx(y)(X)}}function Dx(y){return async(f)=>{return(await y()).sendRawTransaction(f.serialize())}}function E2(y,f){return async(N)=>{let{VersionedTransaction:T}=await import("@solana/web3.js");if(!f)throw new o.SwapKitError("toolbox_solana_no_signer");if(!(N instanceof T)){let G=await(await y()).getLatestBlockhash();N.recentBlockhash=G.blockhash,N.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(N);return await N.sign([f]),N}}async function Px({phrase:y,derivationPath:f=o.DerivationPath.SOL}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:T}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),G=T(y),L=N.fromMasterSeed(G);return x.fromSeed(L.derive(f,!0).privateKey)}function E1(y){return y.toString()}async function Ax(y){let{PublicKey:f}=await import("@solana/web3.js");return new f(y)}var o,by;var D1=E(()=>{o=require("@swapkit/helpers"),by=require("ts-pattern")});var nx={};JT(nx,{getSolanaToolbox:()=>C2,getSolanaAddressValidator:()=>vx,fetchTokenMetaData:()=>k1,createKeysForPath:()=>Px});module.exports=zT(nx);var Fx=E(()=>{D1()});async function P1(){let{isValidSuiAddress:y}=await import("@mysten/sui/utils");return function(N){try{return y(N)}catch{return!1}}}async function k2({provider:y,...f}={}){let N=await P1(),T=await uy.match(f).with({phrase:uy.P.string},async({phrase:q})=>{let{Ed25519Keypair:B}=await import("@mysten/sui/keypairs/ed25519");return B.deriveKeypair(q)}).with({signer:uy.P.any},({signer:q})=>q).otherwise(()=>{return});async function x(q=y){let{SuiClient:B,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new B({url:q||Q("mainnet")})}function G(){return T?.toSuiAddress()||""}async function L(q){let B=q||G();if(!B)throw new TT.SwapKitError("toolbox_sui_address_required");try{let Q=await x(),{totalBalance:Y}=await Q.getBalance({owner:B}),{baseDecimal:U,chain:H}=TT.getChainConfig(TT.Chain.Sui),C=[TT.AssetValue.from({chain:H,fromBaseDecimal:U,value:Y})],O=await Q.getAllBalances({owner:B});for(let{coinType:$,totalBalance:F}of O){if($==="0x2::sui::SUI")continue;if(Number(F)>0){let K=$.split("::").pop()?.toUpperCase()||"UNKNOWN",d=`${H}.${K}-${$}`;C.push(TT.AssetValue.from({asset:d,fromBaseDecimal:U,value:F}))}}return C}catch(Q){throw new TT.SwapKitError("toolbox_sui_balance_error",{error:Q})}}async function X(q){let B=TT.AssetValue.from({chain:TT.Chain.Sui,value:"0.01"});if(!q)return B;try{let Q=await x(),{txBytes:Y}=await _(q),{effects:{status:U,gasUsed:H}}=await Q.dryRunTransactionBlock({transactionBlock:Y});if(U.status!=="success")return B;let C=Number(H.computationCost)+Number(H.storageCost)-Number(H.storageRebate);return TT.AssetValue.from({chain:TT.Chain.Sui,value:C.toString()})}catch{return B}}async function _({recipient:q,assetValue:B,gasBudget:Q,sender:Y}){let{Transaction:U}=await import("@mysten/sui/transactions"),H=Y||G();if(!H)throw new TT.SwapKitError("toolbox_sui_no_sender");try{let C=new U;if(C.setSender(H),B.isGasAsset||B.symbol==="SUI"){let[F]=C.splitCoins(C.gas,[B.getBaseValue("string")]);C.transferObjects([F],q)}else throw new TT.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(Q)C.setGasBudget(Q);let O=await x(),$=await C.build({client:O});return{tx:C,txBytes:$}}catch(C){throw new TT.SwapKitError("toolbox_sui_transaction_creation_error",{error:C})}}async function Z(q){if(!T)throw new TT.SwapKitError("toolbox_sui_no_signer");if(q instanceof Uint8Array)return T.signTransaction(q);let{txBytes:B}="tx"in q?q:await _(q);return T.signTransaction(B)}async function J({assetValue:q,gasBudget:B,recipient:Q}){if(!T)throw new TT.SwapKitError("toolbox_sui_no_signer");let Y=T.toSuiAddress()||G();if(!Y)throw new TT.SwapKitError("toolbox_sui_no_sender");let{txBytes:U}=await _({assetValue:q,gasBudget:B,recipient:Q,sender:Y}),H=await x(),{digest:C}=await H.signAndExecuteTransaction({signer:T,transaction:U});return C}return{createTransaction:_,estimateTransactionFee:X,getAddress:G,getBalance:L,signTransaction:Z,transfer:J,validateAddress:N}}var TT,uy;var v1=E(()=>{TT=require("@swapkit/helpers"),uy=require("ts-pattern")});var kf={};JT(kf,{getSuiToolbox:()=>k2,getSuiAddressValidator:()=>P1});module.exports=zT(kf);var Df=E(()=>{v1()});async function D2(y={}){let{mnemonicToWalletKey:f}=await import("@ton/crypto"),{Address:N,TonClient:T,WalletContractV4:x}=await import("@ton/ton"),G=await S1(),L,X,_=await oy.match(y).with({phrase:oy.P.string},async({phrase:C})=>f(C.split(" "))).with({signer:oy.P.any},({signer:C})=>C).otherwise(()=>{return});function Z(){let{rpcUrls:C}=yT.getChainConfig(yT.Chain.Ton),[O]=C;if(!L||L.parameters.endpoint!==O)L=new T({endpoint:O});return L}function J(C){if(!X||C){let O=Z(),$=C||_;if(!$)throw new yT.SwapKitError("core_wallet_connection_not_found");let F=x.create({publicKey:$.publicKey,workchain:0});X=O.open(F)}return X}async function q(C){let O=Z(),{baseDecimal:$}=yT.getChainConfig(yT.Chain.Ton);try{let F=await O.getBalance(N.parse(C));return[yT.AssetValue.from({chain:yT.Chain.Ton,value:yT.SwapKitNumber.fromBigInt(F,$)})]}catch(F){throw new yT.SwapKitError("core_wallet_connection_not_found",{error:F})}}async function B({assetValue:C,recipient:O,memo:$}){let F=J();if(!F||!_)throw new yT.SwapKitError("core_wallet_connection_not_found");let{toNano:K,comment:d,internal:GT}=await import("@ton/ton"),QT=await F.getSeqno(),A=K(C.getValue("string")),V=$?d($):void 0;return F.createTransfer({messages:[GT({body:V,to:O,value:A})],secretKey:_.secretKey,seqno:QT})}async function Q({assetValue:C,recipient:O,memo:$}){let F=J();if(!F||!_)throw new yT.SwapKitError("core_wallet_connection_not_found");let K=await B({assetValue:C,memo:$,recipient:O});return await F.send(K),K.hash().toString()}async function Y(C){let O=J();if(!O)throw new yT.SwapKitError("core_wallet_connection_not_found");try{return await O.send(C),C.hash().toString("hex")}catch($){throw new yT.SwapKitError("core_wallet_connection_not_found",{error:$})}}function U(){return J().address.toString()}function H(){return Promise.resolve(yT.AssetValue.from({chain:yT.Chain.Ton,value:"0.0001"}))}return{createTransaction:B,estimateTransactionFee:H,getAddress:U,getBalance:q,sendTransaction:Y,transfer:Q,validateAddress:G}}async function S1(){let{Address:y}=await import("@ton/ton");return function(N){try{return y.parse(N),!0}catch{return!1}}}var yT,oy;var A1=E(()=>{yT=require("@swapkit/helpers"),oy=require("ts-pattern")});var Pf={};JT(Pf,{getTONToolbox:()=>D2,getTONAddressValidator:()=>S1});module.exports=zT(Pf);var vf=E(()=>{A1()});var By;var Vx=E(()=>{By=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function F1(y){let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb;try{let T=await fetch(`${P2}/v1/accounts/${y}`);if(!T.ok)throw Error(`TronGrid API error: ${T.status} ${T.statusText}`);let x=await T.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let G;try{G=N.address.toHex(y).toLowerCase()}catch{G=y.toLowerCase()}let L=x.data.find((X)=>{return X.address.toLowerCase()===G});if(!L)return;return{balance:L.balance,trc20:L.trc20||[]}}catch(T){throw new n1.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}var n1,P2="https://api.trongrid.io";var V1=E(()=>{n1=require("@swapkit/helpers")});async function $x(){let y=await import("tronweb"),f=y.TronWeb??y.default?.TronWeb;return(N)=>{return f.isAddress(N)}}async function K1({phrase:y,derivationPath:f,index:N}){let T=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:N||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),L=G(y),_=x.fromMasterSeed(L).derive(T);if(!_.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(_.privateKey).toString("hex")}async function F2({phrase:y,derivationPath:f,tronWeb:N}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),G=x(y),X=T.fromMasterSeed(G).derive(f);if(!X.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let _=Buffer.from(X.privateKey).toString("hex");N.setPrivateKey(_);let Z=N?.address.fromPrivateKey(_);return{getAddress:()=>Promise.resolve(typeof Z==="string"?Z:""),signTransaction:async(J)=>{return await N.trx.sign(J,_)}}}var P,jy,v2=268,S2=13000,A2=345,$1="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",n2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",b1=async(y={})=>{let f=await import("tronweb"),N=f.TronWeb??f.default?.TronWeb,T=await P.getRPCUrl(P.Chain.Tron),x=void 0,G=new N({fullHost:T,headers:void 0}),L="index"in y?y.index||0:0,X=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:L})),_=await jy.match(y).with({phrase:jy.P.string},async({phrase:A})=>F2({derivationPath:X,phrase:A,tronWeb:G})).with({signer:jy.P.any},({signer:A})=>Promise.resolve(A)).otherwise(()=>Promise.resolve(void 0)),Z=async()=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");return await _.getAddress()},J=()=>{return 1e8},q=async()=>{try{let A=await G.trx.getChainParameters(),V={};for(let z of A)V[z.key]=z.value;return{bandwidthFee:V.getTransactionFee||1000,createAccountFee:V.getCreateAccountFee||1e5,energyFee:V.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},B=async(A)=>{try{let V=await G.trx.getAccount(A);return V&&Object.keys(V).length>0}catch{return!1}},Q=async(A)=>{try{let V=await G.trx.getAccountResources(A);return{bandwidth:{free:V.freeNetLimit-V.freeNetUsed,total:V.NetLimit||0,used:V.NetUsed||0},energy:{total:V.EnergyLimit||0,used:V.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Y=async(A,V)=>{try{let z=G.contract(By,V);if(!z.methods?.balanceOf)return 0n;let[w]=await z.methods.balanceOf(A).call();return w?typeof w==="bigint"?w:BigInt(w):0n}catch(z){return console.warn(`balanceOf() failed for ${V}:`,z),0n}},U=async(A,V)=>{try{G.setAddress(V);let z=G.contract(By,A),[w,R]=await Promise.all([z.symbol().call().catch(()=>"UNKNOWN"),z.decimals().call().catch(()=>"18")]);return{decimals:Number(R??18),symbol:w??"UNKNOWN"}}catch(z){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${A}: ${z instanceof Error?z.message:z}`}),null}},H=async(A,V=!0)=>{let z=[P.AssetValue.from({chain:P.Chain.Tron})];try{let w=await F1(A);if(w){let R=[];R.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:w.balance}));for(let u of w.trc20){let[p,h]=Object.entries(u)[0]||[];if(!(p&&h))continue;let j=await U(p,A);if(!j)continue;R.push(P.AssetValue.from({asset:`TRON.${j.symbol}-${p}`,fromBaseDecimal:j.decimals,value:BigInt(h||0)}))}return R}return z}catch(w){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${w instanceof Error?w.message:w}`});try{let R=[],u=await G.trx.getBalance(A);if(u&&Number(u)>0)R.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:u}));let p=await Y(A,$1);if(p)R.push(P.AssetValue.from({asset:`TRON.USDT-${$1}`,fromBaseDecimal:6,value:p}));if(R.length===0)return z;return R}catch(R){return console.error("Tron balance fetch failed:",R),z}}},C=async({recipient:A,assetValue:V,memo:z,expiration:w})=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");let R=await Z();G.setAddress(R);let u=await $({assetValue:V,expiration:w,memo:z,recipient:A,sender:R}),p=await _.signTransaction(u),{txid:h}=await G.trx.sendRawTransaction(p);if(!h)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return h},O=async({assetValue:A,recipient:V,sender:z})=>{let w=A.isGasAsset;try{let R=z?z:_?await Z():void 0;if(!R)return w?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let u=await q(),h=await B(V)?0:u.createAccountFee,j=await Q(R);if(w){let mT=v2,sy=j.bandwidth.free+(j.bandwidth.total-j.bandwidth.used),ey=0;if(mT>sy)ey=(mT-sy)*u.bandwidthFee;let Tf=h+ey;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:Tf})}let r=A2,NT=S2,qT=j.bandwidth.free+(j.bandwidth.total-j.bandwidth.used),YT=j.energy.total-j.energy.used,pT=0;if(r>qT)pT=(r-qT)*u.bandwidthFee;let ay=0;if(NT>YT)ay=(NT-YT)*u.energyFee;let gf=h+pT+ay;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:P.BaseDecimal.TRON,value:gf})}catch(R){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${R instanceof Error?R.message:R}`}),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:R})}},$=async(A)=>{let{recipient:V,assetValue:z,memo:w,sender:R,expiration:u}=A,p=z.isGasAsset,h=async({transaction:r,memo:NT,expiration:qT})=>{let YT=NT?await G.transactionBuilder.addUpdateData(r,NT,"utf8"):r;return qT?await G.transactionBuilder.extendExpiration(YT,qT):YT};if(p){let r=await G.transactionBuilder.sendTrx(V,z.getBaseValue("number"),R);return h({expiration:u,memo:w,transaction:r})}G.setAddress(R);let j=z.address;if(!j)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});try{let NT=[{type:"address",value:V},{type:"uint256",value:z.getBaseValue("string")}],qT={callValue:0,feeLimit:J()},{transaction:YT}=await G.transactionBuilder.triggerSmartContract(j,"transfer(address,uint256)",qT,NT,R);return h({expiration:u,memo:w,transaction:YT})}catch(r){throw new P.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:r instanceof Error?r.message:String(r)})}},F=async(A)=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");return await _.signTransaction(A)},K=async(A)=>{let{txid:V}=await G.trx.sendRawTransaction(A);return V},d=async({assetAddress:A,spenderAddress:V,from:z})=>{try{let w=G.contract(By,A);if(!w.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let[R]=await w.methods.allowance(z,V).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(w){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:w})}};return{approve:async({assetAddress:A,spenderAddress:V,amount:z,from:w})=>{if(!_)throw new P.SwapKitError("toolbox_tron_no_signer");let R=w||await Z(),u=z!==void 0?BigInt(z).toString():n2,p="approve(address,uint256)",h=[{type:"address",value:V},{type:"uint256",value:u}],r={callValue:0,feeLimit:J()};try{let{transaction:NT}=await G.transactionBuilder.triggerSmartContract(A,p,r,h,R),qT=await _.signTransaction(NT),{txid:YT}=await G.trx.sendRawTransaction(qT);if(!YT)throw new P.SwapKitError("toolbox_tron_approve_failed");return YT}catch(NT){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:NT})}},broadcastTransaction:K,createTransaction:$,estimateTransactionFee:O,getAddress:Z,getApprovedAmount:d,getBalance:H,isApproved:async({assetAddress:A,spenderAddress:V,from:z,amount:w})=>{let R=await d({assetAddress:A,from:z,spenderAddress:V});if(!w)return R>0n;let u=BigInt(w);return R>=u},signTransaction:F,transfer:C,tronWeb:G,validateAddress:await $x()}};var u1=E(()=>{Vx();V1();P=require("@swapkit/helpers"),jy=require("ts-pattern")});var Kx={};JT(Kx,{trc20ABI:()=>By,getTronPrivateKeyFromMnemonic:()=>K1,getTronAddressValidator:()=>$x,createTronToolbox:()=>b1});module.exports=zT(Kx);var bx=E(()=>{Vx();u1()});async function V2({chain:y,txHash:f}){let N=`${Sf(y)}/push/transaction`,T=JSON.stringify({data:f});try{let x=await b.RequestClient.post(N,{body:T,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||f}catch(x){let G=await b.getRPCUrl(y);if(G){let L=JSON.stringify({id:V0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),X=await b.RequestClient.post(G,{body:L,headers:{"Content-Type":"application/json"}});if(X.error)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new b.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw x}}function Sf(y){return`https://api.blockchair.com/${$2(y)}`}function o1(y){switch(y){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function $2(y){switch(y){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function K2(y){try{let{feePerKb:f}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),N=f/1000;return Math.max(N,o1(y))}catch{return o1(y)}}async function ux(y,f){let N=await b.RequestClient.get(`${y}${f?`${y.includes("?")?"&":"?"}key=${f}`:""}`);if(!N||N.context.code!==200)throw new b.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return N.data}async function m1({address:y,chain:f,apiKey:N}){if(!y)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await ux(`${Sf(f)}/dashboards/address/${y}?transaction_details=true`,N))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function b2({address:y,chain:f,apiKey:N}){return(await m1({address:y,apiKey:N,chain:f}))?.address.balance||0}async function t1({chain:y,apiKey:f,txHash:N}){if(!N)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await ux(`${Sf(y)}/raw/transaction/${N}`,f))?.[N]?.raw_transaction||""}catch(T){return console.error("Failed to fetch raw transaction:",T),""}}async function u2({chain:y,address:f,apiKey:N,offset:T=0,limit:x=30}){return(await ux(`${Sf(y)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${T}`,N)).map(({is_spent:_,script_hex:Z,block_id:J,transaction_hash:q,index:B,value:Q,spending_signature_hex:Y})=>({hash:q,index:B,is_confirmed:J!==-1,is_spent:_,script_hex:Z,txHex:Y,value:Q}))}function o2(y){return y.reduce((f,N)=>f+N.value,0)}function j1(y,f){let N=[...y].sort((T,x)=>x.value-T.value);if(f){let T=[],x=0;for(let G of N)if(T.push(G),x+=G.value,x>=f)break;return T}return N}async function c1({chain:y,address:f,apiKey:N,targetValue:T,accumulativeValue:x=0,offset:G=0,limit:L=30}){if(!f)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await u2({address:f,apiKey:N,chain:y,limit:L,offset:G,targetValue:T}),Z=X.length<L,J=X.filter(({is_spent:H})=>!H),q=o2(J),B=x+q,Q=T&&B>=T;if(Z||Q)return j1(J,T);let Y=await c1({accumulativeValue:B,address:f,apiKey:N,chain:y,limit:L,offset:G+L,targetValue:T}),U=[...J,...Y];return j1(U,T)}catch(X){return console.error("Failed to fetch unspent UTXOs:",X),[]}}async function j2({address:y,chain:f,apiKey:N,fetchTxHex:T=!0,targetValue:x}){let G=await c1({address:y,apiKey:N,chain:f,targetValue:x}),L=[];for(let{hash:X,index:_,script_hex:Z,value:J}of G){let q;if(T)q=await t1({apiKey:N,chain:f,txHash:X});L.push({address:y,hash:X,index:_,txHex:q,value:J,witnessUtxo:{script:Buffer.from(Z,"hex"),value:J}})}return L}function h2(y){let f=b.SKConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(N)=>V2({chain:y,txHash:N}),getAddressData:(N)=>m1({address:N,apiKey:f,chain:y}),getBalance:(N)=>b2({address:N,apiKey:f,chain:y}),getRawTx:(N)=>t1({apiKey:f,chain:y,txHash:N}),getSuggestedTxFee:()=>K2(y),getUtxos:(N)=>j2({...N,apiKey:f,chain:y})}}function p2(y){return y}function MT(y){let f=b.SKConfig.get("apis")[y];if(f)return b.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return h2(y)}function IT(){return function(f){switch(f){case b.Chain.Bitcoin:return p1.networks.bitcoin;case b.Chain.BitcoinCash:return Jy.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return Jy.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return Jy.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let N={private:70615956,public:70617039},T=Jy.default.dogecoin.test;return T.versions.bip32=N,Jy.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return h1.networks.zcash;default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var h1,b,p1,Jy;var g1=E(()=>{Iy();h1=require("@bitgo/utxo-lib"),b=require("@swapkit/helpers"),p1=require("bitcoinjs-lib"),Jy=W(require("coininfo"))});function mx(y){try{return Af(y),!0}catch{return!1}}function tx(y){return Af(y)?.network}function qy(y){let f=Af(y);if(f?.format==="legacy")return y;return c2(f)}function hy(y){let f=Af(y);return g2(f)}function Af(y){try{let f=m2(y);if(f)return f}catch{}try{let f=t2(y);if(f)return f}catch{}throw new ox.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function m2(y){try{let f=jx.default.decode(y);if(f.length!==21)throw new ox.SwapKitError("toolbox_utxo_invalid_address",{address:y});let N=f[0],T=Array.prototype.slice.call(f,1);switch(N){case rT.legacy.mainnet.p2pkh:return{format:"legacy",hash:T,network:"mainnet",type:"p2pkh"};case rT.legacy.mainnet.p2sh:return{format:"legacy",hash:T,network:"mainnet",type:"p2sh"};case rT.legacy.testnet.p2pkh:return{format:"legacy",hash:T,network:"testnet",type:"p2pkh"};case rT.legacy.testnet.p2sh:return{format:"legacy",hash:T,network:"testnet",type:"p2sh"};case rT.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2pkh"};case rT.bitpay.mainnet.p2sh:return{format:"bitpay",hash:T,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function t2(y){if(y.indexOf(":")!==-1)try{return i1(y)}catch{}else{let f=["bitcoincash","bchtest","bchreg"];for(let N of f)try{return i1(`${N}:${y}`)}catch{}}return}function i1(y){try{let{hash:f,prefix:N,type:T}=hx.default.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:N==="bitcoincash"?"mainnet":"testnet",type:T==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function c2(y){let f=rT.legacy[y.network][y.type],N=Buffer.alloc(1+y.hash.length);return N[0]=f,N.set(y.hash,1),jx.default.encode(N)}function g2(y){let f=y.network==="mainnet"?"bitcoincash":"bchtest",N=y.type==="p2pkh"?"P2PKH":"P2SH",T=new Uint8Array(y.hash);return hx.default.encode(f,N,T)}var ox,jx,hx,px,rT;var d1=E(()=>{ox=require("@swapkit/helpers"),jx=W(require("bs58check")),hx=W(require("cashaddrjs"));((N)=>{N.Mainnet="mainnet";N.Testnet="testnet"})(px||={});rT={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function RT(y){let f=Buffer.from(y,"utf8");return Vf.script.compile([Vf.opcodes.OP_RETURN,f])}var r1,Vf,i2=1000,$f=10,a1=10,d2=41,r2=107,Kf,nf,Ff,py=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new r1.SwapKitError("toolbox_utxo_invalid_address",{address:y})},Qy=({inputs:y,outputs:f,feeRate:N})=>{let T=y[0]&&"address"in y[0]&&y[0].address?py(y[0].address):"P2PKH",x=y.filter((L)=>L.value>=nf["type"in L?L.type:"P2PKH"]*Math.ceil(N)).reduce((L,X)=>L+uT(X),0),G=f?.reduce((L,X)=>L+my(X),0)||Ff[T];return $f+x+G},uT=(y)=>{if("type"in y)return nf[y.type];if("address"in y&&y.address)return nf[py(y.address)];return d2+r2},my=(y,f)=>{if(y?.script)return a1+y.script.length+(y.script.length>=74?2:1);if(f)return Ff[f];return Ff.P2PKH};var cx=E(()=>{r1=require("@swapkit/helpers"),Vf=require("bitcoinjs-lib");((N)=>{N.P2PKH="P2PKH";N.P2WPKH="P2WPKH"})(Kf||={});nf={["P2PKH"]:148,["P2WPKH"]:68},Ff={["P2PKH"]:34,["P2WPKH"]:31}});function bf(y){switch(y){case OT.Chain.Bitcoin:case OT.Chain.BitcoinCash:return 550;case OT.Chain.Dash:case OT.Chain.Litecoin:return 5500;case OT.Chain.Dogecoin:return 1e5;case OT.Chain.Zcash:return 546;default:throw new OT.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function lT({inputs:y,outputs:f,feeRate:N=1,chain:T=OT.Chain.Bitcoin,changeAddress:x=""}){let G=Math.ceil(N),L=y[0]&&"address"in y[0]&&y[0].address?py(y[0].address):"P2PKH",X=y.filter((Q)=>uT(Q)*G<=Q.value),_=$f+f.reduce((Q,Y)=>Q+my(Y,L),0),Z=f.reduce((Q,Y)=>Q+Y.value,0),J=_*G,q=0,B=[];for(let Q of X){let Y=uT(Q),U=G*Y;J+=U,q+=Q.value,B.push(Q);let H=J+Z;if(q<H)continue;let C=q-H,O=G*my({address:"",value:0},L);if(C>O){let $=O+J,F=q-(Z+$);if(F>Math.max(uT({})*G,bf(T)))return{fee:$,inputs:B,outputs:f.concat({address:x,value:F})}}return{fee:J,inputs:B,outputs:f}}return{fee:G*Qy({feeRate:G,inputs:y,outputs:f})}}var OT;var s1=E(()=>{cx();OT=require("@swapkit/helpers")});var Yy=E(()=>{g1();d1();s1();cx()});function aT(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function oT(y){let f=aT(y);return mx(f)&&tx(f)==="mainnet"}function zy(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=uf.networks.zcash;try{return uf.address.toOutputScript(y,f),!0}catch{let N=e1.default.decode(y);if(N.length<21)return!1;let T=N[0];return T===f.pubKeyHash||T===f.scriptHash}}catch{return!1}}var uf,e1;var ty=E(()=>{Yy();uf=require("@bitgo/utxo-lib"),e1=W(require("bs58check"))});function f5({inputs:y,outputs:f,chain:N,psbt:T,sender:x,compiledMemo:G}){for(let L of y){let X=!!L.witnessUtxo&&!cy.includes(N)&&{witnessUtxo:L.witnessUtxo},_=cy.includes(N)&&{nonWitnessUtxo:L.txHex?Buffer.from(L.txHex,"hex"):void 0};T.addInput({hash:L.hash,index:L.index,...X,..._})}for(let L of f){let X="address"in L&&L.address?L.address:x,_=L.script;if(_&&!G)continue;let Z=_?{script:G,value:0}:{address:X,value:L.value};ET.initEccLib(of.default),T.addOutput(Z)}return{inputs:y,psbt:T}}async function x5({assetValue:y,recipient:f,memo:N,feeRate:T,sender:x,fetchTxHex:G=!1}){let L=y.chain,X=N?await RT(N):null,_=await L5({assetValue:y,fetchTxHex:G,memo:N,recipient:f,sender:x}),{inputs:Z,outputs:J}=lT({..._,chain:L,feeRate:T});if(!(Z&&J))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await IT(),B=new ET.Psbt({network:q(L)});if(L===S.Chain.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:Q,inputs:Y}=await f5({chain:L,compiledMemo:X,inputs:Z,outputs:J,psbt:B,sender:x});return{inputs:Y,psbt:Q,utxos:_.inputs}}async function G5(){let y=await IT();return function({address:N,chain:T}){if(T===S.Chain.BitcoinCash)return oT(N);if(T===S.Chain.Zcash)return zy(N);try{return ET.initEccLib(of.default),ET.address.toOutputScript(N,y(T)),!0}catch{return!1}}}async function a2({chain:y,phrase:f,derivationPath:N}){let T=(await gy(y))({derivationPath:N,phrase:f});async function x(L){return await L.signAllInputs(T),L}function G(){return ix(y)(T)}return{getAddress:G,signTransaction:x}}async function sT({chain:y,...f}){let N="phrase"in f?f.phrase:void 0,T="index"in f?f.index||0:0,x=S.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[y],{index:T})),G=N?await a2({chain:y,derivationPath:x,phrase:N}):("signer"in f)?f.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let X=await G5(),_=await gy(y);return{accumulative:lT,broadcastTx:(Z)=>MT(y).broadcastTx(Z),calculateTxSize:Qy,createKeysForPath:_,createTransaction:x5,estimateMaxSendableAmount:s2(y),estimateTransactionFee:e2(y),getAddress:L,getAddressFromKeys:ix(y),getBalance:yy(y),getFeeRates:()=>iy(y),getInputsOutputsFee:N5,getPrivateKeyFromMnemonic:(Z)=>{return _(Z).toWIF()},transfer:TG(G),validateAddress:(Z)=>X({address:Z,chain:y})}}async function N5({assetValue:y,feeOptionKey:f=S.FeeOption.Fast,feeRate:N,memo:T,sender:x,recipient:G}){let L=y.chain,X=await L5({assetValue:y,memo:T,recipient:G,sender:x}),_=N?Math.floor(N):(await iy(L))[f];return lT({...X,chain:L,feeRate:_})}function s2(y){return async function({from:N,memo:T,feeRate:x,feeOptionKey:G=S.FeeOption.Fast,recipients:L=1}){let X=await MT(y).getAddressData(N),_=x?Math.ceil(x):(await iy(y))[G],Z=X?.utxo.map((Y)=>({...Y,hash:"",type:"P2PKH"})).filter((Y)=>Y.value>Math.max(bf(y),uT(Y)*_));if(!Z?.length)return S.AssetValue.from({chain:y});let J=S.AssetValue.from({chain:y,value:Z.reduce((Y,U)=>Y+U.value,0)}),q=typeof L==="number"?Array.from({length:L},()=>({address:N,value:0})):L;if(T){let Y=await RT(T);q.push({address:N,script:Y,value:0})}let Q=Qy({feeRate:_,inputs:Z,outputs:q})*_;return J.sub(Q)}}function e2(y){return async(f)=>{let N=await N5(f);return S.AssetValue.from({chain:y,value:S.SwapKitNumber.fromBigInt(BigInt(N.fee),8).getValue("string")})}}async function gy(y){let f=await IT();switch(y){case S.Chain.BitcoinCash:return function({phrase:T,derivationPath:x=`${S.DerivationPath.BCH}/0`,wif:G}){let L=f(y);if(G)return jf.ECPair.fromWIF(G,L);if(!T)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return jf.HDNode.fromSeedBuffer(Buffer.from(gx.mnemonicToSeedSync(T)),L).derivePath(x).keyPair};case S.Chain.Bitcoin:case S.Chain.Dogecoin:case S.Chain.Litecoin:case S.Chain.Zcash:case S.Chain.Dash:return function({phrase:T,wif:x,derivationPath:G}){if(!(x||T))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let L=y5.ECPairFactory(of.default),X=f(y);if(x)return L.fromWIF(x,X);let _=gx.mnemonicToSeedSync(T),Z=T5.HDKey.fromMasterSeed(_,X).derive(G);if(!Z.privateKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return L.fromPrivateKey(Buffer.from(Z.privateKey),{network:X})};default:throw new S.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function ix(y){let f=IT();return function(T){if(!T)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=cy.includes(y)?ET.payments.p2pkh:ET.payments.p2wpkh,{address:G}=x({network:f(y),pubkey:T.publicKey});if(!G)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return G}}function TG(y){return async function({memo:N,recipient:T,feeOptionKey:x,feeRate:G,assetValue:L}){let X=await y?.getAddress(),_=L.chain;if(!(y&&X))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=G||(await iy(_))[x||S.FeeOption.Fast],{psbt:J}=await x5({assetValue:L,feeRate:Z,memo:N,recipient:T,sender:X}),q=await y.signTransaction(J);return q.finalizeAllInputs(),MT(_).broadcastTx(q.extractTransaction().toHex())}}async function iy(y){let f=await MT(y).getSuggestedTxFee();return{[S.FeeOption.Average]:f,[S.FeeOption.Fast]:S.applyFeeMultiplier(f,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(f,S.FeeOption.Fastest)}}async function L5({assetValue:y,recipient:f,memo:N,sender:T,fetchTxHex:x=!1}){let G=y.chain,L=(await iy(G))[S.FeeOption.Fastest],X=x||cy.includes(G),_=y.getBaseValue("number"),Z=Math.ceil(_+L*5000);return{inputs:await MT(G).getUtxos({address:T,fetchTxHex:X,targetValue:Z}),outputs:[{address:f,value:_},...N?[{address:"",script:await RT(N),value:0}]:[]]}}var of,jf,T5,gx,S,ET,y5,cy;var dy=E(()=>{Iy();Yy();ty();of=W(require("@bitcoinerlab/secp256k1")),jf=require("@psf/bitcoincashjs-lib"),T5=require("@scure/bip32"),gx=require("@scure/bip39"),S=require("@swapkit/helpers"),ET=require("bitcoinjs-lib"),y5=require("ecpair"),cy=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash]});function eT(y){return aT(hy(y))}function yG(y){function f({builder:T,utxos:x}){return x.forEach((G,L)=>{T.sign(L,y,void 0,65,G.witnessUtxo?.value)}),T.build()}return{getAddress:()=>{let T=y.getAddress(0);return Promise.resolve(eT(T))},signTransaction:f}}async function dx(y){let f="phrase"in y?y.phrase:void 0,N="index"in y?y.index||0:0,T=ZT.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:ZT.updateDerivationPath(ZT.NetworkDerivationPath[CT],{index:N})),x=f?(await gy(CT))({derivationPath:T,phrase:f}):void 0,G=x?yG(x):("signer"in y)?y.signer:void 0;function L(){return Promise.resolve(G?.getAddress())}let{getBalance:X,getFeeRates:_,broadcastTx:Z,...J}=await sT({chain:CT});function q(B,Q=!0){return X(aT(hy(B)))}return{...J,broadcastTx:Z,buildTx:xG,createTransaction:_5,getAddress:L,getAddressFromKeys:GG,getBalance:q,getFeeRates:_,stripPrefix:aT,stripToCashAddress:eT,transfer:fG({broadcastTx:Z,getFeeRates:_,signer:G}),validateAddress:oT}}async function _5({assetValue:y,recipient:f,memo:N,feeRate:T,sender:x}){if(!oT(f))throw new ZT.SwapKitError("toolbox_utxo_invalid_address",{address:f});let G=Math.ceil(y.getBaseValue("number")+T*7500),L=await MT(CT).getUtxos({address:eT(x),fetchTxHex:!0,targetValue:G}),X=N?await RT(N):null,_=[];_.push({address:f,value:y.getBaseValue("number")});let{inputs:Z,outputs:J}=lT({chain:CT,feeRate:T,inputs:L,outputs:_});if(!(Z&&J))throw new ZT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let q=await IT(),B=new Wy.TransactionBuilder(q(CT));await Promise.all(Z.map(async(Q)=>{let Y=await MT(CT).getRawTx(Q.hash);B.addInput(Wy.Transaction.fromBuffer(Buffer.from(Y,"hex")),Q.index)}));for(let Q of J){let Y="address"in Q&&Q.address?Q.address:qy(x),U=await IT(),H=Wy.address.toOutputScript(qy(Y),U(CT));B.addOutput(H,Q.value)}if(X)B.addOutput(X,0);return{builder:B,utxos:Z}}function fG({broadcastTx:y,getFeeRates:f,signer:N}){return async function({recipient:x,assetValue:G,feeOptionKey:L=ZT.FeeOption.Fast,...X}){let _=await N?.getAddress();if(!(N&&_))throw new ZT.SwapKitError("toolbox_utxo_no_signer");if(!x)throw new ZT.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Z=X.feeRate||(await f())[L],{builder:J,utxos:q}=await _5({...X,assetValue:G,feeRate:Z,recipient:x,sender:_}),Q=(await N.signTransaction({builder:J,utxos:q})).toHex();return y(Q)}}async function xG({assetValue:y,recipient:f,memo:N,feeRate:T,sender:x,setSigHashType:G}){let L=hy(f);if(!oT(L))throw new ZT.SwapKitError("toolbox_utxo_invalid_address",{address:L});let X=Math.ceil(y.getBaseValue("number")+T*7500),_=await MT(CT).getUtxos({address:eT(x),fetchTxHex:!1,targetValue:X}),Z=Number(T.toFixed(0)),J=N?await RT(N):null,q=[];if(q.push({address:qy(f),value:y.getBaseValue("number")}),J)q.push({script:J,value:0});let{inputs:B,outputs:Q}=lT({chain:CT,feeRate:Z,inputs:_,outputs:q});if(!(B&&Q))throw new ZT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:x});let Y=await IT(),U=new X5.Psbt({network:Y(CT)});for(let{hash:H,index:C,witnessUtxo:O}of B)U.addInput({hash:H,index:C,sighashType:G?65:void 0,witnessUtxo:O});for(let H of Q){let C="address"in H&&H.address?H.address:qy(x),O=H.script?J?{script:J,value:0}:void 0:{address:C,value:H.value};if(O)U.addOutput(O)}return{inputs:B,psbt:U,utxos:_}}function GG(y){let f=y.getAddress(0);return eT(f)}var Wy,ZT,X5,CT;var hf=E(()=>{Yy();dy();ty();Wy=require("@psf/bitcoincashjs-lib"),ZT=require("@swapkit/helpers"),X5=require("bitcoinjs-lib"),CT=ZT.Chain.BitcoinCash});function J5(){return wT.networks.zcash}function q5(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function NG({phrase:y,derivationPath:f}){let N=ax.mnemonicToSeedSync(y),x=rx.HDKey.fromMasterSeed(N).derive(f);if(!x.privateKey)throw new fT.SwapKitError("toolbox_utxo_invalid_params");let G=q5(),L=wT.ECPair.fromPrivateKey(Buffer.from(x.privateKey),{network:G}),X=wT.crypto.hash160(L.publicKey),{isStagenet:_}=fT.SKConfig.get("envs"),Z=_?Buffer.from([29,37]):Buffer.from([28,184]),J=Buffer.concat([Z,X]),q=B5.default.encode(J);return{getAddress:()=>Promise.resolve(q),signTransaction:(B)=>{let Q=B.signAllInputs(L);return Promise.resolve(Q)}}}function LG({inputs:y,outputs:f,psbt:N,sender:T,compiledMemo:x}){for(let G of y){let L=!!G.witnessUtxo&&{witnessUtxo:{...G.witnessUtxo,value:BigInt(G.value)}},X=!G.witnessUtxo&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};N.addInput({hash:G.hash,index:G.index,...L,...X})}for(let G of f){let L="address"in G&&G.address?G.address:T,X=G.script;if(X&&!x)continue;let _=X?{script:x,value:0n}:{script:wT.address.toOutputScript(L,J5()),value:BigInt(G.value)};N.addOutput(_)}return{inputs:y,psbt:N}}async function Z5(y){let{assetValue:f,recipient:N,memo:T,feeRate:x,sender:G,fetchTxHex:L}=y,X=T?RT(T):null,_=await MT(fT.Chain.Zcash).getUtxos({address:G,fetchTxHex:L!==!1}),Z=[{address:N,value:Number(f.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:J,outputs:q}=lT({chain:fT.Chain.Zcash,changeAddress:G,feeRate:x,inputs:_,outputs:Z});if(!(J&&q))throw new fT.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:G});let B=wT.bitgo.createPsbtForNetwork({network:J5()},{version:455}),Y=3268858036,U=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),H=Buffer.allocUnsafe(4);H.writeUInt32LE(Y>>>0,0),B.addUnknownKeyValToGlobal({key:U,value:H});let{psbt:C,inputs:O}=await LG({compiledMemo:X,inputs:J,outputs:q,psbt:B,sender:G});return{inputs:O,outputs:q,psbt:C}}async function sx(y){let f=await My.match(y).with({signer:My.P.not(My.P.nullish)},({signer:L})=>Promise.resolve(L)).with({phrase:My.P.string},({phrase:L,derivationPath:X,index:_=0})=>{let Z=X||fT.NetworkDerivationPath[fT.Chain.Zcash]||[44,133,0,0,0],J=fT.updateDerivationPath(Z,{index:_}),q=fT.derivationPathToString(J);return NG({derivationPath:q,phrase:L})}).otherwise(()=>Promise.resolve(void 0)),N=await sT({chain:fT.Chain.Zcash,signer:f});async function T({recipient:L,assetValue:X,feeOptionKey:_=fT.FeeOption.Fast,...Z}){let J=await f?.getAddress();if(!(f&&J))throw new fT.SwapKitError("toolbox_utxo_no_signer");let q=Z.feeRate||(await N.getFeeRates())[_],{psbt:B}=await Z5({...Z,assetValue:X,feeRate:q,recipient:L,sender:J}),Q=await f.signTransaction(B);return Q.finalizeAllInputs(),N.broadcastTx(Q.extractTransaction().toHex())}function x({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){let _=ax.mnemonicToSeedSync(L),J=rx.HDKey.fromMasterSeed(_).derive(X);if(!J.privateKey)throw new fT.SwapKitError("toolbox_utxo_invalid_params");let q=q5();return wT.ECPair.fromPrivateKey(Buffer.from(J.privateKey),{network:q})}function G({phrase:L,derivationPath:X="m/44'/133'/0'/0/0"}){return x({derivationPath:X,phrase:L}).toWIF()}return{...N,createKeysForPath:x,createTransaction:Z5,getPrivateKeyFromMnemonic:G,transfer:T,validateAddress:zy}}var wT,rx,ax,fT,B5,My;var ex=E(()=>{Yy();dy();ty();wT=require("@bitgo/utxo-lib"),rx=require("@scure/bip32"),ax=require("@scure/bip39"),fT=require("@swapkit/helpers"),B5=W(require("bs58check")),My=require("ts-pattern")});async function XG(y,f){switch(y){case vT.Chain.BitcoinCash:return await dx(f||{});case vT.Chain.Zcash:return await sx(f);case vT.Chain.Bitcoin:case vT.Chain.Dogecoin:case vT.Chain.Litecoin:case vT.Chain.Dash:return await sT({chain:y,...f});default:throw new vT.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var vT;var Q5=E(()=>{hf();dy();ex();hf();ty();vT=require("@swapkit/helpers")});var T0={};JT(T0,{validateZcashAddress:()=>zy,toLegacyAddress:()=>qy,toCashAddress:()=>hy,stripToCashAddress:()=>eT,stripPrefix:()=>aT,nonSegwitChains:()=>cy,isValidAddress:()=>mx,getUtxoToolbox:()=>XG,getUtxoNetwork:()=>IT,getUtxoApi:()=>MT,getUTXOAddressValidator:()=>G5,getScriptTypeForAddress:()=>py,getOutputSize:()=>my,getInputSize:()=>uT,getDustThreshold:()=>bf,getCreateKeysForPath:()=>gy,detectAddressNetwork:()=>tx,createZcashToolbox:()=>sx,createUTXOToolbox:()=>sT,createCustomUtxoApi:()=>p2,createBCHToolbox:()=>dx,compileMemo:()=>RT,calculateTxSize:()=>Qy,bchValidateAddress:()=>oT,addressFromKeysGetter:()=>ix,addInputsAndOutputs:()=>f5,accumulative:()=>lT,UtxoNetwork:()=>px,UTXOScriptType:()=>Kf,TX_OVERHEAD:()=>$f,OutputSizes:()=>Ff,OP_RETURN_OVERHEAD:()=>a1,MIN_TX_FEE:()=>i2,InputSizes:()=>nf});module.exports=zT(T0);var y0=E(()=>{Yy();Q5();hf();dy();ex()});async function mf(){let{validateAccountId:y}=await import("near-sdk-js");return(f)=>{try{return y(f)}catch{let N=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&N.test(f)}}}async function tf(y){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:N}=await import("@near-js/crypto"),T=y.index||0,x=y.derivationPath?pf.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:G}=f(y.phrase,x),L=N.fromString(G);return W5(L)}async function f0(y){let{KeyPair:f}=await import("@near-js/crypto"),N=f.fromString(y);return W5(N)}function W5(y){return new z5(y)}async function cf(y,f){let T=(await y.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!T)throw new pf.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:x}=await import("@near-js/crypto"),G=x.fromString(T.public_key);return{nonce:T.access_key.nonce||0,publicKey:G}}var Y5,pf,z5;var x0=E(()=>{Y5=require("@near-js/signers"),pf=require("@swapkit/helpers");z5=class z5 extends Y5.KeyPairSigner{#T;constructor(y){super(y);this.#T=y}getAddress(){let y=this.#T.getPublicKey(),f=Buffer.from(y.data).toString("hex");return Promise.resolve(f)}}});function G0(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function N0(y){return"contractId"in y&&"methodName"in y}function L0(y){return"actions"in y}function X0(y){return"newAccountId"in y}function _0(y){return"contractCode"in y}function Z0(y){return"customEstimator"in y}function B0(y){let f=0;for(let N of y)switch(N.enum){case"transfer":f+=Number(BT.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(BT.CONTRACT_CALL);break;case"createAccount":f+=Number(BT.ACCOUNT_CREATION);break;case"deployContract":f+=Number(BT.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(BT.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(BT.ACCESS_KEY_DELETION);break;case"stake":f+=Number(BT.STAKE);break;default:f+=Number(BT.CONTRACT_CALL)}return f.toString()}function J0(y){if(y==="ft_transfer"||y==="ft_transfer_call")return BT.TOKEN_TRANSFER;if(y==="storage_deposit")return BT.STORAGE_DEPOSIT;return BT.CONTRACT_CALL}function _G(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function ZG(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var BT;var q0=E(()=>{BT={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function Q0({account:y,contractId:f,viewMethods:N,changeMethods:T}){let{Contract:x}=await import("@near-js/accounts");return new x(y,f,{changeMethods:T,useLocalViewExecution:!0,viewMethods:N})}async function BG(y){let{P:f,match:N}=await import("ts-pattern"),{JsonRpcProvider:T}=await import("@near-js/providers"),x=await N(y).with({phrase:f.string},async(z)=>{return await tf(z)}).with({signer:f.any},({signer:z})=>z).otherwise(()=>{return}),G=await t.getRPCUrl(t.Chain.Near),L=new T({url:G});async function X(z){let{Account:w}=await import("@near-js/accounts"),R=z||await _();return new w(R,L,x)}async function _(){if(!x)throw new t.SwapKitError("toolbox_near_no_signer");return await x.getAddress()}async function Z(z){return(await GT({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function J(z){let R=[await U({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return QT({actions:R,receiverId:z.contractId})}async function q(z){if(!x)throw new t.SwapKitError("toolbox_near_no_signer");let{assetValue:w,recipient:R,memo:u}=z,p=await _();if(!w.isGasAsset&&w.address){if(!await Z({accountId:R,contractId:w.address}))return J({assetValue:w,contractId:w.address,memo:u,recipient:R})}let h=await B({...z,sender:p});return O(h)}async function B(z){let{recipient:w,assetValue:R,memo:u,attachedDeposit:p,sender:h,functionCall:j}=z,r=await mf();if(!r(w))throw new t.SwapKitError("toolbox_near_invalid_address",{recipient:w});if(!r(h))throw new t.SwapKitError("toolbox_near_invalid_address",{signerId:h});if(j)return Y({...j,sender:h});if(!R.isGasAsset){let Tf=R.address;if(!Tf)throw new t.SwapKitError("toolbox_near_missing_contract_address");return Y({args:{amount:R.getBaseValue("string"),memo:u||null,receiver_id:w},attachedDeposit:p||"1",contractId:Tf,gas:"250000000000000",methodName:"ft_transfer",sender:h})}let{publicKey:NT,nonce:qT}=await cf(L,h),YT=R.getBaseValue("bigint"),{actionCreators:pT,createTransaction:ay}=await import("@near-js/transactions"),{baseDecode:gf}=await import("@near-js/utils"),mT=[pT.transfer(YT)];if(u&&p)mT.push(pT.functionCall("memo",{memo:u},BigInt("250000000000000"),BigInt(p)));let sy=await L.block({finality:"final"}),ey=gf(sy.header.hash);return ay(h,NT,w,qT+1,mT,ey)}function Q(z){let w=z.encode();return Buffer.from(w).toString("base64")}async function Y(z){let{sender:w}=z,{publicKey:R,nonce:u}=await cf(L,w),{createTransaction:p,actionCreators:h}=await import("@near-js/transactions"),{baseDecode:j}=await import("@near-js/utils"),r=await L.block({finality:"final"}),NT=j(r.header.hash),qT=[h.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))];return p(w,R,z.contractId,u+1,qT,NT)}async function U(z){let{actionCreators:w}=await import("@near-js/transactions");return w.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function H(z){if(!x)throw new t.SwapKitError("toolbox_near_no_signer");let[w,R]=await x.signTransaction(z);return R}async function C(z){return(await L.sendTransaction(z)).transaction.hash}async function O(z){if(!x)throw new t.SwapKitError("toolbox_near_no_signer");try{let w=await H(z);return await C(w)}catch{return x.signAndSendTransactions?.({transactions:[z]})}}async function $(z){if("assetValue"in z){let p=BigInt("115123062500")+BigInt("108059500000"),h=await F(),j=p*BigInt(h.toString()),{baseDecimal:r}=t.getChainConfig(t.Chain.Near);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:r,value:j.toString()})}let w=x?await X():void 0;return A(z,w)}async function F(){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 K(z,w,R){if(!x)throw new t.SwapKitError("toolbox_near_no_signer");let u=await X(),{formatNearAmount:p}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),j=p(R)||"0";return(await u.createAccount(z,h.fromString(w),BigInt(j))).transaction.hash}async function d(z){try{if(!x)throw new t.SwapKitError("toolbox_near_no_signer");let{actionCreators:w}=await import("@near-js/transactions"),{contractId:R,methodName:u,args:p,deposit:h}=z,j=await X(),r=await A({args:p||{},contractId:R,methodName:u}),NT=w.functionCall(u,p||{},r.getBaseValue("bigint"),BigInt(h||"1"));return(await j.signAndSendTransaction({actions:[NT],receiverId:R})).transaction_outcome.id}catch(w){throw new t.SwapKitError("toolbox_near_transfer_failed",{error:w})}}async function GT(z){let w=await X();return Q0({account:w,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function QT(z){if(!x)throw new t.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new t.SwapKitError("toolbox_near_empty_batch");return(await(await X()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function A(z,w){let{baseDecimal:R}=t.getChainConfig(t.Chain.Near),u=await N(z).when(G0,()=>BT.SIMPLE_TRANSFER).when(N0,(j)=>J0(j.methodName)).when(L0,(j)=>B0(j.actions)).when(X0,()=>BT.ACCOUNT_CREATION).when(_0,()=>BT.CONTRACT_DEPLOYMENT).when(Z0,(j)=>{if(!w)throw new t.SwapKitError("toolbox_near_no_account");return j.customEstimator(w)}).otherwise(()=>{throw new t.SwapKitError("toolbox_near_invalid_gas_params")}),h=BigInt(u)*BigInt(1000000000000);return t.AssetValue.from({chain:t.Chain.Near,fromBaseDecimal:R,value:h})}async function V(){try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:C,callFunction:d,createAction:U,createContract:GT,createContractFunctionCall:Y,createSubAccount:K,createTransaction:B,estimateGas:A,estimateTransactionFee:$,executeBatchTransaction:QT,getAddress:_,getBalance:yy(t.Chain.Near),getGasPrice:V,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(z)=>tf(z),getSignerFromPrivateKey:f0,provider:L,serializeTransaction:Q,signAndSendTransaction:O,signTransaction:H,transfer:q,validateAddress:await mf()}}var t;var Y0=E(()=>{Iy();x0();q0();t=require("@swapkit/helpers")});var M5=E(()=>{Y0()});var z0={};JT(z0,{tgasToGas:()=>_G,isSimpleTransfer:()=>G0,isCustomEstimator:()=>Z0,isContractDeployment:()=>_0,isContractCall:()=>N0,isBatchTransaction:()=>L0,isAccountCreation:()=>X0,getValidateNearAddress:()=>mf,getNearToolbox:()=>BG,getNearSignerFromPrivateKey:()=>f0,getNearSignerFromPhrase:()=>tf,getFullAccessPublicKey:()=>cf,getContractMethodGas:()=>J0,gasToTGas:()=>ZG,estimateBatchGas:()=>B0,createNearContract:()=>Q0,GAS_COSTS:()=>BT});module.exports=zT(z0);var W0=E(()=>{x0();q0();Y0();M5()});var M0={};JT(M0,{radixValidateAddress:()=>H5,RadixToolbox:()=>zG});module.exports=zT(M0);function H5(y){return y.startsWith("account_rdx1")&&y.length===66}function JG({networkApi:y}){return async function(N){let T=await qG({address:N,networkApi:y});return QG({networkApi:y,resources:T})}}async function qG({address:y,networkApi:f}){let N=!0,T,x=[],G=await YG(f);while(N){let L={address:y,at_ledger_state:{state_version:G},cursor:T,limit_per_page:100},X=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:L});if(x=x.concat(X.items),X.next_cursor)T=X.next_cursor;else N=!1}return x}async function QG({resources:y,networkApi:f}){let N=[],T=50,x=[];for(let G=0;G<y.length;G+=50)x.push(y.slice(G,G+50));for(let G of x){let L=G.map((Z)=>Z.resource_address),X=await f.state.getEntityDetailsVaultAggregated(L),_=new Map;for(let Z of X)if(Z.details!==void 0){let J=Z.metadata?.items.find((B)=>B.key==="symbol"),q=J?.value.typed.type==="String"?J.value.typed.value:"?";if(Z.details.type==="FungibleResource")_.set(Z.address,{decimals:Z.details.divisibility,symbol:q})}for(let Z of G)if(Z.aggregation_level==="Global"){let J=_.get(Z.resource_address)||{decimals:0,symbol:"?"},q=ST.AssetValue.from({asset:J.symbol!==ST.Chain.Radix?`${ST.Chain.Radix}.${J.symbol}-${Z.resource_address}`:"XRD.XRD",value:Z.amount});N.push(q)}}return N}function YG(y){return y.status.getCurrent().then((f)=>f.ledger_state.state_version)}var ST,zG=async({dappConfig:y}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:N}=await import("@radixdlt/babylon-gateway-api-sdk"),T=y||ST.SKConfig.get("integrations").radix,x=f({...T,networkId:T.network?.networkId||1}),G=N.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:JG({networkApi:G}),networkApi:G,signAndBroadcast:()=>{throw new ST.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:H5}};var H0=E(()=>{ST=require("@swapkit/helpers")});var C0={};JT(C0,{rippleValidateAddress:()=>U0,hashes:()=>C5.hashes,getRippleToolbox:()=>MG});module.exports=zT(C0);function U5(y){let f=jT.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(N)=>Promise.resolve(f.sign(N))}}function U0(y){return jT.isValidAddress(y)}var c,jT,C5,WG,MG=async(y={})=>{let f="signer"in y&&y.signer?y.signer:("phrase"in y)&&y.phrase?U5(y.phrase):void 0,N=await c.getRPCUrl(c.Chain.Ripple);if(!N)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let T=new jT.Client(N);await T.connect();let x=()=>{if(!f)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},G=async(B)=>{let Q=B||await x(),{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);try{let H=(await T.request({account:Q,command:"account_info"})).result.account_data.Balance;return[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:H})]}catch(U){if(U.data.error_code===WG.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:Q,error:U}})}},L=async()=>{let Q=(await T.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Y}=c.getChainConfig(c.Chain.Ripple);return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:Y,value:c.SwapKitNumber.fromBigInt(BigInt(Q),Y)})},X=async({assetValue:B,recipient:Q,memo:Y,sender:U})=>{if(!U0(Q))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let H=U||await x();if(!B.isGasAsset||B.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:B.toString()}});let C={Account:H,Amount:jT.xrpToDrops(B.getValue("string")),Destination:Q,TransactionType:"Payment"};if(Y)C.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];return await T.autofill(C)},_=(B)=>{if(!f)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(B)},Z=async(B)=>{let Y=(await T.submitAndWait(B)).result;if(Y.validated)return Y.hash;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple}})};return{broadcastTransaction:Z,createSigner:U5,createTransaction:X,disconnect:()=>T.disconnect(),estimateTransactionFee:L,getAddress:x,getBalance:G,signer:f,signTransaction:_,transfer:async(B)=>{if(!f)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let Q=await f.getAddress(),Y=await X({...B,sender:Q}),U=await _(Y);return Z(U.tx_blob)},validateAddress:U0}};var w0=E(()=>{c=require("@swapkit/helpers"),jT=require("xrpl"),C5=require("xrpl"),WG={ACCOUNT_NOT_FOUND:19}});async function HG(y,f,N){try{let T=await y.query.system?.account?.(N);if(!T)return[f.set(0)];let{data:{free:x}}=T,G=Ty.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(T){return console.error("Error fetching substrate balance:",T),[f.set(0)]}}async function UG(y,f,N){try{let T=await y.query.flip?.account?.(N);if(!T)return[f.set(0)];let x=T.balance||T.data?.balance;if(!x||x.isEmpty)return[f.set(0)];let G=Ty.SwapKitNumber.fromBigInt(BigInt(x.toString()),f.decimal).getValue("string");return[f.set(G)]}catch(T){return console.error("Error fetching chainflip balance:",T),[f.set(0)]}}function w5(y,f){return function(T){let x=Ty.AssetValue.from({chain:y});switch(y){case Ty.Chain.Chainflip:return UG(f,x,T);default:return HG(f,x,T)}}}var Ty;var I5=E(()=>{Ty=require("@swapkit/helpers")});var CG,wG,IG,hT;var I0=E(()=>{CG={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},wG={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},IG={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hT={DOT:CG,FLIP:wG,GENERIC:IG}});function RG(y,f){switch(y){case a.Chain.Chainflip:return O5(f);case a.Chain.Polkadot:return R5(f);default:throw new a.SwapKitError("toolbox_substrate_not_supported",{chain:y})}}function Hy(y){return"address"in y}async function O0(y,f){let{Keyring:N}=await import("@polkadot/api"),{cryptoWaitReady:T}=await import("@polkadot/util-crypto");return await T(),new N({ss58Format:f,type:"sr25519"}).addFromUri(y)}function vG(y,f){let N=Cy.decodeAddress(y);return Cy.encodeAddress(N,f)}function l5(y,f){return Uy.isHex(y)?Uy.hexToU8a(y):Cy.decodeAddress(y,void 0,f)}function E5(y,f="ss58",N){if(f==="hex")return Uy.u8aToHex(y);return Cy.encodeAddress(y,N)}async function k0({generic:y,chain:f,...N}){let{ApiPromise:T,WsProvider:x}=await import("@polkadot/api"),G=await a.getRPCUrl(f),L=new x(G),X=await T.create({noInitWarn:!0,provider:L}),_=a.AssetValue.from({chain:f}),Z=y?hT.GENERIC:hT[f],J=await ry.match(N).with({phrase:ry.P.string},({phrase:q})=>O0(q,hT[f].prefix)).with({signer:ry.P.any},({signer:q})=>q).otherwise(()=>{return});return k5({api:X,chain:f,gasAsset:_,network:Z,signer:J})}var Uy,Cy,a,ry,R5=({generic:y=!1,...f}={})=>{return k0({chain:a.Chain.Polkadot,generic:y,...f})},O5=async({generic:y=!1,...f}={})=>{return{...await k0({chain:a.Chain.Chainflip,generic:y,...f})}},l0=(y,f)=>y.rpc.system.accountNextIndex(f),R0=(y,f)=>{try{let N=l5(y,f);return E5(N,"ss58",f),!0}catch{return!1}},E0=(y,{recipient:f,assetValue:N})=>y.tx.balances?.transferAllowDeath?.(f,N.getBaseValue("number")),OG=async(y,f,{recipient:N,assetValue:T,sender:x})=>{let G=E0(y,{assetValue:T,recipient:N});if(!G)throw new a.SwapKitError("toolbox_substrate_transfer_error");let L=Hy(f),X=L?f.address:x;if(!X)throw new a.SwapKitError("core_transaction_invalid_sender_address");let _=await l0(y,X);return(await G.signAndSend(L?f:X,{nonce:_,signer:L?void 0:f})).toString()},lG=async(y,f,N,{recipient:T,assetValue:x,sender:G})=>{let L=E0(y,{assetValue:x,recipient:T}),X=Hy(f)?f.address:G;if(!X)return;let _=await L?.paymentInfo(X,{nonce:await l0(y,X)})||{partialFee:0};return N.set(a.SwapKitNumber.fromBigInt(BigInt(_.partialFee.toString()),N.decimal).getValue("string"))},EG=async(y,f)=>{if(f)return y.send(f);return(await y.send()).toString()},kG=async(y,f)=>{return await f.signAsync(y)},DG=(y,f,N)=>{if(N)return f.signAndSend(y,N);return f.signAndSend(y).toString()},PG=async({signer:y,address:f,tx:N,callback:T,api:x})=>{let G=await l0(x,f);if(T)N.signAndSend(f,{nonce:G,signer:y},T);return N.signAndSend(f,{nonce:G,signer:y}).toString()},k5=({api:y,network:f,gasAsset:N,signer:T,chain:x})=>({api:y,broadcast:EG,convertAddress:vG,createKeyring:(G)=>O0(G,f.prefix),createTransaction:(G)=>E0(y,G),decodeAddress:l5,encodeAddress:E5,estimateTransactionFee:(G)=>{if(!T)throw new a.SwapKitError("core_wallet_not_keypair_wallet");return lG(y,T,N,G)},gasAsset:N,getAddress:(G)=>{let L=G||T;if(!L)throw new a.SwapKitError("core_wallet_not_keypair_wallet");return Hy(L)?L.address:void 0},getBalance:w5(x||a.Chain.Polkadot,y),network:f,sign:(G)=>{if(!T)throw new a.SwapKitError("core_wallet_not_keypair_wallet");if(Hy(T))return kG(T,G);throw new a.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:G,callback:L,address:X})=>{if(!T)throw new a.SwapKitError("core_wallet_not_keypair_wallet");if(Hy(T))return DG(T,G,L);if(X)return PG({address:X,api:y,callback:L,signer:T,tx:G});throw new a.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(G)=>{if(!T)throw new a.SwapKitError("core_wallet_not_keypair_wallet");return OG(y,T,G)},validateAddress:(G)=>R0(G,f.prefix)}),SG=({address:y,chain:f})=>{let{prefix:N}=f===a.Chain.Polkadot?hT.DOT:hT.FLIP;return R0(y,N)||R0(y,hT.GENERIC.prefix)};var D5=E(()=>{I5();I0();Uy=require("@polkadot/util"),Cy=require("@polkadot/util-crypto"),a=require("@swapkit/helpers"),ry=require("ts-pattern")});var D0={};JT(D0,{substrateValidateAddress:()=>SG,isKeyringPair:()=>Hy,getSubstrateToolbox:()=>RG,createSubstrateToolbox:()=>k0,createKeyring:()=>O0,SubstrateNetwork:()=>hT,PolkadotToolbox:()=>R5,ChainflipToolbox:()=>O5,BaseSubstrateToolbox:()=>k5});module.exports=zT(D0);var P0=E(()=>{D5();I0()});var FG={};JT(FG,{getToolbox:()=>v0,getFeeEstimator:()=>nG,getAddressValidator:()=>AG});module.exports=zT(FG);var D=require("@swapkit/helpers");async function AG(){let{match:y}=await import("ts-pattern"),{evmValidateAddress:f}=await Promise.resolve().then(() => (x1(),f1)),{getCardanoAddressValidator:N}=await Promise.resolve().then(() => (Bx(),Zx)),{getCosmosValidateAddress:T}=await Promise.resolve().then(() => (Ef(),lf)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (Fx(),nx)),{getSuiAddressValidator:G}=await Promise.resolve().then(() => (Df(),kf)),{getTONAddressValidator:L}=await Promise.resolve().then(() => (vf(),Pf)),{getTronAddressValidator:X}=await Promise.resolve().then(() => (bx(),Kx)),{getUTXOAddressValidator:_}=await Promise.resolve().then(() => (y0(),T0)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (W0(),z0)),{radixValidateAddress:J}=await Promise.resolve().then(() => (H0(),M0)),{rippleValidateAddress:q}=await Promise.resolve().then(() => (w0(),C0)),{substrateValidateAddress:B}=await Promise.resolve().then(() => (P0(),D0)),Q=await N(),Y=await Z(),U=await x(),H=await G(),C=await L(),O=await X(),$=await _();return function({address:K,chain:d}){return y(d).with(...D.EVMChains,()=>f({address:K})).with(...D.UTXOChains,()=>$({address:K,chain:d})).with(D.Chain.Cosmos,D.Chain.Kujira,D.Chain.Noble,D.Chain.Maya,D.Chain.THORChain,(QT)=>{return T(QT)(K)}).with(D.Chain.Chainflip,D.Chain.Polkadot,()=>B({address:K,chain:d})).with(D.Chain.Radix,()=>J(K)).with(D.Chain.Near,()=>Y(K)).with(D.Chain.Ripple,()=>q(K)).with(D.Chain.Solana,()=>U(K)).with(D.Chain.Sui,()=>H(K)).with(D.Chain.Ton,()=>C(K)).with(D.Chain.Tron,()=>O(K)).with(D.Chain.Cardano,()=>Q(K)).otherwise(()=>!1)}}function nG(y){return async function(N){let{match:T}=await import("ts-pattern");return T(y).returnType().with(...D.EVMChains,async(x)=>{let G=await v0(x),L=await G.createTransaction(N);return G.estimateTransactionFee({...L,chain:x,feeOption:N.feeOptionKey||D.FeeOption.Fast})}).with(D.Chain.Bitcoin,D.Chain.BitcoinCash,D.Chain.Dogecoin,D.Chain.Dash,D.Chain.Litecoin,D.Chain.Polkadot,D.Chain.Solana,D.Chain.Ripple,D.Chain.Tron,D.Chain.Near,D.Chain.Cardano,async(x)=>{return(await v0(x)).estimateTransactionFee(N)}).with(D.Chain.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (Df(),kf));return(await x()).estimateTransactionFee(N)}).with(D.Chain.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (vf(),Pf));return(await x()).estimateTransactionFee()}).with(...D.CosmosChains,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (Ef(),lf));return x(N)}).otherwise(async()=>D.AssetValue.from({chain:y}))}}async function v0(y,f){let{match:N}=await import("ts-pattern");return N(y).returnType().with(...D.EVMChains,async()=>{let{getEvmToolbox:T}=await Promise.resolve().then(() => (Xx(),e0));return await T(y,f)}).with(...D.UTXOChains,async()=>{let{getUtxoToolbox:T}=await Promise.resolve().then(() => (y0(),T0));return await T(y,f)}).with(...D.CosmosChains,async()=>{let{getCosmosToolbox:T}=await Promise.resolve().then(() => (Ef(),lf));return await T(y,f)}).with(...D.SubstrateChains,async()=>{let{getSubstrateToolbox:T}=await Promise.resolve().then(() => (P0(),D0));return await T(y,f)}).with(D.Chain.Radix,async()=>{let{RadixToolbox:T}=await Promise.resolve().then(() => (H0(),M0));return await T(f)}).with(D.Chain.Ripple,async()=>{let{getRippleToolbox:T}=await Promise.resolve().then(() => (w0(),C0));return await T(f)}).with(D.Chain.Solana,async()=>{let{getSolanaToolbox:T}=await Promise.resolve().then(() => (Fx(),nx));return await T(f)}).with(D.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (Df(),kf));return await T(f)}).with(D.Chain.Tron,async()=>{let{createTronToolbox:T}=await Promise.resolve().then(() => (bx(),Kx));return await T(f)}).with(D.Chain.Near,async()=>{let{getNearToolbox:T}=await Promise.resolve().then(() => (W0(),z0));return await T(f)}).with(D.Chain.Cardano,async()=>{let{getCardanoToolbox:T}=await Promise.resolve().then(() => (Bx(),Zx));return await T(f)}).with(D.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (vf(),Pf));return await T(f)}).otherwise(()=>{throw new D.SwapKitError("toolbox_not_supported",{chain:y})})}
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=54BB5EA2A31F66DB64756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|