@swapkit/toolboxes 4.1.3 → 4.1.4
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/evm/index.cjs +2 -2
- package/dist/src/evm/index.cjs.map +6 -6
- package/dist/src/evm/index.js +2 -2
- package/dist/src/evm/index.js.map +6 -6
- package/dist/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +8 -8
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +8 -8
- package/dist/src/solana/index.cjs +2 -2
- package/dist/src/solana/index.cjs.map +3 -3
- package/dist/src/solana/index.js +2 -2
- package/dist/src/solana/index.js.map +3 -3
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
- package/dist/types/evm/toolbox/evm.d.ts +320 -0
- package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
- package/dist/types/evm/toolbox/index.d.ts +3 -153
- package/dist/types/evm/toolbox/index.d.ts.map +1 -1
- package/dist/types/evm/toolbox/op.d.ts.map +1 -1
- package/dist/types/evm/types.d.ts +9 -1
- package/dist/types/evm/types.d.ts.map +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/solana/toolbox.d.ts +10 -0
- package/dist/types/solana/toolbox.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var W1=Object.create;var{getPrototypeOf:M1,defineProperty:Wn,getOwnPropertyNames:U0,getOwnPropertyDescriptor:P1}=Object,Y0=Object.prototype.hasOwnProperty;var w=(n,T,l)=>{l=n!=null?W1(M1(n)):{};let y=T||!n||!n.__esModule?Wn(l,"default",{value:n,enumerable:!0}):l;for(let x of U0(n))if(!Y0.call(y,x))Wn(y,x,{get:()=>n[x],enumerable:!0});return y},H0=new WeakMap,Xy=(n)=>{var T=H0.get(n),l;if(T)return T;if(T=Wn({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function")U0(n).map((y)=>!Y0.call(T,y)&&Wn(T,y,{get:()=>n[y],enumerable:!(l=P1(n,y))||l.enumerable}));return H0.set(n,T),T};var oy=(n,T)=>{for(var l in T)Wn(n,l,{get:T[l],enumerable:!0,configurable:!0,set:(y)=>T[l]=()=>y})};var R=(n,T)=>()=>(n&&(T=n(n=0)),T);function R0(){function n(){let T=Date.now(),l=$T||T;return $T=l,T>$T?T:l+1}return z1+n().toString(36)}function nn(n){return async function(l,y=!0){let x=await D0.SwapKitApi.getChainBalance({address:l,chain:n,scamFilter:y}),{baseDecimal:f}=en.getChainConfig(n);return x.map(({identifier:G,value:o,decimal:C})=>{return new en.AssetValue({decimal:C||f,identifier:G,value:o})})}}var en,D0,z1,$T=0;var Mn=R(()=>{en=require("@swapkit/helpers"),D0=require("@swapkit/helpers/api"),z1=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Pn(n){let T=yT.SKConfig.get("apis")[n];if(T)return yT.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),T;return U1(n)}function H1(n){return n}function U1(n){return{getBalance:nn(n)}}var yT;var nT=R(()=>{Mn();yT=require("@swapkit/helpers")});async function my(n,T){let{JsonRpcProvider:l}=await import("ethers");return new l(T||await i.getRPCUrl(n))}function zn(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function bT(n){let{explorerUrl:T,chainId:l,rpcUrls:y}=i.getChainConfig(n);return()=>n===i.Chain.Ethereum?void 0:{...Y1({chain:n}),blockExplorerUrls:[T],chainId:l,rpcUrls:y}}function pT(n){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(n)}function Y1({chain:n}){let{baseDecimal:T}=i.getChainConfig(n);switch(n){case i.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:T,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:T,name:"Avalanche",symbol:n}};case i.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:T,name:"Berachain",symbol:"BERA"}};case i.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:T,name:"Binance Coin",symbol:"BNB"}};case i.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:T,name:"xDAI",symbol:"XDAI"}};case i.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:T,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:T,name:"Polygon",symbol:i.Chain.Polygon}};default:throw new i.SwapKitError("toolbox_evm_not_supported",{chain:n})}}var i;var Tn=R(()=>{i=require("@swapkit/helpers")});var k0;var O0=R(()=>{k0=[{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 xn({chain:n=P.Chain.Ethereum,provider:T,signer:l,isEIP1559Compatible:y=!0}){return{approve:O1({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),approvedAmount:I0({chain:n,provider:T}),broadcastTransaction:T.broadcastTransaction,call:gT({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),createApprovalTx:v1({chain:n,provider:T,signer:l}),createContract:cT({chain:n,provider:T}),createContractTxObject:iy({chain:n,provider:T}),createTransaction:hT({chain:n,provider:T,signer:l}),createTransferTx:hT({chain:n,provider:T,signer:l}),EIP1193SendTransaction:Gn(T),estimateCall:v0({provider:T,signer:l}),estimateGasLimit:u1({chain:n,provider:T,signer:l}),estimateGasPrices:gy({chain:n,isEIP1559Compatible:y,provider:T}),estimateTransactionFee:F1({chain:n,isEIP1559Compatible:y,provider:T}),getAddress:()=>{return l?l.getAddress():void 0},isApproved:k1({chain:n,provider:T}),sendTransaction:F0({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),signMessage:l?.signMessage,transfer:S1({chain:n,isEIP1559Compatible:y,provider:T,signer:l}),validateAddress:(x)=>jT({address:x})}}function jT({address:n}){try{return _y.getAddress(n),!0}catch{return!1}}function ln(n){return n instanceof _y.BrowserProvider}function Un(n,T,l){return new _y.Contract(n,_y.Interface.from(T),l)}function cT({provider:n}){return function(l,y){return new _y.Contract(l,_y.Interface.from(y),n)}}function mT({abi:n,funcName:T}){let l=n.find((y)=>y.name===T);if(!l)throw new P.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:T});return l.stateMutability&&D1.includes(l.stateMutability)}function S0(n){return _y.getAddress(n)}function Gn(n){return function({value:l,...y}){if(!ln(n))throw new P.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:x,gasPrice:f,maxFeePerGas:G,maxPriorityFeePerGas:o,...C}=y;return n.send("eth_sendTransaction",[{...C,value:zn(BigInt(l||0))}])}}function u0(n,T){let l=on(n,T);if(l)return _y.getAddress(l.toLowerCase());throw new P.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function on({chain:n,symbol:T,ticker:l},y){try{let x=n===P.Chain.BinanceSmartChain&&T==="BNB"&&l==="BNB",f=n===y&&T===y&&l===y,G=R1.includes(n)&&T==="ETH"&&l==="ETH";if(f||x||G)return iT[y];return _y.getAddress(T.slice(l.length+1).replace(/^0X/,""))}catch{return null}}function iy({provider:n}){return async({contractAddress:T,abi:l,funcName:y,funcParams:x=[],txOverrides:f})=>Un(T,l,n).getFunction(y).populateTransaction(...x.concat(f).filter((G)=>typeof G<"u"))}function gy({chain:n,provider:T,isEIP1559Compatible:l=!0}){if(n===P.Chain.Arbitrum)return async function(){try{let{gasPrice:x}=await T.getFeeData();if(!x)throw new P.SwapKitError("toolbox_evm_no_fee_data");return{[P.FeeOption.Average]:{gasPrice:x},[P.FeeOption.Fast]:{gasPrice:x},[P.FeeOption.Fastest]:{gasPrice:x}}}catch(x){throw new P.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}};return async function(){try{let{maxFeePerGas:x,maxPriorityFeePerGas:f,gasPrice:G}=await T.getFeeData();if(l){if(x===null||f===null)throw new P.SwapKitError("toolbox_evm_no_fee_data");return{[P.FeeOption.Average]:{maxFeePerGas:x,maxPriorityFeePerGas:f},[P.FeeOption.Fast]:{maxFeePerGas:P.applyFeeMultiplierToBigInt(x,P.FeeOption.Fast),maxPriorityFeePerGas:P.applyFeeMultiplierToBigInt(f,P.FeeOption.Fast)},[P.FeeOption.Fastest]:{maxFeePerGas:P.applyFeeMultiplierToBigInt(x,P.FeeOption.Fastest),maxPriorityFeePerGas:P.applyFeeMultiplierToBigInt(f,P.FeeOption.Fastest)}}}if(!G)throw new P.SwapKitError("toolbox_evm_no_gas_price");return{[P.FeeOption.Average]:{gasPrice:G},[P.FeeOption.Fast]:{gasPrice:P.applyFeeMultiplierToBigInt(G,P.FeeOption.Fast)},[P.FeeOption.Fastest]:{gasPrice:P.applyFeeMultiplierToBigInt(G,P.FeeOption.Fastest)}}}catch(x){throw new P.SwapKitError("toolbox_evm_gas_estimation_error",{error:x.msg??x.toString()})}}}function gT({provider:n,isEIP1559Compatible:T,signer:l,chain:y}){return async function({callProvider:f,contractAddress:G,abi:o,funcName:C,funcParams:L=[],txOverrides:N={},feeOption:X=P.FeeOption.Fast}){let _=f||n;if(!G)throw new P.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Z=mT({abi:o,funcName:C});if(Z&&ln(_)&&l){let M=iy({chain:y,provider:_}),W=N?.from||await l?.getAddress(),Y=await M({abi:o,contractAddress:G,funcName:C,funcParams:L,txOverrides:{...N,from:W}});return Gn(_)(Y)}let B=Un(G,o,_);if(Z){if(!l)throw new P.SwapKitError("toolbox_evm_no_signer");let M=N?.from||await l.getAddress();if(!M)throw new P.SwapKitError("toolbox_evm_no_signer_address");let W=B.connect(l),Y=gy({chain:y,isEIP1559Compatible:T,provider:n}),{maxFeePerGas:t,maxPriorityFeePerGas:E,gasPrice:V}=(await Y())[X],r=await B.getFunction(C).estimateGas(...L,N),Gy=await W[C](...L,{...N,gasLimit:r,gasPrice:V,maxFeePerGas:t,maxPriorityFeePerGas:E,nonce:N?.nonce||await _.getTransactionCount(M)});return typeof Gy?.hash==="string"?Gy?.hash:Gy}let q=await B[C]?.(...L);return typeof q?.hash==="string"?q?.hash:q}}function I0({provider:n,chain:T}){return function({assetAddress:y,spenderAddress:x,from:f}){return gT({chain:T,isEIP1559Compatible:!0,provider:n})({abi:fn.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[f,x]})}}function k1({provider:n,chain:T}){return async function({assetAddress:y,spenderAddress:x,from:f,amount:G=Hn}){let o=await I0({chain:T,provider:n})({assetAddress:y,from:f,spenderAddress:x});return P.SwapKitNumber.fromBigInt(o).gte(P.SwapKitNumber.fromBigInt(BigInt(G)))}}function O1({signer:n,isEIP1559Compatible:T=!0,provider:l,chain:y}){return async function({assetAddress:f,spenderAddress:G,feeOptionKey:o=P.FeeOption.Fast,amount:C,gasLimitFallback:L,from:N,nonce:X}){let _=[G,BigInt(C||Hn)],Z=await n?.getAddress()||N,B={abi:fn.erc20ABI,contractAddress:f,funcName:"approve",funcParams:_,signer:n,txOverrides:{from:Z}};if(ln(l)){let M=iy({chain:y,provider:l}),W=Gn(l),Y=await M(B);return W(Y)}return gT({chain:y,isEIP1559Compatible:T,provider:l,signer:n})({...B,feeOption:o,funcParams:_,txOverrides:{from:Z,gasLimit:L?BigInt(L.toString()):void 0,nonce:X}})}}function S1({signer:n,isEIP1559Compatible:T=!0,provider:l}){return async function({assetValue:x,memo:f,recipient:G,feeOptionKey:o=P.FeeOption.Fast,sender:C,...L}){let{hexlify:N,toUtf8Bytes:X}=await import("ethers"),_=x.getBaseValue("bigint"),Z=x.chain,B=C||await n?.getAddress(),q=F0({chain:Z,isEIP1559Compatible:T,provider:l,signer:n});if(!B)throw new P.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset){let V={...L,data:N(X(f||"")),feeOptionKey:o,from:B,to:G,value:_};return q(V)}if(!on(x,Z))throw new P.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:W,maxPriorityFeePerGas:Y,gasPrice:t}=(await gy({chain:Z,isEIP1559Compatible:T,provider:l})())[o],E=await hT({chain:Z,provider:l,signer:n})({assetValue:x,data:N(X(f||"")),gasPrice:t,maxFeePerGas:W,maxPriorityFeePerGas:Y,memo:f,recipient:G,sender:B});return q(E)}}function v0({provider:n,signer:T}){return function({contractAddress:y,abi:x,funcName:f,funcParams:G=[],txOverrides:o}){if(!y)throw new P.SwapKitError("toolbox_evm_no_contract_address");let C=Un(y,x,n);return T?C.connect(T).getFunction(f).estimateGas(...G,o):C.getFunction(f).estimateGas(...G,o)}}function u1({provider:n,signer:T}){return async function({assetValue:y,recipient:x,memo:f,data:G,sender:o,funcName:C,funcParams:L,txOverrides:N}){let X=y.bigIntValue,_=y.isGasAsset?null:on(y,y.chain);if(_&&C)return v0({provider:n,signer:T})({abi:fn.erc20ABI,contractAddress:_,funcName:C,funcParams:L,txOverrides:N});let{hexlify:Z,toUtf8Bytes:B}=await import("ethers");return n.estimateGas({data:G?G:f?Z(B(f)):void 0,from:o,to:x,value:X})}}function F0({provider:n,signer:T,isEIP1559Compatible:l=!0,chain:y}){return async function({feeOptionKey:f=P.FeeOption.Fast,...G}){let{from:o,to:C,data:L,value:N,...X}=G;if(!T)throw new P.SwapKitError("toolbox_evm_no_signer");if(!C)throw new P.SwapKitError("toolbox_evm_no_to_address");let _={...X,data:L||"0x",from:o,to:C,value:BigInt(N||0)};if(ln(n))return Gn(n)(_);let Z=o||await T.getAddress(),B=G.nonce||await n.getTransactionCount(Z),q=(await n.getNetwork()).chainId,M=I1(_)||l,W=gy({chain:y,isEIP1559Compatible:l,provider:n}),Y=M&&!(_.maxFeePerGas&&_.maxPriorityFeePerGas)||!_.gasPrice?Object.entries((await W())[f]).reduce((E,[V,r])=>({...E,[V]:zn(BigInt(r))}),{}):{},t;try{t=zn(_.gasLimit||await n.estimateGas(_)*11n/10n)}catch(E){throw new P.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:E})}try{let E={..._,chainId:q,gasLimit:t,nonce:B,type:M?2:0,...Y};try{return(await T.sendTransaction(E)).hash}catch{let V=await T.signTransaction({...E,from:Z});return(await n.broadcastTransaction(V)).hash}}catch(E){throw new P.SwapKitError("toolbox_evm_error_sending_transaction",{error:E})}}}function hT({provider:n,signer:T}){return async function({assetValue:y,memo:x,recipient:f,data:G,sender:o,maxFeePerGas:C,maxPriorityFeePerGas:L,gasPrice:N,...X}){let _=y.getBaseValue("bigint"),Z=y.chain,B=o||await T?.getAddress();if(!B)throw new P.SwapKitError("toolbox_evm_no_from_address");if(P.isGasAsset(y)){let{hexlify:W,toUtf8Bytes:Y}=await import("ethers");return{...X,data:G||W(Y(x||"")),from:B,to:f,value:_}}let q=on(y,Z);if(!q)throw new P.SwapKitError("toolbox_evm_no_contract_address");return iy({chain:y.chain,provider:n})({abi:fn.erc20ABI,contractAddress:q,funcName:"transfer",funcParams:[f,_],txOverrides:{from:B,gasPrice:N,maxFeePerGas:C,maxPriorityFeePerGas:L}})}}function v1({provider:n,signer:T,chain:l}){return async function({assetAddress:x,spenderAddress:f,amount:G,from:o}){let C=await T?.getAddress()||o,L=iy({chain:l,provider:n}),N=["bigint","number"].includes(typeof G)?G:G||Hn;return await L({abi:fn.erc20ABI,contractAddress:x,funcName:"approve",funcParams:[f,BigInt(N)],txOverrides:{from:C}})}}function F1({provider:n,isEIP1559Compatible:T=!0}){return async function({feeOption:y=P.FeeOption.Fast,chain:x,...f}){let o=await gy({chain:x,isEIP1559Compatible:T,provider:n})(),C=await n.estimateGas(f),L=P.AssetValue.from({chain:x}),{gasPrice:N,maxFeePerGas:X,maxPriorityFeePerGas:_}=o[y];if(!T&&N)return L.set(P.SwapKitNumber.fromBigInt(N*C,L.decimal));if(X&&_){let Z=(X+_)*C;return L.set(P.SwapKitNumber.fromBigInt(Z,L.decimal))}throw new P.SwapKitError("toolbox_evm_no_gas_price")}}var P,fn,_y,Hn,D1,iT,R1,I1=(n)=>n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas;var TT=R(()=>{Tn();P=require("@swapkit/helpers"),fn=require("@swapkit/helpers/contracts"),_y=require("ethers"),Hn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");D1=["payable","nonpayable"];iT={[P.Chain.Arbitrum]:"0x0000000000000000000000000000000000000000",[P.Chain.Aurora]:"0x0000000000000000000000000000000000000000",[P.Chain.Avalanche]:"0x0000000000000000000000000000000000000000",[P.Chain.Base]:"0x0000000000000000000000000000000000000000",[P.Chain.Berachain]:"0x0000000000000000000000000000000000000000",[P.Chain.BinanceSmartChain]:"0x0000000000000000000000000000000000000000",[P.Chain.Ethereum]:"0x0000000000000000000000000000000000000000",[P.Chain.Gnosis]:"0x0000000000000000000000000000000000000000",[P.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[P.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},R1=[P.Chain.Arbitrum,P.Chain.Aurora,P.Chain.Base,P.Chain.Optimism]});async function fT({provider:n,...T}){let l=await Dy(Ly.Chain.Ethereum)({provider:n,...T});async function y(x,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",G="aggregate",o=Ly.FeeOption.Fast){let C=await l.createContractTxObject({abi:k0,contractAddress:f,funcName:G,funcParams:[x]});return l.sendTransaction({...C,feeOptionKey:o})}return{...l,multicall:y}}function Dy(n){return async function({provider:l,...y}){let{HDNodeWallet:x}=await import("ethers"),f=await Ly.getRPCUrl(n),G=l||await my(n,f),o=pT(n),C=Yn.match(y).with({phrase:Yn.P.string},({phrase:N})=>x.fromPhrase(N).connect(G)).with({signer:Yn.P.any},({signer:N})=>N).otherwise(()=>{return});return{...xn({chain:n,isEIP1559Compatible:o,provider:G,signer:C}),getBalance:Pn(n).getBalance,getNetworkParams:bT(n)}}}var Ly,Yn,xT,lT,GT,oT,CT,LT,XT,_T;var dT=R(()=>{nT();O0();Tn();TT();Ly=require("@swapkit/helpers"),Yn=require("ts-pattern");xT=Dy(Ly.Chain.Arbitrum),lT=Dy(Ly.Chain.Aurora),GT=Dy(Ly.Chain.Avalanche),oT=Dy(Ly.Chain.Base),CT=Dy(Ly.Chain.Berachain),LT=Dy(Ly.Chain.BinanceSmartChain),XT=Dy(Ly.Chain.Gnosis),_T=Dy(Ly.Chain.Polygon)});var E0;var A0=R(()=>{E0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function rT(n){return new NT.Contract(E1,E0,n)}function t0(n){return async function(){let l=rT(n);if(l&&"l1BaseFee"in l)return await l?.l1BaseFee();return}}function K0(n){return async function({from:l,to:y,nonce:x,...f}){let{Transaction:G}=await import("ethers");if(!y)throw new p.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return G.from({...f,authorizationList:f.authorizationList,nonce:x?x:l?await n.getTransactionCount(l):0,to:y}).serialized}}function V0(n){return async function(l){let y=rT(n),x=await K0(n)(l);if(y&&"getL1Fee"in y)return y.getL1Fee(x)}}function $0(n){return async function(l){let y=await n.send("eth_gasPrice",[]),x=await n.estimateGas(l);return y.mul(x)}}function A1(n){return async function(l){let y=await V0(n)(l),x=await $0(n)(l);return y.add(x)}}function t1(n){return async function(l){let y=rT(n),x=await K0(n)(l);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(x)}}function K1(){let{baseDecimal:n,chainId:T,explorerUrl:l,name:y,rpcUrls:x}=p.getChainConfig(p.Chain.Optimism);return{blockExplorerUrls:[l],chainId:T,chainName:y,nativeCurrency:{decimals:n,name:"Ethereum",symbol:p.Chain.Ethereum},rpcUrls:x}}async function V1(n){try{let{maxFeePerGas:T,maxPriorityFeePerGas:l,gasPrice:y}=await n.getFeeData(),x=await t0(n)(),f=y;if(!(T&&l))throw new p.SwapKitError("toolbox_evm_no_fee_data");return{[p.FeeOption.Average]:{gasPrice:f,l1GasPrice:x,maxFeePerGas:T,maxPriorityFeePerGas:l},[p.FeeOption.Fast]:{gasPrice:p.applyFeeMultiplierToBigInt(f,p.FeeOption.Fast),l1GasPrice:p.applyFeeMultiplierToBigInt(x||0n,p.FeeOption.Fast),maxFeePerGas:T,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(l,p.FeeOption.Fast)},[p.FeeOption.Fastest]:{gasPrice:p.applyFeeMultiplierToBigInt(f,p.FeeOption.Fastest),l1GasPrice:p.applyFeeMultiplierToBigInt(x||0n,p.FeeOption.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(l,p.FeeOption.Fastest)}}}catch(T){throw new p.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}async function ZT({provider:n,...T}){let l=p.Chain.Optimism,y=await p.getRPCUrl(l),x=n||await my(l,y),f=Dn.match(T).with({phrase:Dn.P.string},({phrase:C})=>NT.HDNodeWallet.fromPhrase(C).connect(x)).with({signer:Dn.P.any},({signer:C})=>C).otherwise(()=>{return}),G=xn({provider:x,signer:f}),o=t0(x);return{...G,estimateGasPrices:V1(x),estimateL1Gas:t1(x),estimateL1GasCost:V0(x),estimateL2GasCost:$0(x),estimateTotalGasCost:A1(x),getBalance:Pn(p.Chain.Optimism).getBalance,getL1GasPrice:o,getNetworkParams:K1}}var p,NT,Dn,E1="0x420000000000000000000000000000000000000f";var aT=R(()=>{nT();A0();Tn();TT();p=require("@swapkit/helpers"),NT=require("ethers"),Dn=require("ts-pattern")});var p0={};oy(p0,{toChecksumAddress:()=>S0,isStateChangingCall:()=>mT,isBrowserProvider:()=>ln,getTokenAddress:()=>on,getEvmToolbox:()=>b0,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>Gn,getCreateContractTxObject:()=>iy,getCreateContract:()=>cT,getChecksumAddressFromAsset:()=>u0,evmValidateAddress:()=>jT,createContract:()=>Un,OPToolbox:()=>ZT,MAX_APPROVAL:()=>Hn,MATICToolbox:()=>_T,GNOToolbox:()=>XT,ETHToolbox:()=>fT,ContractAddress:()=>iT,BaseEVMToolbox:()=>xn,BSCToolbox:()=>LT,BERAToolbox:()=>CT,BASEToolbox:()=>oT,AVAXToolbox:()=>GT,AURORAToolbox:()=>lT,ARBToolbox:()=>xT});async function b0(n,T){let l={...T,provider:T?.provider||await my(n)};switch(n){case Ny.Chain.Arbitrum:return xT(l);case Ny.Chain.Aurora:return lT(l);case Ny.Chain.Avalanche:return GT(l);case Ny.Chain.Base:return oT(l);case Ny.Chain.Berachain:return CT(l);case Ny.Chain.BinanceSmartChain:return LT(l);case Ny.Chain.Gnosis:return XT(l);case Ny.Chain.Optimism:return ZT(l);case Ny.Chain.Polygon:return _T(l);case Ny.Chain.Ethereum:return fT(l);default:throw new Ny.SwapKitError("toolbox_evm_not_supported",{chain:n})}}var Ny;var sT=R(()=>{Tn();dT();aT();Ny=require("@swapkit/helpers");TT();dT();aT()});var h0;var j0=R(()=>{((l)=>{l.Test="goerli";l.Main="homestead"})(h0||={})});var c0={};oy(c0,{toHexString:()=>zn,toChecksumAddress:()=>S0,isStateChangingCall:()=>mT,isBrowserProvider:()=>ln,getTokenAddress:()=>on,getProvider:()=>my,getNetworkParams:()=>bT,getIsEIP1559Compatible:()=>pT,getEvmToolbox:()=>b0,getEvmApi:()=>Pn,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>Gn,getCreateContractTxObject:()=>iy,getCreateContract:()=>cT,getChecksumAddressFromAsset:()=>u0,evmValidateAddress:()=>jT,createCustomEvmApi:()=>H1,createContract:()=>Un,OPToolbox:()=>ZT,MAX_APPROVAL:()=>Hn,MATICToolbox:()=>_T,GNOToolbox:()=>XT,EthNetwork:()=>h0,ETHToolbox:()=>fT,ContractAddress:()=>iT,BaseEVMToolbox:()=>xn,BSCToolbox:()=>LT,BERAToolbox:()=>CT,BASEToolbox:()=>oT,AVAXToolbox:()=>GT,AURORAToolbox:()=>lT,ARBToolbox:()=>xT});module.exports=Xy(c0);var m0=R(()=>{nT();Tn();sT();j0()});async function eT(){let{BlockfrostProvider:n}=await import("@meshsdk/core"),T="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new n("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function b1(n){try{let{MeshWallet:T}=await import("@meshsdk/core"),l=await eT(),y=new T({fetcher:l,key:{address:n,type:"address"},networkId:1});await y.init();let x=await y.getBalance(),f=[];for(let G of x)if(G.unit===$1){let{baseDecimal:o}=s.getChainConfig(s.Chain.Cardano);f.push(s.AssetValue.from({chain:s.Chain.Cardano,fromBaseDecimal:o,value:G.quantity}))}else f.push(s.AssetValue.from({asset:`${s.Chain.Cardano}.${G.unit}`,value:G.quantity}));if(f.length===0)return[s.AssetValue.from({chain:s.Chain.Cardano})];return f}catch(T){return console.error("Cardano balance fetch error:",T),[s.AssetValue.from({chain:s.Chain.Cardano})]}}async function i0(){let{deserializeAddress:n}=await import("@meshsdk/core");return(T)=>{try{return n(T),!0}catch{return!1}}}async function p1(n){let T=await i0(),l=await Rn.match(n).with({phrase:Rn.P.string},async({phrase:N})=>{let{MeshWallet:X}=await import("@meshsdk/core"),_=await eT(),Z=new X({fetcher:_,key:{type:"mnemonic",words:N.split(" ")},networkId:1,submitter:_});return await Z.init(),Z}).with({signer:Rn.P.any},({signer:N})=>N).otherwise(()=>{return}),y=l&&"getChangeAddress"in l?await l.getChangeAddress():"";function x(){return y||""}function f(N){let X=N||x();if(!X)throw new s.SwapKitError("core_wallet_connection_not_found");return b1(X)}function G(){return Promise.resolve(s.AssetValue.from({chain:s.Chain.Cardano,value:"0.01"}))}async function o({recipient:N,assetValue:X,memo:_}){if(!l||!("getChangeAddress"in l))throw new s.SwapKitError("core_wallet_connection_not_found");let{Transaction:Z}=await import("@meshsdk/core"),[,B]=X.symbol.split("-");if(!X.isGasAsset&&!B)throw new s.SwapKitError("core_wallet_connection_not_found");let q=new Z({initiator:l});if(q.sendAssets({address:N},[{quantity:X.getBaseValue("string"),unit:X.isGasAsset?"lovelace":X.symbol}]),_)q.setMetadata(0,_);let M=await q.build();return{tx:q,unsignedTx:M}}function C(N){if(!l||!("getChangeAddress"in l))throw new s.SwapKitError("core_wallet_connection_not_found");return l.signTx(N)}async function L({recipient:N,assetValue:X,memo:_}){if(!l||!("getChangeAddress"in l))throw new s.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:Z}=await o({assetValue:X,memo:_,recipient:N}),B=await C(Z);return await(await eT()).submitTx(B)}return{createTransaction:o,estimateTransactionFee:G,getAddress:x,getBalance:f,signTransaction:C,transfer:L,validateAddress:T}}var s,Rn,$1="lovelace";var g0=R(()=>{s=require("@swapkit/helpers"),Rn=require("ts-pattern")});var yf={};oy(yf,{getCardanoToolbox:()=>p1,getCardanoAddressValidator:()=>i0});module.exports=Xy(yf);var nf=R(()=>{g0()});function kn(n){return Iy.base64.encode(Uint8Array.from(Iy.bech32.fromWords(Iy.bech32.decode(n).words)))}function On(n,T="thor"){return Iy.bech32.encode(T,Iy.bech32.toWords(Iy.base64.decode(n)))}function h1(n){return BT.fromByteArray(n)}function j1(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new d0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return BT.toByteArray(n)}var Iy,d0,BT;var Tf=R(()=>{Iy=require("@scure/base"),d0=require("@swapkit/helpers"),BT=require("base64-js")});function Ry(n){switch(n){case O.Chain.Maya:return{amount:[],gas:"10000000000"};case O.Chain.THORChain:return{amount:[],gas:"500000000"};case O.Chain.Kujira:return s0;case O.Chain.Noble:return e0;default:return a0}}async function ky(n){let T=await import("@cosmjs/stargate"),l=T.StargateClient??T.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return l.connect({headers:y,url:n})}async function un(n,T,l={}){let y=await import("@cosmjs/stargate"),x=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,G=typeof l==="string"?l:"0.0003uatom",o=typeof l==="string"?{}:l;return x.connectWithSigner(n,T,{gasPrice:f.fromString(G),...o})}async function xf(n,T){let l=await import("@cosmjs/stargate");return(l.SigningStargateClient??l.default?.SigningStargateClient).offline(n,T)}async function lf({sender:n,recipient:T,assetValue:l,memo:y="",feeRate:x,sequence:f,accountNumber:G}){let{chain:o,chainId:C}=l,L=await O.getRPCUrl(o),X=await(await ky(L)).getAccount(n);if(!X)throw new O.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let _=O.AssetValue.from({chain:o}),Z=vy(_.symbol),B=Ry(o),q=Z&&x?{amount:[{amount:x.toString(),denom:Z}],gas:B.gas}:B,M={amount:[{amount:l.getBaseValue("string"),denom:vy(l.symbol)}],fromAddress:n,toAddress:T};return{accountNumber:G??X.accountNumber,chainId:C,fee:q,memo:y,msgs:[{typeUrl:c1(o),value:M}],sequence:f??X.sequence}}var O,ff="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",r0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",a0,s0,e0,vy=(n,T=!1)=>{if(T)return n.toLowerCase();switch(n){case"uUSK":case"USK":return ff;case"uYUM":case"YUM":return r0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},Sn=({symbol:n,chain:T})=>{if(T===O.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${O.Chain.Maya}.${n}`).toUpperCase();if(T===O.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${O.Chain.THORChain}.${n}`:n).toUpperCase();return vy(n,!1)},c1=(n)=>{switch(n){case O.Chain.Maya:case O.Chain.THORChain:return"/types.MsgSend";case O.Chain.Cosmos:case O.Chain.Kujira:case O.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new O.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},m1,Gf=(n,T)=>{let l=m1[n.toLowerCase()];if(!l)return O.AssetValue.from({asset:n,fromBaseDecimal:8,value:T});let{chain:y,asset:x,decimals:f}=l,G=y?{chain:y}:{asset:x};return O.AssetValue.from({...G,fromBaseDecimal:f,value:T})};var In=R(()=>{O=require("@swapkit/helpers"),a0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},s0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},e0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};m1={atom:{chain:O.Chain.Cosmos,decimals:O.getChainConfig(O.Chain.Cosmos).baseDecimal},cacao:{chain:O.Chain.Maya,decimals:10},kuji:{chain:O.Chain.Kujira,decimals:O.getChainConfig(O.Chain.Kujira).baseDecimal},maya:{asset:`${O.Chain.Maya}.${O.Chain.Maya}`,decimals:4},rune:{chain:O.Chain.THORChain,decimals:O.getChainConfig(O.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:O.getChainConfig(O.Chain.THORChain).baseDecimal},uatom:{chain:O.Chain.Cosmos,decimals:O.getChainConfig(O.Chain.Cosmos).baseDecimal},ukuji:{chain:O.Chain.Kujira,decimals:O.getChainConfig(O.Chain.Kujira).baseDecimal},usdc:{chain:O.Chain.Noble,decimals:O.getChainConfig(O.Chain.Noble).baseDecimal},uusdc:{chain:O.Chain.Noble,decimals:O.getChainConfig(O.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:O.getChainConfig(O.Chain.THORChain).baseDecimal},[ff.toLowerCase()]:{asset:`${O.Chain.Kujira}.USK`,decimals:O.getChainConfig(O.Chain.Kujira).baseDecimal}}});var yx={};oy(yx,{$root:()=>H});var Ty,F,wy,D,H;var nx=R(()=>{Ty=w(require("protobufjs/minimal.js")),F=Ty.default.Reader,wy=Ty.default.Writer,D=Ty.default.util,H=Ty.default.roots.default||(Ty.default.roots.default={});H.common=(()=>{let n={};return n.Asset=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.chain="",T.prototype.symbol="",T.prototype.ticker="",T.prototype.synth=!1,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))x.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))x.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))x.uint32(32).bool(y.synth);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Asset;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.chain=y.string();break;case 2:G.symbol=y.string();break;case 3:G.ticker=y.string();break;case 4:G.synth=y.bool();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!D.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!D.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Asset)return y;let x=new H.common.Asset;if(y.chain!=null)x.chain=String(y.chain);if(y.symbol!=null)x.symbol=String(y.symbol);if(y.ticker!=null)x.ticker=String(y.ticker);if(y.synth!=null)x.synth=Boolean(y.synth);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n.Coin=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.asset=null,T.prototype.amount="",T.prototype.decimals=D.Long?D.Long.fromBits(0,0,!1):0,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))H.common.Asset.encode(y.asset,x.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))x.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))x.uint32(24).int64(y.decimals);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Coin;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.asset=H.common.Asset.decode(y,y.uint32());break;case 2:G.amount=y.string();break;case 3:G.decimals=y.int64();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let x=H.common.Asset.verify(y.asset);if(x)return"asset."+x}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!D.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!D.isInteger(y.decimals)&&!(y.decimals&&D.isInteger(y.decimals.low)&&D.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Coin)return y;let x=new H.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=H.common.Asset.fromObject(y.asset)}if(y.amount!=null)x.amount=String(y.amount);if(y.decimals!=null){if(D.Long)(x.decimals=D.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")x.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")x.decimals=y.decimals;else if(typeof y.decimals==="object")x.decimals=new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)if(f.asset=null,f.amount="",D.Long){let G=new D.Long(0,0,!1);f.decimals=x.longs===String?G.toString():x.longs===Number?G.toNumber():G}else f.decimals=x.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=H.common.Asset.toObject(y.asset,x);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=x.longs===String?String(y.decimals):y.decimals;else f.decimals=x.longs===String?D.Long.prototype.toString.call(y.decimals):x.longs===Number?new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n.PubKeySet=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.secp256k1="",T.prototype.ed25519="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))x.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))x.uint32(18).string(y.ed25519);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.PubKeySet;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.secp256k1=y.string();break;case 2:G.ed25519=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!D.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!D.isString(y.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.PubKeySet)return y;let x=new H.common.PubKeySet;if(y.secp256k1!=null)x.secp256k1=String(y.secp256k1);if(y.ed25519!=null)x.ed25519=String(y.ed25519);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n.Tx=(()=>{function T(l){if(this.coins=[],this.gas=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.id="",T.prototype.chain="",T.prototype.fromAddress="",T.prototype.toAddress="",T.prototype.coins=D.emptyArray,T.prototype.gas=D.emptyArray,T.prototype.memo="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))x.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))x.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)H.common.Coin.encode(y.gas[f],x.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(58).string(y.memo);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Tx;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.id=y.string();break;case 2:G.chain=y.string();break;case 3:G.fromAddress=y.string();break;case 4:G.toAddress=y.string();break;case 5:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 6:if(!G.gas?.length)G.gas=[];G.gas.push(H.common.Coin.decode(y,y.uint32()));break;case 7:G.memo=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!D.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!D.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!D.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let x=0;x<y.gas.length;++x){let f=H.common.Coin.verify(y.gas[x]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Tx)return y;let x=new H.common.Tx;if(y.id!=null)x.id=String(y.id);if(y.chain!=null)x.chain=String(y.chain);if(y.fromAddress!=null)x.fromAddress=String(y.fromAddress);if(y.toAddress!=null)x.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[f]=H.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)x.memo=String(y.memo);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[],f.gas=[];if(x.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.gas?.length){f.gas=[];for(let G=0;G<y.gas.length;++G)f.gas[G]=H.common.Coin.toObject(y.gas[G],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n.Fee=(()=>{function T(l){if(this.coins=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.coins=D.emptyArray,T.prototype.poolDeduct="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))x.uint32(18).string(y.poolDeduct);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.Fee;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 2:G.poolDeduct=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!D.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.Fee)return y;let x=new H.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)x.poolDeduct=String(y.poolDeduct);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[];if(x.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n.ProtoUint=(()=>{function T(l){if(l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.value="",T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))x.uint32(10).string(y.value);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.common.ProtoUint;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.value=y.string();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!D.isString(y.value))return"value: string expected"}return null},T.fromObject=function(y){if(y instanceof H.common.ProtoUint)return y;let x=new H.common.ProtoUint;if(y.value!=null)x.value=String(y.value);return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n})();H.types=(()=>{let n={};return n.MsgDeposit=(()=>{function T(l){if(this.coins=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.coins=D.emptyArray,T.prototype.memo="",T.prototype.signer=D.newBuffer([]),T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)H.common.Coin.encode(y.coins[f],x.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))x.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))x.uint32(26).bytes(y.signer);return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.types.MsgDeposit;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:if(!G.coins?.length)G.coins=[];G.coins.push(H.common.Coin.decode(y,y.uint32()));break;case 2:G.memo=y.string();break;case 3:G.signer=y.bytes();break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let x=0;x<y.coins.length;++x){let f=H.common.Coin.verify(y.coins[x]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||D.isString(y.signer)))return"signer: buffer expected"}return null},T.fromObject=function(y){if(y instanceof H.types.MsgDeposit)return y;let x=new H.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[f]=H.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)x.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")D.base64.decode(y.signer,x.signer=D.newBuffer(D.base64.length(y.signer)),0);else if(y.signer.length)x.signer=y.signer}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.coins=[];if(x.defaults){if(f.memo="",x.bytes===String)f.signer="";else if(f.signer=[],x.bytes!==Array)f.signer=D.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let G=0;G<y.coins.length;++G)f.coins[G]=H.common.Coin.toObject(y.coins[G],x)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=x.bytes===String?D.base64.encode(y.signer,0,y.signer.length):x.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n.MsgSend=(()=>{function T(l){if(this.amount=[],l){for(let y=Object.keys(l),x=0;x<y.length;++x)if(l[y[x]]!=null)this[y[x]]=l[y[x]]}}return T.prototype.fromAddress=D.newBuffer([]),T.prototype.toAddress=D.newBuffer([]),T.prototype.amount=D.emptyArray,T.create=function(y){return new T(y)},T.encode=function(y,x){if(!x)x=wy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))x.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))x.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)H.cosmos.base.v1beta1.Coin.encode(y.amount[f],x.uint32(26).fork()).ldelim();return x},T.encodeDelimited=function(y,x){return this.encode(y,x).ldelim()},T.decode=function(y,x){if(!(y instanceof F))y=F.create(y);let f=x===void 0?y.len:y.pos+x,G=new H.types.MsgSend;while(y.pos<f){let o=y.uint32();switch(o>>>3){case 1:G.fromAddress=y.bytes();break;case 2:G.toAddress=y.bytes();break;case 3:if(!G.amount?.length)G.amount=[];G.amount.push(H.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(o&7);break}}return G},T.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},T.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||D.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||D.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let x=0;x<y.amount.length;++x){let f=H.cosmos.base.v1beta1.Coin.verify(y.amount[x]);if(f)return"amount."+f}}return null},T.fromObject=function(y){if(y instanceof H.types.MsgSend)return y;let x=new H.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")D.base64.decode(y.fromAddress,x.fromAddress=D.newBuffer(D.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)x.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")D.base64.decode(y.toAddress,x.toAddress=D.newBuffer(D.base64.length(y.toAddress)),0);else if(y.toAddress.length)x.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[f]=H.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return x},T.toObject=function(y,x){if(!x)x={};let f={};if(x.arrays||x.defaults)f.amount=[];if(x.defaults){if(x.bytes===String)f.fromAddress="";else if(f.fromAddress=[],x.bytes!==Array)f.fromAddress=D.newBuffer(f.fromAddress);if(x.bytes===String)f.toAddress="";else if(f.toAddress=[],x.bytes!==Array)f.toAddress=D.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=x.bytes===String?D.base64.encode(y.fromAddress,0,y.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=x.bytes===String?D.base64.encode(y.toAddress,0,y.toAddress.length):x.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let G=0;G<y.amount.length;++G)f.amount[G]=H.cosmos.base.v1beta1.Coin.toObject(y.amount[G],x)}return f},T.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},T})(),n})();H.cosmos=(()=>{let n={};return n.base=(()=>{let T={};return T.v1beta1=(()=>{let l={};return l.Coin=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=wy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))G.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))G.uint32(18).string(f.amount);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof F))f=F.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.Coin;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.denom=f.string();break;case 2:C.amount=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!D.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!D.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.Coin)return f;let G=new H.cosmos.base.v1beta1.Coin;if(f.denom!=null)G.denom=String(f.denom);if(f.amount!=null)G.amount=String(f.amount);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.denom="",o.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))o.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))o.amount=f.amount;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},y})(),l.DecCoin=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=wy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))G.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))G.uint32(18).string(f.amount);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof F))f=F.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.DecCoin;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.denom=f.string();break;case 2:C.amount=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!D.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!D.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.DecCoin)return f;let G=new H.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)G.denom=String(f.denom);if(f.amount!=null)G.amount=String(f.amount);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.denom="",o.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))o.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))o.amount=f.amount;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},y})(),l.IntProto=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=wy.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))G.uint32(10).string(f.int);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof F))f=F.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.IntProto;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.int=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!D.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.IntProto)return f;let G=new H.cosmos.base.v1beta1.IntProto;if(f.int!=null)G.int=String(f.int);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.int="";if(f.int!=null&&f.hasOwnProperty("int"))o.int=f.int;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},y})(),l.DecProto=(()=>{function y(x){if(x){for(let f=Object.keys(x),G=0;G<f.length;++G)if(x[f[G]]!=null)this[f[G]]=x[f[G]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,G){if(!G)G=wy.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))G.uint32(10).string(f.dec);return G},y.encodeDelimited=function(f,G){return this.encode(f,G).ldelim()},y.decode=function(f,G){if(!(f instanceof F))f=F.create(f);let o=G===void 0?f.len:f.pos+G,C=new H.cosmos.base.v1beta1.DecProto;while(f.pos<o){let L=f.uint32();switch(L>>>3){case 1:C.dec=f.string();break;default:f.skipType(L&7);break}}return C},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!D.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof H.cosmos.base.v1beta1.DecProto)return f;let G=new H.cosmos.base.v1beta1.DecProto;if(f.dec!=null)G.dec=String(f.dec);return G},y.toObject=function(f,G){if(!G)G={};let o={};if(G.defaults)o.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))o.dec=f.dec;return o},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ty.default.util.toJSONOptions)},y})(),l})(),T})(),n})()});async function dy(){let{$root:n}=await Promise.resolve().then(() => (nx(),yx)),T=await import("@cosmjs/proto-signing"),l=T.Registry??T.default?.Registry,y=await import("@cosmjs/stargate"),x=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new l([...x,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Fy(n){let T=await import("@cosmjs/stargate"),l=T.AminoTypes??T.default?.AminoTypes,y=n===Tx.Chain.THORChain?"thorchain":"mayachain";return new l({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:x,...f})=>({...f,signer:kn(x)}),toAmino:({signer:x,...f})=>({...f,signer:On(x)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:x,to_address:f,...G})=>({...G,fromAddress:kn(x),toAddress:kn(f)}),toAmino:({fromAddress:x,toAddress:f,...G})=>({...G,from_address:On(x),to_address:On(f)})}})}var Tx;var of=R(()=>{Tf();Tx=require("@swapkit/helpers")});function Xf(n){return function(l){let{assetValue:y,recipient:x,memo:f,sender:G,asSignable:o,asAminoMessage:C}=l;if(x)return xx(n)({asAminoMessage:C,asSignable:o,assetValue:y,memo:f,recipient:x,sender:G});return lx(n)({asAminoMessage:C,asSignable:o,assetValue:y,memo:f,sender:G})}}function Ay(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((T)=>{let l=qy.AssetValue.from({asset:T.asset}),y=(l.isSynthetic?l.symbol.split("/")?.[1]:l.symbol)?.toUpperCase(),x=(l.isSynthetic?l.symbol.split("/")?.[0]:l.chain)?.toUpperCase();return{...T,asset:{chain:x,symbol:y,synth:l.isSynthetic,ticker:l.ticker}}})}}}async function vn({chain:n,memo:T,msgs:l}){let y=await dy(),x=await Fy(n),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:l.map((G)=>x.fromAmino(G))}};return y.encode(f)}var qy,i1,g1,Cf=({sender:n,recipient:T,assetValue:l})=>{return{type:`${l.chain===qy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:l.getBaseValue("string"),denom:vy(l.symbol,!0)}],from_address:n,to_address:T}}},Lf=({sender:n,assetValue:T,memo:l=""})=>{return{type:`${T.chain===qy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:Sn(T)}],memo:l,signer:n}}},JT=({sender:n,recipient:T,assetValue:l,memo:y})=>{return!T?Lf({assetValue:l,memo:y,sender:n}):Cf({assetValue:l,recipient:T,sender:n})},Ey=async(n,T)=>{return(await Fy(T)).fromAmino(n)},fx=async({rpcUrl:n,sender:T})=>{let y=await(await ky(n)).getAccount(T);if(!y)throw new qy.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});return y},xx=(n)=>async({sender:T,recipient:l,assetValue:y,memo:x="",asSignable:f=!0,asAminoMessage:G=!1,sequence:o,accountNumber:C})=>{let L=await fx({rpcUrl:n,sender:T}),N=y.chain,{chainId:X}=qy.getChainConfig(N),_=Cf({assetValue:y,recipient:l,sender:T}),Z=f?await Ey(G?_:Ay(_),N):_;return{accountNumber:C||L.accountNumber,chainId:X,fee:Ry(N),memo:x,msgs:[Z],sequence:o||L.sequence}},lx=(n)=>async({sender:T,assetValue:l,memo:y="",asSignable:x=!0,asAminoMessage:f=!1,sequence:G,accountNumber:o})=>{let C=await fx({rpcUrl:n,sender:T}),L=l.chain,{chainId:N}=qy.getChainConfig(L),X=Lf({assetValue:l,memo:y,sender:T}),_=x?await Ey(f?X:Ay(X),L):X;return{accountNumber:o||C.accountNumber,chainId:N,fee:Ry(L),memo:y,msgs:[_],sequence:G||C.sequence}};var Gx=R(()=>{In();of();qy=require("@swapkit/helpers"),i1=Ry(qy.Chain.THORChain).gas,g1=Ry(qy.Chain.Maya).gas});var ox=()=>{};var Cx=R(()=>{ox()});var _f=R(()=>{Tf();Gx();of();Cx()});async function Bf(n,T){try{let y=(await Zf.SwapKitApi.getGasRate()).find((x)=>x.chainId===n)?.value;return y?Number.parseFloat(y):T}catch{return T}}async function Nf({phrase:n,prefix:T,...l}){let y=await import("@cosmjs/proto-signing"),x=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),G=f.stringToPath??f.default?.stringToPath,o="derivationPath"in l?l.derivationPath:`${v.DerivationPath[l.chain]}/${l.index}`;return x.fromMnemonic(n,{hdPaths:[G(o)],prefix:T})}async function d1({privateKey:n,prefix:T}){let l=await import("@cosmjs/proto-signing");return(l.DirectSecp256k1Wallet??l.default?.DirectSecp256k1Wallet).fromKey(n,T)}function Nx(n){return async function({signature:l,message:y,address:x}){let f=await n(x);if(!f?.pubkey)throw new v.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let G=await import("@cosmjs/crypto"),o=G.Secp256k1Signature??G.default?.Secp256k1Signature,C=G.Secp256k1??G.default?.Secp256k1,L=o.fromFixedLength(ty.base64.decode(l));return C.verifySignature(L,ty.base64.decode(y),f.pubkey.value)}}async function En({chain:n,...T}){let l=await v.getRPCUrl(n),y=v.CosmosChainPrefixes[n],x="index"in T?T.index||0:0,f=v.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[n],{index:x})),G=await Fn.match(T).with({phrase:Fn.P.string},({phrase:X})=>Nf({derivationPath:f,phrase:X,prefix:y})).with({signer:Fn.P.any},({signer:X})=>X).otherwise(()=>{return});async function o(X){return(await ky(l)).getAccount(X)}async function C(){let[X]=await G?.getAccounts()||[];return X?.address}async function L(){let[X]=await G?.getAccounts()||[];if(!X?.pubkey)throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");return ty.base64.encode(X?.pubkey)}async function N({recipient:X,assetValue:_,memo:Z="",feeRate:B,feeOptionKey:q=v.FeeOption.Fast}){let M=await C();if(!(G&&M))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let W=v.AssetValue.from({chain:n}),Y=Sn(W),t=B||s1((await Xx(n,Lx[n]))[q],Y),E=await un(l,G),V=[{amount:_.getBaseValue("string"),denom:vy(`u${_.symbol}`).toLowerCase()}],{transactionHash:r}=await E.sendTokens(M,X,V,t,Z);return r}return{createPrivateKeyFromPhrase:y5(f),createTransaction:lf,fetchFeeRateFromSwapKit:Bf,getAccount:o,getAddress:C,getBalance:async(X,_)=>{let Z=await _x(l)(X),B=await Promise.all(Z.filter(({denom:q})=>q&&!q.includes("IBC/")).map(({denom:q,amount:M})=>{let W=[v.Chain.THORChain,v.Chain.Maya].includes(n)&&(q.includes("/")||q.includes("˜"))?`${n}.${q}`:q;return Gf(W,M)}));if(B.length===0)return[v.AssetValue.from({chain:n})];return B},getBalanceAsDenoms:_x(l),getFees:()=>Xx(n,Lx[n]),getPubKey:L,getSignerFromPhrase:async({phrase:X,derivationPath:_})=>Nf({derivationPath:v.derivationPathToString(_),index:x,phrase:X,prefix:y}),getSignerFromPrivateKey:async(X)=>{let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(X,y)},transfer:N,validateAddress:Zx(y),verifySignature:Nx(o)}}async function r1(n,T){try{let y=(await Zf.SwapKitApi.getGasRate()).find((x)=>x.chainId===n)?.value;return y?Number.parseFloat(y):T}catch{return T}}function a1({assetValue:{chain:n}}){return v.AssetValue.from({chain:n,value:e1(n)})}async function Xx(n,T){let{chainId:l,baseDecimal:y}=v.getChainConfig(n),x=await Bf(l,T);return{average:v.SwapKitNumber.fromBigInt(BigInt(x),y),fast:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(x,v.FeeOption.Fast,!0)),y),fastest:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(x,v.FeeOption.Fastest,!0)),y)}}function s1(n,T){return{amount:[{amount:n.getBaseValue("string"),denom:T}],gas:"200000"}}function e1(n){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}[n]||0}function Zx(n){return function(l){if(!l.startsWith(n))return!1;try{let{prefix:y,words:x}=ty.bech32.decode(l);return ty.bech32.encode(y,x)===l.toLocaleLowerCase()}catch{return!1}}}function _x(n){return async function(l){return(await(await ky(n)).getAllBalances(l)).map((G)=>({...G,denom:G.denom.includes("/")?G.denom.toUpperCase():G.denom}))}}function y5(n){return async function(l){let y=await import("@cosmjs/crypto"),x=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,G=y.Slip10??y.default?.Slip10,o=y.EnglishMnemonic??y.default?.EnglishMnemonic,C=y.Bip39??y.default?.Bip39,L=new o(l),N=await C.mnemonicToSeed(L),{privkey:X}=G.derivePath(f.Secp256k1,N,x(n));return X}}var ty,v,Zf,Fn,Lx;var wT=R(()=>{In();ty=require("@scure/base"),v=require("@swapkit/helpers"),Zf=require("@swapkit/helpers/api"),Fn=require("ts-pattern");Lx={[v.Chain.Cosmos]:500,[v.Chain.Kujira]:1000,[v.Chain.Noble]:1000,[v.Chain.THORChain]:5000000,[v.Chain.Maya]:5000000,[v.Chain.Harbor]:5000000}});function n5({prefix:n,derivationPath:T}){return async function(y,x=0){let f=await import("@cosmjs/amino"),G=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,o=await import("@cosmjs/crypto"),C=o.stringToPath??o.default?.stringToPath;return G.fromMnemonic(y,{hdPaths:[C(`${T}/${x}`)],prefix:n})}}function T5(n){return Ky.base64.encode(n)}function f5(n){return async function({wallet:l,tx:y}){let{msgs:x,accountNumber:f,sequence:G,chainId:o,fee:C,memo:L}=typeof y==="string"?JSON.parse(y):y,N=(await l.getAccounts())?.[0]?.address||"",X=await Fy(n),_=await dy(),Z=await xf(l,{aminoTypes:X,registry:_}),B=[];for(let W of x){let Y=await Ey(W,n);B.push(Y)}let{signatures:[q]}=await Z.sign(N,B,C,L,{accountNumber:f,chainId:o,sequence:G});return{bodyBytes:await vn({chain:n,memo:L,msgs:x.map(Ay)}),signature:T5(q)}}}function x5({prefix:n,rpcUrl:T}){return async function(y,x,f,G,o){let{encodeSecp256k1Pubkey:C,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:N}=(await import("@cosmjs/stargate")).default,{sequence:X,fee:_}=JSON.parse(y),Z=await Bx(f,G),B=x.map((W)=>[L(C(Ky.base64.decode(W.pubKey)),n),Ky.base64.decode(W.signature)]),q=await ky(T),{transactionHash:M}=await q.broadcastTx(N(Z,X,_,o,new Map(B)));return M}}async function Bx(n,T,l=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return y(n.map((f)=>x(Ky.base64.decode(f))),T,l)}function l5(n){return Ky.base64.decode(n)}async function G5({privateKey:n,message:T}){let{Secp256k1:l}=(await import("@cosmjs/crypto")).default,y=await l.createSignature(Ky.base64.decode(T),n);return Ky.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function Jf({chain:n,...T}){let l=await c.getRPCUrl(n),{nodeUrl:y}=c.getChainConfig(n),{isStagenet:x}=c.SKConfig.get("envs"),f=n===c.Chain.THORChain,G=`${x?"s":""}${c.CosmosChainPrefixes[n]}`,o="index"in T?T.index||0:0,C="derivationPath"in T&&T.derivationPath?T.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[n],{index:o}),L=await En({chain:n,...T}),N=await An.match(T).with({phrase:An.P.string},({phrase:B})=>L.getSignerFromPhrase({derivationPath:C,phrase:B})).with({signer:An.P.any},({signer:B})=>B).otherwise(()=>{return}),X=Ry(n);async function _(){let B,q=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await c.RequestClient.get(q);if(!M||Number.isNaN(M)||M<0)throw new c.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});B=new c.SwapKitNumber(M)}catch{B=new c.SwapKitNumber({decimal:c.getChainConfig(n).baseDecimal,value:f?0.02:1})}return{[c.FeeOption.Average]:B,[c.FeeOption.Fast]:B,[c.FeeOption.Fastest]:B}}async function Z({assetValue:B,memo:q="",recipient:M}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),Y=(await N?.getAccounts())?.[0]?.address;if(!(Y&&N))throw new c.SwapKitError("toolbox_cosmos_no_signer");let t="signAmino"in N,E=await dy(),V=await Fy(n),r=await un(l,N,{aminoTypes:V,registry:E}),Gy=JT({assetValue:B,memo:q,recipient:M,sender:Y});if(t){let U=await Ey(Gy,n),{signatures:k,authInfoBytes:u}=await r.sign(Y,[U],X,q),A=W.encode({authInfoBytes:u,bodyBytes:await vn({chain:n,memo:q,msgs:[Gy].map(Ay)}),signatures:k}).finish();return(await r.broadcastTx(A)).transactionHash}let uy=Ay(Gy),J=await Ey(uy,n);return(await r.signAndBroadcast(Y,[J],X,q)).transactionHash}return{...L,broadcastMultisigTx:x5({prefix:G,rpcUrl:l}),buildAminoMsg:JT,buildEncodedTxBody:vn,convertToSignable:Ey,createDefaultAminoTypes:()=>Fy(n),createDefaultRegistry:dy,createMultisig:Bx,createTransaction:Xf(l),deposit:Z,getFees:_,importSignature:l5,parseAminoMessageForDirectSigning:Ay,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:q}=(await import("@cosmjs/amino")).default;return q(B,G)},secp256k1HdWalletFromMnemonic:n5({derivationPath:c.derivationPathToString(C),prefix:G}),signMultisigTx:f5(n),signWithPrivateKey:G5,transfer:Z}}var Ky,c,An;var wf=R(()=>{_f();In();wT();Ky=require("@scure/base"),c=require("@swapkit/helpers"),An=require("ts-pattern")});var Vy,o5=(n,T)=>{switch(n){case Vy.Chain.Cosmos:case Vy.Chain.Kujira:case Vy.Chain.Noble:return En({chain:n,...T});case Vy.Chain.Maya:case Vy.Chain.THORChain:return Jf({chain:n,...T});default:throw new Vy.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var Jx=R(()=>{wT();wf();Vy=require("@swapkit/helpers");wT();wf()});var qT={};oy(qT,{verifySignature:()=>Nx,transferMsgAmino:()=>Cf,toBase64:()=>h1,parseAminoMessageForDirectSigning:()=>Ay,getSignerFromPrivateKey:()=>d1,getSignerFromPhrase:()=>Nf,getMsgSendDenom:()=>vy,getFeeRateFromSwapKit:()=>r1,getDenomWithChain:()=>Sn,getDefaultChainFee:()=>Ry,getCreateTransaction:()=>Xf,getCosmosValidateAddress:()=>Zx,getCosmosToolbox:()=>o5,getAssetFromDenom:()=>Gf,fromBase64:()=>j1,fetchFeeRateFromSwapKit:()=>Bf,estimateTransactionFee:()=>a1,depositMsgAmino:()=>Lf,createThorchainToolbox:()=>Jf,createStargateClient:()=>ky,createSigningStargateClient:()=>un,createOfflineStargateClient:()=>xf,createDefaultRegistry:()=>dy,createDefaultAminoTypes:()=>Fy,createCosmosToolbox:()=>En,cosmosCreateTransaction:()=>lf,convertToSignable:()=>Ey,buildTransferTx:()=>xx,buildEncodedTxBody:()=>vn,buildDepositTx:()=>lx,buildAminoMsg:()=>JT,bech32ToBase64:()=>kn,base64ToBech32:()=>On,YUM_KUJIRA_FACTORY_DENOM:()=>r0,USK_KUJIRA_FACTORY_DENOM:()=>ff,THORCHAIN_GAS_VALUE:()=>i1,MAYA_GAS_VALUE:()=>g1,DEFAULT_NOBLE_FEE_MAINNET:()=>e0,DEFAULT_KUJI_FEE_MAINNET:()=>s0,DEFAULT_COSMOS_FEE_MAINNET:()=>a0});module.exports=Xy(qT);var QT=R(()=>{_f();Jx();In()});async function C5(n){try{let T=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${n}`);if(!T.ok)return null;return await T.json()}catch{return null}}async function L5(n){let T=await ry(),{PublicKey:l}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),x=new l(n),f=[],G=await T.getBalance(x);if(G>0){let{baseDecimal:C}=$.getChainConfig($.Chain.Solana);f.push($.AssetValue.from({chain:$.Chain.Solana,fromBaseDecimal:C,value:G}))}let o=await T.getParsedTokenAccountsByOwner(x,{programId:y});for(let{account:C}of o.value){let L=C.data.parsed.info,N=L.mint,X=L.tokenAmount.amount;if(Number(X)===0)continue;let _=await C5(N),Z=_?.symbol||"UNKNOWN",B=_?.decimals||L.tokenAmount.decimals;f.push($.AssetValue.from({asset:`${$.Chain.Solana}.${Z}-${N}`,fromBaseDecimal:B,value:X}))}return f}async function Wf(){let{PublicKey:n}=await import("@solana/web3.js");return(T)=>{try{let l=new n(T);return n.isOnCurve(l.toBytes())}catch{return!1}}}async function X5(n){let T=n&&"index"in n?n.index||0:0,l=$.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[$.Chain.Solana],{index:T})),y=await tn.match(n).with({phrase:tn.P.string},({phrase:G})=>Qf({derivationPath:l,phrase:G})).with({signer:tn.P.any},({signer:G})=>G).otherwise(()=>{return});function x(){return y?.publicKey?wx(y.publicKey):""}function f(G){let o=G||x();if(!o)throw new $.SwapKitError("core_wallet_connection_not_found");return L5(o)}return{broadcastTransaction:qf(ry),createKeysForPath:Qf,createTransaction:Mf(ry),createTransactionFromInstructions:B5,estimateTransactionFee:_5(ry),getAddress:x,getAddressFromPubKey:wx,getAddressValidator:Wf,getBalance:f,getConnection:ry,getPubkeyFromAddress:Pf,signTransaction:w5(ry,y),transfer:J5(ry,y)}}function _5(n){return async({recipient:T,assetValue:l,memo:y,isProgramDerivedAddress:x,sender:f})=>{let G=await n(),C=(await Mf(n)({assetValue:l,isProgramDerivedAddress:x,memo:y,recipient:T,sender:f})).compileMessage(),L=await G.getFeeForMessage(C);if(L.value===null)throw new $.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:N}=$.getChainConfig($.Chain.Solana);return $.AssetValue.from({chain:$.Chain.Solana,fromBaseDecimal:N,value:L.value})}}async function ry(){let{Connection:n}=await import("@solana/web3.js"),T=await $.getRPCUrl($.Chain.Solana);return new n(T,"confirmed")}function N5(n){return async({assetValue:T,recipient:l,sender:y,isProgramDerivedAddress:x})=>{let f=await n(),G=await Pf(y);if(T.isGasAsset){let{Transaction:o,SystemProgram:C,PublicKey:L}=await import("@solana/web3.js");return new o().add(C.transfer({fromPubkey:G,lamports:T.getBaseValue("number"),toPubkey:new L(l)}))}if(T.address)return Z5({amount:T.getBaseValue("number"),connection:f,decimals:T.decimal,from:G,isProgramDerivedAddress:x,recipient:l,tokenAddress:T.address});return}}async function Z5({tokenAddress:n,recipient:T,from:l,connection:y,amount:x,decimals:f,isProgramDerivedAddress:G}){let{getAssociatedTokenAddress:o,getAccount:C,createAssociatedTokenAccountInstruction:L,createTransferCheckedInstruction:N}=await import("@solana/spl-token"),{Transaction:X,PublicKey:_}=await import("@solana/web3.js"),Z=new X,B=new _(n),q=await o(B,l),M=new _(T),W=await o(B,M,G),Y=!1;try{await C(y,W),Y=!0}catch{}if(!Y)Z.add(L(l,W,M,B));return Z.add(N(q,B,W,l,x,f)),Z}function Mf(n){return async({recipient:T,assetValue:l,memo:y,isProgramDerivedAddress:x,sender:f})=>{let{createMemoInstruction:G}=await import("@solana/spl-memo"),o=await Pf(f),C=await Wf();if(!(x||C(T)))throw new $.SwapKitError("core_transaction_invalid_recipient_address");let L=await n(),N=await N5(n)({assetValue:l,isProgramDerivedAddress:x,recipient:T,sender:f});if(!N)throw new $.SwapKitError("core_transaction_invalid_sender_address");if(y)N.add(G(y));let X=await L.getLatestBlockhash();return N.recentBlockhash=X.blockhash,N.feePayer=o,N}}async function B5({instructions:n}){let{Transaction:T}=await import("@solana/web3.js"),l=new T().add(...n);if(!l)throw new $.SwapKitError("core_transaction_invalid_sender_address");return l}function J5(n,T){return async({recipient:l,assetValue:y,memo:x,isProgramDerivedAddress:f})=>{if(!T)throw new $.SwapKitError("core_transaction_invalid_sender_address");let G=T.publicKey?.toString()??(await T.connect()).publicKey.toString(),o=await Mf(n)({assetValue:y,isProgramDerivedAddress:f,memo:x,recipient:l,sender:G});if("signTransaction"in T){let C=await T.signTransaction(o);return qf(n)(C)}return o.sign(T),qf(n)(o)}}function qf(n){return async(T)=>{return(await n()).sendRawTransaction(T.serialize())}}function w5(n,T){return async(l)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!T)throw new $.SwapKitError("toolbox_solana_no_signer");if(!(l instanceof y)){let f=await(await n()).getLatestBlockhash();l.recentBlockhash=f.blockhash,l.feePayer=T.publicKey||void 0}if("connect"in T)return await T.signTransaction(l);return await l.sign([T]),l}}async function Qf({phrase:n,derivationPath:T=$.DerivationPath.SOL}){let{HDKey:l}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:x}=await import("@solana/web3.js"),f=y(n),G=l.fromMasterSeed(f);return x.fromSeed(G.derive(T,!0).privateKey)}function wx(n){return n.toString()}async function Pf(n){let{PublicKey:T}=await import("@solana/web3.js");return new T(n)}var $,tn;var qx=R(()=>{$=require("@swapkit/helpers"),tn=require("ts-pattern")});var zf={};oy(zf,{getSolanaToolbox:()=>X5,getSolanaAddressValidator:()=>Wf,createKeysForPath:()=>Qf});module.exports=Xy(zf);var Hf=R(()=>{qx()});async function Qx(){let{isValidSuiAddress:n}=await import("@mysten/sui/utils");return function(l){try{return n(l)}catch{return!1}}}async function q5({provider:n,...T}={}){let l=await Qx(),y=await Kn.match(T).with({phrase:Kn.P.string},async({phrase:X})=>{let{Ed25519Keypair:_}=await import("@mysten/sui/keypairs/ed25519");return _.deriveKeypair(X)}).with({signer:Kn.P.any},({signer:X})=>X).otherwise(()=>{return});async function x(X=n){let{SuiClient:_,getFullnodeUrl:Z}=await import("@mysten/sui/client");return new _({url:X||Z("mainnet")})}function f(){return y?.toSuiAddress()||""}async function G(X){let _=X||f();if(!_)throw new e.SwapKitError("toolbox_sui_address_required");try{let Z=await x(),{totalBalance:B}=await Z.getBalance({owner:_}),{baseDecimal:q,chain:M}=e.getChainConfig(e.Chain.Sui),W=[e.AssetValue.from({chain:M,fromBaseDecimal:q,value:B})],Y=await Z.getAllBalances({owner:_});for(let{coinType:t,totalBalance:E}of Y){if(t==="0x2::sui::SUI")continue;if(Number(E)>0){let V=t.split("::").pop()?.toUpperCase()||"UNKNOWN",r=`${M}.${V}-${t}`;W.push(e.AssetValue.from({asset:r,fromBaseDecimal:q,value:E}))}}return W}catch(Z){throw new e.SwapKitError("toolbox_sui_balance_error",{error:Z})}}async function o(X){let _=e.AssetValue.from({chain:e.Chain.Sui,value:"0.01"});if(!X)return _;try{let Z=await x(),{txBytes:B}=await C(X),{effects:{status:q,gasUsed:M}}=await Z.dryRunTransactionBlock({transactionBlock:B});if(q.status!=="success")return _;let W=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return e.AssetValue.from({chain:e.Chain.Sui,value:W.toString()})}catch{return _}}async function C({recipient:X,assetValue:_,gasBudget:Z,sender:B}){let{Transaction:q}=await import("@mysten/sui/transactions"),M=B||f();if(!M)throw new e.SwapKitError("toolbox_sui_no_sender");try{let W=new q;if(W.setSender(M),_.isGasAsset||_.symbol==="SUI"){let[E]=W.splitCoins(W.gas,[_.getBaseValue("string")]);W.transferObjects([E],X)}else throw new e.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(Z)W.setGasBudget(Z);let Y=await x(),t=await W.build({client:Y});return{tx:W,txBytes:t}}catch(W){throw new e.SwapKitError("toolbox_sui_transaction_creation_error",{error:W})}}async function L(X){if(!y)throw new e.SwapKitError("toolbox_sui_no_signer");if(X instanceof Uint8Array)return y.signTransaction(X);let{txBytes:_}="tx"in X?X:await C(X);return y.signTransaction(_)}async function N({assetValue:X,gasBudget:_,recipient:Z}){if(!y)throw new e.SwapKitError("toolbox_sui_no_signer");let B=y.toSuiAddress()||f();if(!B)throw new e.SwapKitError("toolbox_sui_no_sender");let{txBytes:q}=await C({assetValue:X,gasBudget:_,recipient:Z,sender:B}),M=await x(),{digest:W}=await M.signAndExecuteTransaction({signer:y,transaction:q});return W}return{createTransaction:C,estimateTransactionFee:o,getAddress:f,getBalance:G,signTransaction:L,transfer:N,validateAddress:l}}var e,Kn;var Wx=R(()=>{e=require("@swapkit/helpers"),Kn=require("ts-pattern")});var WT={};oy(WT,{getSuiToolbox:()=>q5,getSuiAddressValidator:()=>Qx});module.exports=Xy(WT);var MT=R(()=>{Wx()});async function Q5(n={}){let{mnemonicToWalletKey:T}=await import("@ton/crypto"),{Address:l,TonClient:y,WalletContractV4:x}=await import("@ton/ton"),f=await Mx(),G,o,C=await Vn.match(n).with({phrase:Vn.P.string},async({phrase:W})=>T(W.split(" "))).with({signer:Vn.P.any},({signer:W})=>W).otherwise(()=>{return});function L(){let{rpcUrls:W}=yy.getChainConfig(yy.Chain.Ton),[Y]=W;if(!G||G.parameters.endpoint!==Y)G=new y({endpoint:Y});return G}function N(W){if(!o||W){let Y=L(),t=W||C;if(!t)throw new yy.SwapKitError("core_wallet_connection_not_found");let E=x.create({publicKey:t.publicKey,workchain:0});o=Y.open(E)}return o}async function X(W){let Y=L(),{baseDecimal:t}=yy.getChainConfig(yy.Chain.Ton);try{let E=await Y.getBalance(l.parse(W));return[yy.AssetValue.from({chain:yy.Chain.Ton,value:yy.SwapKitNumber.fromBigInt(E,t)})]}catch(E){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:E})}}async function _({assetValue:W,recipient:Y,memo:t}){let E=N();if(!E||!C)throw new yy.SwapKitError("core_wallet_connection_not_found");let{toNano:V,comment:r,internal:Gy}=await import("@ton/ton"),uy=await E.getSeqno(),J=V(W.getValue("string")),z=t?r(t):void 0;return E.createTransfer({messages:[Gy({body:z,to:Y,value:J})],secretKey:C.secretKey,seqno:uy})}async function Z({assetValue:W,recipient:Y,memo:t}){let E=N();if(!E||!C)throw new yy.SwapKitError("core_wallet_connection_not_found");let V=await _({assetValue:W,memo:t,recipient:Y});return await E.send(V),V.hash().toString()}async function B(W){let Y=N();if(!Y)throw new yy.SwapKitError("core_wallet_connection_not_found");try{return await Y.send(W),W.hash().toString("hex")}catch(t){throw new yy.SwapKitError("core_wallet_connection_not_found",{error:t})}}function q(){return N().address.toString()}function M(){return Promise.resolve(yy.AssetValue.from({chain:yy.Chain.Ton,value:"0.0001"}))}return{createTransaction:_,estimateTransactionFee:M,getAddress:q,getBalance:X,sendTransaction:B,transfer:Z,validateAddress:f}}async function Mx(){let{Address:n}=await import("@ton/ton");return function(l){try{return n.parse(l),!0}catch{return!1}}}var yy,Vn;var Px=R(()=>{yy=require("@swapkit/helpers"),Vn=require("ts-pattern")});var PT={};oy(PT,{getTONToolbox:()=>Q5,getTONAddressValidator:()=>Mx});module.exports=Xy(PT);var zT=R(()=>{Px()});var Cn;var Uf=R(()=>{Cn=[{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 Hx(n){let T=await import("tronweb"),l=T.TronWeb??T.default?.TronWeb;try{let y=await fetch(`${W5}/v1/accounts/${n}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let x=await y.json();if(!(x.success&&x.data)||x.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=l.address.toHex(n).toLowerCase()}catch{f=n.toLowerCase()}let G=x.data.find((o)=>{return o.address.toLowerCase()===f});if(!G)return;return{balance:G.balance,trc20:G.trc20||[]}}catch(y){throw new zx.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}var zx,W5="https://api.trongrid.io";var Ux=R(()=>{zx=require("@swapkit/helpers")});async function Yf(){let n=await import("tronweb"),T=n.TronWeb??n.default?.TronWeb;return(l)=>{return T.isAddress(l)}}async function Dx({phrase:n,derivationPath:T,index:l}){let y=T||S.derivationPathToString(S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:l||0})),{HDKey:x}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),G=f(n),C=x.fromMasterSeed(G).derive(y);if(!C.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");return Buffer.from(C.privateKey).toString("hex")}async function U5({phrase:n,derivationPath:T,tronWeb:l}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),f=x(n),o=y.fromMasterSeed(f).derive(T);if(!o.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");let C=Buffer.from(o.privateKey).toString("hex");l.setPrivateKey(C);let L=l?.address.fromPrivateKey(C);return{getAddress:()=>Promise.resolve(typeof L==="string"?L:""),signTransaction:async(N)=>{return await l.trx.sign(N,C)}}}var S,$n,M5=268,P5=13000,z5=345,Yx="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",H5="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",Rx=async(n={})=>{let T=await import("tronweb"),l=T.TronWeb??T.default?.TronWeb,y=await S.getRPCUrl(S.Chain.Tron),x=void 0,f=new l({fullHost:y,headers:void 0}),G="index"in n?n.index||0:0,o=S.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:G})),C=await $n.match(n).with({phrase:$n.P.string},async({phrase:J})=>U5({derivationPath:o,phrase:J,tronWeb:f})).with({signer:$n.P.any},({signer:J})=>Promise.resolve(J)).otherwise(()=>Promise.resolve(void 0)),L=async()=>{if(!C)throw new S.SwapKitError("toolbox_tron_no_signer");return await C.getAddress()},N=()=>{return 1e8},X=async()=>{try{let J=await f.trx.getChainParameters(),z={};for(let U of J)z[U.key]=U.value;return{bandwidthFee:z.getTransactionFee||1000,createAccountFee:z.getCreateAccountFee||1e5,energyFee:z.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},_=async(J)=>{try{let z=await f.trx.getAccount(J);return z&&Object.keys(z).length>0}catch{return!1}},Z=async(J)=>{try{let z=await f.trx.getAccountResources(J);return{bandwidth:{free:z.freeNetLimit-z.freeNetUsed,total:z.NetLimit||0,used:z.NetUsed||0},energy:{total:z.EnergyLimit||0,used:z.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(J,z)=>{try{let U=f.contract(Cn,z);if(!U.methods?.balanceOf)return 0n;let[k]=await U.methods.balanceOf(J).call();return k?typeof k==="bigint"?k:BigInt(k):0n}catch(U){return console.warn(`balanceOf() failed for ${z}:`,U),0n}},q=async(J,z)=>{try{f.setAddress(z);let U=f.contract(Cn,J),[k,u]=await Promise.all([U.symbol().call().catch(()=>"UNKNOWN"),U.decimals().call().catch(()=>"18")]);return{decimals:Number(u??18),symbol:k??"UNKNOWN"}}catch(U){return S.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${J}: ${U instanceof Error?U.message:U}`}),null}},M=async(J,z=!0)=>{let U=[S.AssetValue.from({chain:S.Chain.Tron})];try{let k=await Hx(J);if(k){let u=[];u.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:k.balance}));for(let A of k.trc20){let[j,a]=Object.entries(A)[0]||[];if(!(j&&a))continue;let b=await q(j,J);if(!b)continue;u.push(S.AssetValue.from({asset:`TRON.${b.symbol}-${j}`,fromBaseDecimal:b.decimals,value:BigInt(a||0)}))}return u}return U}catch(k){S.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${k instanceof Error?k.message:k}`});try{let u=[],A=await f.trx.getBalance(J);if(A&&Number(A)>0)u.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:A}));let j=await B(J,Yx);if(j)u.push(S.AssetValue.from({asset:`TRON.USDT-${Yx}`,fromBaseDecimal:6,value:j}));if(u.length===0)return U;return u}catch(u){return console.error("Tron balance fetch failed:",u),U}}},W=async({recipient:J,assetValue:z,memo:U})=>{if(!C)throw new S.SwapKitError("toolbox_tron_no_signer");let k=await L();if(f.setAddress(k),z.isGasAsset){let b=await f.transactionBuilder.sendTrx(J,z.getBaseValue("number"),k);if(U){let Cy=await f.transactionBuilder.addUpdateData(b,U,"utf8"),Yy=await C.signTransaction(Cy),{txid:jy}=await f.trx.sendRawTransaction(Yy);return jy}let By=await C.signTransaction(b),{txid:Jy}=await f.trx.sendRawTransaction(By);return Jy}let A=await t({assetValue:z,memo:U,recipient:J,sender:k}),j=await C.signTransaction(A),{txid:a}=await f.trx.sendRawTransaction(j);if(!a)throw new S.SwapKitError("toolbox_tron_token_transfer_failed");return a},Y=async({assetValue:J,recipient:z,sender:U})=>{let k=J.isGasAsset;try{let u=U?U:C?await L():void 0;if(!u)return k?S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:0.1}):S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:15});let A=await X(),a=await _(z)?0:A.createAccountFee,b=await Z(u);if(k){let cy=M5,P0=b.bandwidth.free+(b.bandwidth.total-b.bandwidth.used),z0=0;if(cy>P0)z0=(cy-P0)*A.bandwidthFee;let Q1=a+z0;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:Q1})}let By=z5,Jy=P5,Cy=b.bandwidth.free+(b.bandwidth.total-b.bandwidth.used),Yy=b.energy.total-b.energy.used,jy=0;if(By>Cy)jy=(By-Cy)*A.bandwidthFee;let sn=0;if(Jy>Yy)sn=(Jy-Yy)*A.energyFee;let VT=a+jy+sn;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:VT})}catch(u){throw S.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${u instanceof Error?u.message:u}`}),new S.SwapKitError("toolbox_tron_fee_estimation_failed",{error:u})}},t=async(J)=>{let{recipient:z,assetValue:U,memo:k,sender:u,expiration:A}=J;if(U.isGasAsset){let b=await f.transactionBuilder.sendTrx(z,U.getBaseValue("number"),u);if(k)return f.transactionBuilder.addUpdateData(b,k,"utf8");if(A)f.transactionBuilder.extendExpiration(b,A);return b}f.setAddress(u);let a=U.address;if(!a)throw new S.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});try{let By=[{type:"address",value:z},{type:"uint256",value:U.getBaseValue("string")}],Jy={callValue:0,feeLimit:N()},Cy=await f.transactionBuilder.triggerSmartContract(a,"transfer(address,uint256)",Jy,By,u);if(k)return f.transactionBuilder.addUpdateData(Cy.transaction,k,"utf8");if(A)f.transactionBuilder.extendExpiration(Cy.transaction,A);return Cy.transaction}catch(b){throw new S.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:b instanceof Error?b.message:String(b)})}},E=async(J)=>{if(!C)throw new S.SwapKitError("toolbox_tron_no_signer");return await C.signTransaction(J)},V=async(J)=>{let{txid:z}=await f.trx.sendRawTransaction(J);return z},r=async({assetAddress:J,spenderAddress:z,from:U})=>{try{let k=f.contract(Cn,J);if(!k.methods?.allowance)throw new S.SwapKitError("toolbox_tron_invalid_token_contract");let[u]=await k.methods.allowance(U,z).call();return u?typeof u==="bigint"?u:BigInt(u):0n}catch(k){throw new S.SwapKitError("toolbox_tron_allowance_check_failed",{error:k})}};return{approve:async({assetAddress:J,spenderAddress:z,amount:U,from:k})=>{if(!C)throw new S.SwapKitError("toolbox_tron_no_signer");let u=k||await L(),A=U!==void 0?BigInt(U).toString():H5,j="approve(address,uint256)",a=[{type:"address",value:z},{type:"uint256",value:A}],By={callValue:0,feeLimit:N()};try{let{transaction:Jy}=await f.transactionBuilder.triggerSmartContract(J,j,By,a,u),Cy=await C.signTransaction(Jy),{txid:Yy}=await f.trx.sendRawTransaction(Cy);if(!Yy)throw new S.SwapKitError("toolbox_tron_approve_failed");return Yy}catch(Jy){throw new S.SwapKitError("toolbox_tron_approve_failed",{error:Jy})}},broadcastTransaction:V,createTransaction:t,estimateTransactionFee:Y,getAddress:L,getApprovedAmount:r,getBalance:M,isApproved:async({assetAddress:J,spenderAddress:z,from:U,amount:k})=>{let u=await r({assetAddress:J,from:U,spenderAddress:z});if(!k)return u>0n;let A=BigInt(k);return u>=A},signTransaction:E,transfer:W,tronWeb:f,validateAddress:await Yf()}};var kx=R(()=>{Uf();Ux();S=require("@swapkit/helpers"),$n=require("ts-pattern")});var Df={};oy(Df,{trc20ABI:()=>Cn,getTronPrivateKeyFromMnemonic:()=>Dx,getTronAddressValidator:()=>Yf,createTronToolbox:()=>Rx});module.exports=Xy(Df);var Rf=R(()=>{Uf();kx()});async function Y5({chain:n,txHash:T}){let l=`${HT(n)}/push/transaction`,y=JSON.stringify({data:T});try{let x=await K.RequestClient.post(l,{body:y,headers:{"Content-Type":"application/json"}});if(x.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:x.context.error||"Transaction broadcast failed"});return x.data?.transaction_hash||T}catch(x){let f=await K.getRPCUrl(n);if(f){let G=JSON.stringify({id:R0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),o=await K.RequestClient.post(f,{body:G,headers:{"Content-Type":"application/json"}});if(o.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:o.error?.message});if(o.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return o.result}throw x}}function HT(n){return`https://api.blockchair.com/${D5(n)}`}function Ox(n){switch(n){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function D5(n){switch(n){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function R5(n){try{let{feePerKb:T}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),l=T/1000;return Math.max(l,Ox(n))}catch{return Ox(n)}}async function kf(n,T){let l=await K.RequestClient.get(`${n}${T?`${n.includes("?")?"&":"?"}key=${T}`:""}`);if(!l||l.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return l.data}async function vx({address:n,chain:T,apiKey:l}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await kf(`${HT(T)}/dashboards/address/${n}?transaction_details=true`,l))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function k5({address:n,chain:T,apiKey:l}){return(await vx({address:n,apiKey:l,chain:T}))?.address.balance||0}async function Fx({chain:n,apiKey:T,txHash:l}){if(!l)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await kf(`${HT(n)}/raw/transaction/${l}`,T))?.[l]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function O5({chain:n,address:T,apiKey:l,offset:y=0,limit:x=30}){return(await kf(`${HT(n)}/outputs?q=recipient(${T}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${x}&offset=${y}`,l)).map(({is_spent:C,script_hex:L,block_id:N,transaction_hash:X,index:_,value:Z,spending_signature_hex:B})=>({hash:X,index:_,is_confirmed:N!==-1,is_spent:C,script_hex:L,txHex:B,value:Z}))}function S5(n){return n.reduce((T,l)=>T+l.value,0)}function Sx(n,T){let l=[...n].sort((y,x)=>x.value-y.value);if(T){let y=[],x=0;for(let f of l)if(y.push(f),x+=f.value,x>=T)break;return y}return l}async function Ex({chain:n,address:T,apiKey:l,targetValue:y,accumulativeValue:x=0,offset:f=0,limit:G=30}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let o=await O5({address:T,apiKey:l,chain:n,limit:G,offset:f,targetValue:y}),L=o.length<G,N=o.filter(({is_spent:M})=>!M),X=S5(N),_=x+X,Z=y&&_>=y;if(L||Z)return Sx(N,y);let B=await Ex({accumulativeValue:_,address:T,apiKey:l,chain:n,limit:G,offset:f+G,targetValue:y}),q=[...N,...B];return Sx(q,y)}catch(o){return console.error("Failed to fetch unspent UTXOs:",o),[]}}async function u5({address:n,chain:T,apiKey:l,fetchTxHex:y=!0,targetValue:x}){let f=await Ex({address:n,apiKey:l,chain:T,targetValue:x}),G=[];for(let{hash:o,index:C,script_hex:L,value:N}of f){let X;if(y)X=await Fx({apiKey:l,chain:T,txHash:o});G.push({address:n,hash:o,index:C,txHex:X,value:N,witnessUtxo:{script:Buffer.from(L,"hex"),value:N}})}return G}function I5(n){let T=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(l)=>Y5({chain:n,txHash:l}),getAddressData:(l)=>vx({address:l,apiKey:T,chain:n}),getBalance:(l)=>k5({address:l,apiKey:T,chain:n}),getRawTx:(l)=>Fx({apiKey:T,chain:n,txHash:l}),getSuggestedTxFee:()=>R5(n),getUtxos:(l)=>u5({...l,apiKey:T,chain:n})}}function v5(n){return n}function Zy(n){let T=K.SKConfig.get("apis")[n];if(T)return K.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),T;return I5(n)}function My(){return function(T){switch(T){case K.Chain.Bitcoin:return Ix.networks.bitcoin;case K.Chain.BitcoinCash:return Ln.default.bitcoincash.main.toBitcoinJS();case K.Chain.Dash:return Ln.default.dash.main.toBitcoinJS();case K.Chain.Litecoin:return Ln.default.litecoin.main.toBitcoinJS();case K.Chain.Dogecoin:{let l={private:70615956,public:70617039},y=Ln.default.dogecoin.test;return y.versions.bip32=l,Ln.default.dogecoin.main.toBitcoinJS()}case K.Chain.Zcash:return ux.networks.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}}var ux,K,Ix,Ln;var Ax=R(()=>{Mn();ux=require("@bitgo/utxo-lib"),K=require("@swapkit/helpers"),Ix=require("bitcoinjs-lib"),Ln=w(require("coininfo"))});function vf(n){try{return UT(n),!0}catch{return!1}}function Ff(n){return UT(n)?.network}function Xn(n){let T=UT(n);if(T?.format==="legacy")return n;return A5(T)}function bn(n){let T=UT(n);return t5(T)}function UT(n){try{let T=F5(n);if(T)return T}catch{}try{let T=E5(n);if(T)return T}catch{}throw new Of.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function F5(n){try{let T=Sf.default.decode(n);if(T.length!==21)throw new Of.SwapKitError("toolbox_utxo_invalid_address",{address:n});let l=T[0],y=Array.prototype.slice.call(T,1);switch(l){case g.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case g.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case g.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case g.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case g.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case g.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function E5(n){if(n.indexOf(":")!==-1)try{return tx(n)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let l of T)try{return tx(`${l}:${n}`)}catch{}}return}function tx(n){try{let{hash:T,prefix:l,type:y}=uf.default.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(T,0),network:l==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function A5(n){let T=g.legacy[n.network][n.type],l=Buffer.alloc(1+n.hash.length);return l[0]=T,l.set(n.hash,1),Sf.default.encode(l)}function t5(n){let T=n.network==="mainnet"?"bitcoincash":"bchtest",l=n.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(n.hash);return uf.default.encode(T,l,y)}var Of,Sf,uf,If,g;var Kx=R(()=>{Of=require("@swapkit/helpers"),Sf=w(require("bs58check")),uf=w(require("cashaddrjs"));((l)=>{l.Mainnet="mainnet";l.Testnet="testnet"})(If||={});g={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Py(n){let T=Buffer.from(n,"utf8");return DT.script.compile([DT.opcodes.OP_RETURN,T])}var Vx,DT,K5=1000,RT=10,$x=10,V5=41,$5=107,kT,YT,pn,hn=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new Vx.SwapKitError("toolbox_utxo_invalid_address",{address:n})},_n=({inputs:n,outputs:T,feeRate:l})=>{let y=n[0]&&"address"in n[0]&&n[0].address?hn(n[0].address):"P2PKH",x=n.filter((G)=>G.value>=YT["type"in G?G.type:"P2PKH"]*Math.ceil(l)).reduce((G,o)=>G+$y(o),0),f=T?.reduce((G,o)=>G+jn(o),0)||pn[y];return RT+x+f},$y=(n)=>{if("type"in n)return YT[n.type];if("address"in n&&n.address)return YT[hn(n.address)];return V5+$5},jn=(n,T)=>{if(n?.script)return $x+n.script.length+(n.script.length>=74?2:1);if(T)return pn[T];return pn.P2PKH};var Ef=R(()=>{Vx=require("@swapkit/helpers"),DT=require("bitcoinjs-lib");((l)=>{l.P2PKH="P2PKH";l.P2WPKH="P2WPKH"})(kT||={});YT={["P2PKH"]:148,["P2WPKH"]:68},pn={["P2PKH"]:34,["P2WPKH"]:31}});function OT(n){switch(n){case zy.Chain.Bitcoin:case zy.Chain.BitcoinCash:return 550;case zy.Chain.Dash:case zy.Chain.Litecoin:return 5500;case zy.Chain.Dogecoin:return 1e5;case zy.Chain.Zcash:return 546;default:throw new zy.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function Hy({inputs:n,outputs:T,feeRate:l=1,chain:y=zy.Chain.Bitcoin,changeAddress:x=""}){let f=Math.ceil(l),G=n[0]&&"address"in n[0]&&n[0].address?hn(n[0].address):"P2PKH",o=n.filter((Z)=>$y(Z)*f<=Z.value),C=RT+T.reduce((Z,B)=>Z+jn(B,G),0),L=T.reduce((Z,B)=>Z+B.value,0),N=C*f,X=0,_=[];for(let Z of o){let B=$y(Z),q=f*B;N+=q,X+=Z.value,_.push(Z);let M=N+L;if(X<M)continue;let W=X-M,Y=f*jn({address:"",value:0},G);if(W>Y){let t=Y+N,E=X-(L+t);if(E>Math.max($y({})*f,OT(y)))return{fee:t,inputs:_,outputs:T.concat({address:x,value:E})}}return{fee:N,inputs:_,outputs:T}}return{fee:f*_n({feeRate:f,inputs:n,outputs:T})}}var zy;var bx=R(()=>{Ef();zy=require("@swapkit/helpers")});var Nn=R(()=>{Ax();Kx();bx();Ef()});function ay(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function by(n){let T=ay(n);return vf(T)&&Ff(T)==="mainnet"}function Zn(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=ST.networks.zcash;try{return ST.address.toOutputScript(n,T),!0}catch{let l=px.default.decode(n);if(l.length<21)return!1;let y=l[0];return y===T.pubKeyHash||y===T.scriptHash}}catch{return!1}}var ST,px;var cn=R(()=>{Nn();ST=require("@bitgo/utxo-lib"),px=w(require("bs58check"))});function cx({inputs:n,outputs:T,chain:l,psbt:y,sender:x,compiledMemo:f}){for(let G of n){let o=!!G.witnessUtxo&&!mn.includes(l)&&{witnessUtxo:G.witnessUtxo},C=mn.includes(l)&&{nonWitnessUtxo:G.txHex?Buffer.from(G.txHex,"hex"):void 0};y.addInput({hash:G.hash,index:G.index,...o,...C})}for(let G of T){let o="address"in G&&G.address?G.address:x,C=G.script;if(C&&!f)continue;let L=C?{script:f,value:0}:{address:o,value:G.value};Uy.initEccLib(uT.default),y.addOutput(L)}return{inputs:n,psbt:y}}async function mx({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x,fetchTxHex:f=!1}){let G=n.chain,o=l?await Py(l):null,C=await dx({assetValue:n,fetchTxHex:f,memo:l,recipient:T,sender:x}),{inputs:L,outputs:N}=Hy({...C,chain:G,feeRate:y});if(!(L&&N))throw new I.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let X=await My(),_=new Uy.Psbt({network:X(G)});if(G===I.Chain.Dogecoin)_.setMaximumFeeRate(650000000);let{psbt:Z,inputs:B}=await cx({chain:G,compiledMemo:o,inputs:L,outputs:N,psbt:_,sender:x});return{inputs:B,psbt:Z,utxos:C.inputs}}async function ix(){let n=await My();return function({address:l,chain:y}){if(y===I.Chain.BitcoinCash)return by(l);if(y===I.Chain.Zcash)return Zn(l);try{return Uy.initEccLib(uT.default),Uy.address.toOutputScript(l,n(y)),!0}catch{return!1}}}async function b5({chain:n,phrase:T,derivationPath:l}){let y=(await gn(n))({derivationPath:l,phrase:T});async function x(G){return await G.signAllInputs(y),G}function f(){return tf(n)(y)}return{getAddress:f,signTransaction:x}}async function sy({chain:n,...T}){let l="phrase"in T?T.phrase:void 0,y="index"in T?T.index||0:0,x=I.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:I.updateDerivationPath(I.NetworkDerivationPath[n],{index:y})),f=l?await b5({chain:n,derivationPath:x,phrase:l}):("signer"in T)?T.signer:void 0;function G(){return Promise.resolve(f?.getAddress())}let o=await ix(),C=await gn(n);return{accumulative:Hy,broadcastTx:(L)=>Zy(n).broadcastTx(L),calculateTxSize:_n,createKeysForPath:C,createTransaction:mx,estimateMaxSendableAmount:p5(n),estimateTransactionFee:h5(n),getAddress:G,getAddressFromKeys:tf(n),getBalance:nn(n),getFeeRates:()=>dn(n),getInputsOutputsFee:gx,getPrivateKeyFromMnemonic:(L)=>{return C(L).toWIF()},transfer:j5(f),validateAddress:(L)=>o({address:L,chain:n})}}async function gx({assetValue:n,feeOptionKey:T=I.FeeOption.Fast,feeRate:l,memo:y,sender:x,recipient:f}){let G=n.chain,o=await dx({assetValue:n,memo:y,recipient:f,sender:x}),C=l?Math.floor(l):(await dn(G))[T];return Hy({...o,chain:G,feeRate:C})}function p5(n){return async function({from:l,memo:y,feeRate:x,feeOptionKey:f=I.FeeOption.Fast,recipients:G=1}){let o=await Zy(n).getAddressData(l),C=x?Math.ceil(x):(await dn(n))[f],L=o?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(OT(n),$y(B)*C));if(!L?.length)return I.AssetValue.from({chain:n});let N=I.AssetValue.from({chain:n,value:L.reduce((B,q)=>B+q.value,0)}),X=typeof G==="number"?Array.from({length:G},()=>({address:l,value:0})):G;if(y){let B=await Py(y);X.push({address:l,script:B,value:0})}let Z=_n({feeRate:C,inputs:L,outputs:X})*C;return N.sub(Z)}}function h5(n){return async(T)=>{let l=await gx(T);return I.AssetValue.from({chain:n,value:I.SwapKitNumber.fromBigInt(BigInt(l.fee),8).getValue("string")})}}async function gn(n){let T=await My();switch(n){case I.Chain.BitcoinCash:return function({phrase:y,derivationPath:x=`${I.DerivationPath.BCH}/0`,wif:f}){let G=T(n);if(f)return IT.ECPair.fromWIF(f,G);if(!y)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return IT.HDNode.fromSeedBuffer(Buffer.from(Af.mnemonicToSeedSync(y)),G).derivePath(x).keyPair};case I.Chain.Bitcoin:case I.Chain.Dogecoin:case I.Chain.Litecoin:case I.Chain.Zcash:case I.Chain.Dash:return function({phrase:y,wif:x,derivationPath:f}){if(!(x||y))throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let G=jx.ECPairFactory(uT.default),o=T(n);if(x)return G.fromWIF(x,o);let C=Af.mnemonicToSeedSync(y),L=hx.HDKey.fromMasterSeed(C,o).derive(f);if(!L.privateKey)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return G.fromPrivateKey(Buffer.from(L.privateKey),{network:o})};default:throw new I.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function tf(n){let T=My();return function(y){if(!y)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let x=mn.includes(n)?Uy.payments.p2pkh:Uy.payments.p2wpkh,{address:f}=x({network:T(n),pubkey:y.publicKey});if(!f)throw new I.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function j5(n){return async function({memo:l,recipient:y,feeOptionKey:x,feeRate:f,assetValue:G}){let o=await n?.getAddress(),C=G.chain;if(!(n&&o))throw new I.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new I.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=f||(await dn(C))[x||I.FeeOption.Fast],{psbt:N}=await mx({assetValue:G,feeRate:L,memo:l,recipient:y,sender:o}),X=await n.signTransaction(N);return X.finalizeAllInputs(),Zy(C).broadcastTx(X.extractTransaction().toHex())}}async function dn(n){let T=await Zy(n).getSuggestedTxFee();return{[I.FeeOption.Average]:T,[I.FeeOption.Fast]:I.applyFeeMultiplier(T,I.FeeOption.Fast),[I.FeeOption.Fastest]:I.applyFeeMultiplier(T,I.FeeOption.Fastest)}}async function dx({assetValue:n,recipient:T,memo:l,sender:y,fetchTxHex:x=!1}){let f=n.chain,G=(await dn(f))[I.FeeOption.Fastest],o=x||mn.includes(f),C=n.getBaseValue("number"),L=Math.ceil(C+G*5000);return{inputs:await Zy(f).getUtxos({address:y,fetchTxHex:o,targetValue:L}),outputs:[{address:T,value:C},...l?[{address:"",script:await Py(l),value:0}]:[]]}}var uT,IT,hx,Af,I,Uy,jx,mn;var rn=R(()=>{Mn();Nn();cn();uT=w(require("@bitcoinerlab/secp256k1")),IT=require("@psf/bitcoincashjs-lib"),hx=require("@scure/bip32"),Af=require("@scure/bip39"),I=require("@swapkit/helpers"),Uy=require("bitcoinjs-lib"),jx=require("ecpair"),mn=[I.Chain.Dash,I.Chain.Dogecoin,I.Chain.Zcash,I.Chain.BitcoinCash]});function ey(n){return ay(bn(n))}function c5(n){function T({builder:y,utxos:x}){return x.forEach((f,G)=>{y.sign(G,n,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=n.getAddress(0);return Promise.resolve(ey(y))},signTransaction:T}}async function Kf(n){let T="phrase"in n?n.phrase:void 0,l="index"in n?n.index||0:0,y=xy.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:xy.updateDerivationPath(xy.NetworkDerivationPath[Qy],{index:l})),x=T?(await gn(Qy))({derivationPath:y,phrase:T}):void 0,f=x?c5(x):("signer"in n)?n.signer:void 0;function G(){return Promise.resolve(f?.getAddress())}let{getBalance:o,getFeeRates:C,broadcastTx:L,...N}=await sy({chain:Qy});function X(_,Z=!0){return o(ay(bn(_)))}return{...N,broadcastTx:L,buildTx:i5,createTransaction:ax,getAddress:G,getAddressFromKeys:g5,getBalance:X,getFeeRates:C,stripPrefix:ay,stripToCashAddress:ey,transfer:m5({broadcastTx:L,getFeeRates:C,signer:f}),validateAddress:by}}async function ax({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x}){if(!by(T))throw new xy.SwapKitError("toolbox_utxo_invalid_address",{address:T});let f=Math.ceil(n.getBaseValue("number")+y*7500),G=await Zy(Qy).getUtxos({address:ey(x),fetchTxHex:!0,targetValue:f}),o=l?await Py(l):null,C=[];C.push({address:T,value:n.getBaseValue("number")});let{inputs:L,outputs:N}=Hy({chain:Qy,feeRate:y,inputs:G,outputs:C});if(!(L&&N))throw new xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let X=await My(),_=new Bn.TransactionBuilder(X(Qy));await Promise.all(L.map(async(Z)=>{let B=await Zy(Qy).getRawTx(Z.hash);_.addInput(Bn.Transaction.fromBuffer(Buffer.from(B,"hex")),Z.index)}));for(let Z of N){let B="address"in Z&&Z.address?Z.address:Xn(x),q=await My(),M=Bn.address.toOutputScript(Xn(B),q(Qy));_.addOutput(M,Z.value)}if(o)_.addOutput(o,0);return{builder:_,utxos:L}}function m5({broadcastTx:n,getFeeRates:T,signer:l}){return async function({recipient:x,assetValue:f,feeOptionKey:G=xy.FeeOption.Fast,...o}){let C=await l?.getAddress();if(!(l&&C))throw new xy.SwapKitError("toolbox_utxo_no_signer");if(!x)throw new xy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=o.feeRate||(await T())[G],{builder:N,utxos:X}=await ax({...o,assetValue:f,feeRate:L,recipient:x,sender:C}),Z=(await l.signTransaction({builder:N,utxos:X})).toHex();return n(Z)}}async function i5({assetValue:n,recipient:T,memo:l,feeRate:y,sender:x,setSigHashType:f}){let G=bn(T);if(!by(G))throw new xy.SwapKitError("toolbox_utxo_invalid_address",{address:G});let o=Math.ceil(n.getBaseValue("number")+y*7500),C=await Zy(Qy).getUtxos({address:ey(x),fetchTxHex:!1,targetValue:o}),L=Number(y.toFixed(0)),N=l?await Py(l):null,X=[];if(X.push({address:Xn(T),value:n.getBaseValue("number")}),N)X.push({script:N,value:0});let{inputs:_,outputs:Z}=Hy({chain:Qy,feeRate:L,inputs:C,outputs:X});if(!(_&&Z))throw new xy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:x});let B=await My(),q=new rx.Psbt({network:B(Qy)});for(let{hash:M,index:W,witnessUtxo:Y}of _)q.addInput({hash:M,index:W,sighashType:f?65:void 0,witnessUtxo:Y});for(let M of Z){let W="address"in M&&M.address?M.address:Xn(x),Y=M.script?N?{script:N,value:0}:void 0:{address:W,value:M.value};if(Y)q.addOutput(Y)}return{inputs:_,psbt:q,utxos:C}}function g5(n){let T=n.getAddress(0);return ey(T)}var Bn,xy,rx,Qy;var vT=R(()=>{Nn();rn();cn();Bn=require("@psf/bitcoincashjs-lib"),xy=require("@swapkit/helpers"),rx=require("bitcoinjs-lib"),Qy=xy.Chain.BitcoinCash});function y1(){return Wy.networks.zcash}function n1(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function d5({phrase:n,derivationPath:T}){let l=$f.mnemonicToSeedSync(n),x=Vf.HDKey.fromMasterSeed(l).derive(T);if(!x.privateKey)throw new ny.SwapKitError("toolbox_utxo_invalid_params");let f=n1(),G=Wy.ECPair.fromPrivateKey(Buffer.from(x.privateKey),{network:f}),o=Wy.crypto.hash160(G.publicKey),{isStagenet:C}=ny.SKConfig.get("envs"),L=C?Buffer.from([29,37]):Buffer.from([28,184]),N=Buffer.concat([L,o]),X=ex.default.encode(N);return{getAddress:()=>Promise.resolve(X),signTransaction:(_)=>{let Z=_.signAllInputs(G);return Promise.resolve(Z)}}}function r5({inputs:n,outputs:T,psbt:l,sender:y,compiledMemo:x}){for(let f of n){let G=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},o=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};l.addInput({hash:f.hash,index:f.index,...G,...o})}for(let f of T){let G="address"in f&&f.address?f.address:y,o=f.script;if(o&&!x)continue;let C=o?{script:x,value:0n}:{script:Wy.address.toOutputScript(G,y1()),value:BigInt(f.value)};l.addOutput(C)}return{inputs:n,psbt:l}}async function sx(n){let{assetValue:T,recipient:l,memo:y,feeRate:x,sender:f,fetchTxHex:G}=n,o=y?Py(y):null,C=await Zy(ny.Chain.Zcash).getUtxos({address:f,fetchTxHex:G!==!1}),L=[{address:l,value:Number(T.getBaseValue("string"))},...o?[{script:o,value:0}]:[]],{inputs:N,outputs:X}=Hy({chain:ny.Chain.Zcash,changeAddress:f,feeRate:x,inputs:C,outputs:L});if(!(N&&X))throw new ny.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:f});let _=Wy.bitgo.createPsbtForNetwork({network:y1()},{version:455}),B=3268858036,q=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),M=Buffer.allocUnsafe(4);M.writeUInt32LE(B>>>0,0),_.addUnknownKeyValToGlobal({key:q,value:M});let{psbt:W,inputs:Y}=await r5({compiledMemo:o,inputs:N,outputs:X,psbt:_,sender:f});return{inputs:Y,outputs:X,psbt:W}}async function bf(n){let T=await Jn.match(n).with({signer:Jn.P.not(Jn.P.nullish)},({signer:G})=>Promise.resolve(G)).with({phrase:Jn.P.string},({phrase:G,derivationPath:o,index:C=0})=>{let L=o||ny.NetworkDerivationPath[ny.Chain.Zcash]||[44,133,0,0,0],N=ny.updateDerivationPath(L,{index:C}),X=ny.derivationPathToString(N);return d5({derivationPath:X,phrase:G})}).otherwise(()=>Promise.resolve(void 0)),l=await sy({chain:ny.Chain.Zcash,signer:T});async function y({recipient:G,assetValue:o,feeOptionKey:C=ny.FeeOption.Fast,...L}){let N=await T?.getAddress();if(!(T&&N))throw new ny.SwapKitError("toolbox_utxo_no_signer");let X=L.feeRate||(await l.getFeeRates())[C],{psbt:_}=await sx({...L,assetValue:o,feeRate:X,recipient:G,sender:N}),Z=await T.signTransaction(_);return Z.finalizeAllInputs(),l.broadcastTx(Z.extractTransaction().toHex())}function x({phrase:G,derivationPath:o="m/44'/133'/0'/0/0"}){let C=$f.mnemonicToSeedSync(G),N=Vf.HDKey.fromMasterSeed(C).derive(o);if(!N.privateKey)throw new ny.SwapKitError("toolbox_utxo_invalid_params");let X=n1();return Wy.ECPair.fromPrivateKey(Buffer.from(N.privateKey),{network:X})}function f({phrase:G,derivationPath:o="m/44'/133'/0'/0/0"}){return x({derivationPath:o,phrase:G}).toWIF()}return{...l,createKeysForPath:x,createTransaction:sx,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:Zn}}var Wy,Vf,$f,ny,ex,Jn;var pf=R(()=>{Nn();rn();cn();Wy=require("@bitgo/utxo-lib"),Vf=require("@scure/bip32"),$f=require("@scure/bip39"),ny=require("@swapkit/helpers"),ex=w(require("bs58check")),Jn=require("ts-pattern")});async function a5(n,T){switch(n){case Oy.Chain.BitcoinCash:return await Kf(T||{});case Oy.Chain.Zcash:return await bf(T);case Oy.Chain.Bitcoin:case Oy.Chain.Dogecoin:case Oy.Chain.Litecoin:case Oy.Chain.Dash:return await sy({chain:n,...T});default:throw new Oy.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var Oy;var T1=R(()=>{vT();rn();pf();vT();cn();Oy=require("@swapkit/helpers")});var hf={};oy(hf,{validateZcashAddress:()=>Zn,toLegacyAddress:()=>Xn,toCashAddress:()=>bn,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>mn,isValidAddress:()=>vf,getUtxoToolbox:()=>a5,getUtxoNetwork:()=>My,getUtxoApi:()=>Zy,getUTXOAddressValidator:()=>ix,getScriptTypeForAddress:()=>hn,getOutputSize:()=>jn,getInputSize:()=>$y,getDustThreshold:()=>OT,getCreateKeysForPath:()=>gn,detectAddressNetwork:()=>Ff,createZcashToolbox:()=>bf,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>v5,createBCHToolbox:()=>Kf,compileMemo:()=>Py,calculateTxSize:()=>_n,bchValidateAddress:()=>by,addressFromKeysGetter:()=>tf,addInputsAndOutputs:()=>cx,accumulative:()=>Hy,UtxoNetwork:()=>If,UTXOScriptType:()=>kT,TX_OVERHEAD:()=>RT,OutputSizes:()=>pn,OP_RETURN_OVERHEAD:()=>$x,MIN_TX_FEE:()=>K5,InputSizes:()=>YT});module.exports=Xy(hf);var jf=R(()=>{Nn();T1();vT();rn();pf()});async function ET(){let{validateAccountId:n}=await import("near-sdk-js");return(T)=>{try{return n(T)}catch{let l=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return T.length>=2&&T.length<=64&&l.test(T)}}}async function AT(n){let{parseSeedPhrase:T}=await import("near-seed-phrase"),{KeyPair:l}=await import("near-api-js"),y=n.index||0,x=n.derivationPath?FT.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=T(n.phrase,x),G=l.fromString(f);return l1(G)}async function cf(n){let{KeyPair:T}=await import("near-api-js/lib/utils"),l=T.fromString(n);return l1(l)}function l1(n){return new x1(n)}async function tT(n,T){let y=(await n.query({account_id:T,finality:"final",request_type:"view_access_key_list"})).keys.find((o)=>o.access_key.permission==="FullAccess");if(!y)throw new FT.SwapKitError("toolbox_near_no_public_key_found");let{utils:x}=await import("near-api-js"),f=x.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var FT,f1,x1;var mf=R(()=>{FT=require("@swapkit/helpers"),f1=require("near-api-js");x1=class x1 extends f1.KeyPairSigner{#y;constructor(n){super(n);this.#y=n}getAddress(){let n=this.#y.getPublicKey(),T=Buffer.from(n.data).toString("hex");return Promise.resolve(T)}}});function gf(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function df(n){return"contractId"in n&&"methodName"in n}function rf(n){return"actions"in n}function af(n){return"newAccountId"in n}function sf(n){return"contractCode"in n}function ef(n){return"customEstimator"in n}function y0(n){let T=0;for(let l of n)switch(l.enum){case"transfer":T+=Number(ly.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(ly.CONTRACT_CALL);break;case"createAccount":T+=Number(ly.ACCOUNT_CREATION);break;case"deployContract":T+=Number(ly.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(ly.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(ly.ACCESS_KEY_DELETION);break;case"stake":T+=Number(ly.STAKE);break;default:T+=Number(ly.CONTRACT_CALL)}return T.toString()}function n0(n){if(n==="ft_transfer"||n==="ft_transfer_call")return ly.TOKEN_TRANSFER;if(n==="storage_deposit")return ly.STORAGE_DEPOSIT;return ly.CONTRACT_CALL}function s5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function e5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var ly;var T0=R(()=>{ly={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 KT({account:n,contractId:T,viewMethods:l,changeMethods:y}){let{Contract:x}=await import("near-api-js");return new x(n,T,{changeMethods:y,useLocalViewExecution:!0,viewMethods:l})}async function f0({contractId:n,account:T}){let l=(await import("bn.js")).default,y=await KT({account:T,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:n,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),x=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let C=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new l("100000000000000"),new l(C))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:x,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,G)=>y.storage_deposit({account_id:f},new l("100000000000000"),new l(G||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,G,o)=>{return await x(f),y.ft_transfer({amount:G,memo:o,receiver_id:f},new l("100000000000000"),new l("1"))},transferCall:async(f,G,o,C)=>{return await x(f),y.ft_transfer_call({amount:G,memo:C,msg:o,receiver_id:f},new l("100000000000000"),new l("1"))}}}async function yl(n){let{P:T,match:l}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),x=await l(n).with({phrase:T.string},async(J)=>{return await AT(J)}).with({signer:T.any},({signer:J})=>J).otherwise(()=>{return}),f=await m.getRPCUrl(m.Chain.Near),G=new y.JsonRpcProvider({url:f});async function o(J){let{Account:z}=await import("near-api-js"),U=J||await C();return new z(U,G,x)}async function C(){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");return await x.getAddress()}async function L(J){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let z=await N({...J,sender:await C()});return q(await B(z))}async function N(J){let{recipient:z,assetValue:U,memo:k,attachedDeposit:u,sender:A,functionCall:j}=J,a=await ET();if(!a(z))throw new m.SwapKitError("toolbox_near_invalid_address",{recipient:z});if(!a(A))throw new m.SwapKitError("toolbox_near_invalid_address",{signerId:A});if(j)return _({...j,sender:A});if(!U.isGasAsset){let cy=U.address;if(!cy)throw new m.SwapKitError("toolbox_near_missing_contract_address");return _({args:{amount:U.getBaseValue("string"),memo:k||null,receiver_id:z},attachedDeposit:u||"1",contractId:cy,gas:"250000000000000",methodName:"ft_transfer",sender:A})}let{publicKey:b,nonce:By}=await tT(G,A),Jy=U.getBaseValue("bigint"),{transactions:Cy,utils:Yy}=await import("near-api-js"),jy=[Cy.transfer(Jy)];if(k&&u)jy.push(Cy.functionCall("memo",{memo:k},BigInt("250000000000000"),BigInt(u)));let sn=await G.block({finality:"final"}),VT=Yy.serialize.base_decode(sn.header.hash);return Cy.createTransaction(A,b,z,By+1,jy,VT)}async function X(J){let{SCHEMA:z}=await import("near-api-js/lib/transaction"),{utils:U}=await import("near-api-js"),k=U.serialize.serialize(z.Transaction,J);return Buffer.from(k).toString("base64")}async function _(J){let{sender:z}=J,{publicKey:U,nonce:k}=await tT(G,z),{transactions:u,utils:A}=await import("near-api-js"),j=await G.block({finality:"final"}),a=A.serialize.base_decode(j.header.hash),b=[u.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))];return u.createTransaction(z,U,J.contractId,k+1,b,a)}async function Z(J){let{transactions:z}=await import("near-api-js");return z.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))}async function B(J){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let[z,U]=await x.signTransaction(J);return U}async function q(J){return(await G.sendTransaction(J)).transaction.hash}async function M(J){if("assetValue"in J){let u=BigInt("115123062500")+BigInt("108059500000"),A=await W(),j=u*BigInt(A.toString()),{baseDecimal:a}=m.getChainConfig(m.Chain.Near);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:a,value:j.toString()})}let z=x?await o():void 0;return Gy(J,z)}async function W(){try{return await G.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Y(J,z,U){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let k=await o(),{utils:u}=await import("near-api-js"),A=u.format.parseNearAmount(U)||"0";return(await k.createAccount(J,u.PublicKey.fromString(z),BigInt(A))).transaction.hash}async function t(J){try{if(!x)throw new m.SwapKitError("toolbox_near_no_signer");let{transactions:z}=await import("near-api-js"),{contractId:U,methodName:k,args:u,deposit:A}=J,j=await o(),a=await Gy({args:u||{},contractId:U,methodName:k}),b=z.functionCall(k,u||{},a.getBaseValue("bigint"),BigInt(A||"1"));return(await j.signAndSendTransaction({actions:[b],receiverId:U})).transaction_outcome.id}catch(z){throw new m.SwapKitError("toolbox_near_transfer_failed",{error:z})}}async function E(J){let z=await o();return KT({account:z,changeMethods:J.changeMethods,contractId:J.contractId,viewMethods:J.viewMethods})}async function V(J){if(!x)throw new m.SwapKitError("toolbox_near_no_signer");if(J.actions.length===0)throw new m.SwapKitError("toolbox_near_empty_batch");return(await(await o()).signAndSendTransaction({actions:J.actions,receiverId:J.receiverId})).transaction.hash}async function r(J){let z=await o();return f0({account:z,contractId:J})}async function Gy(J,z){let{baseDecimal:U}=m.getChainConfig(m.Chain.Near),k=await l(J).when(gf,()=>ly.SIMPLE_TRANSFER).when(df,(j)=>n0(j.methodName)).when(rf,(j)=>y0(j.actions)).when(af,()=>ly.ACCOUNT_CREATION).when(sf,()=>ly.CONTRACT_DEPLOYMENT).when(ef,(j)=>{if(!z)throw new m.SwapKitError("toolbox_near_no_account");return j.customEstimator(z)}).otherwise(()=>{throw new m.SwapKitError("toolbox_near_invalid_gas_params")}),A=BigInt(k)*BigInt(1000000000000);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:U,value:A})}async function uy(){try{return(await G.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:q,callFunction:t,createAction:Z,createContract:E,createContractFunctionCall:_,createSubAccount:Y,createTransaction:N,estimateGas:Gy,estimateTransactionFee:M,executeBatchTransaction:V,getAddress:C,getBalance:nn(m.Chain.Near),getGasPrice:uy,getPublicKey:async()=>x?(await x.getPublicKey()).toString():"",getSignerFromPhrase:(J)=>AT(J),getSignerFromPrivateKey:cf,nep141:r,provider:G,serializeTransaction:X,signTransaction:B,transfer:L,validateAddress:await ET()}}var m;var x0=R(()=>{Mn();mf();T0();m=require("@swapkit/helpers")});var G1=R(()=>{x0()});var l0={};oy(l0,{tgasToGas:()=>s5,isSimpleTransfer:()=>gf,isCustomEstimator:()=>ef,isContractDeployment:()=>sf,isContractCall:()=>df,isBatchTransaction:()=>rf,isAccountCreation:()=>af,getValidateNearAddress:()=>ET,getNearToolbox:()=>yl,getNearSignerFromPrivateKey:()=>cf,getNearSignerFromPhrase:()=>AT,getFullAccessPublicKey:()=>tT,getContractMethodGas:()=>n0,gasToTGas:()=>e5,estimateBatchGas:()=>y0,createNearContract:()=>KT,createNEP141Token:()=>f0,GAS_COSTS:()=>ly});module.exports=Xy(l0);var G0=R(()=>{mf();T0();x0();G1()});var o0={};oy(o0,{radixValidateAddress:()=>o1,RadixToolbox:()=>ll});module.exports=Xy(o0);function o1(n){return n.startsWith("account_rdx1")&&n.length===66}function nl({networkApi:n}){return async function(l){let y=await Tl({address:l,networkApi:n});return fl({networkApi:n,resources:y})}}async function Tl({address:n,networkApi:T}){let l=!0,y,x=[],f=await xl(T);while(l){let G={address:n,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},o=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:G});if(x=x.concat(o.items),o.next_cursor)y=o.next_cursor;else l=!1}return x}async function fl({resources:n,networkApi:T}){let l=[],y=50,x=[];for(let f=0;f<n.length;f+=50)x.push(n.slice(f,f+50));for(let f of x){let G=f.map((L)=>L.resource_address),o=await T.state.getEntityDetailsVaultAggregated(G),C=new Map;for(let L of o)if(L.details!==void 0){let N=L.metadata?.items.find((_)=>_.key==="symbol"),X=N?.value.typed.type==="String"?N.value.typed.value:"?";if(L.details.type==="FungibleResource")C.set(L.address,{decimals:L.details.divisibility,symbol:X})}for(let L of f)if(L.aggregation_level==="Global"){let N=C.get(L.resource_address)||{decimals:0,symbol:"?"},X=Sy.AssetValue.from({asset:N.symbol!==Sy.Chain.Radix?`${Sy.Chain.Radix}.${N.symbol}-${L.resource_address}`:"XRD.XRD",value:L.amount});l.push(X)}}return l}function xl(n){return n.status.getCurrent().then((T)=>T.ledger_state.state_version)}var Sy,ll=async({dappConfig:n}={})=>{let{RadixDappToolkit:T}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:l}=await import("@radixdlt/babylon-gateway-api-sdk"),y=n||Sy.SKConfig.get("integrations").radix,x=T({...y,networkId:y.network?.networkId||1}),f=l.initialize(x.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:nl({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new Sy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:o1}};var C0=R(()=>{Sy=require("@swapkit/helpers")});var X0={};oy(X0,{rippleValidateAddress:()=>L0,hashes:()=>L1.hashes,getRippleToolbox:()=>ol});module.exports=Xy(X0);function C1(n){let T=py.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(l)=>Promise.resolve(T.sign(l))}}function L0(n){return py.isValidAddress(n)}var h,py,L1,Gl,ol=async(n={})=>{let T="signer"in n&&n.signer?n.signer:("phrase"in n)&&n.phrase?C1(n.phrase):void 0,l=await h.getRPCUrl(h.Chain.Ripple);if(!l)throw new h.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:h.Chain.Ripple}});let y=new py.Client(l);await y.connect();let x=()=>{if(!T)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},f=async(_)=>{let Z=_||await x(),{baseDecimal:B}=h.getChainConfig(h.Chain.Ripple);try{let M=(await y.request({account:Z,command:"account_info"})).result.account_data.Balance;return[h.AssetValue.from({chain:h.Chain.Ripple,fromBaseDecimal:B,value:M})]}catch(q){if(q.data.error_code===Gl.ACCOUNT_NOT_FOUND)return[h.AssetValue.from({chain:h.Chain.Ripple,value:0})];throw new h.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:Z,error:q}})}},G=async()=>{let Z=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:B}=h.getChainConfig(h.Chain.Ripple);return h.AssetValue.from({chain:h.Chain.Ripple,fromBaseDecimal:B,value:h.SwapKitNumber.fromBigInt(BigInt(Z),B)})},o=async({assetValue:_,recipient:Z,memo:B,sender:q})=>{if(!L0(Z))throw new h.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let M=q||await x();if(!_.isGasAsset||_.chain!==h.Chain.Ripple)throw new h.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:_.toString()}});let W={Account:M,Amount:py.xrpToDrops(_.getValue("string")),Destination:Z,TransactionType:"Payment"};if(B)W.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(W)},C=(_)=>{if(!T)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(_)},L=async(_)=>{let B=(await y.submitAndWait(_)).result;if(B.validated)return B.hash;throw new h.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:h.Chain.Ripple}})};return{broadcastTransaction:L,createSigner:C1,createTransaction:o,disconnect:()=>y.disconnect(),estimateTransactionFee:G,getAddress:x,getBalance:f,signer:T,signTransaction:C,transfer:async(_)=>{if(!T)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let Z=await T.getAddress(),B=await o({..._,sender:Z}),q=await C(B);return L(q.tx_blob)},validateAddress:L0}};var _0=R(()=>{h=require("@swapkit/helpers"),py=require("xrpl"),L1=require("xrpl"),Gl={ACCOUNT_NOT_FOUND:19}});async function Cl(n,T,l){try{let y=await n.query.system?.account?.(l);if(!y)return[T.set(0)];let{data:{free:x}}=y,f=yn.SwapKitNumber.fromBigInt(BigInt(x.toString()),T.decimal).getValue("string");return[T.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[T.set(0)]}}async function Ll(n,T,l){try{let y=await n.query.flip?.account?.(l);if(!y)return[T.set(0)];let x=y.balance||y.data?.balance;if(!x||x.isEmpty)return[T.set(0)];let f=yn.SwapKitNumber.fromBigInt(BigInt(x.toString()),T.decimal).getValue("string");return[T.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[T.set(0)]}}function X1(n,T){return function(y){let x=yn.AssetValue.from({chain:n});switch(n){case yn.Chain.Chainflip:return Ll(T,x,y);default:return Cl(T,x,y)}}}var yn;var _1=R(()=>{yn=require("@swapkit/helpers")});var Xl,_l,Nl,hy;var N0=R(()=>{Xl={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},_l={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},Nl={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hy={DOT:Xl,FLIP:_l,GENERIC:Nl}});function Zl(n,T){switch(n){case d.Chain.Chainflip:return Z1(T);case d.Chain.Polkadot:return N1(T);default:throw new d.SwapKitError("toolbox_substrate_not_supported",{chain:n})}}function wn(n){return"address"in n}async function B0(n,T){let{Keyring:l}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new l({ss58Format:T,type:"sr25519"}).addFromUri(n)}function Ml(n,T){let l=Qn.decodeAddress(n);return Qn.encodeAddress(l,T)}function B1(n,T){return qn.isHex(n)?qn.hexToU8a(n):Qn.decodeAddress(n,void 0,T)}function J1(n,T="ss58",l){if(T==="hex")return qn.u8aToHex(n);return Qn.encodeAddress(n,l)}async function q0({generic:n,chain:T,...l}){let{ApiPromise:y,WsProvider:x}=await import("@polkadot/api"),f=await d.getRPCUrl(T),G=new x(f),o=await y.create({provider:G}),C=d.AssetValue.from({chain:T}),L=n?hy.GENERIC:hy[T],N=await an.match(l).with({phrase:an.P.string},({phrase:X})=>B0(X,hy[T].prefix)).with({signer:an.P.any},({signer:X})=>X).otherwise(()=>{return});return w1({api:o,chain:T,gasAsset:C,network:L,signer:N})}var qn,Qn,d,an,N1=({generic:n=!1,...T}={})=>{return q0({chain:d.Chain.Polkadot,generic:n,...T})},Z1=async({generic:n=!1,...T}={})=>{return{...await q0({chain:d.Chain.Chainflip,generic:n,...T})}},J0=(n,T)=>n.rpc.system.accountNextIndex(T),Z0=(n,T)=>{try{let l=B1(n,T);return J1(l,"ss58",T),!0}catch{return!1}},w0=(n,{recipient:T,assetValue:l})=>n.tx.balances?.transferAllowDeath?.(T,l.getBaseValue("number")),Bl=async(n,T,{recipient:l,assetValue:y,sender:x})=>{let f=w0(n,{assetValue:y,recipient:l});if(!f)throw new d.SwapKitError("toolbox_substrate_transfer_error");let G=wn(T),o=G?T.address:x;if(!o)throw new d.SwapKitError("core_transaction_invalid_sender_address");let C=await J0(n,o);return(await f.signAndSend(G?T:o,{nonce:C,signer:G?void 0:T})).toString()},Jl=async(n,T,l,{recipient:y,assetValue:x,sender:f})=>{let G=w0(n,{assetValue:x,recipient:y}),o=wn(T)?T.address:f;if(!o)return;let C=await G?.paymentInfo(o,{nonce:await J0(n,o)})||{partialFee:0};return l.set(d.SwapKitNumber.fromBigInt(BigInt(C.partialFee.toString()),l.decimal).getValue("string"))},wl=async(n,T)=>{if(T)return n.send(T);return(await n.send()).toString()},ql=async(n,T)=>{return await T.signAsync(n)},Ql=(n,T,l)=>{if(l)return T.signAndSend(n,l);return T.signAndSend(n).toString()},Wl=async({signer:n,address:T,tx:l,callback:y,api:x})=>{let f=await J0(x,T);if(y)l.signAndSend(T,{nonce:f,signer:n},y);return l.signAndSend(T,{nonce:f,signer:n}).toString()},w1=({api:n,network:T,gasAsset:l,signer:y,chain:x})=>({api:n,broadcast:wl,convertAddress:Ml,createKeyring:(f)=>B0(f,T.prefix),createTransaction:(f)=>w0(n,f),decodeAddress:B1,encodeAddress:J1,estimateTransactionFee:(f)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return Jl(n,y,l,f)},gasAsset:l,getAddress:(f)=>{let G=f||y;if(!G)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return wn(G)?G.address:void 0},getBalance:X1(x||d.Chain.Polkadot,n),network:T,sign:(f)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(wn(y))return ql(y,f);throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:G,address:o})=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(wn(y))return Ql(y,f,G);if(o)return Wl({address:o,api:n,callback:G,signer:y,tx:f});throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return Bl(n,y,f)},validateAddress:(f)=>Z0(f,T.prefix)}),Pl=({address:n,chain:T})=>{let{prefix:l}=T===d.Chain.Polkadot?hy.DOT:hy.FLIP;return Z0(n,l)||Z0(n,hy.GENERIC.prefix)};var q1=R(()=>{_1();N0();qn=require("@polkadot/util"),Qn=require("@polkadot/util-crypto"),d=require("@swapkit/helpers"),an=require("ts-pattern")});var Q0={};oy(Q0,{substrateValidateAddress:()=>Pl,isKeyringPair:()=>wn,getSubstrateToolbox:()=>Zl,createSubstrateToolbox:()=>q0,createKeyring:()=>B0,SubstrateNetwork:()=>hy,PolkadotToolbox:()=>N1,ChainflipToolbox:()=>Z1,BaseSubstrateToolbox:()=>w1});module.exports=Xy(Q0);var W0=R(()=>{q1();N0()});var Ul={};oy(Ul,{getToolbox:()=>M0,getFeeEstimator:()=>Hl,getAddressValidator:()=>zl});module.exports=Xy(Ul);var Q=require("@swapkit/helpers");async function zl(){let{match:n}=await import("ts-pattern"),{evmValidateAddress:T}=await Promise.resolve().then(() => (m0(),c0)),{getCardanoAddressValidator:l}=await Promise.resolve().then(() => (nf(),yf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (QT(),qT)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (Hf(),zf)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (MT(),WT)),{getTONAddressValidator:G}=await Promise.resolve().then(() => (zT(),PT)),{getTronAddressValidator:o}=await Promise.resolve().then(() => (Rf(),Df)),{getUTXOAddressValidator:C}=await Promise.resolve().then(() => (jf(),hf)),{getValidateNearAddress:L}=await Promise.resolve().then(() => (G0(),l0)),{radixValidateAddress:N}=await Promise.resolve().then(() => (C0(),o0)),{rippleValidateAddress:X}=await Promise.resolve().then(() => (_0(),X0)),{substrateValidateAddress:_}=await Promise.resolve().then(() => (W0(),Q0)),Z=await l(),B=await L(),q=await x(),M=await f(),W=await G(),Y=await o(),t=await C();return function({address:V,chain:r}){return n(r).with(...Q.EVMChains,()=>T({address:V})).with(...Q.UTXOChains,()=>t({address:V,chain:r})).with(Q.Chain.Cosmos,Q.Chain.Kujira,Q.Chain.Noble,Q.Chain.Maya,Q.Chain.THORChain,(uy)=>{return y(uy)(V)}).with(Q.Chain.Chainflip,Q.Chain.Polkadot,()=>_({address:V,chain:r})).with(Q.Chain.Radix,()=>N(V)).with(Q.Chain.Near,()=>B(V)).with(Q.Chain.Ripple,()=>X(V)).with(Q.Chain.Solana,()=>q(V)).with(Q.Chain.Sui,()=>M(V)).with(Q.Chain.Ton,()=>W(V)).with(Q.Chain.Tron,()=>Y(V)).with(Q.Chain.Cardano,()=>Z(V)).otherwise(()=>!1)}}function Hl(n){return async function(l){let{match:y}=await import("ts-pattern");return y(n).returnType().with(Q.Chain.Arbitrum,Q.Chain.Aurora,Q.Chain.Avalanche,Q.Chain.Base,Q.Chain.Berachain,Q.Chain.BinanceSmartChain,Q.Chain.Ethereum,Q.Chain.Gnosis,Q.Chain.Optimism,Q.Chain.Polygon,async(x)=>{let f=await M0(x),G=await f.createTransaction(l);return f.estimateTransactionFee({...G,chain:x,feeOption:l.feeOptionKey||Q.FeeOption.Fast})}).with(Q.Chain.Bitcoin,Q.Chain.BitcoinCash,Q.Chain.Dogecoin,Q.Chain.Dash,Q.Chain.Litecoin,Q.Chain.Polkadot,Q.Chain.Solana,Q.Chain.Ripple,Q.Chain.Tron,Q.Chain.Near,Q.Chain.Cardano,async(x)=>{return(await M0(x)).estimateTransactionFee(l)}).with(Q.Chain.Sui,async()=>{let{getSuiToolbox:x}=await Promise.resolve().then(() => (MT(),WT));return(await x()).estimateTransactionFee(l)}).with(Q.Chain.Ton,async()=>{let{getTONToolbox:x}=await Promise.resolve().then(() => (zT(),PT));return(await x()).estimateTransactionFee()}).with(Q.Chain.THORChain,Q.Chain.Maya,Q.Chain.Kujira,Q.Chain.Noble,Q.Chain.Cosmos,async()=>{let{estimateTransactionFee:x}=await Promise.resolve().then(() => (QT(),qT));return x(l)}).otherwise(async()=>Q.AssetValue.from({chain:n}))}}async function M0(n,T){let{match:l}=await import("ts-pattern");return l(n).returnType().with(Q.Chain.Arbitrum,Q.Chain.Aurora,Q.Chain.Avalanche,Q.Chain.Base,Q.Chain.Berachain,Q.Chain.BinanceSmartChain,Q.Chain.Ethereum,Q.Chain.Gnosis,Q.Chain.Optimism,Q.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (sT(),p0));return await y(n,T)}).with(Q.Chain.Litecoin,Q.Chain.Dash,Q.Chain.Dogecoin,Q.Chain.BitcoinCash,Q.Chain.Bitcoin,Q.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (jf(),hf));return await y(n,T)}).with(Q.Chain.Cosmos,Q.Chain.Kujira,Q.Chain.Noble,Q.Chain.Maya,Q.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (QT(),qT));return await y(n,T)}).with(Q.Chain.Chainflip,Q.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (W0(),Q0));return await y(n,T)}).with(Q.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (C0(),o0));return await y(T)}).with(Q.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (_0(),X0));return await y(T)}).with(Q.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (Hf(),zf));return await y(T)}).with(Q.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (MT(),WT));return await y(T)}).with(Q.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Rf(),Df));return await y(T)}).with(Q.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (G0(),l0));return await y(T)}).with(Q.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (nf(),yf));return await y(T)}).with(Q.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (zT(),PT));return await y(T)}).otherwise(()=>{throw new Q.SwapKitError("toolbox_not_supported",{chain:n})})}
|
|
1
|
+
var S0=Object.create;var{getPrototypeOf:I0,defineProperty:MT,getOwnPropertyNames:Io,getOwnPropertyDescriptor:v0}=Object,vo=Object.prototype.hasOwnProperty;var J=(T,n,x)=>{x=T!=null?S0(I0(T)):{};let y=n||!T||!T.__esModule?MT(x,"default",{value:T,enumerable:!0}):x;for(let o of Io(T))if(!vo.call(y,o))MT(y,o,{get:()=>T[o],enumerable:!0});return y},So=new WeakMap,_y=(T)=>{var n=So.get(T),x;if(n)return n;if(n=MT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")Io(T).map((y)=>!vo.call(n,y)&&MT(n,y,{get:()=>T[y],enumerable:!(x=v0(T,y))||x.enumerable}));return So.set(T,n),n};var Xy=(T,n)=>{for(var x in n)MT(T,x,{get:n[x],enumerable:!0,configurable:!0,set:(y)=>n[x]=()=>y})};var D=(T,n)=>()=>(T&&(n=T(T=0)),n);function Fo(){function T(){let n=Date.now(),x=mn||n;return mn=x,n>mn?n:x+1}return u0+T().toString(36)}function TT(T){return async function(x,y=!0){let o=await uo.SwapKitApi.getChainBalance({address:x,chain:T,scamFilter:y}),{baseDecimal:f}=eT.getChainConfig(T);return o.map(({identifier:l,value:C,decimal:G})=>{return new eT.AssetValue({decimal:G||f,identifier:l,value:C})})}}var eT,uo,u0,mn=0;var WT=D(()=>{eT=require("@swapkit/helpers"),uo=require("@swapkit/helpers/api"),u0=typeof process<"u"&&process.pid?process.pid.toString(36):""});function PT(T){let n=yn.SKConfig.get("apis")[T];if(n)return yn.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),n;return E0(T)}function F0(T){return T}function E0(T){return{getBalance:TT(T)}}var yn;var Tn=D(()=>{WT();yn=require("@swapkit/helpers")});async function my(T,n){let{JsonRpcProvider:x}=await import("ethers");return new x(n||await i.getRPCUrl(T))}function zT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function gn(T){let{explorerUrl:n,chainId:x,rpcUrls:y}=i.getChainConfig(T);return()=>T===i.Chain.Ethereum?void 0:{...A0({chain:T}),blockExplorerUrls:[n],chainId:x,rpcUrls:y}}function dn(T){return![i.Chain.Arbitrum,i.Chain.BinanceSmartChain].includes(T)}function A0({chain:T}){let{baseDecimal:n}=i.getChainConfig(T);switch(T){case i.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:n,name:"Avalanche",symbol:T}};case i.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:n,name:"Berachain",symbol:"BERA"}};case i.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:n,name:"Binance Coin",symbol:"BNB"}};case i.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:n,name:"xDAI",symbol:"XDAI"}};case i.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:n,name:"Ethereum",symbol:i.Chain.Ethereum}};case i.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:n,name:"Polygon",symbol:i.Chain.Polygon}};default:throw new i.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var i;var nT=D(()=>{i=require("@swapkit/helpers")});var Eo;var Ao=D(()=>{Eo=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function oT({chain:T=P.Chain.Ethereum,provider:n,signer:x,isEIP1559Compatible:y=!0}){return{approve:$0({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),approvedAmount:Vo({chain:T,provider:n}),broadcastTransaction:n.broadcastTransaction,call:Tf({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),createApprovalTx:c0({chain:T,provider:n,signer:x}),createContract:sn({chain:T,provider:n}),createContractTxObject:iy({chain:T,provider:n}),createTransaction:rn({chain:T,provider:n,signer:x}),createTransferTx:rn({chain:T,provider:n,signer:x}),EIP1193SendTransaction:lT(n),estimateCall:bo({provider:n,signer:x}),estimateGasLimit:h0({chain:T,provider:n,signer:x}),estimateGasPrices:gy({chain:T,isEIP1559Compatible:y,provider:n}),estimateTransactionFee:m0({chain:T,isEIP1559Compatible:y,provider:n}),getAddress:()=>{return x?x.getAddress():void 0},isApproved:b0({chain:T,provider:n}),sendTransaction:$o({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),signMessage:x?.signMessage,transfer:p0({chain:T,isEIP1559Compatible:y,provider:n,signer:x}),validateAddress:(o)=>an({address:o})}}function an({address:T}){try{return wy.getAddress(T),!0}catch{return!1}}function xT(T){return T instanceof wy.BrowserProvider}function HT(T,n,x){return new wy.Contract(T,wy.Interface.from(n),x)}function sn({provider:T}){return function(x,y){return new wy.Contract(x,wy.Interface.from(y),T)}}function en({abi:T,funcName:n}){let x=T.find((y)=>y.name===n);if(!x)throw new P.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return x.stateMutability&&t0.includes(x.stateMutability)}function to(T){return wy.getAddress(T)}function lT(T){return function({value:x,...y}){if(!xT(T))throw new P.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:f,maxFeePerGas:l,maxPriorityFeePerGas:C,...G}=y;return T.send("eth_sendTransaction",[{...G,value:zT(BigInt(x||0))}])}}function Ko(T,n){let x=CT(T,n);if(x)return wy.getAddress(x.toLowerCase());throw new P.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function CT({chain:T,symbol:n,ticker:x},y){try{let o=T===P.Chain.BinanceSmartChain&&n==="BNB"&&x==="BNB",f=T===y&&n===y&&x===y,l=V0.includes(T)&&n==="ETH"&&x==="ETH";if(f||o||l)return yf[y];return wy.getAddress(n.slice(x.length+1).replace(/^0X/,""))}catch{return null}}function iy({provider:T}){return async({contractAddress:n,abi:x,funcName:y,funcParams:o=[],txOverrides:f})=>HT(n,x,T).getFunction(y).populateTransaction(...o.concat(f).filter((l)=>typeof l<"u"))}function gy({chain:T,provider:n,isEIP1559Compatible:x=!0}){if(T===P.Chain.Arbitrum)return async function(){try{let{gasPrice:o}=await n.getFeeData();if(!o)throw new P.SwapKitError("toolbox_evm_no_fee_data");return{[P.FeeOption.Average]:{gasPrice:o},[P.FeeOption.Fast]:{gasPrice:o},[P.FeeOption.Fastest]:{gasPrice:o}}}catch(o){throw new P.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}};return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:l}=await n.getFeeData();if(x){if(o===null||f===null)throw new P.SwapKitError("toolbox_evm_no_fee_data");return{[P.FeeOption.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:f},[P.FeeOption.Fast]:{maxFeePerGas:P.applyFeeMultiplierToBigInt(o,P.FeeOption.Fast),maxPriorityFeePerGas:P.applyFeeMultiplierToBigInt(f,P.FeeOption.Fast)},[P.FeeOption.Fastest]:{maxFeePerGas:P.applyFeeMultiplierToBigInt(o,P.FeeOption.Fastest),maxPriorityFeePerGas:P.applyFeeMultiplierToBigInt(f,P.FeeOption.Fastest)}}}if(!l)throw new P.SwapKitError("toolbox_evm_no_gas_price");return{[P.FeeOption.Average]:{gasPrice:l},[P.FeeOption.Fast]:{gasPrice:P.applyFeeMultiplierToBigInt(l,P.FeeOption.Fast)},[P.FeeOption.Fastest]:{gasPrice:P.applyFeeMultiplierToBigInt(l,P.FeeOption.Fastest)}}}catch(o){throw new P.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function Tf({provider:T,isEIP1559Compatible:n,signer:x,chain:y}){return async function({callProvider:f,contractAddress:l,abi:C,funcName:G,funcParams:L=[],txOverrides:_={},feeOption:X=P.FeeOption.Fast}){let N=f||T;if(!l)throw new P.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let w=en({abi:C,funcName:G});if(w&&xT(N)&&x){let M=iy({chain:y,provider:N}),Q=_?.from||await x?.getAddress(),H=await M({abi:C,contractAddress:l,funcName:G,funcParams:L,txOverrides:{..._,from:Q}});return lT(N)(H)}let Z=HT(l,C,N);if(w){if(!x)throw new P.SwapKitError("toolbox_evm_no_signer");let M=_?.from||await x.getAddress();if(!M)throw new P.SwapKitError("toolbox_evm_no_signer_address");let Q=Z.connect(x),H=gy({chain:y,isEIP1559Compatible:n,provider:T}),{maxFeePerGas:t,maxPriorityFeePerGas:E,gasPrice:V}=(await H())[X],r=await Z.getFunction(G).estimateGas(...L,_),Ly=await Q[G](...L,{..._,gasLimit:r,gasPrice:V,maxFeePerGas:t,maxPriorityFeePerGas:E,nonce:_?.nonce||await N.getTransactionCount(M)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let q=await Z[G]?.(...L);return typeof q?.hash==="string"?q?.hash:q}}function Vo({provider:T,chain:n}){return function({assetAddress:y,spenderAddress:o,from:f}){return Tf({chain:n,isEIP1559Compatible:!0,provider:T})({abi:fT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[f,o]})}}function b0({provider:T,chain:n}){return async function({assetAddress:y,spenderAddress:o,from:f,amount:l=UT}){let C=await Vo({chain:n,provider:T})({assetAddress:y,from:f,spenderAddress:o});return P.SwapKitNumber.fromBigInt(C).gte(P.SwapKitNumber.fromBigInt(BigInt(l)))}}function $0({signer:T,isEIP1559Compatible:n=!0,provider:x,chain:y}){return async function({assetAddress:f,spenderAddress:l,feeOptionKey:C=P.FeeOption.Fast,amount:G,gasLimitFallback:L,from:_,nonce:X}){let N=[l,BigInt(G||UT)],w=await T?.getAddress()||_,Z={abi:fT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:N,signer:T,txOverrides:{from:w}};if(xT(x)){let M=iy({chain:y,provider:x}),Q=lT(x),H=await M(Z);return Q(H)}return Tf({chain:y,isEIP1559Compatible:n,provider:x,signer:T})({...Z,feeOption:C,funcParams:N,txOverrides:{from:w,gasLimit:L?BigInt(L.toString()):void 0,nonce:X}})}}function p0({signer:T,isEIP1559Compatible:n=!0,provider:x}){return async function({assetValue:o,memo:f,recipient:l,feeOptionKey:C=P.FeeOption.Fast,sender:G,...L}){let{hexlify:_,toUtf8Bytes:X}=await import("ethers"),N=o.getBaseValue("bigint"),w=o.chain,Z=G||await T?.getAddress(),q=$o({chain:w,isEIP1559Compatible:n,provider:x,signer:T});if(!Z)throw new P.SwapKitError("toolbox_evm_no_from_address");if(o.isGasAsset){let V={...L,data:_(X(f||"")),feeOptionKey:C,from:Z,to:l,value:N};return q(V)}if(!CT(o,w))throw new P.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:Q,maxPriorityFeePerGas:H,gasPrice:t}=(await gy({chain:w,isEIP1559Compatible:n,provider:x})())[C],E=await rn({chain:w,provider:x,signer:T})({assetValue:o,data:_(X(f||"")),gasPrice:t,maxFeePerGas:Q,maxPriorityFeePerGas:H,memo:f,recipient:l,sender:Z});return q(E)}}function bo({provider:T,signer:n}){return function({contractAddress:y,abi:o,funcName:f,funcParams:l=[],txOverrides:C}){if(!y)throw new P.SwapKitError("toolbox_evm_no_contract_address");let G=HT(y,o,T);return n?G.connect(n).getFunction(f).estimateGas(...l,C):G.getFunction(f).estimateGas(...l,C)}}function h0({provider:T,signer:n}){return async function({assetValue:y,recipient:o,memo:f,data:l,sender:C,funcName:G,funcParams:L,txOverrides:_}){let X=y.bigIntValue,N=y.isGasAsset?null:CT(y,y.chain);if(N&&G)return bo({provider:T,signer:n})({abi:fT.erc20ABI,contractAddress:N,funcName:G,funcParams:L,txOverrides:_});let{hexlify:w,toUtf8Bytes:Z}=await import("ethers");return T.estimateGas({data:l?l:f?w(Z(f)):void 0,from:C,to:o,value:X})}}function $o({provider:T,signer:n,isEIP1559Compatible:x=!0,chain:y}){return async function({feeOptionKey:f=P.FeeOption.Fast,...l}){let{from:C,to:G,data:L,value:_,...X}=l;if(!n)throw new P.SwapKitError("toolbox_evm_no_signer");if(!G)throw new P.SwapKitError("toolbox_evm_no_to_address");let N={...X,data:L||"0x",from:C,to:G,value:BigInt(_||0)};if(xT(T))return lT(T)(N);let w=C||await n.getAddress(),Z=l.nonce||await T.getTransactionCount(w),q=(await T.getNetwork()).chainId,M=j0(N)||x,Q=gy({chain:y,isEIP1559Compatible:x,provider:T}),H=M&&!(N.maxFeePerGas&&N.maxPriorityFeePerGas)||!N.gasPrice?Object.entries((await Q())[f]).reduce((E,[V,r])=>({...E,[V]:zT(BigInt(r))}),{}):{},t;try{t=zT(N.gasLimit||await T.estimateGas(N)*11n/10n)}catch(E){throw new P.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:E})}try{let E={...N,chainId:q,gasLimit:t,nonce:Z,type:M?2:0,...H};try{return(await n.sendTransaction(E)).hash}catch{let V=await n.signTransaction({...E,from:w});return(await T.broadcastTransaction(V)).hash}}catch(E){throw new P.SwapKitError("toolbox_evm_error_sending_transaction",{error:E})}}}function rn({provider:T,signer:n}){return async function({assetValue:y,memo:o,recipient:f,data:l,sender:C,maxFeePerGas:G,maxPriorityFeePerGas:L,gasPrice:_,...X}){let N=y.getBaseValue("bigint"),w=y.chain,Z=C||await n?.getAddress();if(!Z)throw new P.SwapKitError("toolbox_evm_no_from_address");if(P.isGasAsset(y)){let{hexlify:Q,toUtf8Bytes:H}=await import("ethers");return{...X,data:l||Q(H(o||"")),from:Z,to:f,value:N}}let q=CT(y,w);if(!q)throw new P.SwapKitError("toolbox_evm_no_contract_address");return iy({chain:y.chain,provider:T})({abi:fT.erc20ABI,contractAddress:q,funcName:"transfer",funcParams:[f,N],txOverrides:{from:Z,gasPrice:_,maxFeePerGas:G,maxPriorityFeePerGas:L}})}}function c0({provider:T,signer:n,chain:x}){return async function({assetAddress:o,spenderAddress:f,amount:l,from:C}){let G=await n?.getAddress()||C,L=iy({chain:x,provider:T}),_=["bigint","number"].includes(typeof l)?l:l||UT;return await L({abi:fT.erc20ABI,contractAddress:o,funcName:"approve",funcParams:[f,BigInt(_)],txOverrides:{from:G}})}}function m0({provider:T,isEIP1559Compatible:n=!0}){return async function({feeOption:y=P.FeeOption.Fast,chain:o,...f}){let C=await gy({chain:o,isEIP1559Compatible:n,provider:T})(),G=await T.estimateGas(f),L=P.AssetValue.from({chain:o}),{gasPrice:_,maxFeePerGas:X,maxPriorityFeePerGas:N}=C[y];if(!n&&_)return L.set(P.SwapKitNumber.fromBigInt(_*G,L.decimal));if(X&&N){let w=(X+N)*G;return L.set(P.SwapKitNumber.fromBigInt(w,L.decimal))}throw new P.SwapKitError("toolbox_evm_no_gas_price")}}var P,fT,wy,UT,t0,K0,yf,V0,j0=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var nn=D(()=>{nT();P=require("@swapkit/helpers"),fT=require("@swapkit/helpers/contracts"),wy=require("ethers"),UT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");t0=["payable","nonpayable"];K0=P.EVMChains.reduce((T,n)=>{return T[n]="0x0000000000000000000000000000000000000000",T},{}),yf={...K0,[P.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[P.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},V0=[P.Chain.Arbitrum,P.Chain.Aurora,P.Chain.Base,P.Chain.Optimism]});async function fn({provider:T,...n}){let x=await xy(s.Chain.Ethereum)({provider:T,...n});async function y(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",C=s.FeeOption.Fast){let G=await x.createContractTxObject({abi:Eo,contractAddress:f,funcName:l,funcParams:[o]});return x.sendTransaction({...G,feeOptionKey:C})}return{...x,multicall:y}}function xy(T){return async function({provider:x,...y}){let{HDNodeWallet:o}=await import("ethers"),f=await s.getRPCUrl(T),l=x||await my(T,f),C=dn(T),G=YT.match(y).with({phrase:YT.P.string},({phrase:_})=>o.fromPhrase(_).connect(l)).with({signer:YT.P.any},({signer:_})=>_).otherwise(()=>{return});return{...oT({chain:T,isEIP1559Compatible:C,provider:l,signer:G}),getBalance:PT(T).getBalance,getNetworkParams:gn(T)}}}var s,YT,on,xn,ln,Cn,Gn,Ln,po,Xn,Nn,_n,wn,Zn,Bn,DT,Jn,qn;var nf=D(()=>{Tn();Ao();nT();nn();s=require("@swapkit/helpers"),YT=require("ts-pattern");on=xy(s.Chain.Arbitrum),xn=xy(s.Chain.Aurora),ln=xy(s.Chain.Avalanche),Cn=xy(s.Chain.Base),Gn=xy(s.Chain.Berachain),Ln=xy(s.Chain.BinanceSmartChain),po=xy(s.Chain.Botanix),Xn=xy(s.Chain.Core),Nn=xy(s.Chain.Corn),_n=xy(s.Chain.Cronos),wn=xy(s.Chain.Gnosis),Zn=xy(s.Chain.Hyperevm),Bn=xy(s.Chain.Polygon),DT=xy(s.Chain.Sonic),Jn=xy(s.Chain.Unichain),qn=xy(s.Chain.XLayer)});var ho;var jo=D(()=>{ho=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function ff(T){return new Qn.Contract(g0,ho,T)}function co(T){return async function(){let x=ff(T);if(x&&"l1BaseFee"in x)return await x?.l1BaseFee();return}}function mo(T){return async function({from:x,to:y,nonce:o,...f}){let{Transaction:l}=await import("ethers");if(!y)throw new p.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return l.from({...f,authorizationList:f.authorizationList,nonce:o?o:x?await T.getTransactionCount(x):0,to:y}).serialized}}function io(T){return async function(x){let y=ff(T),o=await mo(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(o)}}function go(T){return async function(x){let y=await T.send("eth_gasPrice",[]),o=await T.estimateGas(x);return y.mul(o)}}function d0(T){return async function(x){let y=await io(T)(x),o=await go(T)(x);return y.add(o)}}function r0(T){return async function(x){let y=ff(T),o=await mo(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(o)}}function a0(){let{baseDecimal:T,chainId:n,explorerUrl:x,name:y,rpcUrls:o}=p.getChainConfig(p.Chain.Optimism);return{blockExplorerUrls:[x],chainId:n,chainName:y,nativeCurrency:{decimals:T,name:"Ethereum",symbol:p.Chain.Ethereum},rpcUrls:o}}async function s0(T){try{let{maxFeePerGas:n,maxPriorityFeePerGas:x,gasPrice:y}=await T.getFeeData(),o=await co(T)(),f=y;if(!(n&&x))throw new p.SwapKitError("toolbox_evm_no_fee_data");return{[p.FeeOption.Average]:{gasPrice:f,l1GasPrice:o,maxFeePerGas:n,maxPriorityFeePerGas:x},[p.FeeOption.Fast]:{gasPrice:p.applyFeeMultiplierToBigInt(f,p.FeeOption.Fast),l1GasPrice:p.applyFeeMultiplierToBigInt(o||0n,p.FeeOption.Fast),maxFeePerGas:n,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(x,p.FeeOption.Fast)},[p.FeeOption.Fastest]:{gasPrice:p.applyFeeMultiplierToBigInt(f,p.FeeOption.Fastest),l1GasPrice:p.applyFeeMultiplierToBigInt(o||0n,p.FeeOption.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:p.applyFeeMultiplierToBigInt(x,p.FeeOption.Fastest)}}}catch(n){throw new p.SwapKitError("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}async function Mn({provider:T,...n}){let x=p.Chain.Optimism,y=await p.getRPCUrl(x),o=T||await my(x,y),f=RT.match(n).with({phrase:RT.P.string},({phrase:G})=>Qn.HDNodeWallet.fromPhrase(G).connect(o)).with({signer:RT.P.any},({signer:G})=>G).otherwise(()=>{return}),l=oT({provider:o,signer:f}),C=co(o);return{...l,estimateGasPrices:s0(o),estimateL1Gas:r0(o),estimateL1GasCost:io(o),estimateL2GasCost:go(o),estimateTotalGasCost:d0(o),getBalance:PT(p.Chain.Optimism).getBalance,getL1GasPrice:C,getNetworkParams:a0}}var p,Qn,RT,g0="0x420000000000000000000000000000000000000f";var of=D(()=>{Tn();jo();nT();nn();p=require("@swapkit/helpers"),Qn=require("ethers"),RT=require("ts-pattern")});var so={};Xy(so,{toChecksumAddress:()=>to,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getEvmToolbox:()=>ao,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>iy,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>an,createContract:()=>HT,XLayerToolbox:()=>qn,UNIToolbox:()=>Jn,SONICToolbox:()=>DT,OPToolbox:()=>Mn,MAX_APPROVAL:()=>UT,MATICToolbox:()=>Bn,HYPEREVMToolbox:()=>Zn,GNOToolbox:()=>wn,ETHToolbox:()=>fn,ContractAddress:()=>yf,CROToolbox:()=>_n,CORNToolbox:()=>Nn,COREToolbox:()=>Xn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Ln,BERAToolbox:()=>Gn,BASEToolbox:()=>Cn,AVAXToolbox:()=>ln,AURORAToolbox:()=>xn,ARBToolbox:()=>on});async function ao(T,n){let x={...n,provider:n?.provider||await my(T)};return ro.match(T).returnType().with(fy.Chain.Arbitrum,()=>on(x)).with(fy.Chain.Aurora,()=>xn(x)).with(fy.Chain.Avalanche,()=>ln(x)).with(fy.Chain.Base,()=>Cn(x)).with(fy.Chain.Berachain,()=>Gn(x)).with(fy.Chain.BinanceSmartChain,()=>Ln(x)).with(fy.Chain.Botanix,()=>DT(x)).with(fy.Chain.Core,()=>Xn(x)).with(fy.Chain.Corn,()=>Nn(x)).with(fy.Chain.Cronos,()=>_n(x)).with(fy.Chain.Ethereum,()=>fn(x)).with(fy.Chain.Gnosis,()=>wn(x)).with(fy.Chain.Hyperevm,()=>Zn(x)).with(fy.Chain.Optimism,()=>Mn(x)).with(fy.Chain.Polygon,()=>Bn(x)).with(fy.Chain.Sonic,()=>DT(x)).with(fy.Chain.Unichain,()=>Jn(x)).with(fy.Chain.XLayer,()=>qn(x)).exhaustive()}var fy,ro;var xf=D(()=>{nT();nf();of();fy=require("@swapkit/helpers"),ro=require("ts-pattern");nn();nf();of()});var eo;var yx=D(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(eo||={})});var Tx={};Xy(Tx,{toHexString:()=>zT,toChecksumAddress:()=>to,isStateChangingCall:()=>en,isBrowserProvider:()=>xT,getTokenAddress:()=>CT,getProvider:()=>my,getNetworkParams:()=>gn,getIsEIP1559Compatible:()=>dn,getEvmToolbox:()=>ao,getEvmApi:()=>PT,getEstimateGasPrices:()=>gy,getEIP1193SendTransaction:()=>lT,getCreateContractTxObject:()=>iy,getCreateContract:()=>sn,getChecksumAddressFromAsset:()=>Ko,evmValidateAddress:()=>an,createCustomEvmApi:()=>F0,createContract:()=>HT,XLayerToolbox:()=>qn,UNIToolbox:()=>Jn,SONICToolbox:()=>DT,OPToolbox:()=>Mn,MAX_APPROVAL:()=>UT,MATICToolbox:()=>Bn,HYPEREVMToolbox:()=>Zn,GNOToolbox:()=>wn,EthNetwork:()=>eo,ETHToolbox:()=>fn,ContractAddress:()=>yf,CROToolbox:()=>_n,CORNToolbox:()=>Nn,COREToolbox:()=>Xn,BotanixToolbox:()=>po,BaseEVMToolbox:()=>oT,BSCToolbox:()=>Ln,BERAToolbox:()=>Gn,BASEToolbox:()=>Cn,AVAXToolbox:()=>ln,AURORAToolbox:()=>xn,ARBToolbox:()=>on});module.exports=_y(Tx);var nx=D(()=>{Tn();nT();xf();yx()});async function lf(){let{BlockfrostProvider:T}=await import("@meshsdk/core"),n="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS";return new T("mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS")}async function yl(T){try{let{MeshWallet:n}=await import("@meshsdk/core"),x=await lf(),y=new n({fetcher:x,key:{address:T,type:"address"},networkId:1});await y.init();let o=await y.getBalance(),f=[];for(let l of o)if(l.unit===e0){let{baseDecimal:C}=e.getChainConfig(e.Chain.Cardano);f.push(e.AssetValue.from({chain:e.Chain.Cardano,fromBaseDecimal:C,value:l.quantity}))}else f.push(e.AssetValue.from({asset:`${e.Chain.Cardano}.${l.unit}`,value:l.quantity}));if(f.length===0)return[e.AssetValue.from({chain:e.Chain.Cardano})];return f}catch(n){return console.error("Cardano balance fetch error:",n),[e.AssetValue.from({chain:e.Chain.Cardano})]}}async function fx(){let{deserializeAddress:T}=await import("@meshsdk/core");return(n)=>{try{return T(n),!0}catch{return!1}}}async function Tl(T){let n=await fx(),x=await OT.match(T).with({phrase:OT.P.string},async({phrase:_})=>{let{MeshWallet:X}=await import("@meshsdk/core"),N=await lf(),w=new X({fetcher:N,key:{type:"mnemonic",words:_.split(" ")},networkId:1,submitter:N});return await w.init(),w}).with({signer:OT.P.any},({signer:_})=>_).otherwise(()=>{return}),y=x&&"getChangeAddress"in x?await x.getChangeAddress():"";function o(){return y||""}function f(_){let X=_||o();if(!X)throw new e.SwapKitError("core_wallet_connection_not_found");return yl(X)}function l(){return Promise.resolve(e.AssetValue.from({chain:e.Chain.Cardano,value:"0.01"}))}async function C({recipient:_,assetValue:X,memo:N}){if(!x||!("getChangeAddress"in x))throw new e.SwapKitError("core_wallet_connection_not_found");let{Transaction:w}=await import("@meshsdk/core"),[,Z]=X.symbol.split("-");if(!X.isGasAsset&&!Z)throw new e.SwapKitError("core_wallet_connection_not_found");let q=new w({initiator:x});if(q.sendAssets({address:_},[{quantity:X.getBaseValue("string"),unit:X.isGasAsset?"lovelace":X.symbol}]),N)q.setMetadata(0,N);let M=await q.build();return{tx:q,unsignedTx:M}}function G(_){if(!x||!("getChangeAddress"in x))throw new e.SwapKitError("core_wallet_connection_not_found");return x.signTx(_)}async function L({recipient:_,assetValue:X,memo:N}){if(!x||!("getChangeAddress"in x))throw new e.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:w}=await C({assetValue:X,memo:N,recipient:_}),Z=await G(w);return await(await lf()).submitTx(Z)}return{createTransaction:C,estimateTransactionFee:l,getAddress:o,getBalance:f,signTransaction:G,transfer:L,validateAddress:n}}var e,OT,e0="lovelace";var ox=D(()=>{e=require("@swapkit/helpers"),OT=require("ts-pattern")});var Cf={};Xy(Cf,{getCardanoToolbox:()=>Tl,getCardanoAddressValidator:()=>fx});module.exports=_y(Cf);var Gf=D(()=>{ox()});function kT(T){return vy.base64.encode(Uint8Array.from(vy.bech32.fromWords(vy.bech32.decode(T).words)))}function ST(T,n="thor"){return vy.bech32.encode(n,vy.bech32.toWords(vy.base64.decode(T)))}function nl(T){return Wn.fromByteArray(T)}function fl(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new xx.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Wn.toByteArray(T)}var vy,xx,Wn;var Lf=D(()=>{vy=require("@scure/base"),xx=require("@swapkit/helpers"),Wn=require("base64-js")});function Ry(T){switch(T){case O.Chain.Maya:return{amount:[],gas:"10000000000"};case O.Chain.THORChain:return{amount:[],gas:"500000000"};case O.Chain.Kujira:return Gx;case O.Chain.Noble:return Lx;default:return Cx}}async function Oy(T){let n=await import("@cosmjs/stargate"),x=n.StargateClient??n.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return x.connect({headers:y,url:T})}async function vT(T,n,x={}){let y=await import("@cosmjs/stargate"),o=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,l=typeof x==="string"?x:"0.0003uatom",C=typeof x==="string"?{}:x;return o.connectWithSigner(T,n,{gasPrice:f.fromString(l),...C})}async function Nf(T,n){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,n)}async function _f({sender:T,recipient:n,assetValue:x,memo:y="",feeRate:o,sequence:f,accountNumber:l}){let{chain:C,chainId:G}=x,L=await O.getRPCUrl(C),X=await(await Oy(L)).getAccount(T);if(!X)throw new O.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let N=O.AssetValue.from({chain:C}),w=uy(N.symbol),Z=Ry(C),q=w&&o?{amount:[{amount:o.toString(),denom:w}],gas:Z.gas}:Z,M={amount:[{amount:x.getBaseValue("string"),denom:uy(x.symbol)}],fromAddress:T,toAddress:n};return{accountNumber:l??X.accountNumber,chainId:G,fee:q,memo:y,msgs:[{typeUrl:ol(C),value:M}],sequence:f??X.sequence}}var O,Xf="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",lx="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Cx,Gx,Lx,uy=(T,n=!1)=>{if(n)return T.toLowerCase();switch(T){case"uUSK":case"USK":return Xf;case"uYUM":case"YUM":return lx;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},IT=({symbol:T,chain:n})=>{if(n===O.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${O.Chain.Maya}.${T}`).toUpperCase();if(n===O.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${O.Chain.THORChain}.${T}`:T).toUpperCase();return uy(T,!1)},ol=(T)=>{switch(T){case O.Chain.Maya:case O.Chain.THORChain:return"/types.MsgSend";case O.Chain.Cosmos:case O.Chain.Kujira:case O.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new O.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},xl,wf=(T,n)=>{let x=xl[T.toLowerCase()];if(!x)return O.AssetValue.from({asset:T,fromBaseDecimal:8,value:n});let{chain:y,asset:o,decimals:f}=x,l=y?{chain:y}:{asset:o};return O.AssetValue.from({...l,fromBaseDecimal:f,value:n})};var uT=D(()=>{O=require("@swapkit/helpers"),Cx={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},Gx={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},Lx={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};xl={atom:{chain:O.Chain.Cosmos,decimals:O.getChainConfig(O.Chain.Cosmos).baseDecimal},cacao:{chain:O.Chain.Maya,decimals:10},kuji:{chain:O.Chain.Kujira,decimals:O.getChainConfig(O.Chain.Kujira).baseDecimal},maya:{asset:`${O.Chain.Maya}.${O.Chain.Maya}`,decimals:4},rune:{chain:O.Chain.THORChain,decimals:O.getChainConfig(O.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:O.getChainConfig(O.Chain.THORChain).baseDecimal},uatom:{chain:O.Chain.Cosmos,decimals:O.getChainConfig(O.Chain.Cosmos).baseDecimal},ukuji:{chain:O.Chain.Kujira,decimals:O.getChainConfig(O.Chain.Kujira).baseDecimal},usdc:{chain:O.Chain.Noble,decimals:O.getChainConfig(O.Chain.Noble).baseDecimal},uusdc:{chain:O.Chain.Noble,decimals:O.getChainConfig(O.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:O.getChainConfig(O.Chain.THORChain).baseDecimal},[Xf.toLowerCase()]:{asset:`${O.Chain.Kujira}.USK`,decimals:O.getChainConfig(O.Chain.Kujira).baseDecimal}}});var Xx={};Xy(Xx,{$root:()=>z});var oy,F,qy,Y,z;var Nx=D(()=>{oy=J(require("protobufjs/minimal.js")),F=oy.default.Reader,qy=oy.default.Writer,Y=oy.default.util,z=oy.default.roots.default||(oy.default.roots.default={});z.common=(()=>{let T={};return T.Asset=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))o.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))o.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))o.uint32(32).bool(y.synth);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Asset;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.chain=y.string();break;case 2:l.symbol=y.string();break;case 3:l.ticker=y.string();break;case 4:l.synth=y.bool();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!Y.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!Y.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!Y.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Asset)return y;let o=new z.common.Asset;if(y.chain!=null)o.chain=String(y.chain);if(y.symbol!=null)o.symbol=String(y.symbol);if(y.ticker!=null)o.ticker=String(y.ticker);if(y.synth!=null)o.synth=Boolean(y.synth);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T.Coin=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=Y.Long?Y.Long.fromBits(0,0,!1):0,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))z.common.Asset.encode(y.asset,o.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))o.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))o.uint32(24).int64(y.decimals);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Coin;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.asset=z.common.Asset.decode(y,y.uint32());break;case 2:l.amount=y.string();break;case 3:l.decimals=y.int64();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let o=z.common.Asset.verify(y.asset);if(o)return"asset."+o}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Y.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!Y.isInteger(y.decimals)&&!(y.decimals&&Y.isInteger(y.decimals.low)&&Y.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Coin)return y;let o=new z.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");o.asset=z.common.Asset.fromObject(y.asset)}if(y.amount!=null)o.amount=String(y.amount);if(y.decimals!=null){if(Y.Long)(o.decimals=Y.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")o.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")o.decimals=y.decimals;else if(typeof y.decimals==="object")o.decimals=new Y.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)if(f.asset=null,f.amount="",Y.Long){let l=new Y.Long(0,0,!1);f.decimals=o.longs===String?l.toString():o.longs===Number?l.toNumber():l}else f.decimals=o.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=z.common.Asset.toObject(y.asset,o);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=o.longs===String?String(y.decimals):y.decimals;else f.decimals=o.longs===String?Y.Long.prototype.toString.call(y.decimals):o.longs===Number?new Y.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T.PubKeySet=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))o.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))o.uint32(18).string(y.ed25519);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.PubKeySet;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.secp256k1=y.string();break;case 2:l.ed25519=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!Y.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!Y.isString(y.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.PubKeySet)return y;let o=new z.common.PubKeySet;if(y.secp256k1!=null)o.secp256k1=String(y.secp256k1);if(y.ed25519!=null)o.ed25519=String(y.ed25519);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T.Tx=(()=>{function n(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=Y.emptyArray,n.prototype.gas=Y.emptyArray,n.prototype.memo="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))o.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))o.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)z.common.Coin.encode(y.gas[f],o.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(58).string(y.memo);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Tx;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.id=y.string();break;case 2:l.chain=y.string();break;case 3:l.fromAddress=y.string();break;case 4:l.toAddress=y.string();break;case 5:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 6:if(!l.gas?.length)l.gas=[];l.gas.push(z.common.Coin.decode(y,y.uint32()));break;case 7:l.memo=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!Y.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!Y.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!Y.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!Y.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let o=0;o<y.gas.length;++o){let f=z.common.Coin.verify(y.gas[o]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!Y.isString(y.memo))return"memo: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Tx)return y;let o=new z.common.Tx;if(y.id!=null)o.id=String(y.id);if(y.chain!=null)o.chain=String(y.chain);if(y.fromAddress!=null)o.fromAddress=String(y.fromAddress);if(y.toAddress!=null)o.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");o.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");o.gas[f]=z.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)o.memo=String(y.memo);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[],f.gas=[];if(o.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.gas?.length){f.gas=[];for(let l=0;l<y.gas.length;++l)f.gas[l]=z.common.Coin.toObject(y.gas[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T.Fee=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=Y.emptyArray,n.prototype.poolDeduct="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))o.uint32(18).string(y.poolDeduct);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.Fee;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.poolDeduct=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!Y.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.Fee)return y;let o=new z.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)o.poolDeduct=String(y.poolDeduct);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T.ProtoUint=(()=>{function n(x){if(x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.value="",n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))o.uint32(10).string(y.value);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.common.ProtoUint;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.value=y.string();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!Y.isString(y.value))return"value: string expected"}return null},n.fromObject=function(y){if(y instanceof z.common.ProtoUint)return y;let o=new z.common.ProtoUint;if(y.value!=null)o.value=String(y.value);return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T})();z.types=(()=>{let T={};return T.MsgDeposit=(()=>{function n(x){if(this.coins=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.coins=Y.emptyArray,n.prototype.memo="",n.prototype.signer=Y.newBuffer([]),n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)z.common.Coin.encode(y.coins[f],o.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))o.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))o.uint32(26).bytes(y.signer);return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgDeposit;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:if(!l.coins?.length)l.coins=[];l.coins.push(z.common.Coin.decode(y,y.uint32()));break;case 2:l.memo=y.string();break;case 3:l.signer=y.bytes();break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let o=0;o<y.coins.length;++o){let f=z.common.Coin.verify(y.coins[o]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!Y.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||Y.isString(y.signer)))return"signer: buffer expected"}return null},n.fromObject=function(y){if(y instanceof z.types.MsgDeposit)return y;let o=new z.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");o.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");o.coins[f]=z.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)o.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")Y.base64.decode(y.signer,o.signer=Y.newBuffer(Y.base64.length(y.signer)),0);else if(y.signer.length)o.signer=y.signer}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.coins=[];if(o.defaults){if(f.memo="",o.bytes===String)f.signer="";else if(f.signer=[],o.bytes!==Array)f.signer=Y.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let l=0;l<y.coins.length;++l)f.coins[l]=z.common.Coin.toObject(y.coins[l],o)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=o.bytes===String?Y.base64.encode(y.signer,0,y.signer.length):o.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T.MsgSend=(()=>{function n(x){if(this.amount=[],x){for(let y=Object.keys(x),o=0;o<y.length;++o)if(x[y[o]]!=null)this[y[o]]=x[y[o]]}}return n.prototype.fromAddress=Y.newBuffer([]),n.prototype.toAddress=Y.newBuffer([]),n.prototype.amount=Y.emptyArray,n.create=function(y){return new n(y)},n.encode=function(y,o){if(!o)o=qy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))o.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))o.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)z.cosmos.base.v1beta1.Coin.encode(y.amount[f],o.uint32(26).fork()).ldelim();return o},n.encodeDelimited=function(y,o){return this.encode(y,o).ldelim()},n.decode=function(y,o){if(!(y instanceof F))y=F.create(y);let f=o===void 0?y.len:y.pos+o,l=new z.types.MsgSend;while(y.pos<f){let C=y.uint32();switch(C>>>3){case 1:l.fromAddress=y.bytes();break;case 2:l.toAddress=y.bytes();break;case 3:if(!l.amount?.length)l.amount=[];l.amount.push(z.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(C&7);break}}return l},n.decodeDelimited=function(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},n.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||Y.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||Y.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let o=0;o<y.amount.length;++o){let f=z.cosmos.base.v1beta1.Coin.verify(y.amount[o]);if(f)return"amount."+f}}return null},n.fromObject=function(y){if(y instanceof z.types.MsgSend)return y;let o=new z.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")Y.base64.decode(y.fromAddress,o.fromAddress=Y.newBuffer(Y.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)o.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")Y.base64.decode(y.toAddress,o.toAddress=Y.newBuffer(Y.base64.length(y.toAddress)),0);else if(y.toAddress.length)o.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");o.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");o.amount[f]=z.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return o},n.toObject=function(y,o){if(!o)o={};let f={};if(o.arrays||o.defaults)f.amount=[];if(o.defaults){if(o.bytes===String)f.fromAddress="";else if(f.fromAddress=[],o.bytes!==Array)f.fromAddress=Y.newBuffer(f.fromAddress);if(o.bytes===String)f.toAddress="";else if(f.toAddress=[],o.bytes!==Array)f.toAddress=Y.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=o.bytes===String?Y.base64.encode(y.fromAddress,0,y.fromAddress.length):o.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=o.bytes===String?Y.base64.encode(y.toAddress,0,y.toAddress.length):o.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let l=0;l<y.amount.length;++l)f.amount[l]=z.cosmos.base.v1beta1.Coin.toObject(y.amount[l],o)}return f},n.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},n})(),T})();z.cosmos=(()=>{let T={};return T.base=(()=>{let n={};return n.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=qy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof F))f=F.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.Coin;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!Y.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Y.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.Coin)return f;let l=new z.cosmos.base.v1beta1.Coin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=qy.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))l.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))l.uint32(18).string(f.amount);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof F))f=F.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecCoin;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.denom=f.string();break;case 2:G.amount=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!Y.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Y.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecCoin)return f;let l=new z.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)l.denom=String(f.denom);if(f.amount!=null)l.amount=String(f.amount);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.denom="",C.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))C.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=qy.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))l.uint32(10).string(f.int);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof F))f=F.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.IntProto;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.int=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!Y.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.IntProto)return f;let l=new z.cosmos.base.v1beta1.IntProto;if(f.int!=null)l.int=String(f.int);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.int="";if(f.int!=null&&f.hasOwnProperty("int"))C.int=f.int;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(o){if(o){for(let f=Object.keys(o),l=0;l<f.length;++l)if(o[f[l]]!=null)this[f[l]]=o[f[l]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,l){if(!l)l=qy.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))l.uint32(10).string(f.dec);return l},y.encodeDelimited=function(f,l){return this.encode(f,l).ldelim()},y.decode=function(f,l){if(!(f instanceof F))f=F.create(f);let C=l===void 0?f.len:f.pos+l,G=new z.cosmos.base.v1beta1.DecProto;while(f.pos<C){let L=f.uint32();switch(L>>>3){case 1:G.dec=f.string();break;default:f.skipType(L&7);break}}return G},y.decodeDelimited=function(f){if(!(f instanceof F))f=new F(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!Y.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof z.cosmos.base.v1beta1.DecProto)return f;let l=new z.cosmos.base.v1beta1.DecProto;if(f.dec!=null)l.dec=String(f.dec);return l},y.toObject=function(f,l){if(!l)l={};let C={};if(l.defaults)C.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))C.dec=f.dec;return C},y.prototype.toJSON=function(){return this.constructor.toObject(this,oy.default.util.toJSONOptions)},y})(),x})(),n})(),T})()});async function dy(){let{$root:T}=await Promise.resolve().then(() => (Nx(),Xx)),n=await import("@cosmjs/proto-signing"),x=n.Registry??n.default?.Registry,y=await import("@cosmjs/stargate"),o=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...o,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Fy(T){let n=await import("@cosmjs/stargate"),x=n.AminoTypes??n.default?.AminoTypes,y=T===_x.Chain.THORChain?"thorchain":"mayachain";return new x({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:o,...f})=>({...f,signer:kT(o)}),toAmino:({signer:o,...f})=>({...f,signer:ST(o)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:o,to_address:f,...l})=>({...l,fromAddress:kT(o),toAddress:kT(f)}),toAmino:({fromAddress:o,toAddress:f,...l})=>({...l,from_address:ST(o),to_address:ST(f)})}})}var _x;var Zf=D(()=>{Lf();_x=require("@swapkit/helpers")});function qf(T){return function(x){let{assetValue:y,recipient:o,memo:f,sender:l,asSignable:C,asAminoMessage:G}=x;if(o)return Zx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,recipient:o,sender:l});return Bx(T)({asAminoMessage:G,asSignable:C,assetValue:y,memo:f,sender:l})}}function Ay(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((n)=>{let x=Qy.AssetValue.from({asset:n.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),o=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...n,asset:{chain:o,symbol:y,synth:x.isSynthetic,ticker:x.ticker}}})}}}async function FT({chain:T,memo:n,msgs:x}){let y=await dy(),o=await Fy(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:x.map((l)=>o.fromAmino(l))}};return y.encode(f)}var Qy,ll,Cl,Bf=({sender:T,recipient:n,assetValue:x})=>{return{type:`${x.chain===Qy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:x.getBaseValue("string"),denom:uy(x.symbol,!0)}],from_address:T,to_address:n}}},Jf=({sender:T,assetValue:n,memo:x=""})=>{return{type:`${n.chain===Qy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:IT(n)}],memo:x,signer:T}}},Pn=({sender:T,recipient:n,assetValue:x,memo:y})=>{return!n?Jf({assetValue:x,memo:y,sender:T}):Bf({assetValue:x,recipient:n,sender:T})},Ey=async(T,n)=>{return(await Fy(n)).fromAmino(T)},wx=async({rpcUrl:T,sender:n})=>{let y=await(await Oy(T)).getAccount(n);if(!y)throw new Qy.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return y},Zx=(T)=>async({sender:n,recipient:x,assetValue:y,memo:o="",asSignable:f=!0,asAminoMessage:l=!1,sequence:C,accountNumber:G})=>{let L=await wx({rpcUrl:T,sender:n}),_=y.chain,{chainId:X}=Qy.getChainConfig(_),N=Bf({assetValue:y,recipient:x,sender:n}),w=f?await Ey(l?N:Ay(N),_):N;return{accountNumber:G||L.accountNumber,chainId:X,fee:Ry(_),memo:o,msgs:[w],sequence:C||L.sequence}},Bx=(T)=>async({sender:n,assetValue:x,memo:y="",asSignable:o=!0,asAminoMessage:f=!1,sequence:l,accountNumber:C})=>{let G=await wx({rpcUrl:T,sender:n}),L=x.chain,{chainId:_}=Qy.getChainConfig(L),X=Jf({assetValue:x,memo:y,sender:n}),N=o?await Ey(f?X:Ay(X),L):X;return{accountNumber:C||G.accountNumber,chainId:_,fee:Ry(L),memo:y,msgs:[N],sequence:l||G.sequence}};var Jx=D(()=>{uT();Zf();Qy=require("@swapkit/helpers"),ll=Ry(Qy.Chain.THORChain).gas,Cl=Ry(Qy.Chain.Maya).gas});var qx=()=>{};var Qx=D(()=>{qx()});var Qf=D(()=>{Lf();Jx();Zf();Qx()});async function Pf(T,n){try{let y=(await Wf.SwapKitApi.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}async function Mf({phrase:T,prefix:n,...x}){let y=await import("@cosmjs/proto-signing"),o=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),l=f.stringToPath??f.default?.stringToPath,C="derivationPath"in x?x.derivationPath:`${u.DerivationPath[x.chain]}/${x.index}`;return o.fromMnemonic(T,{hdPaths:[l(C)],prefix:n})}async function Gl({privateKey:T,prefix:n}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,n)}function zx(T){return async function({signature:x,message:y,address:o}){let f=await T(o);if(!f?.pubkey)throw new u.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let l=await import("@cosmjs/crypto"),C=l.Secp256k1Signature??l.default?.Secp256k1Signature,G=l.Secp256k1??l.default?.Secp256k1,L=C.fromFixedLength(ty.base64.decode(x));return G.verifySignature(L,ty.base64.decode(y),f.pubkey.value)}}async function AT({chain:T,...n}){let x=await u.getRPCUrl(T),y=u.CosmosChainPrefixes[T],o="index"in n?n.index||0:0,f=u.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:u.updateDerivationPath(u.NetworkDerivationPath[T],{index:o})),l=await ET.match(n).with({phrase:ET.P.string},({phrase:X})=>Mf({derivationPath:f,phrase:X,prefix:y})).with({signer:ET.P.any},({signer:X})=>X).otherwise(()=>{return});async function C(X){return(await Oy(x)).getAccount(X)}async function G(){let[X]=await l?.getAccounts()||[];return X?.address}async function L(){let[X]=await l?.getAccounts()||[];if(!X?.pubkey)throw new u.SwapKitError("toolbox_cosmos_signer_not_defined");return ty.base64.encode(X?.pubkey)}async function _({recipient:X,assetValue:N,memo:w="",feeRate:Z,feeOptionKey:q=u.FeeOption.Fast}){let M=await G();if(!(l&&M))throw new u.SwapKitError("toolbox_cosmos_signer_not_defined");let Q=u.AssetValue.from({chain:T}),H=IT(Q),t=Z||Nl((await Wx(T,Mx[T]))[q],H),E=await vT(x,l),V=[{amount:N.getBaseValue("string"),denom:uy(`u${N.symbol}`).toLowerCase()}],{transactionHash:r}=await E.sendTokens(M,X,V,t,w);return r}return{createPrivateKeyFromPhrase:wl(f),createTransaction:_f,fetchFeeRateFromSwapKit:Pf,getAccount:C,getAddress:G,getBalance:async(X,N)=>{let w=await Px(x)(X),Z=await Promise.all(w.filter(({denom:q})=>q&&!q.includes("IBC/")).map(({denom:q,amount:M})=>{let Q=[u.Chain.THORChain,u.Chain.Maya].includes(T)&&(q.includes("/")||q.includes("˜"))?`${T}.${q}`:q;return wf(Q,M)}));if(Z.length===0)return[u.AssetValue.from({chain:T})];return Z},getBalanceAsDenoms:Px(x),getFees:()=>Wx(T,Mx[T]),getPubKey:L,getSignerFromPhrase:async({phrase:X,derivationPath:N})=>Mf({derivationPath:u.derivationPathToString(N),index:o,phrase:X,prefix:y}),getSignerFromPrivateKey:async(X)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(X,y)},transfer:_,validateAddress:Ux(y),verifySignature:zx(C)}}async function Ll(T,n){try{let y=(await Wf.SwapKitApi.getGasRate()).find((o)=>o.chainId===T)?.value;return y?Number.parseFloat(y):n}catch{return n}}function Xl({assetValue:{chain:T}}){return u.AssetValue.from({chain:T,value:_l(T)})}async function Wx(T,n){let{chainId:x,baseDecimal:y}=u.getChainConfig(T),o=await Pf(x,n);return{average:u.SwapKitNumber.fromBigInt(BigInt(o),y),fast:u.SwapKitNumber.fromBigInt(BigInt(u.applyFeeMultiplier(o,u.FeeOption.Fast,!0)),y),fastest:u.SwapKitNumber.fromBigInt(BigInt(u.applyFeeMultiplier(o,u.FeeOption.Fastest,!0)),y)}}function Nl(T,n){return{amount:[{amount:T.getBaseValue("string"),denom:n}],gas:"200000"}}function _l(T){return{[u.Chain.Cosmos]:0.007,[u.Chain.Kujira]:0.02,[u.Chain.Noble]:0.01,[u.Chain.THORChain]:0.02,[u.Chain.Maya]:0.02,[u.Chain.Harbor]:0.02}[T]||0}function Ux(T){return function(x){if(!x.startsWith(T))return!1;try{let{prefix:y,words:o}=ty.bech32.decode(x);return ty.bech32.encode(y,o)===x.toLocaleLowerCase()}catch{return!1}}}function Px(T){return async function(x){return(await(await Oy(T)).getAllBalances(x)).map((l)=>({...l,denom:l.denom.includes("/")?l.denom.toUpperCase():l.denom}))}}function wl(T){return async function(x){let y=await import("@cosmjs/crypto"),o=y.stringToPath??y.default?.stringToPath,f=y.Slip10Curve??y.default?.Slip10Curve,l=y.Slip10??y.default?.Slip10,C=y.EnglishMnemonic??y.default?.EnglishMnemonic,G=y.Bip39??y.default?.Bip39,L=new C(x),_=await G.mnemonicToSeed(L),{privkey:X}=l.derivePath(f.Secp256k1,_,o(T));return X}}var ty,u,Wf,ET,Mx;var zn=D(()=>{uT();ty=require("@scure/base"),u=require("@swapkit/helpers"),Wf=require("@swapkit/helpers/api"),ET=require("ts-pattern");Mx={[u.Chain.Cosmos]:500,[u.Chain.Kujira]:1000,[u.Chain.Noble]:1000,[u.Chain.THORChain]:5000000,[u.Chain.Maya]:5000000,[u.Chain.Harbor]:5000000}});function Zl({prefix:T,derivationPath:n}){return async function(y,o=0){let f=await import("@cosmjs/amino"),l=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,C=await import("@cosmjs/crypto"),G=C.stringToPath??C.default?.stringToPath;return l.fromMnemonic(y,{hdPaths:[G(`${n}/${o}`)],prefix:T})}}function Bl(T){return Ky.base64.encode(T)}function Jl(T){return async function({wallet:x,tx:y}){let{msgs:o,accountNumber:f,sequence:l,chainId:C,fee:G,memo:L}=typeof y==="string"?JSON.parse(y):y,_=(await x.getAccounts())?.[0]?.address||"",X=await Fy(T),N=await dy(),w=await Nf(x,{aminoTypes:X,registry:N}),Z=[];for(let Q of o){let H=await Ey(Q,T);Z.push(H)}let{signatures:[q]}=await w.sign(_,Z,G,L,{accountNumber:f,chainId:C,sequence:l});return{bodyBytes:await FT({chain:T,memo:L,msgs:o.map(Ay)}),signature:Bl(q)}}}function ql({prefix:T,rpcUrl:n}){return async function(y,o,f,l,C){let{encodeSecp256k1Pubkey:G,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:_}=(await import("@cosmjs/stargate")).default,{sequence:X,fee:N}=JSON.parse(y),w=await Hx(f,l),Z=o.map((Q)=>[L(G(Ky.base64.decode(Q.pubKey)),T),Ky.base64.decode(Q.signature)]),q=await Oy(n),{transactionHash:M}=await q.broadcastTx(_(w,X,N,C,new Map(Z)));return M}}async function Hx(T,n,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:o}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>o(Ky.base64.decode(f))),n,x)}function Ql(T){return Ky.base64.decode(T)}async function Ml({privateKey:T,message:n}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature(Ky.base64.decode(n),T);return Ky.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function zf({chain:T,...n}){let x=await c.getRPCUrl(T),{nodeUrl:y}=c.getChainConfig(T),{isStagenet:o}=c.SKConfig.get("envs"),f=T===c.Chain.THORChain,l=`${o?"s":""}${c.CosmosChainPrefixes[T]}`,C="index"in n?n.index||0:0,G="derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[T],{index:C}),L=await AT({chain:T,...n}),_=await tT.match(n).with({phrase:tT.P.string},({phrase:Z})=>L.getSignerFromPhrase({derivationPath:G,phrase:Z})).with({signer:tT.P.any},({signer:Z})=>Z).otherwise(()=>{return}),X=Ry(T);async function N(){let Z,q=`${y}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:M}}=await c.RequestClient.get(q);if(!M||Number.isNaN(M)||M<0)throw new c.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:M.toString()});Z=new c.SwapKitNumber(M)}catch{Z=new c.SwapKitNumber({decimal:c.getChainConfig(T).baseDecimal,value:f?0.02:1})}return{[c.FeeOption.Average]:Z,[c.FeeOption.Fast]:Z,[c.FeeOption.Fastest]:Z}}async function w({assetValue:Z,memo:q="",recipient:M}){let{TxRaw:Q}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await _?.getAccounts())?.[0]?.address;if(!(H&&_))throw new c.SwapKitError("toolbox_cosmos_no_signer");let t="signAmino"in _,E=await dy(),V=await Fy(T),r=await vT(x,_,{aminoTypes:V,registry:E}),Ly=Pn({assetValue:Z,memo:q,recipient:M,sender:H});if(t){let U=await Ey(Ly,T),{signatures:R,authInfoBytes:I}=await r.sign(H,[U],X,q),A=Q.encode({authInfoBytes:I,bodyBytes:await FT({chain:T,memo:q,msgs:[Ly].map(Ay)}),signatures:R}).finish();return(await r.broadcastTx(A)).transactionHash}let Iy=Ay(Ly),B=await Ey(Iy,T);return(await r.signAndBroadcast(H,[B],X,q)).transactionHash}return{...L,broadcastMultisigTx:ql({prefix:l,rpcUrl:x}),buildAminoMsg:Pn,buildEncodedTxBody:FT,convertToSignable:Ey,createDefaultAminoTypes:()=>Fy(T),createDefaultRegistry:dy,createMultisig:Hx,createTransaction:qf(x),deposit:w,getFees:N,importSignature:Ql,parseAminoMessageForDirectSigning:Ay,pubkeyToAddress:async(Z)=>{let{pubkeyToAddress:q}=(await import("@cosmjs/amino")).default;return q(Z,l)},secp256k1HdWalletFromMnemonic:Zl({derivationPath:c.derivationPathToString(G),prefix:l}),signMultisigTx:Jl(T),signWithPrivateKey:Ml,transfer:w}}var Ky,c,tT;var Uf=D(()=>{Qf();uT();zn();Ky=require("@scure/base"),c=require("@swapkit/helpers"),tT=require("ts-pattern")});var Vy,Wl=(T,n)=>{switch(T){case Vy.Chain.Cosmos:case Vy.Chain.Kujira:case Vy.Chain.Noble:return AT({chain:T,...n});case Vy.Chain.Maya:case Vy.Chain.THORChain:return zf({chain:T,...n});default:throw new Vy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var Yx=D(()=>{zn();Uf();Vy=require("@swapkit/helpers");zn();Uf()});var Un={};Xy(Un,{verifySignature:()=>zx,transferMsgAmino:()=>Bf,toBase64:()=>nl,parseAminoMessageForDirectSigning:()=>Ay,getSignerFromPrivateKey:()=>Gl,getSignerFromPhrase:()=>Mf,getMsgSendDenom:()=>uy,getFeeRateFromSwapKit:()=>Ll,getDenomWithChain:()=>IT,getDefaultChainFee:()=>Ry,getCreateTransaction:()=>qf,getCosmosValidateAddress:()=>Ux,getCosmosToolbox:()=>Wl,getAssetFromDenom:()=>wf,fromBase64:()=>fl,fetchFeeRateFromSwapKit:()=>Pf,estimateTransactionFee:()=>Xl,depositMsgAmino:()=>Jf,createThorchainToolbox:()=>zf,createStargateClient:()=>Oy,createSigningStargateClient:()=>vT,createOfflineStargateClient:()=>Nf,createDefaultRegistry:()=>dy,createDefaultAminoTypes:()=>Fy,createCosmosToolbox:()=>AT,cosmosCreateTransaction:()=>_f,convertToSignable:()=>Ey,buildTransferTx:()=>Zx,buildEncodedTxBody:()=>FT,buildDepositTx:()=>Bx,buildAminoMsg:()=>Pn,bech32ToBase64:()=>kT,base64ToBech32:()=>ST,YUM_KUJIRA_FACTORY_DENOM:()=>lx,USK_KUJIRA_FACTORY_DENOM:()=>Xf,THORCHAIN_GAS_VALUE:()=>ll,MAYA_GAS_VALUE:()=>Cl,DEFAULT_NOBLE_FEE_MAINNET:()=>Lx,DEFAULT_KUJI_FEE_MAINNET:()=>Gx,DEFAULT_COSMOS_FEE_MAINNET:()=>Cx});module.exports=_y(Un);var Hn=D(()=>{Qf();Yx();uT()});async function Rx(T){let n=b.AssetValue.from({address:T,chain:b.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:T,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let x=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(T)}`;try{let y=await fetch(x);if(!y.ok)return null;let o=await y.json();if(!Array.isArray(o)||o.length===0)return null;return o.find((l)=>l.id===T)||null}catch{return null}}async function Pl(T){let n=await ry(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),o=new x(T),f=[],l=await n.getBalance(o);if(l>0){let{baseDecimal:G}=b.getChainConfig(b.Chain.Solana);f.push(b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:G,value:l}))}let C=await n.getParsedTokenAccountsByOwner(o,{programId:y});for(let{account:G}of C.value){let L=G.data.parsed.info,_=L.mint,X=L.tokenAmount.amount;if(Number(X)===0)continue;let N=await Rx(_),w=N?.symbol||"UNKNOWN",Z=N?.decimals||L.tokenAmount.decimals;f.push(b.AssetValue.from({asset:`${b.Chain.Solana}.${w}-${_}`,fromBaseDecimal:Z,value:X}))}return f}async function Df(){let{PublicKey:T}=await import("@solana/web3.js");return(n)=>{try{let x=new T(n);return T.isOnCurve(x.toBytes())}catch{return!1}}}async function zl(T){let n=T&&"index"in T?T.index||0:0,x=b.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Solana],{index:n})),y=await KT.match(T).with({phrase:KT.P.string},({phrase:l})=>Yf({derivationPath:x,phrase:l})).with({signer:KT.P.any},({signer:l})=>l).otherwise(()=>{return});function o(){return y?.publicKey?Dx(y.publicKey):""}function f(l){let C=l||o();if(!C)throw new b.SwapKitError("core_wallet_connection_not_found");return Pl(C)}return{broadcastTransaction:Hf(ry),createKeysForPath:Yf,createTransaction:Rf(ry),createTransactionFromInstructions:Dl,estimateTransactionFee:Ul(ry),getAddress:o,getAddressFromPubKey:Dx,getAddressValidator:Df,getBalance:f,getConnection:ry,getPubkeyFromAddress:Of,signTransaction:Ol(ry,y),transfer:Rl(ry,y)}}function Ul(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let l=await T(),G=(await Rf(T)({assetValue:x,isProgramDerivedAddress:o,memo:y,recipient:n,sender:f})).compileMessage(),L=await l.getFeeForMessage(G);if(L.value===null)throw new b.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:_}=b.getChainConfig(b.Chain.Solana);return b.AssetValue.from({chain:b.Chain.Solana,fromBaseDecimal:_,value:L.value})}}async function ry(){let{Connection:T}=await import("@solana/web3.js"),n=await b.getRPCUrl(b.Chain.Solana);return new T(n,"confirmed")}function Hl(T){return async({assetValue:n,recipient:x,sender:y,isProgramDerivedAddress:o})=>{let f=await T(),l=await Of(y);if(n.isGasAsset){let{Transaction:C,SystemProgram:G,PublicKey:L}=await import("@solana/web3.js");return new C().add(G.transfer({fromPubkey:l,lamports:n.getBaseValue("number"),toPubkey:new L(x)}))}if(n.address)return Yl({amount:n.getBaseValue("number"),connection:f,decimals:n.decimal,from:l,isProgramDerivedAddress:o,recipient:x,tokenAddress:n.address});return}}async function Yl({tokenAddress:T,recipient:n,from:x,connection:y,amount:o,decimals:f,isProgramDerivedAddress:l}){let{getAssociatedTokenAddress:C,getAccount:G,createAssociatedTokenAccountInstruction:L,createTransferCheckedInstruction:_}=await import("@solana/spl-token"),{Transaction:X,PublicKey:N}=await import("@solana/web3.js"),w=new X,Z=new N(T),q=await C(Z,x),M=new N(n),Q=await C(Z,M,l),H=!1;try{await G(y,Q),H=!0}catch{}if(!H)w.add(L(x,Q,M,Z));return w.add(_(q,Z,Q,x,o,f)),w}function Rf(T){return async({recipient:n,assetValue:x,memo:y,isProgramDerivedAddress:o,sender:f})=>{let{createMemoInstruction:l}=await import("@solana/spl-memo"),C=await Of(f),G=await Df();if(!(o||G(n)))throw new b.SwapKitError("core_transaction_invalid_recipient_address");let L=await T(),_=await Hl(T)({assetValue:x,isProgramDerivedAddress:o,recipient:n,sender:f});if(!_)throw new b.SwapKitError("core_transaction_invalid_sender_address");if(y)_.add(l(y));let X=await L.getLatestBlockhash();return _.recentBlockhash=X.blockhash,_.feePayer=C,_}}async function Dl({instructions:T}){let{Transaction:n}=await import("@solana/web3.js"),x=new n().add(...T);if(!x)throw new b.SwapKitError("core_transaction_invalid_sender_address");return x}function Rl(T,n){return async({recipient:x,assetValue:y,memo:o,isProgramDerivedAddress:f})=>{if(!n)throw new b.SwapKitError("core_transaction_invalid_sender_address");let l=n.publicKey?.toString()??(await n.connect()).publicKey.toString(),C=await Rf(T)({assetValue:y,isProgramDerivedAddress:f,memo:o,recipient:x,sender:l});if("signTransaction"in n){let G=await n.signTransaction(C);return Hf(T)(G)}return C.sign(n),Hf(T)(C)}}function Hf(T){return async(n)=>{return(await T()).sendRawTransaction(n.serialize())}}function Ol(T,n){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!n)throw new b.SwapKitError("toolbox_solana_no_signer");if(!(x instanceof y)){let f=await(await T()).getLatestBlockhash();x.recentBlockhash=f.blockhash,x.feePayer=n.publicKey||void 0}if("connect"in n)return await n.signTransaction(x);return await x.sign([n]),x}}async function Yf({phrase:T,derivationPath:n=b.DerivationPath.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:o}=await import("@solana/web3.js"),f=y(T),l=x.fromMasterSeed(f);return o.fromSeed(l.derive(n,!0).privateKey)}function Dx(T){return T.toString()}async function Of(T){let{PublicKey:n}=await import("@solana/web3.js");return new n(T)}var b,KT;var Ox=D(()=>{b=require("@swapkit/helpers"),KT=require("ts-pattern")});var kf={};Xy(kf,{getSolanaToolbox:()=>zl,getSolanaAddressValidator:()=>Df,fetchTokenMetaData:()=>Rx,createKeysForPath:()=>Yf});module.exports=_y(kf);var Sf=D(()=>{Ox()});async function kx(){let{isValidSuiAddress:T}=await import("@mysten/sui/utils");return function(x){try{return T(x)}catch{return!1}}}async function kl({provider:T,...n}={}){let x=await kx(),y=await VT.match(n).with({phrase:VT.P.string},async({phrase:X})=>{let{Ed25519Keypair:N}=await import("@mysten/sui/keypairs/ed25519");return N.deriveKeypair(X)}).with({signer:VT.P.any},({signer:X})=>X).otherwise(()=>{return});async function o(X=T){let{SuiClient:N,getFullnodeUrl:w}=await import("@mysten/sui/client");return new N({url:X||w("mainnet")})}function f(){return y?.toSuiAddress()||""}async function l(X){let N=X||f();if(!N)throw new yy.SwapKitError("toolbox_sui_address_required");try{let w=await o(),{totalBalance:Z}=await w.getBalance({owner:N}),{baseDecimal:q,chain:M}=yy.getChainConfig(yy.Chain.Sui),Q=[yy.AssetValue.from({chain:M,fromBaseDecimal:q,value:Z})],H=await w.getAllBalances({owner:N});for(let{coinType:t,totalBalance:E}of H){if(t==="0x2::sui::SUI")continue;if(Number(E)>0){let V=t.split("::").pop()?.toUpperCase()||"UNKNOWN",r=`${M}.${V}-${t}`;Q.push(yy.AssetValue.from({asset:r,fromBaseDecimal:q,value:E}))}}return Q}catch(w){throw new yy.SwapKitError("toolbox_sui_balance_error",{error:w})}}async function C(X){let N=yy.AssetValue.from({chain:yy.Chain.Sui,value:"0.01"});if(!X)return N;try{let w=await o(),{txBytes:Z}=await G(X),{effects:{status:q,gasUsed:M}}=await w.dryRunTransactionBlock({transactionBlock:Z});if(q.status!=="success")return N;let Q=Number(M.computationCost)+Number(M.storageCost)-Number(M.storageRebate);return yy.AssetValue.from({chain:yy.Chain.Sui,value:Q.toString()})}catch{return N}}async function G({recipient:X,assetValue:N,gasBudget:w,sender:Z}){let{Transaction:q}=await import("@mysten/sui/transactions"),M=Z||f();if(!M)throw new yy.SwapKitError("toolbox_sui_no_sender");try{let Q=new q;if(Q.setSender(M),N.isGasAsset||N.symbol==="SUI"){let[E]=Q.splitCoins(Q.gas,[N.getBaseValue("string")]);Q.transferObjects([E],X)}else throw new yy.SwapKitError("toolbox_sui_custom_token_transfer_not_implemented");if(w)Q.setGasBudget(w);let H=await o(),t=await Q.build({client:H});return{tx:Q,txBytes:t}}catch(Q){throw new yy.SwapKitError("toolbox_sui_transaction_creation_error",{error:Q})}}async function L(X){if(!y)throw new yy.SwapKitError("toolbox_sui_no_signer");if(X instanceof Uint8Array)return y.signTransaction(X);let{txBytes:N}="tx"in X?X:await G(X);return y.signTransaction(N)}async function _({assetValue:X,gasBudget:N,recipient:w}){if(!y)throw new yy.SwapKitError("toolbox_sui_no_signer");let Z=y.toSuiAddress()||f();if(!Z)throw new yy.SwapKitError("toolbox_sui_no_sender");let{txBytes:q}=await G({assetValue:X,gasBudget:N,recipient:w,sender:Z}),M=await o(),{digest:Q}=await M.signAndExecuteTransaction({signer:y,transaction:q});return Q}return{createTransaction:G,estimateTransactionFee:C,getAddress:f,getBalance:l,signTransaction:L,transfer:_,validateAddress:x}}var yy,VT;var Sx=D(()=>{yy=require("@swapkit/helpers"),VT=require("ts-pattern")});var Yn={};Xy(Yn,{getSuiToolbox:()=>kl,getSuiAddressValidator:()=>kx});module.exports=_y(Yn);var Dn=D(()=>{Sx()});async function Sl(T={}){let{mnemonicToWalletKey:n}=await import("@ton/crypto"),{Address:x,TonClient:y,WalletContractV4:o}=await import("@ton/ton"),f=await Ix(),l,C,G=await bT.match(T).with({phrase:bT.P.string},async({phrase:Q})=>n(Q.split(" "))).with({signer:bT.P.any},({signer:Q})=>Q).otherwise(()=>{return});function L(){let{rpcUrls:Q}=Ty.getChainConfig(Ty.Chain.Ton),[H]=Q;if(!l||l.parameters.endpoint!==H)l=new y({endpoint:H});return l}function _(Q){if(!C||Q){let H=L(),t=Q||G;if(!t)throw new Ty.SwapKitError("core_wallet_connection_not_found");let E=o.create({publicKey:t.publicKey,workchain:0});C=H.open(E)}return C}async function X(Q){let H=L(),{baseDecimal:t}=Ty.getChainConfig(Ty.Chain.Ton);try{let E=await H.getBalance(x.parse(Q));return[Ty.AssetValue.from({chain:Ty.Chain.Ton,value:Ty.SwapKitNumber.fromBigInt(E,t)})]}catch(E){throw new Ty.SwapKitError("core_wallet_connection_not_found",{error:E})}}async function N({assetValue:Q,recipient:H,memo:t}){let E=_();if(!E||!G)throw new Ty.SwapKitError("core_wallet_connection_not_found");let{toNano:V,comment:r,internal:Ly}=await import("@ton/ton"),Iy=await E.getSeqno(),B=V(Q.getValue("string")),W=t?r(t):void 0;return E.createTransfer({messages:[Ly({body:W,to:H,value:B})],secretKey:G.secretKey,seqno:Iy})}async function w({assetValue:Q,recipient:H,memo:t}){let E=_();if(!E||!G)throw new Ty.SwapKitError("core_wallet_connection_not_found");let V=await N({assetValue:Q,memo:t,recipient:H});return await E.send(V),V.hash().toString()}async function Z(Q){let H=_();if(!H)throw new Ty.SwapKitError("core_wallet_connection_not_found");try{return await H.send(Q),Q.hash().toString("hex")}catch(t){throw new Ty.SwapKitError("core_wallet_connection_not_found",{error:t})}}function q(){return _().address.toString()}function M(){return Promise.resolve(Ty.AssetValue.from({chain:Ty.Chain.Ton,value:"0.0001"}))}return{createTransaction:N,estimateTransactionFee:M,getAddress:q,getBalance:X,sendTransaction:Z,transfer:w,validateAddress:f}}async function Ix(){let{Address:T}=await import("@ton/ton");return function(x){try{return T.parse(x),!0}catch{return!1}}}var Ty,bT;var vx=D(()=>{Ty=require("@swapkit/helpers"),bT=require("ts-pattern")});var Rn={};Xy(Rn,{getTONToolbox:()=>Sl,getTONAddressValidator:()=>Ix});module.exports=_y(Rn);var On=D(()=>{vx()});var GT;var If=D(()=>{GT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function Fx(T){let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb;try{let y=await fetch(`${Il}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let o=await y.json();if(!(o.success&&o.data)||o.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=x.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let l=o.data.find((C)=>{return C.address.toLowerCase()===f});if(!l)return;return{balance:l.balance,trc20:l.trc20||[]}}catch(y){throw new ux.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var ux,Il="https://api.trongrid.io";var Ex=D(()=>{ux=require("@swapkit/helpers")});async function vf(){let T=await import("tronweb"),n=T.TronWeb??T.default?.TronWeb;return(x)=>{return n.isAddress(x)}}async function tx({phrase:T,derivationPath:n,index:x}){let y=n||S.derivationPathToString(S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:x||0})),{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),l=f(T),G=o.fromMasterSeed(l).derive(y);if(!G.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");return Buffer.from(G.privateKey).toString("hex")}async function Al({phrase:T,derivationPath:n,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),f=o(T),C=y.fromMasterSeed(f).derive(n);if(!C.privateKey)throw new S.SwapKitError("toolbox_tron_no_signer");let G=Buffer.from(C.privateKey).toString("hex");x.setPrivateKey(G);let L=x?.address.fromPrivateKey(G);return{getAddress:()=>Promise.resolve(typeof L==="string"?L:""),signTransaction:async(_)=>{return await x.trx.sign(_,G)}}}var S,$T,vl=268,ul=13000,Fl=345,Ax="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",El="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",Kx=async(T={})=>{let n=await import("tronweb"),x=n.TronWeb??n.default?.TronWeb,y=await S.getRPCUrl(S.Chain.Tron),o=void 0,f=new x({fullHost:y,headers:void 0}),l="index"in T?T.index||0:0,C=S.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[S.Chain.Tron],{index:l})),G=await $T.match(T).with({phrase:$T.P.string},async({phrase:B})=>Al({derivationPath:C,phrase:B,tronWeb:f})).with({signer:$T.P.any},({signer:B})=>Promise.resolve(B)).otherwise(()=>Promise.resolve(void 0)),L=async()=>{if(!G)throw new S.SwapKitError("toolbox_tron_no_signer");return await G.getAddress()},_=()=>{return 1e8},X=async()=>{try{let B=await f.trx.getChainParameters(),W={};for(let U of B)W[U.key]=U.value;return{bandwidthFee:W.getTransactionFee||1000,createAccountFee:W.getCreateAccountFee||1e5,energyFee:W.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},N=async(B)=>{try{let W=await f.trx.getAccount(B);return W&&Object.keys(W).length>0}catch{return!1}},w=async(B)=>{try{let W=await f.trx.getAccountResources(B);return{bandwidth:{free:W.freeNetLimit-W.freeNetUsed,total:W.NetLimit||0,used:W.NetUsed||0},energy:{total:W.EnergyLimit||0,used:W.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},Z=async(B,W)=>{try{let U=f.contract(GT,W);if(!U.methods?.balanceOf)return 0n;let[R]=await U.methods.balanceOf(B).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(U){return console.warn(`balanceOf() failed for ${W}:`,U),0n}},q=async(B,W)=>{try{f.setAddress(W);let U=f.contract(GT,B),[R,I]=await Promise.all([U.symbol().call().catch(()=>"UNKNOWN"),U.decimals().call().catch(()=>"18")]);return{decimals:Number(I??18),symbol:R??"UNKNOWN"}}catch(U){return S.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${B}: ${U instanceof Error?U.message:U}`}),null}},M=async(B,W=!0)=>{let U=[S.AssetValue.from({chain:S.Chain.Tron})];try{let R=await Fx(B);if(R){let I=[];I.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let A of R.trc20){let[j,a]=Object.entries(A)[0]||[];if(!(j&&a))continue;let $=await q(j,B);if(!$)continue;I.push(S.AssetValue.from({asset:`TRON.${$.symbol}-${j}`,fromBaseDecimal:$.decimals,value:BigInt(a||0)}))}return I}return U}catch(R){S.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});try{let I=[],A=await f.trx.getBalance(B);if(A&&Number(A)>0)I.push(S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:6,value:A}));let j=await Z(B,Ax);if(j)I.push(S.AssetValue.from({asset:`TRON.USDT-${Ax}`,fromBaseDecimal:6,value:j}));if(I.length===0)return U;return I}catch(I){return console.error("Tron balance fetch failed:",I),U}}},Q=async({recipient:B,assetValue:W,memo:U})=>{if(!G)throw new S.SwapKitError("toolbox_tron_no_signer");let R=await L();if(f.setAddress(R),W.isGasAsset){let $=await f.transactionBuilder.sendTrx(B,W.getBaseValue("number"),R);if(U){let Ny=await f.transactionBuilder.addUpdateData($,U,"utf8"),Dy=await G.signTransaction(Ny),{txid:jy}=await f.trx.sendRawTransaction(Dy);return jy}let By=await G.signTransaction($),{txid:Jy}=await f.trx.sendRawTransaction(By);return Jy}let A=await t({assetValue:W,memo:U,recipient:B,sender:R}),j=await G.signTransaction(A),{txid:a}=await f.trx.sendRawTransaction(j);if(!a)throw new S.SwapKitError("toolbox_tron_token_transfer_failed");return a},H=async({assetValue:B,recipient:W,sender:U})=>{let R=B.isGasAsset;try{let I=U?U:G?await L():void 0;if(!I)return R?S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:0.1}):S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:0,value:15});let A=await X(),a=await N(W)?0:A.createAccountFee,$=await w(I);if(R){let cy=vl,Oo=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),ko=0;if(cy>Oo)ko=(cy-Oo)*A.bandwidthFee;let k0=a+ko;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:k0})}let By=Fl,Jy=ul,Ny=$.bandwidth.free+($.bandwidth.total-$.bandwidth.used),Dy=$.energy.total-$.energy.used,jy=0;if(By>Ny)jy=(By-Ny)*A.bandwidthFee;let sT=0;if(Jy>Dy)sT=(Jy-Dy)*A.energyFee;let cn=a+jy+sT;return S.AssetValue.from({chain:S.Chain.Tron,fromBaseDecimal:S.BaseDecimal.TRON,value:cn})}catch(I){throw S.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${I instanceof Error?I.message:I}`}),new S.SwapKitError("toolbox_tron_fee_estimation_failed",{error:I})}},t=async(B)=>{let{recipient:W,assetValue:U,memo:R,sender:I,expiration:A}=B;if(U.isGasAsset){let $=await f.transactionBuilder.sendTrx(W,U.getBaseValue("number"),I);if(R)return f.transactionBuilder.addUpdateData($,R,"utf8");if(A)f.transactionBuilder.extendExpiration($,A);return $}f.setAddress(I);let a=U.address;if(!a)throw new S.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});try{let By=[{type:"address",value:W},{type:"uint256",value:U.getBaseValue("string")}],Jy={callValue:0,feeLimit:_()},Ny=await f.transactionBuilder.triggerSmartContract(a,"transfer(address,uint256)",Jy,By,I);if(R)return f.transactionBuilder.addUpdateData(Ny.transaction,R,"utf8");if(A)f.transactionBuilder.extendExpiration(Ny.transaction,A);return Ny.transaction}catch($){throw new S.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($)})}},E=async(B)=>{if(!G)throw new S.SwapKitError("toolbox_tron_no_signer");return await G.signTransaction(B)},V=async(B)=>{let{txid:W}=await f.trx.sendRawTransaction(B);return W},r=async({assetAddress:B,spenderAddress:W,from:U})=>{try{let R=f.contract(GT,B);if(!R.methods?.allowance)throw new S.SwapKitError("toolbox_tron_invalid_token_contract");let[I]=await R.methods.allowance(U,W).call();return I?typeof I==="bigint"?I:BigInt(I):0n}catch(R){throw new S.SwapKitError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:B,spenderAddress:W,amount:U,from:R})=>{if(!G)throw new S.SwapKitError("toolbox_tron_no_signer");let I=R||await L(),A=U!==void 0?BigInt(U).toString():El,j="approve(address,uint256)",a=[{type:"address",value:W},{type:"uint256",value:A}],By={callValue:0,feeLimit:_()};try{let{transaction:Jy}=await f.transactionBuilder.triggerSmartContract(B,j,By,a,I),Ny=await G.signTransaction(Jy),{txid:Dy}=await f.trx.sendRawTransaction(Ny);if(!Dy)throw new S.SwapKitError("toolbox_tron_approve_failed");return Dy}catch(Jy){throw new S.SwapKitError("toolbox_tron_approve_failed",{error:Jy})}},broadcastTransaction:V,createTransaction:t,estimateTransactionFee:H,getAddress:L,getApprovedAmount:r,getBalance:M,isApproved:async({assetAddress:B,spenderAddress:W,from:U,amount:R})=>{let I=await r({assetAddress:B,from:U,spenderAddress:W});if(!R)return I>0n;let A=BigInt(R);return I>=A},signTransaction:E,transfer:Q,tronWeb:f,validateAddress:await vf()}};var Vx=D(()=>{If();Ex();S=require("@swapkit/helpers"),$T=require("ts-pattern")});var uf={};Xy(uf,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>tx,getTronAddressValidator:()=>vf,createTronToolbox:()=>Kx});module.exports=_y(uf);var Ff=D(()=>{If();Vx()});async function tl({chain:T,txHash:n}){let x=`${kn(T)}/push/transaction`,y=JSON.stringify({data:n});try{let o=await K.RequestClient.post(x,{body:y,headers:{"Content-Type":"application/json"}});if(o.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:o.context.error||"Transaction broadcast failed"});return o.data?.transaction_hash||n}catch(o){let f=await K.getRPCUrl(T);if(f){let l=JSON.stringify({id:Fo(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),C=await K.RequestClient.post(f,{body:l,headers:{"Content-Type":"application/json"}});if(C.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:C.error?.message});if(C.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return C.result}throw o}}function kn(T){return`https://api.blockchair.com/${Kl(T)}`}function bx(T){switch(T){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function Kl(T){switch(T){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function Vl(T){try{let{feePerKb:n}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=n/1000;return Math.max(x,bx(T))}catch{return bx(T)}}async function Ef(T,n){let x=await K.RequestClient.get(`${T}${n?`${T.includes("?")?"&":"?"}key=${n}`:""}`);if(!x||x.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function jx({address:T,chain:n,apiKey:x}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Ef(`${kn(n)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function bl({address:T,chain:n,apiKey:x}){return(await jx({address:T,apiKey:x,chain:n}))?.address.balance||0}async function cx({chain:T,apiKey:n,txHash:x}){if(!x)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Ef(`${kn(T)}/raw/transaction/${x}`,n))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function $l({chain:T,address:n,apiKey:x,offset:y=0,limit:o=30}){return(await Ef(`${kn(T)}/outputs?q=recipient(${n}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${o}&offset=${y}`,x)).map(({is_spent:G,script_hex:L,block_id:_,transaction_hash:X,index:N,value:w,spending_signature_hex:Z})=>({hash:X,index:N,is_confirmed:_!==-1,is_spent:G,script_hex:L,txHex:Z,value:w}))}function pl(T){return T.reduce((n,x)=>n+x.value,0)}function $x(T,n){let x=[...T].sort((y,o)=>o.value-y.value);if(n){let y=[],o=0;for(let f of x)if(y.push(f),o+=f.value,o>=n)break;return y}return x}async function mx({chain:T,address:n,apiKey:x,targetValue:y,accumulativeValue:o=0,offset:f=0,limit:l=30}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let C=await $l({address:n,apiKey:x,chain:T,limit:l,offset:f,targetValue:y}),L=C.length<l,_=C.filter(({is_spent:M})=>!M),X=pl(_),N=o+X,w=y&&N>=y;if(L||w)return $x(_,y);let Z=await mx({accumulativeValue:N,address:n,apiKey:x,chain:T,limit:l,offset:f+l,targetValue:y}),q=[..._,...Z];return $x(q,y)}catch(C){return console.error("Failed to fetch unspent UTXOs:",C),[]}}async function hl({address:T,chain:n,apiKey:x,fetchTxHex:y=!0,targetValue:o}){let f=await mx({address:T,apiKey:x,chain:n,targetValue:o}),l=[];for(let{hash:C,index:G,script_hex:L,value:_}of f){let X;if(y)X=await cx({apiKey:x,chain:n,txHash:C});l.push({address:T,hash:C,index:G,txHex:X,value:_,witnessUtxo:{script:Buffer.from(L,"hex"),value:_}})}return l}function jl(T){let n=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(x)=>tl({chain:T,txHash:x}),getAddressData:(x)=>jx({address:x,apiKey:n,chain:T}),getBalance:(x)=>bl({address:x,apiKey:n,chain:T}),getRawTx:(x)=>cx({apiKey:n,chain:T,txHash:x}),getSuggestedTxFee:()=>Vl(T),getUtxos:(x)=>hl({...x,apiKey:n,chain:T})}}function cl(T){return T}function Zy(T){let n=K.SKConfig.get("apis")[T];if(n)return K.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),n;return jl(T)}function Py(){return function(n){switch(n){case K.Chain.Bitcoin:return hx.networks.bitcoin;case K.Chain.BitcoinCash:return LT.default.bitcoincash.main.toBitcoinJS();case K.Chain.Dash:return LT.default.dash.main.toBitcoinJS();case K.Chain.Litecoin:return LT.default.litecoin.main.toBitcoinJS();case K.Chain.Dogecoin:{let x={private:70615956,public:70617039},y=LT.default.dogecoin.test;return y.versions.bip32=x,LT.default.dogecoin.main.toBitcoinJS()}case K.Chain.Zcash:return px.networks.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var px,K,hx,LT;var ix=D(()=>{WT();px=require("@bitgo/utxo-lib"),K=require("@swapkit/helpers"),hx=require("bitcoinjs-lib"),LT=J(require("coininfo"))});function bf(T){try{return Sn(T),!0}catch{return!1}}function $f(T){return Sn(T)?.network}function XT(T){let n=Sn(T);if(n?.format==="legacy")return T;return gl(n)}function pT(T){let n=Sn(T);return dl(n)}function Sn(T){try{let n=ml(T);if(n)return n}catch{}try{let n=il(T);if(n)return n}catch{}throw new Af.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function ml(T){try{let n=tf.default.decode(T);if(n.length!==21)throw new Af.SwapKitError("toolbox_utxo_invalid_address",{address:T});let x=n[0],y=Array.prototype.slice.call(n,1);switch(x){case g.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case g.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case g.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case g.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case g.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case g.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function il(T){if(T.indexOf(":")!==-1)try{return gx(T)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let x of n)try{return gx(`${x}:${T}`)}catch{}}return}function gx(T){try{let{hash:n,prefix:x,type:y}=Kf.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function gl(T){let n=g.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=n,x.set(T.hash,1),tf.default.encode(x)}function dl(T){let n=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Kf.default.encode(n,x,y)}var Af,tf,Kf,Vf,g;var dx=D(()=>{Af=require("@swapkit/helpers"),tf=J(require("bs58check")),Kf=J(require("cashaddrjs"));((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(Vf||={});g={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function zy(T){let n=Buffer.from(T,"utf8");return vn.script.compile([vn.opcodes.OP_RETURN,n])}var rx,vn,rl=1000,un=10,ax=10,al=41,sl=107,Fn,In,hT,jT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new rx.SwapKitError("toolbox_utxo_invalid_address",{address:T})},NT=({inputs:T,outputs:n,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?jT(T[0].address):"P2PKH",o=T.filter((l)=>l.value>=In["type"in l?l.type:"P2PKH"]*Math.ceil(x)).reduce((l,C)=>l+by(C),0),f=n?.reduce((l,C)=>l+cT(C),0)||hT[y];return un+o+f},by=(T)=>{if("type"in T)return In[T.type];if("address"in T&&T.address)return In[jT(T.address)];return al+sl},cT=(T,n)=>{if(T?.script)return ax+T.script.length+(T.script.length>=74?2:1);if(n)return hT[n];return hT.P2PKH};var pf=D(()=>{rx=require("@swapkit/helpers"),vn=require("bitcoinjs-lib");((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(Fn||={});In={["P2PKH"]:148,["P2WPKH"]:68},hT={["P2PKH"]:34,["P2WPKH"]:31}});function En(T){switch(T){case Uy.Chain.Bitcoin:case Uy.Chain.BitcoinCash:return 550;case Uy.Chain.Dash:case Uy.Chain.Litecoin:return 5500;case Uy.Chain.Dogecoin:return 1e5;case Uy.Chain.Zcash:return 546;default:throw new Uy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Hy({inputs:T,outputs:n,feeRate:x=1,chain:y=Uy.Chain.Bitcoin,changeAddress:o=""}){let f=Math.ceil(x),l=T[0]&&"address"in T[0]&&T[0].address?jT(T[0].address):"P2PKH",C=T.filter((w)=>by(w)*f<=w.value),G=un+n.reduce((w,Z)=>w+cT(Z,l),0),L=n.reduce((w,Z)=>w+Z.value,0),_=G*f,X=0,N=[];for(let w of C){let Z=by(w),q=f*Z;_+=q,X+=w.value,N.push(w);let M=_+L;if(X<M)continue;let Q=X-M,H=f*cT({address:"",value:0},l);if(Q>H){let t=H+_,E=X-(L+t);if(E>Math.max(by({})*f,En(y)))return{fee:t,inputs:N,outputs:n.concat({address:o,value:E})}}return{fee:_,inputs:N,outputs:n}}return{fee:f*NT({feeRate:f,inputs:T,outputs:n})}}var Uy;var sx=D(()=>{pf();Uy=require("@swapkit/helpers")});var _T=D(()=>{ix();dx();sx();pf()});function ay(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function $y(T){let n=ay(T);return bf(n)&&$f(n)==="mainnet"}function wT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let n=An.networks.zcash;try{return An.address.toOutputScript(T,n),!0}catch{let x=ex.default.decode(T);if(x.length<21)return!1;let y=x[0];return y===n.pubKeyHash||y===n.scriptHash}}catch{return!1}}var An,ex;var mT=D(()=>{_T();An=require("@bitgo/utxo-lib"),ex=J(require("bs58check"))});function n0({inputs:T,outputs:n,chain:x,psbt:y,sender:o,compiledMemo:f}){for(let l of T){let C=!!l.witnessUtxo&&!iT.includes(x)&&{witnessUtxo:l.witnessUtxo},G=iT.includes(x)&&{nonWitnessUtxo:l.txHex?Buffer.from(l.txHex,"hex"):void 0};y.addInput({hash:l.hash,index:l.index,...C,...G})}for(let l of n){let C="address"in l&&l.address?l.address:o,G=l.script;if(G&&!f)continue;let L=G?{script:f,value:0}:{address:C,value:l.value};Yy.initEccLib(tn.default),y.addOutput(L)}return{inputs:T,psbt:y}}async function f0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,fetchTxHex:f=!1}){let l=T.chain,C=x?await zy(x):null,G=await l0({assetValue:T,fetchTxHex:f,memo:x,recipient:n,sender:o}),{inputs:L,outputs:_}=Hy({...G,chain:l,feeRate:y});if(!(L&&_))throw new v.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let X=await Py(),N=new Yy.Psbt({network:X(l)});if(l===v.Chain.Dogecoin)N.setMaximumFeeRate(650000000);let{psbt:w,inputs:Z}=await n0({chain:l,compiledMemo:C,inputs:L,outputs:_,psbt:N,sender:o});return{inputs:Z,psbt:w,utxos:G.inputs}}async function o0(){let T=await Py();return function({address:x,chain:y}){if(y===v.Chain.BitcoinCash)return $y(x);if(y===v.Chain.Zcash)return wT(x);try{return Yy.initEccLib(tn.default),Yy.address.toOutputScript(x,T(y)),!0}catch{return!1}}}async function el({chain:T,phrase:n,derivationPath:x}){let y=(await gT(T))({derivationPath:x,phrase:n});async function o(l){return await l.signAllInputs(y),l}function f(){return jf(T)(y)}return{getAddress:f,signTransaction:o}}async function sy({chain:T,...n}){let x="phrase"in n?n.phrase:void 0,y="index"in n?n.index||0:0,o=v.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[T],{index:y})),f=x?await el({chain:T,derivationPath:o,phrase:x}):("signer"in n)?n.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let C=await o0(),G=await gT(T);return{accumulative:Hy,broadcastTx:(L)=>Zy(T).broadcastTx(L),calculateTxSize:NT,createKeysForPath:G,createTransaction:f0,estimateMaxSendableAmount:y1(T),estimateTransactionFee:T1(T),getAddress:l,getAddressFromKeys:jf(T),getBalance:TT(T),getFeeRates:()=>dT(T),getInputsOutputsFee:x0,getPrivateKeyFromMnemonic:(L)=>{return G(L).toWIF()},transfer:n1(f),validateAddress:(L)=>C({address:L,chain:T})}}async function x0({assetValue:T,feeOptionKey:n=v.FeeOption.Fast,feeRate:x,memo:y,sender:o,recipient:f}){let l=T.chain,C=await l0({assetValue:T,memo:y,recipient:f,sender:o}),G=x?Math.floor(x):(await dT(l))[n];return Hy({...C,chain:l,feeRate:G})}function y1(T){return async function({from:x,memo:y,feeRate:o,feeOptionKey:f=v.FeeOption.Fast,recipients:l=1}){let C=await Zy(T).getAddressData(x),G=o?Math.ceil(o):(await dT(T))[f],L=C?.utxo.map((Z)=>({...Z,hash:"",type:"P2PKH"})).filter((Z)=>Z.value>Math.max(En(T),by(Z)*G));if(!L?.length)return v.AssetValue.from({chain:T});let _=v.AssetValue.from({chain:T,value:L.reduce((Z,q)=>Z+q.value,0)}),X=typeof l==="number"?Array.from({length:l},()=>({address:x,value:0})):l;if(y){let Z=await zy(y);X.push({address:x,script:Z,value:0})}let w=NT({feeRate:G,inputs:L,outputs:X})*G;return _.sub(w)}}function T1(T){return async(n)=>{let x=await x0(n);return v.AssetValue.from({chain:T,value:v.SwapKitNumber.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function gT(T){let n=await Py();switch(T){case v.Chain.BitcoinCash:return function({phrase:y,derivationPath:o=`${v.DerivationPath.BCH}/0`,wif:f}){let l=n(T);if(f)return Kn.ECPair.fromWIF(f,l);if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return Kn.HDNode.fromSeedBuffer(Buffer.from(hf.mnemonicToSeedSync(y)),l).derivePath(o).keyPair};case v.Chain.Bitcoin:case v.Chain.Dogecoin:case v.Chain.Litecoin:case v.Chain.Zcash:case v.Chain.Dash:return function({phrase:y,wif:o,derivationPath:f}){if(!(o||y))throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let l=T0.ECPairFactory(tn.default),C=n(T);if(o)return l.fromWIF(o,C);let G=hf.mnemonicToSeedSync(y),L=y0.HDKey.fromMasterSeed(G,C).derive(f);if(!L.privateKey)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return l.fromPrivateKey(Buffer.from(L.privateKey),{network:C})};default:throw new v.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function jf(T){let n=Py();return function(y){if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let o=iT.includes(T)?Yy.payments.p2pkh:Yy.payments.p2wpkh,{address:f}=o({network:n(T),pubkey:y.publicKey});if(!f)throw new v.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function n1(T){return async function({memo:x,recipient:y,feeOptionKey:o,feeRate:f,assetValue:l}){let C=await T?.getAddress(),G=l.chain;if(!(T&&C))throw new v.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new v.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=f||(await dT(G))[o||v.FeeOption.Fast],{psbt:_}=await f0({assetValue:l,feeRate:L,memo:x,recipient:y,sender:C}),X=await T.signTransaction(_);return X.finalizeAllInputs(),Zy(G).broadcastTx(X.extractTransaction().toHex())}}async function dT(T){let n=await Zy(T).getSuggestedTxFee();return{[v.FeeOption.Average]:n,[v.FeeOption.Fast]:v.applyFeeMultiplier(n,v.FeeOption.Fast),[v.FeeOption.Fastest]:v.applyFeeMultiplier(n,v.FeeOption.Fastest)}}async function l0({assetValue:T,recipient:n,memo:x,sender:y,fetchTxHex:o=!1}){let f=T.chain,l=(await dT(f))[v.FeeOption.Fastest],C=o||iT.includes(f),G=T.getBaseValue("number"),L=Math.ceil(G+l*5000);return{inputs:await Zy(f).getUtxos({address:y,fetchTxHex:C,targetValue:L}),outputs:[{address:n,value:G},...x?[{address:"",script:await zy(x),value:0}]:[]]}}var tn,Kn,y0,hf,v,Yy,T0,iT;var rT=D(()=>{WT();_T();mT();tn=J(require("@bitcoinerlab/secp256k1")),Kn=require("@psf/bitcoincashjs-lib"),y0=require("@scure/bip32"),hf=require("@scure/bip39"),v=require("@swapkit/helpers"),Yy=require("bitcoinjs-lib"),T0=require("ecpair"),iT=[v.Chain.Dash,v.Chain.Dogecoin,v.Chain.Zcash,v.Chain.BitcoinCash]});function ey(T){return ay(pT(T))}function f1(T){function n({builder:y,utxos:o}){return o.forEach((f,l)=>{y.sign(l,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ey(y))},signTransaction:n}}async function cf(T){let n="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=Cy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Cy.updateDerivationPath(Cy.NetworkDerivationPath[My],{index:x})),o=n?(await gT(My))({derivationPath:y,phrase:n}):void 0,f=o?f1(o):("signer"in T)?T.signer:void 0;function l(){return Promise.resolve(f?.getAddress())}let{getBalance:C,getFeeRates:G,broadcastTx:L,..._}=await sy({chain:My});function X(N,w=!0){return C(ay(pT(N)))}return{..._,broadcastTx:L,buildTx:x1,createTransaction:G0,getAddress:l,getAddressFromKeys:l1,getBalance:X,getFeeRates:G,stripPrefix:ay,stripToCashAddress:ey,transfer:o1({broadcastTx:L,getFeeRates:G,signer:f}),validateAddress:$y}}async function G0({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o}){if(!$y(n))throw new Cy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let f=Math.ceil(T.getBaseValue("number")+y*7500),l=await Zy(My).getUtxos({address:ey(o),fetchTxHex:!0,targetValue:f}),C=x?await zy(x):null,G=[];G.push({address:n,value:T.getBaseValue("number")});let{inputs:L,outputs:_}=Hy({chain:My,feeRate:y,inputs:l,outputs:G});if(!(L&&_))throw new Cy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let X=await Py(),N=new ZT.TransactionBuilder(X(My));await Promise.all(L.map(async(w)=>{let Z=await Zy(My).getRawTx(w.hash);N.addInput(ZT.Transaction.fromBuffer(Buffer.from(Z,"hex")),w.index)}));for(let w of _){let Z="address"in w&&w.address?w.address:XT(o),q=await Py(),M=ZT.address.toOutputScript(XT(Z),q(My));N.addOutput(M,w.value)}if(C)N.addOutput(C,0);return{builder:N,utxos:L}}function o1({broadcastTx:T,getFeeRates:n,signer:x}){return async function({recipient:o,assetValue:f,feeOptionKey:l=Cy.FeeOption.Fast,...C}){let G=await x?.getAddress();if(!(x&&G))throw new Cy.SwapKitError("toolbox_utxo_no_signer");if(!o)throw new Cy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let L=C.feeRate||(await n())[l],{builder:_,utxos:X}=await G0({...C,assetValue:f,feeRate:L,recipient:o,sender:G}),w=(await x.signTransaction({builder:_,utxos:X})).toHex();return T(w)}}async function x1({assetValue:T,recipient:n,memo:x,feeRate:y,sender:o,setSigHashType:f}){let l=pT(n);if(!$y(l))throw new Cy.SwapKitError("toolbox_utxo_invalid_address",{address:l});let C=Math.ceil(T.getBaseValue("number")+y*7500),G=await Zy(My).getUtxos({address:ey(o),fetchTxHex:!1,targetValue:C}),L=Number(y.toFixed(0)),_=x?await zy(x):null,X=[];if(X.push({address:XT(n),value:T.getBaseValue("number")}),_)X.push({script:_,value:0});let{inputs:N,outputs:w}=Hy({chain:My,feeRate:L,inputs:G,outputs:X});if(!(N&&w))throw new Cy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let Z=await Py(),q=new C0.Psbt({network:Z(My)});for(let{hash:M,index:Q,witnessUtxo:H}of N)q.addInput({hash:M,index:Q,sighashType:f?65:void 0,witnessUtxo:H});for(let M of w){let Q="address"in M&&M.address?M.address:XT(o),H=M.script?_?{script:_,value:0}:void 0:{address:Q,value:M.value};if(H)q.addOutput(H)}return{inputs:N,psbt:q,utxos:G}}function l1(T){let n=T.getAddress(0);return ey(n)}var ZT,Cy,C0,My;var Vn=D(()=>{_T();rT();mT();ZT=require("@psf/bitcoincashjs-lib"),Cy=require("@swapkit/helpers"),C0=require("bitcoinjs-lib"),My=Cy.Chain.BitcoinCash});function N0(){return Wy.networks.zcash}function _0(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function C1({phrase:T,derivationPath:n}){let x=gf.mnemonicToSeedSync(T),o=mf.HDKey.fromMasterSeed(x).derive(n);if(!o.privateKey)throw new ny.SwapKitError("toolbox_utxo_invalid_params");let f=_0(),l=Wy.ECPair.fromPrivateKey(Buffer.from(o.privateKey),{network:f}),C=Wy.crypto.hash160(l.publicKey),{isStagenet:G}=ny.SKConfig.get("envs"),L=G?Buffer.from([29,37]):Buffer.from([28,184]),_=Buffer.concat([L,C]),X=X0.default.encode(_);return{getAddress:()=>Promise.resolve(X),signTransaction:(N)=>{let w=N.signAllInputs(l);return Promise.resolve(w)}}}function G1({inputs:T,outputs:n,psbt:x,sender:y,compiledMemo:o}){for(let f of T){let l=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},C=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};x.addInput({hash:f.hash,index:f.index,...l,...C})}for(let f of n){let l="address"in f&&f.address?f.address:y,C=f.script;if(C&&!o)continue;let G=C?{script:o,value:0n}:{script:Wy.address.toOutputScript(l,N0()),value:BigInt(f.value)};x.addOutput(G)}return{inputs:T,psbt:x}}async function L0(T){let{assetValue:n,recipient:x,memo:y,feeRate:o,sender:f,fetchTxHex:l}=T,C=y?zy(y):null,G=await Zy(ny.Chain.Zcash).getUtxos({address:f,fetchTxHex:l!==!1}),L=[{address:x,value:Number(n.getBaseValue("string"))},...C?[{script:C,value:0}]:[]],{inputs:_,outputs:X}=Hy({chain:ny.Chain.Zcash,changeAddress:f,feeRate:o,inputs:G,outputs:L});if(!(_&&X))throw new ny.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let N=Wy.bitgo.createPsbtForNetwork({network:N0()},{version:455}),Z=3268858036,q=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),M=Buffer.allocUnsafe(4);M.writeUInt32LE(Z>>>0,0),N.addUnknownKeyValToGlobal({key:q,value:M});let{psbt:Q,inputs:H}=await G1({compiledMemo:C,inputs:_,outputs:X,psbt:N,sender:f});return{inputs:H,outputs:X,psbt:Q}}async function df(T){let n=await BT.match(T).with({signer:BT.P.not(BT.P.nullish)},({signer:l})=>Promise.resolve(l)).with({phrase:BT.P.string},({phrase:l,derivationPath:C,index:G=0})=>{let L=C||ny.NetworkDerivationPath[ny.Chain.Zcash]||[44,133,0,0,0],_=ny.updateDerivationPath(L,{index:G}),X=ny.derivationPathToString(_);return C1({derivationPath:X,phrase:l})}).otherwise(()=>Promise.resolve(void 0)),x=await sy({chain:ny.Chain.Zcash,signer:n});async function y({recipient:l,assetValue:C,feeOptionKey:G=ny.FeeOption.Fast,...L}){let _=await n?.getAddress();if(!(n&&_))throw new ny.SwapKitError("toolbox_utxo_no_signer");let X=L.feeRate||(await x.getFeeRates())[G],{psbt:N}=await L0({...L,assetValue:C,feeRate:X,recipient:l,sender:_}),w=await n.signTransaction(N);return w.finalizeAllInputs(),x.broadcastTx(w.extractTransaction().toHex())}function o({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){let G=gf.mnemonicToSeedSync(l),_=mf.HDKey.fromMasterSeed(G).derive(C);if(!_.privateKey)throw new ny.SwapKitError("toolbox_utxo_invalid_params");let X=_0();return Wy.ECPair.fromPrivateKey(Buffer.from(_.privateKey),{network:X})}function f({phrase:l,derivationPath:C="m/44'/133'/0'/0/0"}){return o({derivationPath:C,phrase:l}).toWIF()}return{...x,createKeysForPath:o,createTransaction:L0,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:wT}}var Wy,mf,gf,ny,X0,BT;var rf=D(()=>{_T();rT();mT();Wy=require("@bitgo/utxo-lib"),mf=require("@scure/bip32"),gf=require("@scure/bip39"),ny=require("@swapkit/helpers"),X0=J(require("bs58check")),BT=require("ts-pattern")});async function L1(T,n){switch(T){case ky.Chain.BitcoinCash:return await cf(n||{});case ky.Chain.Zcash:return await df(n);case ky.Chain.Bitcoin:case ky.Chain.Dogecoin:case ky.Chain.Litecoin:case ky.Chain.Dash:return await sy({chain:T,...n});default:throw new ky.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var ky;var w0=D(()=>{Vn();rT();rf();Vn();mT();ky=require("@swapkit/helpers")});var af={};Xy(af,{validateZcashAddress:()=>wT,toLegacyAddress:()=>XT,toCashAddress:()=>pT,stripToCashAddress:()=>ey,stripPrefix:()=>ay,nonSegwitChains:()=>iT,isValidAddress:()=>bf,getUtxoToolbox:()=>L1,getUtxoNetwork:()=>Py,getUtxoApi:()=>Zy,getUTXOAddressValidator:()=>o0,getScriptTypeForAddress:()=>jT,getOutputSize:()=>cT,getInputSize:()=>by,getDustThreshold:()=>En,getCreateKeysForPath:()=>gT,detectAddressNetwork:()=>$f,createZcashToolbox:()=>df,createUTXOToolbox:()=>sy,createCustomUtxoApi:()=>cl,createBCHToolbox:()=>cf,compileMemo:()=>zy,calculateTxSize:()=>NT,bchValidateAddress:()=>$y,addressFromKeysGetter:()=>jf,addInputsAndOutputs:()=>n0,accumulative:()=>Hy,UtxoNetwork:()=>Vf,UTXOScriptType:()=>Fn,TX_OVERHEAD:()=>un,OutputSizes:()=>hT,OP_RETURN_OVERHEAD:()=>ax,MIN_TX_FEE:()=>rl,InputSizes:()=>In});module.exports=_y(af);var sf=D(()=>{_T();w0();Vn();rT();rf()});async function $n(){let{validateAccountId:T}=await import("near-sdk-js");return(n)=>{try{return T(n)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return n.length>=2&&n.length<=64&&x.test(n)}}}async function pn(T){let{parseSeedPhrase:n}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,o=T.derivationPath?bn.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=n(T.phrase,o),l=x.fromString(f);return J0(l)}async function ef(T){let{KeyPair:n}=await import("near-api-js/lib/utils"),x=n.fromString(T);return J0(x)}function J0(T){return new B0(T)}async function hn(T,n){let y=(await T.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((C)=>C.access_key.permission==="FullAccess");if(!y)throw new bn.SwapKitError("toolbox_near_no_public_key_found");let{utils:o}=await import("near-api-js"),f=o.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var bn,Z0,B0;var yo=D(()=>{bn=require("@swapkit/helpers"),Z0=require("near-api-js");B0=class B0 extends Z0.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),n=Buffer.from(T.data).toString("hex");return Promise.resolve(n)}}});function To(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function no(T){return"contractId"in T&&"methodName"in T}function fo(T){return"actions"in T}function oo(T){return"newAccountId"in T}function xo(T){return"contractCode"in T}function lo(T){return"customEstimator"in T}function Co(T){let n=0;for(let x of T)switch(x.enum){case"transfer":n+=Number(Gy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Gy.CONTRACT_CALL);break;case"createAccount":n+=Number(Gy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Gy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Gy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Gy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Gy.STAKE);break;default:n+=Number(Gy.CONTRACT_CALL)}return n.toString()}function Go(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Gy.TOKEN_TRANSFER;if(T==="storage_deposit")return Gy.STORAGE_DEPOSIT;return Gy.CONTRACT_CALL}function X1(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function N1(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Gy;var Lo=D(()=>{Gy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function jn({account:T,contractId:n,viewMethods:x,changeMethods:y}){let{Contract:o}=await import("near-api-js");return new o(T,n,{changeMethods:y,useLocalViewExecution:!0,viewMethods:x})}async function Xo({contractId:T,account:n}){let x=(await import("bn.js")).default,y=await jn({account:n,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),o=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let G=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new x("100000000000000"),new x(G))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:o,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,l)=>y.storage_deposit({account_id:f},new x("100000000000000"),new x(l||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,l,C)=>{return await o(f),y.ft_transfer({amount:l,memo:C,receiver_id:f},new x("100000000000000"),new x("1"))},transferCall:async(f,l,C,G)=>{return await o(f),y.ft_transfer_call({amount:l,memo:G,msg:C,receiver_id:f},new x("100000000000000"),new x("1"))}}}async function _1(T){let{P:n,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),o=await x(T).with({phrase:n.string},async(B)=>{return await pn(B)}).with({signer:n.any},({signer:B})=>B).otherwise(()=>{return}),f=await m.getRPCUrl(m.Chain.Near),l=new y.JsonRpcProvider({url:f});async function C(B){let{Account:W}=await import("near-api-js"),U=B||await G();return new W(U,l,o)}async function G(){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");return await o.getAddress()}async function L(B){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let W=await _({...B,sender:await G()});return q(await Z(W))}async function _(B){let{recipient:W,assetValue:U,memo:R,attachedDeposit:I,sender:A,functionCall:j}=B,a=await $n();if(!a(W))throw new m.SwapKitError("toolbox_near_invalid_address",{recipient:W});if(!a(A))throw new m.SwapKitError("toolbox_near_invalid_address",{signerId:A});if(j)return N({...j,sender:A});if(!U.isGasAsset){let cy=U.address;if(!cy)throw new m.SwapKitError("toolbox_near_missing_contract_address");return N({args:{amount:U.getBaseValue("string"),memo:R||null,receiver_id:W},attachedDeposit:I||"1",contractId:cy,gas:"250000000000000",methodName:"ft_transfer",sender:A})}let{publicKey:$,nonce:By}=await hn(l,A),Jy=U.getBaseValue("bigint"),{transactions:Ny,utils:Dy}=await import("near-api-js"),jy=[Ny.transfer(Jy)];if(R&&I)jy.push(Ny.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(I)));let sT=await l.block({finality:"final"}),cn=Dy.serialize.base_decode(sT.header.hash);return Ny.createTransaction(A,$,W,By+1,jy,cn)}async function X(B){let{SCHEMA:W}=await import("near-api-js/lib/transaction"),{utils:U}=await import("near-api-js"),R=U.serialize.serialize(W.Transaction,B);return Buffer.from(R).toString("base64")}async function N(B){let{sender:W}=B,{publicKey:U,nonce:R}=await hn(l,W),{transactions:I,utils:A}=await import("near-api-js"),j=await l.block({finality:"final"}),a=A.serialize.base_decode(j.header.hash),$=[I.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))];return I.createTransaction(W,U,B.contractId,R+1,$,a)}async function w(B){let{transactions:W}=await import("near-api-js");return W.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))}async function Z(B){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let[W,U]=await o.signTransaction(B);return U}async function q(B){return(await l.sendTransaction(B)).transaction.hash}async function M(B){if("assetValue"in B){let I=BigInt("115123062500")+BigInt("108059500000"),A=await Q(),j=I*BigInt(A.toString()),{baseDecimal:a}=m.getChainConfig(m.Chain.Near);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:a,value:j.toString()})}let W=o?await C():void 0;return Ly(B,W)}async function Q(){try{return await l.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function H(B,W,U){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let R=await C(),{utils:I}=await import("near-api-js"),A=I.format.parseNearAmount(U)||"0";return(await R.createAccount(B,I.PublicKey.fromString(W),BigInt(A))).transaction.hash}async function t(B){try{if(!o)throw new m.SwapKitError("toolbox_near_no_signer");let{transactions:W}=await import("near-api-js"),{contractId:U,methodName:R,args:I,deposit:A}=B,j=await C(),a=await Ly({args:I||{},contractId:U,methodName:R}),$=W.functionCall(R,I||{},a.getBaseValue("bigint"),BigInt(A||"1"));return(await j.signAndSendTransaction({actions:[$],receiverId:U})).transaction_outcome.id}catch(W){throw new m.SwapKitError("toolbox_near_transfer_failed",{error:W})}}async function E(B){let W=await C();return jn({account:W,changeMethods:B.changeMethods,contractId:B.contractId,viewMethods:B.viewMethods})}async function V(B){if(!o)throw new m.SwapKitError("toolbox_near_no_signer");if(B.actions.length===0)throw new m.SwapKitError("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:B.actions,receiverId:B.receiverId})).transaction.hash}async function r(B){let W=await C();return Xo({account:W,contractId:B})}async function Ly(B,W){let{baseDecimal:U}=m.getChainConfig(m.Chain.Near),R=await x(B).when(To,()=>Gy.SIMPLE_TRANSFER).when(no,(j)=>Go(j.methodName)).when(fo,(j)=>Co(j.actions)).when(oo,()=>Gy.ACCOUNT_CREATION).when(xo,()=>Gy.CONTRACT_DEPLOYMENT).when(lo,(j)=>{if(!W)throw new m.SwapKitError("toolbox_near_no_account");return j.customEstimator(W)}).otherwise(()=>{throw new m.SwapKitError("toolbox_near_invalid_gas_params")}),A=BigInt(R)*BigInt(1000000000000);return m.AssetValue.from({chain:m.Chain.Near,fromBaseDecimal:U,value:A})}async function Iy(){try{return(await l.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}return{broadcastTransaction:q,callFunction:t,createAction:w,createContract:E,createContractFunctionCall:N,createSubAccount:H,createTransaction:_,estimateGas:Ly,estimateTransactionFee:M,executeBatchTransaction:V,getAddress:G,getBalance:TT(m.Chain.Near),getGasPrice:Iy,getPublicKey:async()=>o?(await o.getPublicKey()).toString():"",getSignerFromPhrase:(B)=>pn(B),getSignerFromPrivateKey:ef,nep141:r,provider:l,serializeTransaction:X,signTransaction:Z,transfer:L,validateAddress:await $n()}}var m;var No=D(()=>{WT();yo();Lo();m=require("@swapkit/helpers")});var q0=D(()=>{No()});var _o={};Xy(_o,{tgasToGas:()=>X1,isSimpleTransfer:()=>To,isCustomEstimator:()=>lo,isContractDeployment:()=>xo,isContractCall:()=>no,isBatchTransaction:()=>fo,isAccountCreation:()=>oo,getValidateNearAddress:()=>$n,getNearToolbox:()=>_1,getNearSignerFromPrivateKey:()=>ef,getNearSignerFromPhrase:()=>pn,getFullAccessPublicKey:()=>hn,getContractMethodGas:()=>Go,gasToTGas:()=>N1,estimateBatchGas:()=>Co,createNearContract:()=>jn,createNEP141Token:()=>Xo,GAS_COSTS:()=>Gy});module.exports=_y(_o);var wo=D(()=>{yo();Lo();No();q0()});var Zo={};Xy(Zo,{radixValidateAddress:()=>Q0,RadixToolbox:()=>q1});module.exports=_y(Zo);function Q0(T){return T.startsWith("account_rdx1")&&T.length===66}function w1({networkApi:T}){return async function(x){let y=await Z1({address:x,networkApi:T});return B1({networkApi:T,resources:y})}}async function Z1({address:T,networkApi:n}){let x=!0,y,o=[],f=await J1(n);while(x){let l={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},C=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:l});if(o=o.concat(C.items),C.next_cursor)y=C.next_cursor;else x=!1}return o}async function B1({resources:T,networkApi:n}){let x=[],y=50,o=[];for(let f=0;f<T.length;f+=50)o.push(T.slice(f,f+50));for(let f of o){let l=f.map((L)=>L.resource_address),C=await n.state.getEntityDetailsVaultAggregated(l),G=new Map;for(let L of C)if(L.details!==void 0){let _=L.metadata?.items.find((N)=>N.key==="symbol"),X=_?.value.typed.type==="String"?_.value.typed.value:"?";if(L.details.type==="FungibleResource")G.set(L.address,{decimals:L.details.divisibility,symbol:X})}for(let L of f)if(L.aggregation_level==="Global"){let _=G.get(L.resource_address)||{decimals:0,symbol:"?"},X=Sy.AssetValue.from({asset:_.symbol!==Sy.Chain.Radix?`${Sy.Chain.Radix}.${_.symbol}-${L.resource_address}`:"XRD.XRD",value:L.amount});x.push(X)}}return x}function J1(T){return T.status.getCurrent().then((n)=>n.ledger_state.state_version)}var Sy,q1=async({dappConfig:T}={})=>{let{RadixDappToolkit:n}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||Sy.SKConfig.get("integrations").radix,o=n({...y,networkId:y.network?.networkId||1}),f=x.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:w1({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new Sy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:Q0}};var Bo=D(()=>{Sy=require("@swapkit/helpers")});var qo={};Xy(qo,{rippleValidateAddress:()=>Jo,hashes:()=>W0.hashes,getRippleToolbox:()=>M1});module.exports=_y(qo);function M0(T){let n=py.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(x)=>Promise.resolve(n.sign(x))}}function Jo(T){return py.isValidAddress(T)}var h,py,W0,Q1,M1=async(T={})=>{let n="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?M0(T.phrase):void 0,x=await h.getRPCUrl(h.Chain.Ripple);if(!x)throw new h.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:h.Chain.Ripple}});let y=new py.Client(x);await y.connect();let o=()=>{if(!n)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},f=async(N)=>{let w=N||await o(),{baseDecimal:Z}=h.getChainConfig(h.Chain.Ripple);try{let M=(await y.request({account:w,command:"account_info"})).result.account_data.Balance;return[h.AssetValue.from({chain:h.Chain.Ripple,fromBaseDecimal:Z,value:M})]}catch(q){if(q.data.error_code===Q1.ACCOUNT_NOT_FOUND)return[h.AssetValue.from({chain:h.Chain.Ripple,value:0})];throw new h.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:w,error:q}})}},l=async()=>{let w=(await y.request({command:"fee"})).result.drops.open_ledger_fee,{baseDecimal:Z}=h.getChainConfig(h.Chain.Ripple);return h.AssetValue.from({chain:h.Chain.Ripple,fromBaseDecimal:Z,value:h.SwapKitNumber.fromBigInt(BigInt(w),Z)})},C=async({assetValue:N,recipient:w,memo:Z,sender:q})=>{if(!Jo(w))throw new h.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let M=q||await o();if(!N.isGasAsset||N.chain!==h.Chain.Ripple)throw new h.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:N.toString()}});let Q={Account:M,Amount:py.xrpToDrops(N.getValue("string")),Destination:w,TransactionType:"Payment"};if(Z)Q.Memos=[{Memo:{MemoData:Buffer.from(Z).toString("hex")}}];return await y.autofill(Q)},G=(N)=>{if(!n)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(N)},L=async(N)=>{let Z=(await y.submitAndWait(N)).result;if(Z.validated)return Z.hash;throw new h.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:h.Chain.Ripple}})};return{broadcastTransaction:L,createSigner:M0,createTransaction:C,disconnect:()=>y.disconnect(),estimateTransactionFee:l,getAddress:o,getBalance:f,signer:n,signTransaction:G,transfer:async(N)=>{if(!n)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),Z=await C({...N,sender:w}),q=await G(Z);return L(q.tx_blob)},validateAddress:Jo}};var Qo=D(()=>{h=require("@swapkit/helpers"),py=require("xrpl"),W0=require("xrpl"),Q1={ACCOUNT_NOT_FOUND:19}});async function W1(T,n,x){try{let y=await T.query.system?.account?.(x);if(!y)return[n.set(0)];let{data:{free:o}}=y,f=yT.SwapKitNumber.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[n.set(0)]}}async function P1(T,n,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[n.set(0)];let o=y.balance||y.data?.balance;if(!o||o.isEmpty)return[n.set(0)];let f=yT.SwapKitNumber.fromBigInt(BigInt(o.toString()),n.decimal).getValue("string");return[n.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[n.set(0)]}}function P0(T,n){return function(y){let o=yT.AssetValue.from({chain:T});switch(T){case yT.Chain.Chainflip:return P1(n,o,y);default:return W1(n,o,y)}}}var yT;var z0=D(()=>{yT=require("@swapkit/helpers")});var z1,U1,H1,hy;var Mo=D(()=>{z1={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},U1={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},H1={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},hy={DOT:z1,FLIP:U1,GENERIC:H1}});function Y1(T,n){switch(T){case d.Chain.Chainflip:return H0(n);case d.Chain.Polkadot:return U0(n);default:throw new d.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function JT(T){return"address"in T}async function Po(T,n){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({ss58Format:n,type:"sr25519"}).addFromUri(T)}function v1(T,n){let x=QT.decodeAddress(T);return QT.encodeAddress(x,n)}function Y0(T,n){return qT.isHex(T)?qT.hexToU8a(T):QT.decodeAddress(T,void 0,n)}function D0(T,n="ss58",x){if(n==="hex")return qT.u8aToHex(T);return QT.encodeAddress(T,x)}async function Ho({generic:T,chain:n,...x}){let{ApiPromise:y,WsProvider:o}=await import("@polkadot/api"),f=await d.getRPCUrl(n),l=new o(f),C=await y.create({provider:l}),G=d.AssetValue.from({chain:n}),L=T?hy.GENERIC:hy[n],_=await aT.match(x).with({phrase:aT.P.string},({phrase:X})=>Po(X,hy[n].prefix)).with({signer:aT.P.any},({signer:X})=>X).otherwise(()=>{return});return R0({api:C,chain:n,gasAsset:G,network:L,signer:_})}var qT,QT,d,aT,U0=({generic:T=!1,...n}={})=>{return Ho({chain:d.Chain.Polkadot,generic:T,...n})},H0=async({generic:T=!1,...n}={})=>{return{...await Ho({chain:d.Chain.Chainflip,generic:T,...n})}},zo=(T,n)=>T.rpc.system.accountNextIndex(n),Wo=(T,n)=>{try{let x=Y0(T,n);return D0(x,"ss58",n),!0}catch{return!1}},Uo=(T,{recipient:n,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(n,x.getBaseValue("number")),D1=async(T,n,{recipient:x,assetValue:y,sender:o})=>{let f=Uo(T,{assetValue:y,recipient:x});if(!f)throw new d.SwapKitError("toolbox_substrate_transfer_error");let l=JT(n),C=l?n.address:o;if(!C)throw new d.SwapKitError("core_transaction_invalid_sender_address");let G=await zo(T,C);return(await f.signAndSend(l?n:C,{nonce:G,signer:l?void 0:n})).toString()},R1=async(T,n,x,{recipient:y,assetValue:o,sender:f})=>{let l=Uo(T,{assetValue:o,recipient:y}),C=JT(n)?n.address:f;if(!C)return;let G=await l?.paymentInfo(C,{nonce:await zo(T,C)})||{partialFee:0};return x.set(d.SwapKitNumber.fromBigInt(BigInt(G.partialFee.toString()),x.decimal).getValue("string"))},O1=async(T,n)=>{if(n)return T.send(n);return(await T.send()).toString()},k1=async(T,n)=>{return await n.signAsync(T)},S1=(T,n,x)=>{if(x)return n.signAndSend(T,x);return n.signAndSend(T).toString()},I1=async({signer:T,address:n,tx:x,callback:y,api:o})=>{let f=await zo(o,n);if(y)x.signAndSend(n,{nonce:f,signer:T},y);return x.signAndSend(n,{nonce:f,signer:T}).toString()},R0=({api:T,network:n,gasAsset:x,signer:y,chain:o})=>({api:T,broadcast:O1,convertAddress:v1,createKeyring:(f)=>Po(f,n.prefix),createTransaction:(f)=>Uo(T,f),decodeAddress:Y0,encodeAddress:D0,estimateTransactionFee:(f)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return R1(T,y,x,f)},gasAsset:x,getAddress:(f)=>{let l=f||y;if(!l)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return JT(l)?l.address:void 0},getBalance:P0(o||d.Chain.Polkadot,T),network:n,sign:(f)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return k1(y,f);throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:l,address:C})=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(JT(y))return S1(y,f,l);if(C)return I1({address:C,api:T,callback:l,signer:y,tx:f});throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return D1(T,y,f)},validateAddress:(f)=>Wo(f,n.prefix)}),u1=({address:T,chain:n})=>{let{prefix:x}=n===d.Chain.Polkadot?hy.DOT:hy.FLIP;return Wo(T,x)||Wo(T,hy.GENERIC.prefix)};var O0=D(()=>{z0();Mo();qT=require("@polkadot/util"),QT=require("@polkadot/util-crypto"),d=require("@swapkit/helpers"),aT=require("ts-pattern")});var Yo={};Xy(Yo,{substrateValidateAddress:()=>u1,isKeyringPair:()=>JT,getSubstrateToolbox:()=>Y1,createSubstrateToolbox:()=>Ho,createKeyring:()=>Po,SubstrateNetwork:()=>hy,PolkadotToolbox:()=>U0,ChainflipToolbox:()=>H0,BaseSubstrateToolbox:()=>R0});module.exports=_y(Yo);var Do=D(()=>{O0();Mo()});var A1={};Xy(A1,{getToolbox:()=>Ro,getFeeEstimator:()=>E1,getAddressValidator:()=>F1});module.exports=_y(A1);var k=require("@swapkit/helpers");async function F1(){let{match:T}=await import("ts-pattern"),{evmValidateAddress:n}=await Promise.resolve().then(() => (nx(),Tx)),{getCardanoAddressValidator:x}=await Promise.resolve().then(() => (Gf(),Cf)),{getCosmosValidateAddress:y}=await Promise.resolve().then(() => (Hn(),Un)),{getSolanaAddressValidator:o}=await Promise.resolve().then(() => (Sf(),kf)),{getSuiAddressValidator:f}=await Promise.resolve().then(() => (Dn(),Yn)),{getTONAddressValidator:l}=await Promise.resolve().then(() => (On(),Rn)),{getTronAddressValidator:C}=await Promise.resolve().then(() => (Ff(),uf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (sf(),af)),{getValidateNearAddress:L}=await Promise.resolve().then(() => (wo(),_o)),{radixValidateAddress:_}=await Promise.resolve().then(() => (Bo(),Zo)),{rippleValidateAddress:X}=await Promise.resolve().then(() => (Qo(),qo)),{substrateValidateAddress:N}=await Promise.resolve().then(() => (Do(),Yo)),w=await x(),Z=await L(),q=await o(),M=await f(),Q=await l(),H=await C(),t=await G();return function({address:V,chain:r}){return T(r).with(...k.EVMChains,()=>n({address:V})).with(...k.UTXOChains,()=>t({address:V,chain:r})).with(k.Chain.Cosmos,k.Chain.Kujira,k.Chain.Noble,k.Chain.Maya,k.Chain.THORChain,(Iy)=>{return y(Iy)(V)}).with(k.Chain.Chainflip,k.Chain.Polkadot,()=>N({address:V,chain:r})).with(k.Chain.Radix,()=>_(V)).with(k.Chain.Near,()=>Z(V)).with(k.Chain.Ripple,()=>X(V)).with(k.Chain.Solana,()=>q(V)).with(k.Chain.Sui,()=>M(V)).with(k.Chain.Ton,()=>Q(V)).with(k.Chain.Tron,()=>H(V)).with(k.Chain.Cardano,()=>w(V)).otherwise(()=>!1)}}function E1(T){return async function(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(...k.EVMChains,async(o)=>{let f=await Ro(o),l=await f.createTransaction(x);return f.estimateTransactionFee({...l,chain:o,feeOption:x.feeOptionKey||k.FeeOption.Fast})}).with(k.Chain.Bitcoin,k.Chain.BitcoinCash,k.Chain.Dogecoin,k.Chain.Dash,k.Chain.Litecoin,k.Chain.Polkadot,k.Chain.Solana,k.Chain.Ripple,k.Chain.Tron,k.Chain.Near,k.Chain.Cardano,async(o)=>{return(await Ro(o)).estimateTransactionFee(x)}).with(k.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Dn(),Yn));return(await o()).estimateTransactionFee(x)}).with(k.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (On(),Rn));return(await o()).estimateTransactionFee()}).with(...k.CosmosChains,async()=>{let{estimateTransactionFee:o}=await Promise.resolve().then(() => (Hn(),Un));return o(x)}).otherwise(async()=>k.AssetValue.from({chain:T}))}}async function Ro(T,n){let{match:x}=await import("ts-pattern");return x(T).returnType().with(...k.EVMChains,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (xf(),so));return await y(T,n)}).with(...k.UTXOChains,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (sf(),af));return await y(T,n)}).with(...k.CosmosChains,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (Hn(),Un));return await y(T,n)}).with(...k.SubstrateChains,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (Do(),Yo));return await y(T,n)}).with(k.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (Bo(),Zo));return await y(n)}).with(k.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (Qo(),qo));return await y(n)}).with(k.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (Sf(),kf));return await y(n)}).with(k.Chain.Sui,async()=>{let{getSuiToolbox:y}=await Promise.resolve().then(() => (Dn(),Yn));return await y(n)}).with(k.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Ff(),uf));return await y(n)}).with(k.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (wo(),_o));return await y(n)}).with(k.Chain.Cardano,async()=>{let{getCardanoToolbox:y}=await Promise.resolve().then(() => (Gf(),Cf));return await y(n)}).with(k.Chain.Ton,async()=>{let{getTONToolbox:y}=await Promise.resolve().then(() => (On(),Rn));return await y(n)}).otherwise(()=>{throw new k.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=485C149EB7E518B064756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|