@swapkit/toolboxes 4.14.1 → 4.14.3

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.
@@ -1 +1 @@
1
- var lH=Object.create;var{getPrototypeOf:WH,defineProperty:so,getOwnPropertyNames:aT,getOwnPropertyDescriptor:BH}=Object,sT=Object.prototype.hasOwnProperty;function eT(n){return this[n]}var XH,LH,n0=(n,y,t)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?XH??=new WeakMap:LH??=new WeakMap,T=f.get(n);if(T)return T}t=n!=null?lH(WH(n)):{};let C=y||!n||!n.__esModule?so(t,"default",{value:n,enumerable:!0}):t;for(let H of aT(n))if(!sT.call(C,H))so(C,H,{get:eT.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Zn=(n)=>{var y=(dT??=new WeakMap).get(n),t;if(y)return y;if(y=so({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of aT(n))if(!sT.call(y,o))so(y,o,{get:eT.bind(n,o),enumerable:!(t=BH(n,o))||t.enumerable})}return dT.set(n,y),y},dT;var QH=(n)=>n;function MH(n,y){this[n]=QH.bind(null,y)}var Ln=(n,y)=>{for(var t in y)so(n,t,{get:y[t],enumerable:!0,configurable:!0,set:MH.bind(y,t)})};var u=(n,y)=>()=>(n&&(y=n(n=0)),y);function So(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return ZH.test(y)}function o0({derivationPath:n,provider:y,...t}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function T(){if(o)return o;return o=await Bo.match(t).with({phrase:Bo.P.string},async({phrase:l})=>{let{Ed25519Account:M}=await import("@aptos-labs/ts-sdk");return M.fromDerivationPath({mnemonic:l,path:f})}).with({signer:Bo.P.any},({signer:l})=>l).otherwise(()=>{return}),o}async function C(){let{Aptos:l,AptosConfig:M}=await import("@aptos-labs/ts-sdk"),N=new M({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new l(N)}async function H(){return(await T())?.accountAddress.toString()||""}async function _(l){let M=l||await H();if(!M)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:N,chain:Z}=V.getChainConfig(V.Chain.Aptos);try{let z=await C(),X=await z.getAccountAPTAmount({accountAddress:M}),U=[V.AssetValue.from({chain:Z,fromBaseDecimal:N,value:X.toString()})],q=await z.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:M}}}});for(let L of q){if(L.asset_type===Wo.COIN_TYPE||Number(L.amount)<=0)continue;let Y=L.asset_type;if(Y){let J=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??N;U.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Y}`,fromBaseDecimal:J,value:String(L.amount)}))}}return U}catch{return[V.AssetValue.from({chain:Z})]}}async function A(l){if(!l){let{baseDecimal:q}=V.getChainConfig(V.Chain.Aptos),L=y||V.getRPCUrlSync(V.Chain.Aptos),Y=await fetch(`${L}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:q,value:String(D)})}let M=await T();if(!M)throw new V.SwapKitError("toolbox_aptos_no_signer");let N=await G(l),Z=await C(),[z]=await Z.transaction.simulate.simple({signerPublicKey:M.publicKey,transaction:N});if(!z)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let X=BigInt(z.gas_used)*BigInt(z.gas_unit_price),{baseDecimal:U}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:U,value:X.toString()})}async function G({recipient:l,assetValue:M,maxGasAmount:N,sender:Z}){if(!So(l))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let z=Z||await H();if(!z)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:X}=await import("@aptos-labs/ts-sdk"),U=await C(),q=X.from(z);try{let L=M.isGasAsset?Wo.TRANSFER:Wo.FUNGIBLE_STORE_TRANSFER,Y=Bo.match({address:M?.address,isGasAsset:M.isGasAsset}).with({isGasAsset:!0},()=>[X.from(l),M.getBaseValue("bigint")]).with({address:Bo.P.string},({address:D})=>[X.from(D),X.from(l),M.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:L,functionArguments:Y,typeArguments:M.isGasAsset?[]:[Wo.FUNGIBLE_ASSET_METADATA]},options:N?{maxGasAmount:N}:void 0,sender:q})}catch(L){if(L instanceof V.SwapKitError)throw L;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}async function Q(l){let M=await T();if(!M)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:M,transaction:l})}async function w({assetValue:l,maxGasAmount:M,recipient:N}){let Z=await T();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!So(N))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let z=Z.accountAddress.toString(),X=await G({assetValue:l,maxGasAmount:M,recipient:N,sender:z});return(await(await C()).signAndSubmitTransaction({signer:Z,transaction:X})).hash}catch(z){if(z instanceof V.SwapKitError)throw z;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",z)}}async function B({senderAuthenticator:l,transaction:M}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:l,transaction:M})).hash}catch(N){throw new V.SwapKitError("toolbox_aptos_broadcast_error",N)}}async function W(l){let M=await Q(l);return B({senderAuthenticator:M,transaction:l})}return{broadcastTransaction:B,createTransaction:G,estimateTransactionFee:A,getAddress:H,getBalance:_,signAndBroadcastTransaction:W,signTransaction:Q,transfer:w,validateAddress:So}}function y0({provider:n}){return async function({assetValue:t,recipient:o}){if(!So(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(t.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),t.getBaseValue("string")],function:Wo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let T=t.address;if(!T)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[T,f.from(o).toString(),t.getBaseValue("string")],function:Wo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Wo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Bo,Wo,ZH;var f0=u(()=>{V=require("@swapkit/helpers"),Bo=require("ts-pattern"),Wo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},ZH=/^[0-9a-fA-F]+$/});var uy={};Ln(uy,{validateAptosAddress:()=>So,getAptosToolbox:()=>o0,createAptosExtensionTransfer:()=>y0});module.exports=Zn(uy);var ky=u(()=>{f0()});function T0(){function n(){let y=Date.now(),t=df||y;return df=t,y>df?y:t+1}return JH+n().toString(36)}function xn(n){return async function(t,o=!0){let f=await t0.SwapKitApi.getChainBalance({address:t,chain:n,scamFilter:o}),{baseDecimal:T}=eo.getChainConfig(n),C=f.map(({identifier:_,value:A,decimal:G})=>{return new eo.AssetValue({decimal:G||T,identifier:_,value:A})});if(!C.some((_)=>_.isGasAsset))return[eo.AssetValue.from({chain:n}),...C];return C}}var eo,t0,JH,df=0;var cn=u(()=>{eo=require("@swapkit/helpers"),t0=require("@swapkit/helpers/api"),JH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function ny(n){return{getBalance:xn(n)}}function YH(n){return n}var py=u(()=>{cn()});function H0(n){return new Xo.JsonRpcProvider(n)}async function ot(n,y){return H0(y||await g.getRPCUrl(n))}function oy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function yt(n){let{explorerUrl:y,chainIdHex:t,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...NH({chain:n}),blockExplorerUrls:[y],chainId:t,rpcUrls:o}:void 0}}function ft(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function NH({chain:n}){let{name:y,nativeCurrency:t,baseDecimal:o}=g.getChainConfig(n);return nt.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:t,symbol:t}}))}async function tt(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let t={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(t)}function _0(n,y){let t=y!==void 0?`index ${y}: `:"",o=(f,T)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${t}${T}`}})};nt.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!zH(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!C0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!C0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function A0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:t})=>({name:y,type:t}))}function af(n){return n.charAt(0).toUpperCase()+n.slice(1)}function sf(n,y){if(n.isTuple()&&n.components){let t=af(n.name);return y[t]=n.components.map((o)=>({name:o.name,type:sf(o,y)})),t}if(n.isArray()){let t=n.arrayChildren;if(t?.isTuple()&&t.components){let o=af(n.name.replace(/s$/,""));return y[o]=t.components.map((f)=>({name:f.name,type:sf(f,y)})),`${o}[]`}return`${t?.type??"bytes"}[]`}return n.type}function ef(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let t=n.toObject(),o={};for(let[f,T]of(y.components??[]).entries())o[T.name]=ef(t[T.name]??n[f],T);return o}if(Array.isArray(n)){let t=y?.arrayChildren;return n.map((o)=>ef(o,t??void 0))}return n}function DH({chain:n,abi:y,data:t,to:o}){let T=new Xo.Interface(y).parseTransaction({data:t});if(!T)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=af(T.name);C[H]=T.fragment.inputs.map((w)=>({name:w.name,type:sf(w,C)}));let _={};for(let[w,B]of T.fragment.inputs.entries())_[B.name]=ef(T.args[w],B);let{chainId:A}=g.getChainConfig(n),G={chainId:Number(A),verifyingContract:Xo.getAddress(o)},Q=A0(G);return{domain:G,message:_,primaryType:H,types:{EIP712Domain:Q,...C}}}function Tt(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[t,o]of n.entries())if(_0(o,t),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${t}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Xo,nt,C0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),zH=(n)=>{try{return typeof n==="string"&&!!Xo.getAddress(n)}catch{return!1}};var yy=u(()=>{g=require("@swapkit/helpers"),Xo=require("ethers"),nt=require("ts-pattern")});var U0;var w0=u(()=>{U0=[{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 uo({chain:n=x.Chain.Ethereum,provider:y,signer:t,isEIP1559Compatible:o=!0}){return{approve:FH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),approvedAmount:l0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:wt({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),createApprovalTx:IH({chain:n,provider:y,signer:t}),createContract:_t({chain:n,provider:y}),createContractTxObject:Lo({chain:n,provider:y}),createTransaction:Ct({chain:n,provider:y,signer:t}),createTransferTx:Ct({chain:n,provider:y,signer:t}),EIP1193SendTransaction:po(y),estimateCall:W0({provider:y,signer:t}),estimateGasLimit:kH({chain:n,provider:y,signer:t}),estimateGasPrices:Qo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:PH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return t?t.getAddress():void 0},getBalance:ny(n).getBalance,getNetworkParams:yt(n),isApproved:SH({chain:n,provider:y}),sendTransaction:B0({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),signAuthorization:pH({signer:t}),signMessage:t?(f)=>t.signMessage(f):void 0,signTypedData:t?({domain:f,types:T,value:C})=>t.signTypedData(f,T,C):void 0,transfer:uH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),validateAddress:ty}}function ty(n){try{return Fn.getAddress(n),!0}catch{return!1}}function ko(n){return n instanceof Fn.BrowserProvider}function Ty(n,y,t){return new Fn.Contract(n,Fn.Interface.from(y),t)}function _t({provider:n}){return function(t,o){return new Fn.Contract(t,Fn.Interface.from(o),n)}}function At({abi:n,funcName:y}){let t=n.find((o)=>o.name===y);if(!t)throw new x.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return t.stateMutability&&OH.includes(t.stateMutability)}function q0(n){return Fn.getAddress(n)}function po(n){return function({value:t,...o}){if(!ko(n))throw new x.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:T,maxFeePerGas:C,maxPriorityFeePerGas:H,..._}=o;return n.send("eth_sendTransaction",[{..._,value:oy(BigInt(t||0))}])}}function G0(n,y){let t=Io(n,y);if(t)return Fn.getAddress(t.toLowerCase());throw new x.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Io({chain:n,symbol:y,ticker:t},o){try{let f=n===x.Chain.BinanceSmartChain&&y==="BNB"&&t==="BNB",T=n===x.Chain.Hyperevm&&y==="HYPE"&&t==="HYPE",C=n===o&&y===o&&t===o,H=RH.includes(n)&&y==="ETH"&&t==="ETH";if(C||f||T||H)return Ut[o];return Fn.getAddress(y.slice(t.length+1).replace(/^0X/,""))}catch{return null}}function Lo({provider:n}){return async({contractAddress:y,abi:t,funcName:o,funcParams:f=[],txOverrides:T})=>Ty(y,t,n).getFunction(o).populateTransaction(...f.concat(T).filter((C)=>typeof C<"u"))}function Qo({chain:n,provider:y,isEIP1559Compatible:t=!0}){return Ht.match(n).with(x.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:T}=await y.getFeeData();if(!f||T===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Average),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Average)},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(x.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{gasPrice:f},[x.FeeOption.Fast]:{gasPrice:f},[x.FeeOption.Fastest]:{gasPrice:f}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:T,gasPrice:C}=await y.getFeeData();if(t){if(f===null||T===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:T},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}if(!C)throw new x.SwapKitError("toolbox_evm_no_gas_price");return{[x.FeeOption.Average]:{gasPrice:C},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function wt({provider:n,isEIP1559Compatible:y,signer:t,chain:o}){return async function({callProvider:T,contractAddress:C,abi:H,funcName:_,funcParams:A=[],txOverrides:G={},feeOption:Q=x.FeeOption.Fast}){let w=T||n;if(!C)throw new x.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=At({abi:H,funcName:_});if(B&&ko(w)&&t){let M=Lo({chain:o,provider:w}),N=G?.from||await t?.getAddress(),Z=await M({abi:H,contractAddress:C,funcName:_,funcParams:A,txOverrides:{...G,from:N}});return po(w)(Z)}let W=Ty(C,H,w);if(B){if(!t)throw new x.SwapKitError("toolbox_evm_no_signer");let M=G?.from||await t.getAddress();if(!M)throw new x.SwapKitError("toolbox_evm_no_signer_address");let N=W.connect(t),Z=Qo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:z,maxPriorityFeePerGas:X,gasPrice:U}=(await Z())[Q],q=await W.getFunction(_).estimateGas(...A,G),L=await N[_](...A,{...G,gasLimit:q,gasPrice:U,maxFeePerGas:z,maxPriorityFeePerGas:X,nonce:G?.nonce||await w.getTransactionCount(M)});return typeof L?.hash==="string"?L?.hash:L}let l=await W[_]?.(...A);return typeof l?.hash==="string"?l?.hash:l}}function l0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:T}){return wt({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Fo.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[T,f]})}}function SH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:T,amount:C=fy}){let H=await l0({chain:y,provider:n})({assetAddress:o,from:T,spenderAddress:f});return x.SwapKitNumber.fromBigInt(H).gte(x.SwapKitNumber.fromBigInt(BigInt(C)))}}function FH({signer:n,isEIP1559Compatible:y=!0,provider:t,chain:o}){return async function({assetAddress:T,spenderAddress:C,feeOptionKey:H=x.FeeOption.Fast,amount:_,gasLimitFallback:A,from:G,nonce:Q}){let w=[C,BigInt(_||fy)],B=await n?.getAddress()||G,W={abi:Fo.erc20ABI,contractAddress:T,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:B}};if(ko(t)){let M=Lo({chain:o,provider:t}),N=po(t),Z=await M(W);return N(Z)}return wt({chain:o,isEIP1559Compatible:y,provider:t,signer:n})({...W,feeOption:H,funcParams:w,txOverrides:{from:B,gasLimit:A?BigInt(A.toString()):void 0,nonce:Q}})}}function uH({signer:n,isEIP1559Compatible:y=!0,provider:t}){return async function({assetValue:f,memo:T,recipient:C,feeOptionKey:H=x.FeeOption.Fast,sender:_,...A}){let{hexlify:G,toUtf8Bytes:Q}=await import("ethers"),w=f.getBaseValue("bigint"),B=f.chain,W=_||await n?.getAddress(),l=B0({chain:B,isEIP1559Compatible:y,provider:t,signer:n});if(!W)throw new x.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={...A,data:G(Q(T||"")),feeOptionKey:H,from:W,to:C,value:w};return l(U)}if(!Io(f,B))throw new x.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:N,maxPriorityFeePerGas:Z,gasPrice:z}=(await Qo({chain:B,isEIP1559Compatible:y,provider:t})())[H],X=await Ct({chain:B,provider:t,signer:n})({assetValue:f,data:G(Q(T||"")),gasPrice:z,maxFeePerGas:N,maxPriorityFeePerGas:Z,memo:T,recipient:C,sender:W});return l(X)}}function W0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:T,funcParams:C=[],txOverrides:H}){if(!o)throw new x.SwapKitError("toolbox_evm_no_contract_address");let _=Ty(o,f,n);return y?_.connect(y).getFunction(T).estimateGas(...C,H):_.getFunction(T).estimateGas(...C,H)}}function kH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:T,data:C,sender:H,funcName:_,funcParams:A,txOverrides:G}){let Q=o.bigIntValue,w=o.isGasAsset?null:Io(o,o.chain);if(w&&_)return W0({provider:n,signer:y})({abi:Fo.erc20ABI,contractAddress:w,funcName:_,funcParams:A,txOverrides:G});let{hexlify:B,toUtf8Bytes:W}=await import("ethers");return n.estimateGas({data:C?C:T?B(W(T)):void 0,from:H,to:f,value:Q})}}function pH({signer:n}){if(!n)return;return(y)=>tt(n,y)}function B0({provider:n,signer:y,isEIP1559Compatible:t=!0,chain:o}){return async function({feeOptionKey:T=x.FeeOption.Fast,...C}){let{from:H,to:_,data:A,value:G,...Q}=C;if(!y)throw new x.SwapKitError("toolbox_evm_no_signer");if(!_)throw new x.SwapKitError("toolbox_evm_no_to_address");let w={...Q,data:A||"0x",from:H,to:_,value:BigInt(G||0)};if(ko(n))return po(n)(w);let B=H||await y.getAddress(),W=C.nonce||await n.getTransactionCount(B),l=(await n.getNetwork()).chainId,M=Gt(w,t);if(M==="eip7702")Tt(w.authorizations||[],l);let N=Ht.match(M).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),Z={...w,chainId:l,nonce:W,type:N,...M==="eip7702"&&{authorizationList:w.authorizations}},z=Qo({chain:o,isEIP1559Compatible:t,provider:n}),U=M!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await z())[T]).reduce((L,[Y,D])=>({...L,[Y]:oy(BigInt(D))}),{}):{},q;try{q=oy(w.gasLimit||await n.estimateGas(Z)*11n/10n)}catch(L){throw new x.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:L})}try{let L={...Z,gasLimit:q,...U};try{return(await y.sendTransaction(L)).hash}catch{let Y=await y.signTransaction({...L,from:B});return(await n.broadcastTransaction(Y)).hash}}catch(L){throw new x.SwapKitError("toolbox_evm_error_sending_transaction",{error:L})}}}function Ct({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:T,data:C,sender:H,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:G,...Q}){let w=o.getBaseValue("bigint"),B=o.chain,W=H||await y?.getAddress();if(!W)throw new x.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset(o)){let{hexlify:N,toUtf8Bytes:Z}=await import("ethers");return{...Q,data:C||N(Z(f||"")),from:W,to:T,value:w}}let l=Io(o,B);if(!l)throw new x.SwapKitError("toolbox_evm_no_contract_address");return Lo({chain:o.chain,provider:n})({abi:Fo.erc20ABI,contractAddress:l,funcName:"transfer",funcParams:[T,w],txOverrides:{from:W,gasPrice:G,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function IH({provider:n,signer:y,chain:t}){return async function({assetAddress:f,spenderAddress:T,amount:C,from:H}){let _=await y?.getAddress()||H,A=Lo({chain:t,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||fy;return await A({abi:Fo.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[T,BigInt(G)],txOverrides:{from:_}})}}function PH({provider:n,isEIP1559Compatible:y=!0,chain:t}){return async function({feeOption:f=x.FeeOption.Fast,...T}){let H=await Qo({chain:t,isEIP1559Compatible:y,provider:n})(),_=await n.estimateGas(T),A=x.AssetValue.from({chain:t}),{gasPrice:G,maxFeePerGas:Q,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return A.set(x.SwapKitNumber.fromBigInt(G*_,A.decimal));if(Q&&w){let B=(Q+w)*_;return A.set(x.SwapKitNumber.fromBigInt(B,A.decimal))}throw new x.SwapKitError("toolbox_evm_no_gas_price")}}var x,Fo,Fn,Ht,fy,OH,xH,Ut,RH,Iy=(n)=>n.type===4||(n.authorizations?.length??0)>0,qt=(n)=>!Iy(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),Gt=(n,y=!0)=>{if(Iy(n))return"eip7702";if(qt(n)||y)return"eip1559";return"legacy"};var Py=u(()=>{py();yy();x=require("@swapkit/helpers"),Fo=require("@swapkit/helpers/contracts"),Fn=require("ethers"),Ht=require("ts-pattern"),fy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");OH=["payable","nonpayable"];xH=x.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),Ut={...xH,[x.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[x.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},RH=[x.Chain.Arbitrum,x.Chain.Aurora,x.Chain.Base,x.Chain.Optimism]});function $y(n){let y=qn(Tn.Chain.Ethereum)(n);async function t(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",T="aggregate",C=Tn.FeeOption.Fast){let H=await y.createContractTxObject({abi:U0,contractAddress:f,funcName:T,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:t}}function qn(n){return function({provider:t,...o}){let f=ft(n),T=Cy.match(o).with({phrase:Cy.P.string},({phrase:H})=>X0.HDNodeWallet.fromPhrase(H).connect(t)).with({signer:Cy.P.any},({signer:H})=>H).otherwise(()=>{return});return uo({chain:n,isEIP1559Compatible:f,provider:t,signer:T})}}var Tn,X0,Cy,Ey,vy,by,Vy,Ky,jy,cy,L0,iy,hy,my,ry,gy,dy,Hy,ay,sy,ey,nf;var lt=u(()=>{w0();yy();Py();Tn=require("@swapkit/helpers"),X0=require("ethers"),Cy=require("ts-pattern");Ey=qn(Tn.Chain.Adi),vy=qn(Tn.Chain.Arbitrum),by=qn(Tn.Chain.Aurora),Vy=qn(Tn.Chain.Avalanche),Ky=qn(Tn.Chain.Base),jy=qn(Tn.Chain.Berachain),cy=qn(Tn.Chain.BinanceSmartChain),L0=qn(Tn.Chain.Botanix),iy=qn(Tn.Chain.Core),hy=qn(Tn.Chain.Corn),my=qn(Tn.Chain.Cronos),ry=qn(Tn.Chain.Gnosis),gy=qn(Tn.Chain.Hyperevm),dy=qn(Tn.Chain.Polygon),Hy=qn(Tn.Chain.Sonic),ay=qn(Tn.Chain.Unichain),sy=qn(Tn.Chain.XLayer),ey=qn(Tn.Chain.Monad),nf=qn(Tn.Chain.MegaETH)});var Q0;var M0=u(()=>{Q0=[{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 Wt(n){return new of.Contract(EH,Q0,n)}function Z0(n){return async function(){let t=Wt(n);if(t&&"l1BaseFee"in t)return await t?.l1BaseFee();return}}function J0(n){return async function({from:t,to:o,nonce:f,...T}){let{Transaction:C}=await import("ethers");if(!o)throw new Cn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...T,authorizationList:T.authorizationList,nonce:f?f:t?await n.getTransactionCount(t):0,to:o}).serialized}}function Y0(n){return async function(t){let o=Wt(n),f=await J0(n)(t);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function N0(n){return async function(t){let f=(await n.getFeeData()).gasPrice??0n,T=await n.estimateGas(t);return f*T}}function vH(n){return async function(t){let o=await Y0(n)(t)??0n,f=await N0(n)(t);return o+f}}function bH(n){return async function(t){let o=Wt(n),f=await J0(n)(t);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function VH(n){return async function(){try{let{maxFeePerGas:t,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),T=await Z0(n)(),C=f;if(!(t&&o))throw new Cn.SwapKitError("toolbox_evm_no_fee_data");return{[Cn.FeeOption.Average]:{gasPrice:C,l1GasPrice:T,maxFeePerGas:t,maxPriorityFeePerGas:o},[Cn.FeeOption.Fast]:{gasPrice:Cn.applyFeeMultiplierToBigInt(C,Cn.FeeOption.Fast),l1GasPrice:Cn.applyFeeMultiplierToBigInt(T||0n,Cn.FeeOption.Fast),maxFeePerGas:t,maxPriorityFeePerGas:Cn.applyFeeMultiplierToBigInt(o,Cn.FeeOption.Fast)},[Cn.FeeOption.Fastest]:{gasPrice:Cn.applyFeeMultiplierToBigInt(C,Cn.FeeOption.Fastest),l1GasPrice:Cn.applyFeeMultiplierToBigInt(T||0n,Cn.FeeOption.Fastest),maxFeePerGas:t,maxPriorityFeePerGas:Cn.applyFeeMultiplierToBigInt(o,Cn.FeeOption.Fastest)}}}catch(t){throw new Cn.SwapKitError("toolbox_evm_gas_estimation_error",{error:t.msg??t.toString()})}}}function yf({provider:n,...y}){let t=_y.match(y).with({phrase:_y.P.string},({phrase:T})=>of.HDNodeWallet.fromPhrase(T).connect(n)).with({signer:_y.P.any},({signer:T})=>T).otherwise(()=>{return}),o=uo({provider:n,signer:t}),f=Z0(n);return{...o,estimateGasPrices:VH(n),estimateL1Gas:bH(n),estimateL1GasCost:Y0(n),estimateL2GasCost:N0(n),estimateTotalGasCost:vH(n),getBalance:ny(Cn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Cn,of,_y,EH="0x420000000000000000000000000000000000000f";var Bt=u(()=>{py();M0();Py();Cn=require("@swapkit/helpers"),of=require("ethers"),_y=require("ts-pattern")});var O0={};Ln(O0,{validateEVMAddress:()=>ty,toChecksumAddress:()=>q0,isStateChangingCall:()=>At,isEIP7702Transaction:()=>Iy,isEIP1559Transaction:()=>qt,isBrowserProvider:()=>ko,getTokenAddress:()=>Io,getEvmToolboxAsync:()=>D0,getEvmToolbox:()=>Xt,getEstimateGasPrices:()=>Qo,getEVMTxType:()=>Gt,getEIP1193SendTransaction:()=>po,getCreateContractTxObject:()=>Lo,getCreateContract:()=>_t,getChecksumAddressFromAsset:()=>G0,createContract:()=>Ty,XLayerToolbox:()=>sy,UNIToolbox:()=>ay,SONICToolbox:()=>Hy,OPToolbox:()=>yf,MONADToolbox:()=>ey,MEGAETHToolbox:()=>nf,MAX_APPROVAL:()=>fy,MATICToolbox:()=>dy,HYPEREVMToolbox:()=>gy,GNOToolbox:()=>ry,ETHToolbox:()=>$y,ContractAddress:()=>Ut,CROToolbox:()=>my,CORNToolbox:()=>hy,COREToolbox:()=>iy,BotanixToolbox:()=>L0,BaseEVMToolbox:()=>uo,BSCToolbox:()=>cy,BERAToolbox:()=>jy,BASEToolbox:()=>Ky,AVAXToolbox:()=>Vy,AURORAToolbox:()=>by,ARBToolbox:()=>vy,ADIToolbox:()=>Ey});function Xt(n,y){return z0.match(n).with(Un.Chain.Adi,()=>Ey(y)).with(Un.Chain.Arbitrum,()=>vy(y)).with(Un.Chain.Aurora,()=>by(y)).with(Un.Chain.Avalanche,()=>Vy(y)).with(Un.Chain.Base,()=>Ky(y)).with(Un.Chain.Berachain,()=>jy(y)).with(Un.Chain.BinanceSmartChain,()=>cy(y)).with(Un.Chain.Botanix,()=>Hy(y)).with(Un.Chain.Core,()=>iy(y)).with(Un.Chain.Corn,()=>hy(y)).with(Un.Chain.Cronos,()=>my(y)).with(Un.Chain.Ethereum,()=>$y(y)).with(Un.Chain.Gnosis,()=>ry(y)).with(Un.Chain.Hyperevm,()=>gy(y)).with(Un.Chain.Optimism,()=>yf(y)).with(Un.Chain.Polygon,()=>dy(y)).with(Un.Chain.Sonic,()=>Hy(y)).with(Un.Chain.Unichain,()=>ay(y)).with(Un.Chain.XLayer,()=>sy(y)).with(Un.Chain.Monad,()=>ey(y)).with(Un.Chain.MegaETH,()=>nf(y)).exhaustive()}async function D0(n,y){let t={...y,provider:y?.provider||await ot(n)};return Xt(n,t)}var Un,z0;var Lt=u(()=>{yy();lt();Bt();Un=require("@swapkit/helpers"),z0=require("ts-pattern");Py();lt();Bt()});var x0;var R0=u(()=>{((t)=>{t.Test="goerli";t.Main="homestead"})(x0||={})});var S0={};Ln(S0,{validateEVMAddress:()=>ty,validateAuthorizations:()=>Tt,validateAuthorization:()=>_0,toHexString:()=>oy,toChecksumAddress:()=>q0,signAuthorization:()=>tt,parseEIP712FromEVMTx:()=>DH,isStateChangingCall:()=>At,isEIP7702Transaction:()=>Iy,isEIP1559Transaction:()=>qt,isBrowserProvider:()=>ko,getTokenAddress:()=>Io,getProviderSync:()=>H0,getProvider:()=>ot,getNetworkParams:()=>yt,getIsEIP1559Compatible:()=>ft,getEvmToolboxAsync:()=>D0,getEvmToolbox:()=>Xt,getEvmApi:()=>ny,getEstimateGasPrices:()=>Qo,getEVMTxType:()=>Gt,getEIP1193SendTransaction:()=>po,getCreateContractTxObject:()=>Lo,getCreateContract:()=>_t,getChecksumAddressFromAsset:()=>G0,createCustomEvmApi:()=>YH,createContract:()=>Ty,buildEIP712DomainType:()=>A0,XLayerToolbox:()=>sy,UNIToolbox:()=>ay,SONICToolbox:()=>Hy,OPToolbox:()=>yf,MONADToolbox:()=>ey,MEGAETHToolbox:()=>nf,MAX_APPROVAL:()=>fy,MATICToolbox:()=>dy,HYPEREVMToolbox:()=>gy,GNOToolbox:()=>ry,EthNetwork:()=>x0,ETHToolbox:()=>$y,ContractAddress:()=>Ut,CROToolbox:()=>my,CORNToolbox:()=>hy,COREToolbox:()=>iy,BotanixToolbox:()=>L0,BaseEVMToolbox:()=>uo,BSCToolbox:()=>cy,BERAToolbox:()=>jy,BASEToolbox:()=>Ky,AVAXToolbox:()=>Vy,AURORAToolbox:()=>by,ARBToolbox:()=>vy,ADIToolbox:()=>Ey});module.exports=Zn(S0);var Qt=u(()=>{py();yy();Lt();R0()});async function Zt(n,y){let t=await fetch(`${$0}${n}`,{...y,headers:{project_id:P0,...y?.headers}});if(!t.ok)throw Error(`Blockfrost API error: ${t.status} ${t.statusText}`);return t.json()}async function E0(n){try{return await Zt(`/addresses/${n}/utxos`)}catch{return[]}}async function jH(){return(await Zt("/blocks/latest")).slot}async function cH(){let n=await Zt("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Rn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Rn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Rn.default(n.min_fee_a),minFeeB:new Rn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Rn.default(15),priceMem:new Rn.default(n.price_mem),priceSteps:new Rn.default(n.price_step),stakeKeyDeposit:new Rn.default(2000000),utxoCostPerByte:new Rn.default(n.coins_per_utxo_size)}}async function u0(n){let y=await fetch(`${$0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:P0},method:"POST"});if(!y.ok){let t=await y.text();throw Error(`Transaction submission failed: ${t}`)}return y.json()}function iH(n,y){return n.map((t)=>{let o=t.amount.find((C)=>C.unit==="lovelace"),f=o?new Rn.default(o.quantity):new Rn.default(0),T=t.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Rn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:t.output_index,tokens:T,txId:t.tx_hash}})}async function hH(n){try{let y=await E0(n),t=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:_,quantity:A}=H;if(_==="lovelace")t+=BigInt(A);else{let G=o.get(_)||0n;o.set(_,G+BigInt(A))}}}let f=[],{baseDecimal:T}=Hn.getChainConfig(Hn.Chain.Cardano);if(t>0n)f.push(Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:T,value:t.toString()}));for(let[C,H]of o)f.push(Hn.AssetValue.from({asset:`${Hn.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[Hn.AssetValue.from({chain:Hn.Chain.Cardano})];return f}catch(y){let t=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${t}`),[Hn.AssetValue.from({chain:Hn.Chain.Cardano})]}}function v0(n){if(!n||typeof n!=="string")return!1;try{let y=k0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function mH(n,y=0,t=0){let o=await p0.mnemonicToSeed(n,""),T=(await I0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(Mt+1852).derive(Mt+1815).derive(Mt+y),C=T.derive(0).derive(t),H=C.toBip32PublicKey().toPublicKey().toBytes(),_=Nn.crypto.hash28(H),G=T.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),Q=Nn.crypto.hash28(G),w={hash:_,type:Nn.types.HashType.ADDRESS},B={hash:Q,type:Nn.types.HashType.ADDRESS},l=new Nn.address.BaseAddress(KH,w,B).getBech32(),M=C.toPrivateKey();return{getAddress:()=>l,publicKey:H,publicKeyHash:_,signTransaction:async(N)=>{try{let Z=await import("@stricahq/cbors"),z=Buffer.from(N,"hex"),X=Z.Decoder.decode(z),[U,q,L,Y]=X.value,D=Z.Encoder.encode(U),J=Nn.crypto.hash32(D),O=M.sign(J),R=q instanceof Map?q:new Map,k=R.get(F0)||[];k.push([H,O]),R.set(F0,k);let v=[U,R,L,Y];return Z.Encoder.encode(v).toString("hex")}catch(Z){throw new Hn.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(Z)})}}}}function rH(n){let y,t,o;async function f(){if(!o)o=await cH();return o}async function T(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let B=n.index??0;return y=await mH(n.phrase,0,B),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(t)return t;let B=await T();if(!B)return"";if("getAddress"in B)return t=await B.getAddress(),t;return""}async function H(B){let W=B||await C();if(!W)throw new Hn.SwapKitError("core_wallet_connection_not_found");return hH(W)}async function _(B){if(B)try{let{tx:N}=await A(B),Z=N.getFee();return Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:6,value:Z.toString()})}catch{}let W=await f(),l=400,M=W.minFeeB.plus(W.minFeeA.times(l));return Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:6,value:M.toString()})}async function A({sender:B="",recipient:W,assetValue:l,memo:M,pureLovelaceOnly:N=!1}){let Z=B||await C();if(!Z)throw new Hn.SwapKitError("core_wallet_connection_not_found");let[z,X,U]=await Promise.all([E0(Z),jH(),f()]),q=z.filter((on)=>N?on.amount.every((wn)=>wn.unit==="lovelace"):on.amount.some((wn)=>wn.unit==="lovelace")).sort((on,wn)=>{let Yn=on.amount.some((Xn)=>Xn.unit!=="lovelace"),Dn=wn.amount.some((Xn)=>Xn.unit!=="lovelace");if(Yn===Dn)return 0;return Yn?1:-1}),L=Nn.utils.getAddressFromString(Z),Y=Nn.utils.getAddressFromString(W),D=iH(q,L),J=new Rn.default(l.getBaseValue("string")),O=[{address:Y,amount:J,tokens:[]}],R;if(M){let on=new Map;on.set("msg",[M]),R={metadata:[{data:on,label:674}]}}let k={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},K=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:R,changeAddress:L,inputs:D,outputs:O,ttl:X+3600}),{payload:a}=K.buildTransaction();return{tx:K,unsignedTx:a}}async function G(B){let W=await T();if(!W||!("signTransaction"in W))throw new Hn.SwapKitError("core_wallet_connection_not_found");return W.signTransaction(B)}async function Q({recipient:B,assetValue:W,memo:l}){let M=await T();if(!M||!("signTransaction"in M))throw new Hn.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await A({assetValue:W,memo:l,recipient:B,sender:await C()}),Z=await G(N);return await u0(Z)}async function w(B){let W=await G(B);return await u0(W)}return{createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:Q,validateAddress:v0}}var k0,p0,I0,Nn,Hn,Rn,P0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",$0="https://cardano-mainnet.blockfrost.io/api/v0",KH,Mt=2147483648,F0=0;var b0=u(()=>{k0=require("@scure/base"),p0=require("@scure/bip39"),I0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),Hn=require("@swapkit/helpers"),Rn=n0(require("bignumber.js")),KH=Nn.types.NetworkId.MAINNET});var Jt={};Ln(Jt,{validateCardanoAddress:()=>v0,getCardanoToolbox:()=>rH});module.exports=Zn(Jt);var Yt=u(()=>{b0()});function Ay(n){return Vn.base64.encode(Uint8Array.from(Vn.bech32.fromWords(Vn.bech32.decode(n).words)))}function Uy(n,y="thor"){return Vn.bech32.encode(y,Vn.bech32.toWords(Vn.base64.decode(n)))}function gH(n){return Vn.base64.encode(n)}function dH(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new V0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Vn.base64.decode(n)}var Vn,V0;var Nt=u(()=>{Vn=require("@scure/base"),V0=require("@swapkit/helpers")});function hn(n){switch(n){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return c0;case E.Chain.Noble:return i0;default:return j0}}async function mn(n){let y=await import("@cosmjs/stargate"),t=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return t.connect({headers:o,url:n})}async function Mo(n,y,t={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,T=o.GasPrice??o.default?.GasPrice,C=typeof t==="string"?t:"0.0003uatom",H=typeof t==="string"?{}:t;return f.connectWithSigner(n,y,{gasPrice:T.fromString(C),...H})}async function Dt(n,y){let t=await import("@cosmjs/stargate");return(t.SigningStargateClient??t.default?.SigningStargateClient).offline(n,y)}async function Ot({sender:n,recipient:y,assetValue:t,memo:o="",feeRate:f,sequence:T,accountNumber:C}){let{chain:H,chainId:_}=t,A=await E.getRPCUrl(H),Q=await(await mn(A)).getAccount(n);if(!Q)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let w=E.AssetValue.from({chain:H}),B=oo(w.symbol),W=hn(H),l=B&&f?{amount:[{amount:f.toString(),denom:B}],gas:W.gas}:W,M={amount:[{amount:t.getBaseValue("string"),denom:oo(t.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??Q.accountNumber,chainId:_,fee:l,memo:o,msgs:[{typeUrl:aH(H),value:M}],sequence:T??Q.sequence}}var E,zt="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",K0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",j0,c0,i0,oo=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return zt;case"uYUM":case"YUM":return K0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},wy=({symbol:n,chain:y})=>{if(y===E.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${E.Chain.Maya}.${n}`).toUpperCase();if(y===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${E.Chain.THORChain}.${n}`:n).toUpperCase();return oo(n,!1)},aH=(n)=>{switch(n){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},sH,xt=(n,y)=>{let t=sH[n.toLowerCase()];if(!t)return E.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:T}=t,C=o?{chain:o}:{asset:f};return E.AssetValue.from({...C,fromBaseDecimal:T,value:y})};var qy=u(()=>{E=require("@swapkit/helpers"),j0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},c0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},i0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};sH={atom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},uatom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},ukuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},usdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},uusdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},[zt.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal}}});var h0={};Ln(h0,{$root:()=>F});var Qn,b,pn,I,F;var m0=u(()=>{Qn=n0(require("protobufjs/minimal.js")),b=Qn.default.Reader,pn=Qn.default.Writer,I=Qn.default.util,F=Qn.default.roots.default||(Qn.default.roots.default={});F.common=(()=>{let n={};return n.Asset=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Asset;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!I.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!I.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Asset)return o;let f=new F.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))T.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))T.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))T.synth=o.synth;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))F.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Coin;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.asset=F.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=F.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!I.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!I.isInteger(o.decimals)&&!(o.decimals&&I.isInteger(o.decimals.low)&&I.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Coin)return o;let f=new F.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=F.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(I.Long)(f.decimals=I.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)if(T.asset=null,T.amount="",I.Long){let C=new I.Long(0,0,!1);T.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else T.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))T.asset=F.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))T.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")T.decimals=f.longs===String?String(o.decimals):o.decimals;else T.decimals=f.longs===String?I.Long.prototype.toString.call(o.decimals):f.longs===Number?new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.PubKeySet;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!I.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!I.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.PubKeySet)return o;let f=new F.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.secp256k1="",T.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))T.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))T.ed25519=o.ed25519;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(t){if(this.coins=[],this.gas=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=I.emptyArray,y.prototype.gas=I.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let T=0;T<o.gas.length;++T)F.common.Coin.encode(o.gas[T],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Tx;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(F.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!I.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!I.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!I.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!I.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let T=F.common.Coin.verify(o.gas[f]);if(T)return"gas."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Tx)return o;let f=new F.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let T=0;T<o.gas.length;++T){if(typeof o.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[T]=F.common.Coin.fromObject(o.gas[T])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[],T.gas=[];if(f.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(o.id!=null&&o.hasOwnProperty("id"))T.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=o.toAddress;if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){T.gas=[];for(let C=0;C<o.gas.length;++C)T.gas[C]=F.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Fee;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!I.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Fee)return o;let f=new F.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults)T.poolDeduct="";if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))T.poolDeduct=o.poolDeduct;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.ProtoUint;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!I.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.ProtoUint)return o;let f=new F.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.value="";if(o.value!=null&&o.hasOwnProperty("value"))T.value=o.value;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n})();F.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.memo="",y.prototype.signer=I.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgDeposit;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!I.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||I.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof F.types.MsgDeposit)return o;let f=new F.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")I.base64.decode(o.signer,f.signer=I.newBuffer(I.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults){if(T.memo="",f.bytes===String)T.signer="";else if(T.signer=[],f.bytes!==Array)T.signer=I.newBuffer(T.signer)}if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))T.signer=f.bytes===String?I.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(t){if(this.amount=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.fromAddress=I.newBuffer([]),y.prototype.toAddress=I.newBuffer([]),y.prototype.amount=I.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=pn.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let T=0;T<o.amount.length;++T)F.cosmos.base.v1beta1.Coin.encode(o.amount[T],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgSend;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(F.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||I.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||I.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let T=F.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(T)return"amount."+T}}return null},y.fromObject=function(o){if(o instanceof F.types.MsgSend)return o;let f=new F.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")I.base64.decode(o.fromAddress,f.fromAddress=I.newBuffer(I.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")I.base64.decode(o.toAddress,f.toAddress=I.newBuffer(I.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let T=0;T<o.amount.length;++T){if(typeof o.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[T]=F.cosmos.base.v1beta1.Coin.fromObject(o.amount[T])}}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.amount=[];if(f.defaults){if(f.bytes===String)T.fromAddress="";else if(T.fromAddress=[],f.bytes!==Array)T.fromAddress=I.newBuffer(T.fromAddress);if(f.bytes===String)T.toAddress="";else if(T.toAddress=[],f.bytes!==Array)T.toAddress=I.newBuffer(T.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=f.bytes===String?I.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=f.bytes===String?I.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){T.amount=[];for(let C=0;C<o.amount.length;++C)T.amount[C]=F.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},y})(),n})();F.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let t={};return t.Coin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=pn.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.Coin;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.denom=T.string();break;case 2:_.amount=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!I.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!I.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.Coin)return T;let C=new F.cosmos.base.v1beta1.Coin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},o})(),t.DecCoin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=pn.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.DecCoin;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.denom=T.string();break;case 2:_.amount=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!I.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!I.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecCoin)return T;let C=new F.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},o})(),t.IntProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.int="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=pn.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))C.uint32(10).string(T.int);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.IntProto;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.int=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!I.isString(T.int))return"int: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.IntProto)return T;let C=new F.cosmos.base.v1beta1.IntProto;if(T.int!=null)C.int=String(T.int);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(T.int!=null&&T.hasOwnProperty("int"))H.int=T.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},o})(),t.DecProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.dec="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=pn.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))C.uint32(10).string(T.dec);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.DecProto;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.dec=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!I.isString(T.dec))return"dec: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecProto)return T;let C=new F.cosmos.base.v1beta1.DecProto;if(T.dec!=null)C.dec=String(T.dec);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))H.dec=T.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Qn.default.util.toJSONOptions)},o})(),t})(),y})(),n})()});async function Zo(){let{$root:n}=await Promise.resolve().then(() => (m0(),h0)),y=await import("@cosmjs/proto-signing"),t=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new t([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function yo(n){let y=await import("@cosmjs/stargate"),t=y.AminoTypes??y.default?.AminoTypes,o=n===r0.Chain.THORChain?"thorchain":"mayachain";return new t({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...T})=>({...T,signer:Ay(f)}),toAmino:({signer:f,...T})=>({...T,signer:Uy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:T,...C})=>({...C,fromAddress:Ay(f),toAddress:Ay(T)}),toAmino:({fromAddress:f,toAddress:T,...C})=>({...C,from_address:Uy(f),to_address:Uy(T)})}})}var r0;var Rt=u(()=>{Nt();r0=require("@swapkit/helpers")});function ut(n){let{assetValue:y,recipient:t,memo:o,sender:f,asSignable:T,asAminoMessage:C}=n;if(t)return d0({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,recipient:t,sender:f});return a0({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,sender:f})}async function d0({sender:n,recipient:y,assetValue:t,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let _=t.chain,A=await zn.getRPCUrl(_),G=await g0({rpcUrl:A,sender:n}),{chainId:Q}=zn.getChainConfig(_),w=St({assetValue:t,recipient:y,sender:n}),B=f?await fo(T?w:to(w),_):w;return{accountNumber:H||G.accountNumber,chainId:Q,fee:hn(_),memo:o,msgs:[B],sequence:C||G.sequence}}async function a0({sender:n,assetValue:y,memo:t="",asSignable:o=!0,asAminoMessage:f=!1,sequence:T,accountNumber:C}){let H=y.chain,_=await zn.getRPCUrl(H),A=await g0({rpcUrl:_,sender:n}),{chainId:G}=zn.getChainConfig(H),Q=Ft({assetValue:y,memo:t,sender:n}),w=o?await fo(f?Q:to(Q),H):Q;return{accountNumber:C||A.accountNumber,chainId:G,fee:hn(H),memo:t,msgs:[w],sequence:T||A.sequence}}function to(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let t=zn.AssetValue.from({asset:y.asset}),o=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),f=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:t.isSynthetic,ticker:t.ticker}}})}}}async function Gy({chain:n,memo:y,msgs:t}){let o=await Zo(),f=await yo(n),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:t.map((C)=>f.fromAmino(C))}};return o.encode(T)}var zn,eH,n_,St=({sender:n,recipient:y,assetValue:t})=>{return{type:`${t.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:t.getBaseValue("string"),denom:oo(t.symbol,!0)}],from_address:n,to_address:y}}},Ft=({sender:n,assetValue:y,memo:t=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:wy(y)}],memo:t,signer:n}}},ff=({sender:n,recipient:y,assetValue:t,memo:o})=>{return!y?Ft({assetValue:t,memo:o,sender:n}):St({assetValue:t,recipient:y,sender:n})},fo=async(n,y)=>{return(await yo(y)).fromAmino(n)},g0=async({rpcUrl:n,sender:y})=>{let o=await(await mn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var s0=u(()=>{qy();Rt();zn=require("@swapkit/helpers"),eH=hn(zn.Chain.THORChain).gas,n_=hn(zn.Chain.Maya).gas});var e0=()=>{};var nC=u(()=>{e0()});var kt=u(()=>{Nt();s0();Rt();nC()});async function Pt(n,y){try{let o=(await It.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function pt({phrase:n,prefix:y,...t}){let o="derivationPath"in t?t.derivationPath:`${p.DerivationPath[t.chain]}/${t.index}`;return await TC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[tC.stringToPath(o)],prefix:y})}async function o_({privateKey:n,prefix:y}){let t=await import("@cosmjs/proto-signing");return(t.DirectSecp256k1Wallet??t.default?.DirectSecp256k1Wallet).fromKey(n,y)}function CC(n){return async function({signature:t,message:o,address:f}){let T=await n(f);if(!T?.pubkey)throw new p.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,_=C.Secp256k1??C.default?.Secp256k1,A=H.fromFixedLength(To.base64.decode(t));return _.verifySignature(A,To.base64.decode(o),T.pubkey.value)}}function Wy({chain:n,...y}){let t=p.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=p.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[n],{index:o})),T;async function C(){if(T)return T;return T=await ly.match(y).with({phrase:ly.P.string},({phrase:B})=>pt({derivationPath:f,phrase:B,prefix:t})).with({signer:ly.P.any},({signer:B})=>B).otherwise(()=>{return}),T}async function H(B){let W=await p.getRPCUrl(n);return(await mn(W)).getAccount(B)}async function _(){let B=await C(),[W]=await B?.getAccounts()||[];return W?.address}async function A(){let B=await C(),[W]=await B?.getAccounts()||[];if(!W?.pubkey)throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");return To.base64.encode(W?.pubkey)}async function G(B){let W=await C(),l=await _(),M=await p.getRPCUrl(n);if(!(W&&l))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Mo(M,W)).sign(l,B.msgs,B.fee,B.memo,{accountNumber:B.accountNumber,chainId:B.chainId,sequence:B.sequence})}async function Q(B){let W=await C(),l=await _(),M=await p.getRPCUrl(n);if(!(W&&l))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");let Z=await(await Mo(M,W)).signAndBroadcast(l,B.msgs,B.fee,B.memo);if(Z.code!==0)throw new p.SwapKitError("core_swap_transaction_error",{code:Z.code,message:Z.rawLog});return Z.transactionHash}async function w({recipient:B,assetValue:W,memo:l="",feeRate:M,feeOptionKey:N=p.FeeOption.Fast}){let Z=await C(),z=await _();if(!(Z&&z))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");let X=await p.getRPCUrl(n),U=p.AssetValue.from({chain:n}),q=wy(U),L=M||t_((await yC(n,oC[n]))[N],q),Y=await Mo(X,Z),D=oo(W.symbol),J=[{amount:W.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(z,B,J,L,l);return O}return{createPrivateKeyFromPhrase:C_(f),createTransaction:Ot,fetchFeeRateFromSwapKit:Pt,getAccount:H,getAddress:_,getBalance:async(B,W)=>{let l=await fC(n)(B),M=await Promise.all(l.filter(({denom:N})=>N&&!N.includes("IBC/")&&!([p.Chain.THORChain,p.Chain.Maya].includes(n)&&N.split("-").length>2)).map(({denom:N,amount:Z})=>{let z=[p.Chain.THORChain,p.Chain.Maya].includes(n)&&(N.includes("/")||N.includes("˜"))?`${n}.${N}`:N;return xt(z,Z)}));if(M.length===0)return[p.AssetValue.from({chain:n})];return M},getBalanceAsDenoms:fC(n),getFees:()=>yC(n,oC[n]),getPubKey:A,getSignerFromPhrase:({phrase:B,derivationPath:W})=>pt({derivationPath:p.derivationPathToString(W),index:o,phrase:B,prefix:t}),getSignerFromPrivateKey:async(B)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(B,t)},signAndBroadcastTransaction:Q,signTransaction:G,transfer:w,validateAddress:HC(n),verifySignature:CC(H)}}async function y_(n,y){try{let o=(await It.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function f_({assetValue:{chain:n}}){return p.AssetValue.from({chain:n,value:T_(n)})}async function yC(n,y){let{chainId:t,baseDecimal:o}=p.getChainConfig(n),f=await Pt(t,y);return{average:p.SwapKitNumber.fromBigInt(BigInt(f),o),fast:p.SwapKitNumber.fromBigInt(BigInt(p.applyFeeMultiplier(f,p.FeeOption.Fast,!0)),o),fastest:p.SwapKitNumber.fromBigInt(BigInt(p.applyFeeMultiplier(f,p.FeeOption.Fastest,!0)),o)}}function t_(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function T_(n){return{[p.Chain.Cosmos]:0.007,[p.Chain.Kujira]:0.02,[p.Chain.Noble]:0.01,[p.Chain.THORChain]:0.02,[p.Chain.Maya]:0.02,[p.Chain.Harbor]:0.02}[n]||0}function HC(n){let y=p.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:T}=To.bech32.decode(o);return To.bech32.encode(f,T)===o.toLocaleLowerCase()}catch{return!1}}}function fC(n){return async function(t){let o=await p.getRPCUrl(n);return(await(await mn(o)).getAllBalances(t)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function C_(n){return async function(t){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,T=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,_=o.Bip39??o.default?.Bip39,A=new H(t),G=await _.mnemonicToSeed(A),{privkey:Q}=C.derivePath(T.Secp256k1,G,f(n));return Q}}var tC,TC,To,p,It,ly,oC;var tf=u(()=>{qy();tC=require("@cosmjs/crypto"),TC=require("@cosmjs/proto-signing"),To=require("@scure/base"),p=require("@swapkit/helpers"),It=require("@swapkit/helpers/api"),ly=require("ts-pattern");oC={[p.Chain.Cosmos]:1000,[p.Chain.Kujira]:1000,[p.Chain.Noble]:1000,[p.Chain.THORChain]:5000000,[p.Chain.Maya]:5000000,[p.Chain.Harbor]:5000000}});function H_({prefix:n,derivationPath:y}){return async function(o,f=0){let T=await import("@cosmjs/amino"),C=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),_=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[_(`${y}/${f}`)],prefix:n})}}function __(n){return Co.base64.encode(n)}function A_(n){return async function({wallet:t,tx:o}){let{msgs:f,accountNumber:T,sequence:C,chainId:H,fee:_,memo:A}=typeof o==="string"?JSON.parse(o):o,G=(await t.getAccounts())?.[0]?.address||"",Q=await yo(n),w=await Zo(),B=await Dt(t,{aminoTypes:Q,registry:w}),W=[];for(let N of f){let Z=await fo(N,n);W.push(Z)}let{signatures:[l]}=await B.sign(G,W,_,A,{accountNumber:T,chainId:H,sequence:C});return{bodyBytes:await Gy({chain:n,memo:A,msgs:f.map(to)}),signature:__(l)}}}function U_({prefix:n,chain:y}){return async function(o,f,T,C,H){let _=await s.getRPCUrl(y),{encodeSecp256k1Pubkey:A,pubkeyToAddress:G}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:Q}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:B}=JSON.parse(o),W=await _C(T,C),l=f.map((Z)=>[G(A(Co.base64.decode(Z.pubKey)),n),Co.base64.decode(Z.signature)]),M=await mn(_),{transactionHash:N}=await M.broadcastTx(Q(W,w,B,H,new Map(l)));return N}}async function _C(n,y,t=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((T)=>f(Co.base64.decode(T))),y,t)}function w_(n){return Co.base64.decode(n)}async function q_({privateKey:n,message:y}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,o=await t.createSignature(Co.base64.decode(y),n);return Co.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function $t({chain:n,...y}){let{nodeUrl:t}=s.getChainConfig(n),{isStagenet:o}=s.SKConfig.get("envs"),f=n===s.Chain.THORChain,T=`${o?"s":""}${s.CosmosChainPrefixes[n]}`,C="index"in y?y.index||0:0,H="derivationPath"in y&&y.derivationPath?y.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[n],{index:C}),_=Wy({chain:n,...y}),A=hn(n);async function G(){let w,B=`${t}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await s.RequestClient.get(B);if(!W||Number.isNaN(W)||W<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});w=new s.SwapKitNumber(W)}catch{w=new s.SwapKitNumber({decimal:s.getChainConfig(n).baseDecimal,value:f?0.02:1})}return{[s.FeeOption.Average]:w,[s.FeeOption.Fast]:w,[s.FeeOption.Fastest]:w}}async function Q({assetValue:w,memo:B="",recipient:W}){let l=await s.getRPCUrl(n),M=await By.match(y).with({phrase:By.P.string},({phrase:O})=>_.getSignerFromPhrase({derivationPath:H,phrase:O})).with({signer:By.P.any},({signer:O})=>O).otherwise(()=>{return}),{TxRaw:N}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),Z=(await M?.getAccounts())?.[0]?.address;if(!(Z&&M))throw new s.SwapKitError("toolbox_cosmos_no_signer");let z="signAmino"in M,X=await Zo(),U=await yo(n),q=await Mo(l,M,{aminoTypes:U,registry:X}),L=ff({assetValue:w,memo:B,recipient:W,sender:Z});if(z){let O=await fo(L,n),{signatures:R,authInfoBytes:k}=await q.sign(Z,[O],A,B),v=N.encode({authInfoBytes:k,bodyBytes:await Gy({chain:n,memo:B,msgs:[L].map(to)}),signatures:R}).finish();return(await q.broadcastTx(v)).transactionHash}let Y=to(L),D=await fo(Y,n);return(await q.signAndBroadcast(Z,[D],A,B)).transactionHash}return{..._,broadcastMultisigTx:U_({chain:n,prefix:T}),buildAminoMsg:ff,buildEncodedTxBody:Gy,convertToSignable:fo,createDefaultAminoTypes:()=>yo(n),createDefaultRegistry:Zo,createMultisig:_C,createTransaction:ut,deposit:Q,getFees:G,importSignature:w_,parseAminoMessageForDirectSigning:to,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:B}=(await import("@cosmjs/amino")).default;return B(w,T)},secp256k1HdWalletFromMnemonic:H_({derivationPath:s.derivationPathToString(H),prefix:T}),signMultisigTx:A_(n),signWithPrivateKey:q_,transfer:Q}}var Co,s,By;var Et=u(()=>{kt();qy();tf();Co=require("@scure/base"),s=require("@swapkit/helpers"),By=require("ts-pattern")});var Ho,G_=(n,y)=>{switch(n){case Ho.Chain.Cosmos:case Ho.Chain.Kujira:case Ho.Chain.Noble:return Wy({chain:n,...y});case Ho.Chain.Maya:case Ho.Chain.THORChain:return $t({chain:n,...y});default:throw new Ho.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var AC=u(()=>{tf();Et();Ho=require("@swapkit/helpers");tf();Et()});var Tf={};Ln(Tf,{verifySignature:()=>CC,transferMsgAmino:()=>St,toBase64:()=>gH,parseAminoMessageForDirectSigning:()=>to,getSignerFromPrivateKey:()=>o_,getSignerFromPhrase:()=>pt,getMsgSendDenom:()=>oo,getFeeRateFromSwapKit:()=>y_,getDenomWithChain:()=>wy,getDefaultChainFee:()=>hn,getCosmosToolbox:()=>G_,getCosmosAddressValidator:()=>HC,getAssetFromDenom:()=>xt,fromBase64:()=>dH,fetchFeeRateFromSwapKit:()=>Pt,estimateTransactionFee:()=>f_,depositMsgAmino:()=>Ft,createTransaction:()=>ut,createThorchainToolbox:()=>$t,createStargateClient:()=>mn,createSigningStargateClient:()=>Mo,createOfflineStargateClient:()=>Dt,createDefaultRegistry:()=>Zo,createDefaultAminoTypes:()=>yo,createCosmosToolbox:()=>Wy,cosmosCreateTransaction:()=>Ot,convertToSignable:()=>fo,buildTransferTx:()=>d0,buildEncodedTxBody:()=>Gy,buildDepositTx:()=>a0,buildAminoMsg:()=>ff,bech32ToBase64:()=>Ay,base64ToBech32:()=>Uy,YUM_KUJIRA_FACTORY_DENOM:()=>K0,USK_KUJIRA_FACTORY_DENOM:()=>zt,THORCHAIN_GAS_VALUE:()=>eH,MAYA_GAS_VALUE:()=>n_,DEFAULT_NOBLE_FEE_MAINNET:()=>i0,DEFAULT_KUJI_FEE_MAINNET:()=>c0,DEFAULT_COSMOS_FEE_MAINNET:()=>j0});module.exports=Zn(Tf);var Cf=u(()=>{kt();AC();qy()});function l_({builder:n,grouping:y="na",orders:t}){return{builder:n,grouping:y,orders:t,type:"order"}}function W_({cancels:n}){return{cancels:n,type:"cancel"}}function B_({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function X_({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function L_({modifies:n}){return{modifies:n,type:"batchModify"}}function Q_({asset:n,isCross:y,leverage:t}){return{asset:n,isCross:y,leverage:t,type:"updateLeverage"}}function M_({asset:n,isBuy:y,ntli:t}){return{asset:n,isBuy:y,ntli:t,type:"updateIsolatedMargin"}}function Z_({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function J_({time:n}){return{time:n,type:"scheduleCancel"}}function Y_({amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function N_({amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:_}){return{amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:_,type:"sendAsset"}}function z_({agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f,type:"approveAgent"}}function D_({builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function O_({hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,validator:f,wei:T}){return{hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,type:"tokenDelegate",validator:f,wei:T}}function Sn(...n){let y=n.reduce((f,T)=>f+T.length,0),t=new Uint8Array(y),o=0;for(let f of n)t.set(f,o),o+=f.length;return t}function k_(n,y,t){if(t<y)return new Uint8Array([n+t]);if(t<=255)return new Uint8Array([n+y,t]);if(t<=65535)return new Uint8Array([n+y+1,t>>8,t&255]);return new Uint8Array([n+y+2,t>>>24&255,t>>>16&255,t>>>8&255,t&255])}function _o(n,y){let t=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)t[f]=Number(o&0xffn),o>>=8n;return t}function UC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return Sn(new Uint8Array([205]),_o(n,2));if(n<=0xffffffffn)return Sn(new Uint8Array([206]),_o(n,4));return Sn(new Uint8Array([207]),_o(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return Sn(new Uint8Array([209]),_o(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Sn(new Uint8Array([210]),_o(BigInt.asUintN(32,n),4));return Sn(new Uint8Array([211]),_o(BigInt.asUintN(64,n),8))}function GC(n){let y=u_.encode(n);if(y.length<32)return Sn(new Uint8Array([160+y.length]),y);return Sn(k_(217,0,y.length),y)}function p_(n){let y=n.map((o)=>vt(o)),t=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Sn(t,...y)}function I_(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),t=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Sn(t,...y.flatMap(([o,f])=>[GC(o),vt(f)]))}function vt(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return GC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new Hf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return UC(BigInt(n))}if(typeof n==="bigint")return UC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Sn(y,n)}if(Array.isArray(n))return p_(n);if(typeof n==="object")return I_(n);throw new Hf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function P_(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new Hf.SwapKitError("helpers_invalid_params",{hexValue:n});let t=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)t[o/2]=Number.parseInt(y.slice(o,o+2),16);return t}function lC(n){return{domain:x_,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...R_.Agent]}}}function WC(n){let y=F_[n.type],t=S_[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:wC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||qC},primaryType:y,types:{[y]:t}}}function BC(n){let y=_f.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function XC(n,y,{expiresAfter:t,vaultAddress:o}={}){let f=vt(n),T=_o(BigInt(y),8),C=o?Sn(new Uint8Array([1]),P_(o.toLowerCase())):new Uint8Array([0]),H=typeof t==="number"?Sn(new Uint8Array([0]),_o(BigInt(t),8)):new Uint8Array;return _f.keccak256(Sn(f,T,C,H))}function LC(n){let y=n.hyperliquidChain||qC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var Hf,_f,wC="0x0000000000000000000000000000000000000000",x_,R_,qC="Mainnet",S_,F_,u_;var QC=u(()=>{Hf=require("@swapkit/helpers"),_f=require("ethers"),x_={chainId:1337,name:"Exchange",verifyingContract:wC,version:"1"},R_={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},S_={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},F_={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},u_=new TextEncoder});function Pn(n,y){if(!Kt(n))throw new e.SwapKitError(y,{address:n});return n.toLowerCase()}async function Jo(n){let y=await Af();return e.RequestClient.post(`${y}/info`,{json:n})}function V_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"clearinghouseState",user:Pn(y,"helpers_invalid_params")})}function K_({user:n}){return Jo({type:"spotClearinghouseState",user:Pn(n,"helpers_invalid_params")})}function j_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"openOrders",user:Pn(y,"helpers_invalid_params")})}function c_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"frontendOpenOrders",user:Pn(y,"helpers_invalid_params")})}function i_({oidOrCloid:n,user:y}){return Jo({oid:n,type:"orderStatus",user:Pn(y,"helpers_invalid_params")})}function h_({aggregateByTime:n,user:y}){return Jo({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:Pn(y,"helpers_invalid_params")})}function m_({aggregateByTime:n,endTime:y,startTime:t,user:o}){return Jo({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:t,type:"userFillsByTime",user:Pn(o,"helpers_invalid_params")})}function JC({coin:n,token:y,value:t}){if(!t||Number(t)<=0)return null;let o=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,f=$_[o]||zC;return new e.AssetValue({decimal:f,identifier:`${rn}.${o}`,value:t})}function r_(n){let y=new Map;for(let t of n){let o=t.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(t):t)}if(![...y.values()].some((t)=>t.isGasAsset)){let t=e.AssetValue.from({chain:rn,value:0});y.set(t.toString({includeSynthProtocol:!0}),t)}return[...y.values()]}async function Af(){try{return await e.getRPCUrl(rn)}catch{let[n]=e.getChainConfig(rn).rpcUrls;if(!n)throw new e.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:rn});return n}}async function Vt(){return`${await Af()}/exchange`}function g_(n){let y=b_[n.type],{type:t,...o}=n,f=v_[t];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:E_,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function DC({action:n,expiresAfter:y,nonce:t,vaultAddress:o}){let f=t||Date.now(),T=o?Pn(o,"helpers_invalid_params"):void 0,C=await Vt(),H=XC(n,f,{expiresAfter:y,vaultAddress:T});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:lC(H),vaultAddress:T}}async function OC({action:n,nonce:y,signatureChainId:t}){let o=y||n.nonce||Date.now(),f=t||n.signatureChainId||"0xa4b1",T=LC({...n,nonce:o,signatureChainId:f});return{action:T,endpoint:await Vt(),nonce:o,typedData:WC(T)}}async function bt({assetValue:n,recipient:y,sender:t,signatureChainId:o,time:f}){let T=Pn(y,"core_transaction_invalid_recipient_address"),C=Pn(t,"core_transaction_invalid_sender_address"),H=await Vt(),_=n.getValue("string"),A=f||Date.now(),G=n.ticker==="USDC"?{amount:_,destination:T,hyperliquidChain:MC,signatureChainId:o||ZC,time:A,type:"usdSend"}:{amount:_,destination:T,hyperliquidChain:MC,signatureChainId:o||ZC,time:A,token:n.address?n.address:(()=>{throw new e.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C})})(),type:"spotSend"};return{action:G,endpoint:H,nonce:A,typedData:g_(G)}}async function YC(n){let y=await e.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new e.SwapKitError("core_transaction_failed",{response:y});return y}async function d_(n,y){let t=await Af(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((T)=>setTimeout(T,1000));try{let T=await e.RequestClient.post(`${t}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(T)?T.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function Kt(n){return n.startsWith("0x")&&ty(n)}function a_(n){let y=xn(rn),t=n&&"index"in n?n.index||0:0,o=e.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[rn],{index:t})),f,T=!1;function C(){if(T)return f;return f=Po.match(n).with({phrase:Po.P.string},({phrase:w})=>{return NC.HDNodeWallet.fromPhrase(w,void 0,o)}).with({signer:Po.P.not(Po.P.nullish)},({signer:w})=>w).otherwise(()=>{return}),T=!0,f}async function H(){let w=C();return w?await w.getAddress():""}async function _(w){let B=C();if(!B)throw new e.SwapKitError("toolbox_hypercore_no_signer");let W=await B.signTypedData(w.typedData.domain,w.typedData.types,w.typedData.message);return{action:w.action,endpoint:w.endpoint,nonce:w.nonce,signature:BC(W),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function A(w){let B=Pn(w,"helpers_invalid_params");try{let W=await Af(),[l,M]=await Promise.all([e.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:B}}),e.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:B}})]),N=(l.spotState?.balances||l.balances||[]).map(({coin:z,token:X,total:U})=>JC({coin:z,token:X,value:U})).filter((z)=>!!z),Z=JC({coin:"USDC",value:M.withdrawable||M.marginSummary?.accountValue||M.marginSummary?.totalRawUsd});return r_(Z?[...N,Z]:N)}catch{return y(B)}}async function G(w){let B=C();if(!B)throw new e.SwapKitError("toolbox_hypercore_no_signer");let W=w.sender||await B.getAddress(),l=await bt({...w,feeRate:0,sender:W}),M=await _(l);return await YC(M),d_(W,l.nonce)}function Q(){return e.AssetValue.from({chain:rn,value:0})}return{broadcastTransaction:YC,createL1ActionRequest:DC,createTransaction:bt,createUserSignedActionRequest:OC,estimateTransactionFee:Q,getAddress:H,getBalance:A,getState:{clearinghouse:V_,frontendOpenOrders:c_,openOrders:j_,orderStatus:i_,spotClearinghouse:K_,userFills:h_,userFillsByTime:m_},signTransaction:_,transfer:G,validateAddress:Kt}}var e,NC,Po,rn,zC,$_,MC="Mainnet",ZC="0xa4b1",E_="0x0000000000000000000000000000000000000000",v_,b_;var xC=u(()=>{Qt();cn();QC();e=require("@swapkit/helpers"),NC=require("ethers"),Po=require("ts-pattern"),rn=e.Chain.HyperCore,{baseDecimal:zC}=e.getChainConfig(rn),$_={HYPE:zC,USDC:6,USDT:6},v_={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}],usdSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},b_={spotSend:"HyperliquidTransaction:SpotSend",usdSend:"HyperliquidTransaction:UsdSend"}});var jt={};Ln(jt,{validateHyperCoreAddress:()=>Kt,getHyperCoreToolbox:()=>a_,createUserSignedActionRequest:()=>OC,createTransaction:()=>bt,createL1ActionRequest:()=>DC,buildUsdClassTransferAction:()=>Y_,buildUpdateLeverageAction:()=>Q_,buildUpdateIsolatedMarginAction:()=>M_,buildTopUpIsolatedOnlyMarginAction:()=>Z_,buildTokenDelegateAction:()=>O_,buildSendAssetAction:()=>N_,buildScheduleCancelAction:()=>J_,buildOrderAction:()=>l_,buildModifyAction:()=>X_,buildCancelByCloidAction:()=>B_,buildCancelAction:()=>W_,buildBatchModifyAction:()=>L_,buildApproveBuilderFeeAction:()=>D_,buildApproveAgentAction:()=>z_});module.exports=Zn(jt);var ct=u(()=>{xC()});async function FC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let t=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(t);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function s_(n){let y=await gn(),{PublicKey:t}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new t(n),{baseDecimal:T}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:T,value:C||0})],_=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:A}of _.value){let G=A.data.parsed.info,Q=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let B=await FC(Q),W=B?.symbol||"UNKNOWN",l=B?.decimals||G.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${W}-${Q}`,fromBaseDecimal:l,value:w}))}return H}function ht(n){try{let y=new dn.PublicKey(n);return dn.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function e_(n){let y=n&&"index"in n?n.index||0:0,t=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Xy.match(n).with({phrase:Xy.P.string},({phrase:C})=>it({derivationPath:t,phrase:C})).with({signer:Xy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function T(){let C=await f();return C?.publicKey?SC(C.publicKey):""}return{broadcastTransaction:Uf(gn),createKeysForPath:it,createTransaction:mt(gn),createTransactionFromInstructions:fA,estimateTransactionFee:nA(gn),getAddress:T,getAddressFromPubKey:SC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:s_,getConnection:gn,getPubkeyFromAddress:(C)=>new dn.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await RC(gn,f)(C);return Uf(gn)(H)},signTransaction:RC(gn,f),transfer:tA(gn,f),validateAddress:ht}}function nA(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let C=await n(),_=(await mt(n)({assetValue:t,isProgramDerivedAddress:f,memo:o,recipient:y,sender:T})).compileMessage(),A=await C.getFeeForMessage(_);if(A.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:G,value:A.value})}}async function gn(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(t,o,f)=>{let T={};for(let[C,H]of Object.entries(o?.headers??{})){let _=C.toLowerCase();if(_!=="pragma"&&_!=="solana-client")T[C]=H}f(t,{...o,headers:T})}})}function oA(n){return async({assetValue:y,recipient:t,sender:o,isProgramDerivedAddress:f})=>{let T=await n(),C=new dn.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:_}=await import("@solana/web3.js");return new H().add(_.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new dn.PublicKey(t)}))}if(y.address)return yA({amount:y.getBaseValue("number"),connection:T,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:t,tokenAddress:y.address});return}}async function yA({tokenAddress:n,recipient:y,from:t,connection:o,amount:f,decimals:T,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:G}=await import("@solana/spl-token"),{Transaction:Q}=await import("@solana/web3.js"),w=new Q,B=new dn.PublicKey(n),W=await H(B,t),l=new dn.PublicKey(y),M=await H(B,l,C),N=!1;try{await _(o,M),N=!0}catch{}if(!N)w.add(A(t,M,l,B));return w.add(G(W,B,M,t,f,T)),w}function mt(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new dn.PublicKey(T);if(!(f||ht(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let _=await n(),A=await oA(n)({assetValue:t,isProgramDerivedAddress:f,recipient:y,sender:T});if(!A)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)A.add(C(o));let G=await _.getLatestBlockhash();return A.recentBlockhash=G.blockhash,A.feePayer=H,A}}async function fA({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),t=new y().add(...n);if(!t)throw new r.SwapKitError("core_transaction_invalid_sender_address");return t}function tA(n,y){return async({recipient:t,assetValue:o,memo:f,isProgramDerivedAddress:T})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),_=await mt(n)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:t,sender:H});if("signTransaction"in C){let A=await C.signTransaction(_);return Uf(n)(A)}return _.sign(C),Uf(n)(_)}}function Uf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function RC(n,y){return async(t)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(t instanceof f)){let C=await(await n()).getLatestBlockhash();t.recentBlockhash=C.blockhash,t.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(t);return t.sign([o]),t}}async function it({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:t}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),T=o(n),C=t.fromMasterSeed(T);return f.fromSeed(C.derive(y,!0).privateKey)}function SC(n){return n.toString()}var dn,r,Xy;var uC=u(()=>{cn();dn=require("@solana/web3.js"),r=require("@swapkit/helpers"),Xy=require("ts-pattern")});var rt={};Ln(rt,{validateSolanaAddress:()=>ht,getSolanaToolbox:()=>e_,fetchTokenMetaData:()=>FC,createKeysForPath:()=>it});module.exports=Zn(rt);var gt=u(()=>{uC()});function wf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function qf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:t}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:T,encode:C,CallData:H}=await import("starknet"),_=o(n),G=t.fromMasterSeed(_).derive(y);if(!G.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let Q=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(Q),B=C.addHexPrefix(w),W=f.starkCurve.getStarkKey(B),l=H.compile([W,0]);return{address:T.calculateContractAddressFromHash(W,at,l,0),privateKey:B,publicKey:W}}async function st({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:t,RpcProvider:o}=await import("starknet"),{privateKey:f,address:T}=await qf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new t({address:T,provider:H,signer:f})}function pC(n){let y=c.Chain.Starknet,t=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:t})),f,T,C;async function H(){if(T)return T;let{RpcProvider:U}=await import("starknet"),q=await c.getRPCUrl(y);return T=new U({nodeUrl:q}),T}async function _(U){let q=await H(),L=U||await w();if(!L)return!1;try{return await q.getClassHashAt(L),!0}catch(Y){if(Y instanceof Error&&Y.message.includes("Contract not found"))return!1;let D=Y;if(D?.code===20||D?.code===19)return!1;throw Y}}async function A(){let{CallData:U,hash:q}=await import("starknet"),L=await H(),Y=await Q();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return Y.address;let J=U.compile([C,0]);if(q.calculateContractAddressFromHash(C,at,J,0).toLowerCase()!==Y.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let R={addressSalt:C,classHash:at,constructorCalldata:J},{transaction_hash:k}=await Y.deployAccount(R);return await L.waitForTransaction(k),k}async function G(){if(!await _()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function Q(){if(f)return f;return f=await $n.match(n).with({phrase:$n.P.string},async({phrase:U})=>{let{Account:q,RpcProvider:L}=await import("starknet"),{privateKey:Y,address:D,publicKey:J}=await qf({derivationPath:o,phrase:U});C=J;let O=await c.getRPCUrl(c.Chain.Starknet),R=new L({nodeUrl:O});return new q({address:D,provider:R,signer:Y})}).with({address:$n.P.string,privateKey:$n.P.string},async({privateKey:U,address:q})=>{let{Account:L}=await import("starknet"),Y=await H();return new L({address:q,provider:Y,signer:U})}).with({signer:$n.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function w(){return(await Q())?.address??""}async function B(U){let q=await H(),{uint256:L,CallData:Y}=await import("starknet"),D=[],J=[dt,kC];for(let O of J)try{let[R="0",k="0"]=await q.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),v=L.uint256ToBN({high:R,low:k});$n.match(O).with(dt,()=>{D.push(c.AssetValue.from({chain:y,value:v}))}).with(kC,()=>{if(v>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:v}))}).otherwise(()=>{})}catch{}return D}async function W({recipient:U,assetValue:q}){let{CallData:L,uint256:Y}=await import("starknet");if(!wf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let D=q.isGasAsset?dt:q.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:q});let J=Y.bnToUint256(q.getBaseValue("bigint"));return[{calldata:L.compile([U,J]),contractAddress:D,entrypoint:"transfer"}]}async function l({recipient:U,assetValue:q,sender:L}){let{baseDecimal:Y}=c.getChainConfig(c.Chain.Starknet),D=await Q(),J=await $n.match({sender:L,signer:D}).with({sender:$n.P.string},async({sender:O})=>{let{Account:R}=await import("starknet"),k=await H();return new R({address:O,provider:k,signer:"0x0"})}).with({signer:$n.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await W({assetValue:q,recipient:U}),R=await J.estimateInvokeFee(O);if(R?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Y,value:R.overall_fee})}catch(O){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function M({recipient:U,assetValue:q,memo:L}){let Y=await Q();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");await G();let D=await W({assetValue:q,memo:L,recipient:U});return(await Y.execute(D)).transaction_hash}async function N(U){let q=await Q();if(!q)throw new c.SwapKitError("toolbox_starknet_no_signer");let L=await q.signMessage(U);return Array.isArray(L)?L:[L.r.toString(),L.s.toString()]}async function Z(U){let q=await Q();if(!q)throw new c.SwapKitError("toolbox_starknet_no_signer");return await G(),(await q.execute(U)).transaction_hash}function z(U){return Z(U)}function X(U,q=!0){try{return xn(y)(U,q)}catch{return B(U)}}return{broadcastTransaction:Z,createKeysForPath:st,createTransaction:W,deployAccount:A,estimateTransactionFee:l,getAddress:w,getBalance:X,getProvider:H,isAccountDeployed:_,signAndBroadcastTransaction:z,signMessage:N,transfer:M,validateAddress:wf}}var c,$n,dt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",kC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",at="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var IC=u(()=>{cn();c=require("@swapkit/helpers"),$n=require("ts-pattern")});var Gf={};Ln(Gf,{validateStarknetAddress:()=>wf,starknetCreateKeysForPath:()=>st,getStarknetToolbox:()=>pC,deriveStarknetKeys:()=>qf});module.exports=Zn(Gf);var lf=u(()=>{IC()});async function EC(n,y,t,o=[],f){let T=await n.getCoins({coinType:t,cursor:f,owner:y}),C=[...o,...T.data];return T.hasNextPage?EC(n,y,t,C,T.nextCursor):C}function TA(n,y,t){let o=y.reduce((_,A)=>_+BigInt(A.balance),0n);if(o<t)throw new fn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:t.toString()});let{ids:f}=y.reduce((_,A)=>{if(_.total>=t)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),T=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(T,C);let[H]=n.splitCoins(T,[t]);return H}function vC(n){try{return $C.isValidSuiAddress(n)}catch{return!1}}function PC(n){return"signWithIntent"in n}function CA({provider:n,...y}={}){let t;async function o(){if(t)return t;return t=await Ly.match(y).with({phrase:Ly.P.string},async({phrase:W})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(W)}).with({signer:Ly.P.any},({signer:W})=>W).otherwise(()=>{return}),t}async function f(W=n){let{SuiClient:l,getFullnodeUrl:M}=await import("@mysten/sui/client");return new l({url:W||M("mainnet")})}async function T(){return(await o())?.toSuiAddress()||""}function C(W){try{let l=fn.AssetValue.from({address:W,chain:fn.Chain.Sui});return{asset:l.toString(),decimals:l.decimal}}catch{}return null}async function H(W){let l=W||await T();if(!l)throw new fn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:M,chain:N}=fn.getChainConfig(fn.Chain.Sui);try{let Z=await f(),{totalBalance:z}=await Z.getBalance({owner:l}),X=[fn.AssetValue.from({chain:N,fromBaseDecimal:M,value:z})],U=await Z.getAllBalances({owner:l});for(let{coinType:q,totalBalance:L}of U){if(q==="0x2::sui::SUI"||Number(L)<=0)continue;let Y=C(q);if(Y)X.push(fn.AssetValue.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:L}))}return X}catch{return[fn.AssetValue.from({chain:N})]}}async function _(W){let l=fn.AssetValue.from({chain:fn.Chain.Sui,value:"0.01"});if(!W)return l;try{let M=await f(),{txBytes:N}=await A(W),{effects:{status:Z,gasUsed:z}}=await M.dryRunTransactionBlock({transactionBlock:N});if(Z.status!=="success")return l;let X=Number(z.computationCost)+Number(z.storageCost)-Number(z.storageRebate);return fn.AssetValue.from({chain:fn.Chain.Sui,value:X.toString()})}catch{return l}}async function A({recipient:W,assetValue:l,gasBudget:M,sender:N}){let{Transaction:Z}=await import("@mysten/sui/transactions"),z=N||await T();if(!z)throw new fn.SwapKitError("toolbox_sui_no_sender");try{let X=new Z;if(X.setSender(z),l.isGasAsset||l.symbol==="SUI"){let[L]=X.splitCoins(X.gas,[l.getBaseValue("string")]);X.transferObjects([L],W)}else{let L=l.address;if(!L)throw new fn.SwapKitError("toolbox_sui_missing_coin_type");let Y=await f(),D=l.getBaseValue("bigint"),J=await EC(Y,z,L);if(!J.length)throw new fn.SwapKitError("toolbox_sui_no_coins_found",{coinType:L});let O=TA(X,J,D);X.transferObjects([O],W)}if(M)X.setGasBudget(M);let U=await f(),q=await X.build({client:U});return{tx:X,txBytes:q}}catch(X){if(X instanceof fn.SwapKitError)throw X;throw new fn.SwapKitError("toolbox_sui_transaction_creation_error",{error:X})}}async function G(W){let l=await o();if(!l)throw new fn.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return l.signTransaction(W);let{txBytes:M}="tx"in W?W:await A(W);return l.signTransaction(M)}async function Q({assetValue:W,gasBudget:l,recipient:M}){let N=await o();if(!N)throw new fn.SwapKitError("toolbox_sui_no_signer");let Z=N.toSuiAddress()||await T();if(!Z)throw new fn.SwapKitError("toolbox_sui_no_sender");let{txBytes:z}=await A({assetValue:W,gasBudget:l,recipient:M,sender:Z}),X=await f();if(!PC(N)){let q=await N.signTransaction(z),{digest:L}=await X.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return L}let{digest:U}=await X.signAndExecuteTransaction({signer:N,transaction:z});return U}async function w(W){let l=await f(),{digest:M}=await l.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return M}async function B(W){let l=await o();if(!l)throw new fn.SwapKitError("toolbox_sui_no_signer");let M=await f(),N;if(typeof W==="string")N=Uint8Array.from(Buffer.from(W,"base64"));else if(W instanceof Uint8Array)N=W;else N=await W.build({client:M});if(!PC(l)){let z=await l.signTransaction(N),{digest:X}=await M.executeTransactionBlock({signature:z.signature,transactionBlock:z.bytes});return X}let{digest:Z}=await M.signAndExecuteTransaction({signer:l,transaction:N});return Z}return{broadcastTransaction:w,createTransaction:A,estimateTransactionFee:_,getAddress:T,getBalance:H,signAndBroadcastTransaction:B,signTransaction:G,transfer:Q,validateAddress:vC}}var $C,fn,Ly;var bC=u(()=>{$C=require("@mysten/sui/utils"),fn=require("@swapkit/helpers"),Ly=require("ts-pattern")});var Wf={};Ln(Wf,{validateSuiAddress:()=>vC,getSuiToolbox:()=>CA});module.exports=Zn(Wf);var Bf=u(()=>{bC()});async function wA(){let n=Date.now();if(Xf&&n-KC<UA)return Xf;try{return Xf=await jC.getHttpEndpoint(),KC=n,Xf}catch{return Gn.getRPCUrl(Gn.Chain.Ton)}}function qA(n={}){let y,t,o;async function f(){if(!y){let X=n.provider??await wA();y=new h.TonClient({endpoint:X})}return y}async function T(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Yo.match(n).with({phrase:Yo.P.string},async({phrase:X})=>cC.mnemonicToWalletKey(X.split(" "))).with({signer:Yo.P.any},({signer:X})=>X).otherwise(()=>{return}),o}async function H(X){if(!t||X){let U=await C(),q=await f(),L=X||U;if(!L)throw new Gn.SwapKitError("core_wallet_connection_not_found");let Y=h.WalletContractV4.create({publicKey:L.publicKey,workchain:0});t=q.open(Y)}return t}let _=xn(Gn.Chain.Ton);async function A({assetValue:X,recipient:U,memo:q,sender:L}){if(X.isGasAsset){let a=q?z(q).toBoc().toString("base64"):void 0;return[{address:U,amount:X.getBaseValue("string"),payload:a}]}let Y=X.address;if(!Y)throw new Gn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:X.toString()}});let D=L??await T(),J=await N({jettonMasterAddress:Y,ownerAddress:D}),O=h.Address.parse(U),R=h.Address.parse(D),k=X.getBaseValue("bigint"),v=q?z(q):void 0,K=Z({destinationAddress:O,forwardPayload:v,jettonAmount:k,responseAddress:R});return[{address:J.toString(),amount:AA.toString(),payload:K.toBoc().toString("base64")}]}function G({sender:X,...U}){return A({...U,sender:X})}function Q(X){return X.map((U)=>{let q=U.payload?h.Cell.fromBase64(U.payload):void 0,L=U.stateInit?h.loadStateInit(h.Cell.fromBase64(U.stateInit).asSlice()):void 0,Y=h.Address.parse(U.address),D=h.Address.isFriendly(U.address)?h.Address.parseFriendly(U.address).isBounceable:!0;return h.internal({body:q,bounce:D,init:L,to:Y,value:BigInt(U.amount)})})}async function w(X){let U=await C(),q=await H();if(!q||!U)throw new Gn.SwapKitError("core_wallet_connection_not_found");let L=await f(),{state:Y}=await L.getContractState(q.address),D=Y==="active",J=D?await q.getSeqno():0,O=q.createTransfer({messages:Q(X),secretKey:U.secretKey,sendMode:VC,seqno:J}),R=h.external({body:O,init:D?void 0:q.init,to:q.address});return h.beginCell().store(h.storeMessage(R)).endCell()}async function B(X){return await(await f()).sendFile(X.toBoc()),X.hash().toString("hex")}async function W(X){let U=await w(X);return B(U)}async function l({assetValue:X,recipient:U,memo:q}){let L=await G({assetValue:X,memo:q,recipient:U});return W(L)}async function M({sender:X,...U}){let{baseDecimal:q}=Gn.getChainConfig(Gn.Chain.Ton),L=await Yo.match(X).with(Yo.P.string,(J)=>{return h.Address.parseFriendly(J).address}).otherwise(async()=>{return(await H()).address});if(!L)throw new Gn.SwapKitError("toolbox_fee_estimation_failed",{chain:Gn.Chain.Ton});let Y=Gn.AssetValue.from({chain:Gn.Chain.Ton,value:"0.01"}),D=await f();try{let J=await G({sender:X,...U}),O=await C(),R=await H();if(!R||!O)return Y;let k=await R.getSeqno(),v=R.createTransfer({messages:Q(J),secretKey:O.secretKey,sendMode:VC,seqno:k}),{source_fees:K}=await D.estimateExternalMessageFee(L,{body:v,ignoreSignature:!0,initCode:null,initData:null}),a=K.in_fwd_fee+K.storage_fee+K.gas_fee+K.fwd_fee;return Y.set(Gn.SwapKitNumber.fromBigInt(BigInt(a),q))}catch{return Y}}async function N({jettonMasterAddress:X,ownerAddress:U}){try{let q=await f(),L=h.Address.parse(X),Y=h.Address.parse(U);return await q.open(h.JettonMaster.create(L)).getWalletAddress(Y)}catch{throw new Gn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:X,ownerAddress:U}})}}function Z({jettonAmount:X,destinationAddress:U,responseAddress:q,forwardAmount:L=_A,forwardPayload:Y}){let D=h.beginCell().storeUint(HA,32).storeUint(0,64).storeCoins(X).storeAddress(U).storeAddress(q).storeBit(0).storeCoins(L);if(Y)D.storeBit(1).storeRef(Y);else D.storeBit(0);return D.endCell()}function z(X){return h.beginCell().storeUint(0,32).storeStringTail(X).endCell()}return{broadcastTransaction:B,createTransaction:G,estimateTransactionFee:M,getAddress:T,getBalance:_,getJettonWalletAddress:N,sign:w,signAndBroadcastTransaction:W,transfer:l,validateAddress:iC}}function iC(n){try{return h.Address.parse(n),!0}catch{return!1}}var jC,Gn,cC,h,Yo,HA=260734629,_A,AA,VC,UA=60000,Xf,KC=0;var hC=u(()=>{cn();jC=require("@orbs-network/ton-access"),Gn=require("@swapkit/helpers"),cC=require("@ton/crypto"),h=require("@ton/ton"),Yo=require("ts-pattern"),_A=h.toNano("0.01"),AA=h.toNano("0.05"),VC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var Lf={};Ln(Lf,{validateTonAddress:()=>iC,getTONToolbox:()=>qA});module.exports=Zn(Lf);var Qf=u(()=>{hC()});function mC({deriveAddress:n,getBalance:y,getUtxos:t}){async function o(H){let{count:_,startIndex:A=0,change:G=!1}=H,Q=[];for(let w=0;w<_;w++){let B=await n({change:G,index:A+w});if(B)Q.push(B)}return Q}async function f(H){let{gapLimit:_=20,change:A=!1}=H??{},G=[],Q=0,w=0;while(Q<_){let B=await n({change:A,index:w});if(!B)break;if((await y(B.address)).some((M)=>M.getValue("number")>0))G.push(B),Q=0;else Q++;w++}return G}async function T(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[..._,...A],Q=await Promise.all(G.map(async(B)=>{let l=(await y(B.address)).reduce((M,N)=>M+N.getValue("number"),0);return{...B,balance:l}})),w=Q.reduce((B,W)=>B+W.balance,0);return{addresses:Q,total:w}}async function C(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[..._,...A];return(await Promise.all(G.map(async(w)=>{return(await t(w.address)).map((W)=>({...W,address:w.address,derivationIndex:w.index,isChange:w.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:T,getAggregatedUtxos:C,scanForAddresses:f}}async function GA({chain:n,txHash:y}){let t=`${Qy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await j.RequestClient.post(t,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let T=await j.getRPCUrl(n);if(T){let C=JSON.stringify({id:T0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await j.RequestClient.post(T,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Qy(n){return`https://api.blockchair.com/${lA(n)}`}function rC(n){switch(n){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function lA(n){switch(n){case j.Chain.BitcoinCash:return"bitcoin-cash";case j.Chain.Litecoin:return"litecoin";case j.Chain.Dash:return"dash";case j.Chain.Dogecoin:return"dogecoin";case j.Chain.Zcash:return"zcash";case j.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function WA(n){try{let{feePerKb:y}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),t=y/1000;return Math.max(t,rC(n))}catch{return rC(n)}}async function Mf(n,y){let t=await j.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!t||t.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return t.data}async function dC({address:n,chain:y,apiKey:t}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Mf(`${Qy(y)}/dashboards/address/${n}?transaction_details=true`,t))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function BA({address:n,chain:y,apiKey:t}){return(await dC({address:n,apiKey:t,chain:y}))?.address.balance||0}async function aC({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Mf(`${Qy(n)}/raw/transaction/${t}`,y))?.[t]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function LA({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Mf(`${Qy(n)}/dashboards/transaction/${t}`,y))?.[t];if(!f)throw new j.SwapKitError("toolbox_utxo_tx_not_found",{txHash:t});let{transaction:T,inputs:C,outputs:H}=f,_=C.map((G)=>G.spending_sequence),A=T.is_rbf===!0||_.some((G)=>G<XA);return{blockId:T.block_id,confirmed:T.block_id!==-1,fee:T.fee,inputs:C,isRBF:A,outputs:H,sequences:_,size:T.size,txid:T.hash,weight:T.weight}}async function QA({chain:n,address:y,apiKey:t,offset:o=0,limit:f=30}){return(await Mf(`${Qy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,t)).map(({is_spent:_,script_hex:A,block_id:G,transaction_hash:Q,index:w,value:B,spending_signature_hex:W})=>({hash:Q,index:w,is_confirmed:G!==-1,is_spent:_,script_hex:A,txHex:W,value:B}))}function MA(n){return n.reduce((y,t)=>y+t.value,0)}function gC(n,y){let t=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let T of t)if(o.push(T),f+=T.value,f>=y)break;return o}return t}async function sC({chain:n,address:y,apiKey:t,targetValue:o,accumulativeValue:f=0,offset:T=0,limit:C=30}){if(!y)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await QA({address:y,apiKey:t,chain:n,limit:C,offset:T,targetValue:o}),A=H.length<C,G=H.filter(({is_spent:M})=>!M),Q=MA(G),w=f+Q,B=o&&w>=o;if(A||B)return gC(G,o);let W=await sC({accumulativeValue:w,address:y,apiKey:t,chain:n,limit:C,offset:T+C,targetValue:o}),l=[...G,...W];return gC(l,o)}catch(H){let _=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function ZA({address:n,chain:y,apiKey:t,fetchTxHex:o=!0,targetValue:f}){let T=await sC({address:n,apiKey:t,chain:y,targetValue:f}),C=[];for(let{hash:H,index:_,script_hex:A,value:G}of T){let Q;if(o)Q=await aC({apiKey:t,chain:y,txHash:H});C.push({address:n,hash:H,index:_,txHex:Q,value:G,witnessUtxo:{script:Buffer.from(A,"hex"),value:G}})}return C}function Mn(n){let y=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(t)=>GA({chain:n,txHash:t}),getAddressData:(t)=>dC({address:t,apiKey:y,chain:n}),getBalance:(t)=>BA({address:t,apiKey:y,chain:n}),getRawTx:(t)=>aC({apiKey:y,chain:n,txHash:t}),getSuggestedTxFee:()=>WA(n),getTransactionDetails:(t)=>LA({apiKey:y,chain:n,txHash:t}),getUtxos:(t)=>ZA({...t,apiKey:y,chain:n})}}function JA(n){return n}function YA(){return function(y){switch(y){case j.Chain.Bitcoin:return No.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return No.NETWORKS.bitcoinCash;case j.Chain.Dash:return No.NETWORKS.dash;case j.Chain.Litecoin:return No.NETWORKS.litecoin;case j.Chain.Dogecoin:return No.NETWORKS.dogecoin;case j.Chain.Zcash:return No.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,No,XA=4294967294;var eC=u(()=>{cn();j=require("@swapkit/helpers"),No=require("@swapkit/utxo-signer")});function DA(n,y,t){return an.encodeCashAddr({hash:t,prefix:n,type:NA[y]})}function OA(n){let y=an.decodeCashAddr(n),t=zA[y.type];if(!t)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:t}}var an,NA,zA,et;var n1=u(()=>{an=require("@swapkit/utxo-signer"),NA={P2PKH:an.CashAddrType.P2PKH,P2SH:an.CashAddrType.P2SH},zA={[an.CashAddrType.P2PKH]:"P2PKH",[an.CashAddrType.P2SH]:"P2SH"};et={decode:OA,encode:DA}});function yT(n){try{return Zf(n),!0}catch{return!1}}function fT(n){return Zf(n)?.network}function sn(n){let y=Zf(n);if(y?.format==="legacy")return n;return SA(y)}function My(n){let y=Zf(n);return FA(y)}function Zf(n){try{let y=xA(n);if(y)return y}catch{}try{let y=RA(n);if(y)return y}catch{}throw new nT.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function xA(n){try{let y=t1.decode(n);if(y.length!==21)throw new nT.SwapKitError("toolbox_utxo_invalid_address",{address:n});let t=y[0],o=Array.prototype.slice.call(y,1);switch(t){case zo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case zo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case zo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case zo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case zo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case zo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function RA(n){if(n.indexOf(":")!==-1)try{return o1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let t of y)try{return o1(`${t}:${n}`)}catch{}}return}function o1(n){try{let{hash:y,prefix:t,type:o}=et.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:t==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function SA(n){let y=zo.legacy[n.network][n.type],t=Buffer.alloc(1+n.hash.length);return t[0]=y,t.set(n.hash,1),t1.encode(t)}function FA(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",t=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return et.encode(y,t,o)}var y1,f1,nT,t1,oT,zo;var T1=u(()=>{n1();y1=require("@noble/hashes/sha2.js"),f1=require("@scure/base"),nT=require("@swapkit/helpers"),t1=f1.createBase58check(y1.sha256);((t)=>{t.Mainnet="mainnet";t.Testnet="testnet"})(oT||={});zo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function un(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return H1.Script.encode(["RETURN",y])}var C1,H1,uA=1000,Yf=10,Nf=2,_1=10,kA=41,pA=107,zf,Jf,Zy,$o=(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 C1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},Do=({inputs:n,outputs:y,feeRate:t})=>{let o=n[0]&&"address"in n[0]&&n[0].address?$o(n[0].address):"P2PKH",T=(t?n.filter((A)=>A.value>=Jf["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(t)):n).reduce((A,G)=>A+Ao(G),0),C=y?.reduce((A,G)=>A+Jy(G),0)||Zy[o],H=Yf+T+C;return o==="P2WPKH"?Math.ceil(H+Nf/4):H},Ao=(n)=>{if("type"in n&&n.type)return Jf[n.type];if("address"in n&&n.address)return Jf[$o(n.address)];return kA+pA},Jy=(n,y)=>{if(n?.script)return _1+n.script.length+(n.script.length>=74?2:1);if(y)return Zy[y];if("address"in n&&n.address)return Zy[$o(n.address)];return Zy.P2PKH};var tT=u(()=>{C1=require("@swapkit/helpers"),H1=require("@swapkit/utxo-signer");((t)=>{t.P2PKH="P2PKH";t.P2WPKH="P2WPKH"})(zf||={});Jf={["P2PKH"]:148,["P2WPKH"]:68},Zy={["P2PKH"]:34,["P2WPKH"]:31}});function Yy(n){switch(n){case Kn.Chain.Bitcoin:case Kn.Chain.BitcoinCash:return 550;case Kn.Chain.Dash:case Kn.Chain.Litecoin:return 5500;case Kn.Chain.Dogecoin:return 1e5;case Kn.Chain.Zcash:return 546;default:throw new Kn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function En({inputs:n,outputs:y,feeRate:t=1,chain:o=Kn.Chain.Bitcoin,changeAddress:f=""}){let T=n[0]&&"address"in n[0]&&n[0].address?$o(n[0].address):"P2PKH",C=n.filter((W)=>Ao(W)*t<=W.value),_=T==="P2WPKH"?Math.ceil(Nf/4):0,A=Yf+_+y.reduce((W,l)=>W+Jy(l),0),G=y.reduce((W,l)=>W+l.value,0),Q=A*t,w=0,B=[];for(let W of C){let l=Ao(W),M=t*l;Q+=M,w+=W.value,B.push(W);let N=Q+G;if(w<N)continue;let Z=w-N,z=t*Jy({address:f,value:0});if(Z>z){let X=z+Q,U=w-(G+Math.ceil(X));if(U>Math.max(Ao({value:0})*t,Yy(o)))return{fee:Math.ceil(X),inputs:B,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(Q),inputs:B,outputs:y}}return{fee:Math.ceil(t*Do({inputs:n,outputs:y}))}}var Kn;var A1=u(()=>{tT();Kn=require("@swapkit/helpers")});var Eo=u(()=>{eC();T1();A1();tT()});function Oo(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Uo(n){let y=Oo(n);return yT(y)&&fT(y)==="mainnet"}function vo(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=Df.Address(Df.ZCASH_NETWORK).decode(n);return t.type==="pkh"||t.type==="sh"}catch{return!1}}var Df;var Ny=u(()=>{Eo();Df=require("@swapkit/utxo-signer")});function HT({address:n,chain:y}){return CT.match(y).with(S.Chain.BitcoinCash,()=>Uo(n)).with(S.Chain.Zcash,()=>vo(n)).otherwise(()=>{try{return m.Address(kn(y)).decode(n),!0}catch{return!1}})}function kn(n){return CT.match(n).with(S.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(S.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(S.Chain.Dash,()=>m.NETWORKS.dash).with(S.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(S.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(S.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function IA({phrase:n,derivationPath:y,network:t,seed:o}){let f=o??xf.mnemonicToSeedSync(n),C=TT.HDKey.fromMasterSeed(f,t.bip32).derive(y);if(!C.privateKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function U1(n){return w1.secp256k1.getPublicKey(n,!0)}function _T({publicKey:n,chain:y,network:t}){if(y===S.Chain.BitcoinCash){let T=m.p2pkh(n,t);if(!T.hash)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:T.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!zy.includes(y)?m.p2wpkh(n,t):m.p2pkh(n,t);if(!f.address)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function bo({phrase:n,derivationPath:y,chain:t,wif:o,seed:f}){let T=kn(t);if(o){let A=m.WIF(T).decode(o),G=U1(A);return{privateKey:A,publicKey:G}}if(!n)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||S.derivationPathToString(S.NetworkDerivationPath[t]),H=IA({derivationPath:C,network:T,phrase:n,seed:f}),_=U1(H);return{privateKey:H,publicKey:_}}function PA(n,y){return m.WIF(kn(y)).encode(n)}function $A({phrase:n,derivationPath:y,chain:t,seed:o}){let f=y.split("/");if(f.length<4)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let T=kn(t),C=o??xf.mnemonicToSeedSync(n),H=TT.HDKey.fromMasterSeed(C,T.bip32),_=f.slice(0,4).join("/");return H.derive(_)}function qo({inputs:n,outputs:y,chain:t,tx:o,sender:f,compiledMemo:T,enableRBF:C=!1}){let H=kn(t),_=!zy.includes(t),A=C?m.RBF_SEQUENCE:void 0,G=new Set;for(let Q of n){let w=`${Q.hash}:${Q.index}`;if(G.has(w))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let B=typeof Q.hash==="string"?wo.hex.decode(Q.hash):Q.hash;if(_&&Q.witnessUtxo)o.addInput({index:Q.index,sequence:A,txid:B,witnessUtxo:{amount:BigInt(Q.witnessUtxo.value),script:Q.witnessUtxo.script}});else if(Q.txHex)o.addInput({index:Q.index,nonWitnessUtxo:wo.hex.decode(Q.txHex),sequence:A,txid:B,...t===S.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let Q of y){let w="address"in Q&&Q.address?Q.address:f;if(t===S.Chain.BitcoinCash)w=sn(w);if(Q.script){if(T)o.addOutput({amount:0n,script:T})}else o.addOutputAddress(w,BigInt(Q.value),H)}return{inputs:n,tx:o}}async function Vo(n){let y=await Mn(n).getSuggestedTxFee();return{[S.FeeOption.Average]:y,[S.FeeOption.Fast]:S.applyFeeMultiplier(y,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(y,S.FeeOption.Fastest)}}async function q1({assetValue:n,recipient:y,memo:t,sender:o,fetchTxHex:f=!1}){let T=n.chain,C=(await Vo(T))[S.FeeOption.Fastest],H=f||zy.includes(T),_=n.getBaseValue("number"),A=Math.ceil(_+C*5000);return{inputs:await Mn(T).getUtxos({address:o,fetchTxHex:H,targetValue:A}),outputs:[{address:y,value:_},...t?[{address:"",script:un(t),value:0}]:[]]}}async function G1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f,fetchTxHex:T=!1,enableRBF:C=!1}){let H=n.chain,_=t?un(t):null,A=await q1({assetValue:n,fetchTxHex:T,memo:t,recipient:y,sender:f}),{inputs:G,outputs:Q}=En({...A,chain:H,feeRate:o});if(!(G&&Q))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:B,tx:W}=qo({chain:H,compiledMemo:_,enableRBF:C,inputs:G,outputs:Q,sender:f,tx:w});return{inputs:B,tx:W,utxos:A.inputs}}async function l1({assetValue:n,feeOptionKey:y=S.FeeOption.Fast,feeRate:t,memo:o,sender:f,recipient:T}){let C=n.chain,H=await q1({assetValue:n,memo:o,recipient:T,sender:f}),_=t?Math.floor(t):(await Vo(C))[y];return En({...H,chain:C,feeRate:_})}function EA(n){return async function({from:t,memo:o,feeRate:f,feeOptionKey:T=S.FeeOption.Fast,recipients:C=1}){let H=await Mn(n).getAddressData(t),_=f?Math.ceil(f):(await Vo(n))[T],A=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Yy(n),Ao(l)*_));if(!A?.length)return S.AssetValue.from({chain:n});let G=BigInt(A.reduce((l,M)=>l+M.value,0)),Q=S.AssetValue.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:t,value:0})):C;if(o)w.push({address:t,script:un(o),value:0});let B=Do({inputs:A,outputs:w}),W=S.AssetValue.from({chain:n,value:BigInt(B*_)});return Q.sub(W)}}function vA(n){return async function(t){let{fee:o}=await l1(t);return S.AssetValue.from({chain:n,value:S.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function bA({chain:n,phrase:y,derivationPath:t,seed:o}){let f=kn(n),{privateKey:T,publicKey:C}=bo({chain:n,derivationPath:t,phrase:y,seed:o}),H=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>_T({chain:n,network:f,publicKey:C}),privateKey:T,publicKey:C,signTransaction:(_)=>{return _.sign(T,H),_}}}function VA(n,y){return async function({memo:o,recipient:f,feeOptionKey:T,feeRate:C,assetValue:H,enableRBF:_=!1}){let A=y?.getAddress();if(!(y&&A))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});S.warnOnce({condition:_&&!Of.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=_&&Of.includes(n),Q=C||(await Vo(n))[T||S.FeeOption.Fast],{tx:w}=await G1({assetValue:H,enableRBF:G,feeRate:Q,memo:o,recipient:f,sender:A});return y.signTransaction(w),w.finalize(),Mn(n).broadcastTx(wo.hex.encode(w.extract()))}}function AT(n){return(y)=>HT({address:y,chain:n})}function UT(n){let y=kn(n);return function(o){if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return _T({chain:n,network:y,publicKey:o.publicKey})}}function Go({chain:n,...y}){let t="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=t?xf.mnemonicToSeedSync(t):void 0,T=S.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[n],{index:o})),C=t?bA({chain:n,derivationPath:T,phrase:t,seed:f}):void 0,H="signer"in y?y.signer:void 0,_=t?bo({chain:n,derivationPath:T,phrase:t,seed:f}):void 0;function A(){if(C)return Promise.resolve(C.getAddress());if(H)return H.getAddress();return Promise.resolve(void 0)}let G=t?$A({chain:n,derivationPath:T,phrase:t,seed:f}):void 0;function Q(){if(!G)return;return G.publicExtendedKey}function w({index:X,change:U=!1}){if(!G)return;if(!Number.isInteger(X)||X<0)throw RangeError(`index must be a non-negative integer, got: ${X}`);let q=kn(n),L=G.deriveChild(Number(U)).deriveChild(X);if(!L.publicKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let Y=_T({chain:n,network:q,publicKey:L.publicKey}),D=wo.hex.encode(L.publicKey);return{address:Y,change:U,index:X,pubkey:D}}async function B(X){if(!Of.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let U=await Mn(n).getTransactionDetails(X);return{canReplace:U.isRBF&&!U.confirmed,confirmed:U.confirmed,enabled:U.isRBF,fee:U.fee,sequences:U.sequences,supported:!0}}async function W({txid:X,newFeeRate:U,recipient:q,memo:L}){if(!Of.includes(n))throw new S.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let Y=await Mn(n).getTransactionDetails(X);if(!Y.isRBF)throw new S.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:X});if(Y.confirmed)throw new S.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:Y.blockId,txid:X});let D=Y.inputs.reduce((An,On)=>An+On.value,0),O=Y.outputs.find((An)=>An.recipient===q)?.value||0;if(O===0)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let R=await Promise.all(Y.inputs.map(async(An)=>{let On=await Mn(n).getRawTx(An.transaction_hash);return{hash:An.transaction_hash,index:An.index,txHex:On,value:An.value,witnessUtxo:void 0}})),k=L?un(L):null,v=Do({feeRate:U,inputs:R.map((An)=>({...An,type:"P2WPKH"})),outputs:[{address:q,value:O}]}),K=Math.ceil(v*U);if(K<=Y.fee)throw new S.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:K,originalFee:Y.fee});let a=K-Y.fee,on=O-a;if(on<=0)throw new S.SwapKitError("toolbox_utxo_rbf_insufficient_change");let wn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Yn=[{address:q,value:on},...L?[{address:"",script:un(L),value:0}]:[]],Dn=D-on-K,Xn=await A();if(Dn>Yy(n)&&Xn)Yn.push({address:Xn,value:Dn});return qo({chain:n,compiledMemo:k,inputs:R,outputs:Yn,sender:Xn||q,tx:wn}),{feeDelta:a,newFee:K,originalFee:Y.fee,tx:wn}}async function l({txid:X,newFeeRate:U,recipient:q,memo:L}){if(!C)throw new S.SwapKitError("toolbox_utxo_no_signer");let{tx:Y,originalFee:D,newFee:J}=await W({memo:L,newFeeRate:U,recipient:q,txid:X});C.signTransaction(Y),Y.finalize();let O=await Mn(n).broadcastTx(wo.hex.encode(Y.extract()));return{newFee:J,originalFee:D,txid:O}}function M({index:X,change:U=!1}){if(!G)return;return G.deriveChild(Number(U)).deriveChild(X).privateKey||void 0}function N({tx:X,inputDerivations:U}){if(!G)throw new S.SwapKitError("toolbox_utxo_no_signer");let q=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let L=0;L<U.length;L++){let Y=U[L];if(!Y)continue;let{derivationIndex:D,isChange:J}=Y,O=M({change:J,index:D});if(!O)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${L} at index ${D}`});X.signIdx(O,L,q)}return X}async function Z({utxos:X,recipient:U,assetValue:q,memo:L,feeRate:Y,feeOptionKey:D,changeAddress:J}){if(!G)throw new S.SwapKitError("toolbox_utxo_no_signer");let O=Y||(await Vo(n))[D||S.FeeOption.Fast],R=L?un(L):null,k=[{address:U,value:q.getBaseValue("number")}];if(R)k.push({address:"",script:R,value:0});let v=X.map(({hash:Xn,index:An,value:On,txHex:lo,witnessUtxo:Ro})=>({hash:Xn,index:An,txHex:lo,value:On,witnessUtxo:Ro?{script:Ro.script,value:Ro.value}:void 0})),{inputs:K,outputs:a}=En({chain:n,feeRate:O,inputs:v,outputs:k});if(!(K&&a))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:q,sender:"multiple addresses"});let on=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),wn=X[0]?.address,Yn=J||await A()||wn||U;qo({chain:n,compiledMemo:R,inputs:K,outputs:a,sender:Yn,tx:on});let Dn=K.map((Xn)=>{let An=X.find((On)=>On.hash===Xn.hash&&On.index===Xn.index);return An?{derivationIndex:An.derivationIndex,isChange:An.isChange}:{derivationIndex:0,isChange:!1}});return N({inputDerivations:Dn,tx:on}),on.finalize(),Mn(n).broadcastTx(wo.hex.encode(on.extract()))}function z({address:X,gapLimit:U=20}){if(!G)return;for(let q=0;q<U;q++){let L=w({change:!1,index:q}),Y=w({change:!0,index:q}),D=L?.address===X?!1:Y?.address===X;if(L?.address===X||Y?.address===X)return{change:D,index:q}}return}return{accumulative:En,broadcastTx:(X)=>Mn(n).broadcastTx(X),bumpFee:l,calculateTxSize:Do,createKeysForPath:(X)=>bo({...X,chain:n}),createReplacementTransaction:W,createTransaction:G1,deriveAddressAtIndex:w,derivePrivateKeyAtIndex:M,estimateMaxSendableAmount:EA(n),estimateTransactionFee:vA(n),getAddress:A,getAddressFromKeys:UT(n),getBalance:xn(n),getExtendedPublicKey:Q,getFeeRates:()=>Vo(n),getInputsOutputsFee:l1,getNetworkForChain:()=>kn(n),getPrivateKeyFromMnemonic:(X)=>PA(bo({...X,chain:n}).privateKey,n),isRBFEnabled:B,keys:_,resolveDerivationIndex:z,signAndBroadcastTransaction:async(X)=>{if(!C)throw new S.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(X),X.finalize(),await Mn(n).broadcastTx(wo.hex.encode(X.extract()))},signTransactionWithMultipleKeys:N,transfer:VA(n,C),transferFromMultipleAddresses:Z,validateAddress:AT(n)}}var w1,wo,TT,xf,S,m,CT,zy,Of;var Dy=u(()=>{cn();Eo();Ny();w1=require("@noble/curves/secp256k1.js"),wo=require("@scure/base"),TT=require("@scure/bip32"),xf=require("@scure/bip39"),S=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),CT=require("ts-pattern"),zy=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash],Of=[S.Chain.Bitcoin]});function Oy(n){return Oo(My(n))}function KA(n){let y=kn(jn);function t(f){return f.sign(n.privateKey,[Bn.BCHSigHash.ALL]),f}function o(){let f=Bn.p2pkh(n.publicKey,y);if(!f.hash)throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let T=Bn.encodeCashAddr({hash:f.hash,prefix:Bn.CashAddrPrefix.MAINNET,type:Bn.CashAddrType.P2PKH});return Promise.resolve(T.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:t}}function wT(n){let y="phrase"in n?n.phrase:void 0,t="index"in n?n.index||0:0,o=Wn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Wn.updateDerivationPath(Wn.NetworkDerivationPath[jn],{index:t})),f=y?bo({chain:jn,derivationPath:o,phrase:y}):void 0,T=f?KA(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(T?.getAddress())}let{getBalance:H,getFeeRates:_,broadcastTx:A,...G}=Go({chain:jn});function Q(w,B=!0){return H(Oo(My(w)))}return{...G,broadcastTx:A,buildTx:cA,createTransaction:B1,getAddress:C,getAddressFromKeys:iA,getBalance:Q,getFeeRates:_,stripPrefix:Oo,stripToCashAddress:Oy,transfer:jA({broadcastTx:A,getFeeRates:_,signer:T}),validateAddress:Uo}}async function B1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){if(!Uo(y))throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let T=Math.ceil(n.getBaseValue("number")+o*7500),C=await Mn(jn).getUtxos({address:Oy(f),fetchTxHex:!0,targetValue:T}),H=t?un(t):null,_=[],A=sn(y);if(_.push({address:A,value:n.getBaseValue("number")}),H)_.push({script:H,value:0});let{inputs:G,outputs:Q}=En({chain:jn,feeRate:o,inputs:C,outputs:_});if(!(G&&Q))throw new Wn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Bn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),B=sn(f),{inputs:W,tx:l}=qo({chain:jn,compiledMemo:H,inputs:G,outputs:Q.map((M)=>("address"in M)&&M.address?{...M,address:sn(M.address)}:M),sender:B,tx:w});return{inputs:W,tx:l,utxos:G}}function jA({broadcastTx:n,getFeeRates:y,signer:t}){return async function({recipient:f,assetValue:T,feeOptionKey:C=Wn.FeeOption.Fast,...H}){let _=await t?.getAddress();if(!(t&&_))throw new Wn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Wn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=H.feeRate||(await y())[C],{tx:G}=await B1({...H,assetValue:T,feeRate:A,recipient:f,sender:_}),Q=await t.signTransaction(G);return Q.finalize(),n(W1.hex.encode(Q.extract()))}}async function cA({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){let T=My(y);if(!Uo(T))throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{address:T});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Mn(jn).getUtxos({address:Oy(f),fetchTxHex:!0,targetValue:C}),_=Number(o.toFixed(0)),A=t?un(t):null,G=[];if(G.push({address:sn(y),value:n.getBaseValue("number")}),A)G.push({script:A,value:0});let{inputs:Q,outputs:w}=En({chain:jn,feeRate:_,inputs:H,outputs:G});if(!(Q&&w))throw new Wn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let B=new Bn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:W,tx:l}=qo({chain:jn,compiledMemo:A,inputs:Q,outputs:w,sender:sn(f),tx:B});return{inputs:W,tx:l,utxos:H}}function iA(n){let y=Bn.NETWORKS.bitcoinCash,t=Bn.p2pkh(n.publicKey,y);if(!t.hash)throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Bn.encodeCashAddr({hash:t.hash,prefix:Bn.CashAddrPrefix.MAINNET,type:Bn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var W1,Wn,Bn,jn;var Rf=u(()=>{Eo();Dy();Ny();W1=require("@scure/base"),Wn=require("@swapkit/helpers"),Bn=require("@swapkit/utxo-signer"),jn=Wn.Chain.BitcoinCash});function L1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function mA(n){return hA.encode(n)}function rA({phrase:n,derivationPath:y}){let t=GT.mnemonicToSeedSync(n),f=qT.HDKey.fromMasterSeed(t).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:T,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:_}=_n.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(A.length+H.length);G.set(A,0),G.set(H,A.length);let Q=mA(G);return{getAddress:()=>Promise.resolve(Q),signTransaction:(w)=>{if(w instanceof tn.PCZT)return w.signAllInputs(T,C,tn.ZcashSigHash.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(T,C,tn.ZcashSigHash.ALL),Promise.resolve(w)}}}function gA({inputs:n,outputs:y,tx:t,sender:o,compiledMemo:f}){let T=L1();for(let C of n){let H=tn.Address(T).decode(o),_=tn.OutScript.encode(H);t.addInput({index:C.index,script:_,sequence:4294967295,txid:Sf.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,_=C.script;if(_&&!f)continue;if(_&&f)t.addOutput({amount:0n,script:f});else t.addOutputAddress(H,BigInt(C.value),T)}return{inputs:n,tx:t}}async function X1(n){let{assetValue:y,recipient:t,memo:o,feeRate:f,sender:T,fetchTxHex:C}=n,H=o?un(o):null,_=await Mn(_n.Chain.Zcash).getUtxos({address:T,fetchTxHex:C!==!1}),A=[{address:t,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:Q}=En({chain:_n.Chain.Zcash,changeAddress:T,feeRate:f,inputs:_,outputs:A});if(!(G&&Q))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let w=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:B,inputs:W}=gA({compiledMemo:H,inputs:G,outputs:Q,sender:T,tx:w});return{inputs:W,outputs:Q,tx:B}}function lT(n){let y=Ko.match(n).with({signer:Ko.P.not(Ko.P.nullish)},({signer:_})=>_).with({phrase:Ko.P.string},({phrase:_,derivationPath:A,index:G=0})=>{let Q=A||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],w=_n.updateDerivationPath(Q,{index:G}),B=_n.derivationPathToString(w);return rA({derivationPath:B,phrase:_})}).otherwise(()=>{return}),t=Go({chain:_n.Chain.Zcash,signer:y});async function o({recipient:_,assetValue:A,feeOptionKey:G=_n.FeeOption.Fast,...Q}){let w=await y?.getAddress();if(!(y&&w))throw new _n.SwapKitError("toolbox_utxo_no_signer");let B=Q.feeRate||(await t.getFeeRates())[G],{tx:W}=await X1({...Q,assetValue:A,feeRate:B,recipient:_,sender:w}),M=(await y.signTransaction(W)).toHex();return t.broadcastTx(M)}function f({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let G=GT.mnemonicToSeedSync(_),w=qT.HDKey.fromMasterSeed(G).derive(A);if(!w.privateKey||!w.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:w.privateKey,publicKey:w.publicKey}}function T({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let G=f({derivationPath:A,phrase:_}),Q=L1();return tn.WIF(Q).encode(G.privateKey)}function C(_){return async function(G){if(!_)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await _.signTransaction(G)}}function H(_){return async function(G){if(!_)throw new _n.SwapKitError("toolbox_utxo_no_signer");let Q=await _.signTransaction(G);return t.broadcastTx(Q.toHex())}}return{...t,createKeysForPath:f,createTransaction:X1,getPrivateKeyFromMnemonic:T,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:vo}}var Sf,qT,GT,_n,tn,Ko,hA;var WT=u(()=>{Eo();Dy();Ny();Sf=require("@scure/base"),qT=require("@scure/bip32"),GT=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),Ko=require("ts-pattern");hA=Sf.createBase58check(tn.utils.sha256)});function dA(n,y){switch(n){case en.Chain.BitcoinCash:return wT(y||{});case en.Chain.Zcash:return lT(y);case en.Chain.Bitcoin:case en.Chain.Dogecoin:case en.Chain.Litecoin:case en.Chain.Dash:return Go({chain:n,...y});default:throw new en.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var en;var Q1=u(()=>{Rf();Dy();WT();Rf();Ny();en=require("@swapkit/helpers")});var BT={};Ln(BT,{validateZcashAddress:()=>vo,validateUtxoAddress:()=>HT,validateBchAddress:()=>Uo,toLegacyAddress:()=>sn,toCashAddress:()=>My,stripToCashAddress:()=>Oy,stripPrefix:()=>Oo,nonSegwitChains:()=>zy,isValidAddress:()=>yT,getUtxoToolbox:()=>dA,getUtxoNetwork:()=>YA,getUtxoApi:()=>Mn,getUTXOAddressValidator:()=>AT,getScriptTypeForAddress:()=>$o,getOutputSize:()=>Jy,getNetworkForChain:()=>kn,getInputSize:()=>Ao,getDustThreshold:()=>Yy,detectAddressNetwork:()=>fT,createZcashToolbox:()=>lT,createUTXOToolbox:()=>Go,createHDWalletHelpers:()=>mC,createCustomUtxoApi:()=>JA,createBCHToolbox:()=>wT,compileMemo:()=>un,calculateTxSize:()=>Do,addressFromKeysGetter:()=>UT,addInputsAndOutputs:()=>qo,accumulative:()=>En,UtxoNetwork:()=>oT,UTXOScriptType:()=>zf,TX_OVERHEAD:()=>Yf,SEGWIT_MARKER_FLAG_WEIGHT:()=>Nf,OutputSizes:()=>Zy,OP_RETURN_OVERHEAD:()=>_1,MIN_TX_FEE:()=>uA,InputSizes:()=>Jf});module.exports=Zn(BT);var XT=u(()=>{Dy();Eo();Q1();Rf();WT()});function xy(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function uf(n){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:t}=await import("@near-js/crypto"),o=n.index||0,f=n.derivationPath?Ff.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=y(n.phrase,f),C=t.fromString(T);return J1(C)}async function LT(n){let{KeyPair:y}=await import("@near-js/crypto"),t=y.fromString(n);return J1(t)}function J1(n){return new Z1(n)}async function kf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ff.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),T=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:T}}var M1,Ff,Z1;var QT=u(()=>{M1=require("@near-js/signers"),Ff=require("@swapkit/helpers");Z1=class Z1 extends M1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function MT(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function ZT(n){return"contractId"in n&&"methodName"in n}function JT(n){return"actions"in n}function YT(n){return"newAccountId"in n}function NT(n){return"contractCode"in n}function zT(n){return"customEstimator"in n}function DT(n){let y=0;for(let t of n)switch(t.enum){case"transfer":y+=Number(Jn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Jn.CONTRACT_CALL);break;case"createAccount":y+=Number(Jn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Jn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Jn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Jn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Jn.STAKE);break;default:y+=Number(Jn.CONTRACT_CALL)}return y.toString()}function OT(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Jn.TOKEN_TRANSFER;if(n==="storage_deposit")return Jn.STORAGE_DEPOSIT;return Jn.CONTRACT_CALL}function aA(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function sA(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Jn;var xT=u(()=>{Jn={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 RT({account:n,contractId:y,viewMethods:t,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:t})}function eA(n){let y;async function t(){if(y)return y;return y=await jo.match(n).with({phrase:jo.P.string},async(J)=>{return await uf(J)}).with({signer:jo.P.any},({signer:J})=>J).otherwise(()=>{return}),y}async function o(){let J=await nn.getRPCUrl(nn.Chain.Near);return new Y1.JsonRpcProvider({url:J})}async function f(J){let{Account:O}=await import("@near-js/accounts"),R=await o(),k=await t(),v=J||await T();return new O(v,R,k)}async function T(){let J=await t();if(!J)throw new nn.SwapKitError("toolbox_near_no_signer");return await J.getAddress()}async function C(J){return(await X({changeMethods:[],contractId:J.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:J.accountId})}async function H(J){let R=[await w({args:{account_id:J.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await w({args:{amount:J.assetValue.getBaseValue("string"),memo:J.memo||null,receiver_id:J.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:R,receiverId:J.contractId})}async function _(J){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:k,memo:v}=J,K=await T();if(!R.isGasAsset&&R.address){if(!await C({accountId:k,contractId:R.address}))return H({assetValue:R,contractId:R.address,memo:v,recipient:k})}let a=await A({...J,sender:K});return l(a)}async function A({recipient:J,assetValue:O,memo:R,attachedDeposit:k,sender:v,functionCall:K}){let a=await o();if(!xy(J))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:J});if(!xy(v))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:v});if(K)return Q({...K,sender:v});if(!O.isGasAsset){let gT=O.address;if(!gT)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return Q({args:{amount:O.getBaseValue("string"),memo:R||null,receiver_id:J},attachedDeposit:k||"1",contractId:gT,gas:"250000000000000",methodName:"ft_transfer",sender:v})}let{publicKey:on,nonce:wn}=await kf(a,v),Yn=O.getBaseValue("bigint"),{actionCreators:Dn,createTransaction:Xn}=await import("@near-js/transactions"),{baseDecode:An}=await import("@near-js/utils"),On=[Dn.transfer(Yn)];if(R&&k)On.push(Dn.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(k)));let lo=await a.block({finality:"final"}),Ro=An(lo.header.hash);return Xn(v,on,J,wn+1,On,Ro)}function G(J){let O=J.encode();return Buffer.from(O).toString("base64")}async function Q({args:J,attachedDeposit:O,contractId:R,gas:k,methodName:v,sender:K}){let a=await o(),{publicKey:on,nonce:wn}=await kf(a,K),{createTransaction:Yn,actionCreators:Dn}=await import("@near-js/transactions"),{baseDecode:Xn}=await import("@near-js/utils"),An=await a.block({finality:"final"}),On=Xn(An.header.hash),lo=[Dn.functionCall(v,Buffer.from(JSON.stringify(J)),BigInt(k),BigInt(O))];return Yn(K,on,R,wn+1,lo,On)}async function w(J){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))}async function B(J){let O=await t();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let[R,k]=await O.signTransaction(J);return k}async function W(J){return(await(await o()).sendTransaction(J)).transaction.hash}async function l(J){let O=await t();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let R=await B(J);return await W(R)}catch{return O.signAndSendTransactions?.({transactions:[J]})}}async function M(J){let O=await t();if("assetValue"in J){let k=await N();try{let v=await nn.getRPCUrl(nn.Chain.Near),K=await fetch(v,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:a}}=await K.json(),{execution:on,send_sir:wn}=a.transaction_costs.action_receipt_creation_config,{execution:Yn,send_sir:Dn}=a.transaction_costs.action_creation_config.transfer_cost,Xn=BigInt(Dn)+BigInt(Yn),An=BigInt(wn)+BigInt(on),lo=(Xn+An)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:lo})}catch(v){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",v);let K=BigInt("115123062500"),a=BigInt("108059500000"),wn=(K+a)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:wn})}}let R=O?await f():void 0;return q(J,R)}async function N(){let J=await o();try{return await J.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Z(J,O,R){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let v=await f(),{formatNearAmount:K}=await import("@near-js/utils"),{PublicKey:a}=await import("@near-js/crypto"),on=K(R)||"0";return(await v.createAccount(J,a.fromString(O),BigInt(on))).transaction.hash}async function z(J){let O=await t();try{if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:k,methodName:v,args:K,deposit:a}=J,on=await f(),wn=await q({args:K||{},contractId:k,methodName:v}),Yn=R.functionCall(v,K||{},wn.getBaseValue("bigint"),BigInt(a||"1"));return(await on.signAndSendTransaction({actions:[Yn],receiverId:k})).transaction_outcome.id}catch(R){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function X(J){let O=await f();return RT({account:O,changeMethods:J.changeMethods,contractId:J.contractId,viewMethods:J.viewMethods})}async function U(J){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");if(J.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:J.actions,receiverId:J.receiverId})).transaction.hash}async function q(J,O){let R=await jo.match(J).when(MT,()=>Jn.SIMPLE_TRANSFER).when(ZT,(v)=>OT(v.methodName)).when(JT,(v)=>DT(v.actions)).when(YT,()=>Jn.ACCOUNT_CREATION).when(NT,()=>Jn.CONTRACT_DEPLOYMENT).when(zT,(v)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return v.customEstimator(O)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(R)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function L(J,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),q(J,O)}async function Y(){let J=await o();try{return(await J.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let J=await t();return J?(await J.getPublicKey()).toString():""}return{broadcastTransaction:W,callFunction:z,createAction:w,createContract:X,createContractFunctionCall:Q,createSubAccount:Z,createTransaction:A,estimateGas:L,estimateGasLimit:q,estimateTransactionFee:M,executeBatchTransaction:U,getAddress:T,getBalance:xn(nn.Chain.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:uf,getSignerFromPrivateKey:LT,serializeTransaction:G,signAndBroadcastTransaction:l,signTransaction:B,transfer:_,validateAddress:xy}}var Y1,nn,jo;var ST=u(()=>{cn();QT();xT();Y1=require("@near-js/providers"),nn=require("@swapkit/helpers"),jo=require("ts-pattern")});var N1=u(()=>{ST()});var FT={};Ln(FT,{validateNearAddress:()=>xy,tgasToGas:()=>aA,isSimpleTransfer:()=>MT,isCustomEstimator:()=>zT,isContractDeployment:()=>NT,isContractCall:()=>ZT,isBatchTransaction:()=>JT,isAccountCreation:()=>YT,getNearToolbox:()=>eA,getNearSignerFromPrivateKey:()=>LT,getNearSignerFromPhrase:()=>uf,getFullAccessPublicKey:()=>kf,getContractMethodGas:()=>OT,gasToTGas:()=>sA,estimateBatchGas:()=>DT,createNearContract:()=>RT,GAS_COSTS:()=>Jn});module.exports=Zn(FT);var uT=u(()=>{QT();xT();ST();N1()});var kT={};Ln(kT,{validateRadixAddress:()=>O1,getRadixToolbox:()=>t5});module.exports=Zn(kT);function O1(n){return n.startsWith("account_rdx1")&&n.length===66}function n5({networkApi:n}){return async function(t){let o=await o5({address:t,networkApi:n}),f=await y5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[vn.AssetValue.from({chain:vn.Chain.Radix}),...f];return f}}async function o5({address:n,networkApi:y}){let t=!0,o,f=[],T=await f5(y);while(t){let C={address:n,at_ledger_state:{state_version:T},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else t=!1}return f}async function y5({resources:n,networkApi:y}){let t=[],o=50,f=[];for(let T=0;T<n.length;T+=50)f.push(n.slice(T,T+50));for(let T of f){let C=T.map((A)=>A.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),_=new Map;for(let A of H)if(A.details!==void 0){let G=A.metadata?.items.find((w)=>w.key==="symbol"),Q=G?.value.typed.type==="String"?G.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:Q})}for(let A of T)if(A.aggregation_level==="Global"){let G=_.get(A.resource_address)||{decimals:0,symbol:"?"},Q=vn.AssetValue.from({asset:G.symbol!==vn.Chain.Radix?`${vn.Chain.Radix}.${G.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});t.push(Q)}}return t}async function f5(n){return(await n.status.getCurrent()).ledger_state.state_version}function t5({dappConfig:n}={}){let y=n||vn.SKConfig.get("integrations").radix,t=D1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=z1.GatewayApiClient.initialize(t.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:n5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:O1}}var z1,D1,vn;var pT=u(()=>{z1=require("@radixdlt/babylon-gateway-api-sdk"),D1=require("@radixdlt/radix-dapp-toolkit"),vn=require("@swapkit/helpers")});function pf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Ry(n){if(pf(n))return n.toUpperCase();if(n.length<=3){let t=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${t}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new x1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function T5(n){if(!pf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let t=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(t)&&t.length>0)return t}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),t=y.length%2===0?y:`${y}0`,o=Buffer.from(t,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function co(n){if(pf(n))return n.toUpperCase();if(n.length<=3)return n;return Ry(n)}var x1;var If=u(()=>{x1=require("@swapkit/helpers")});async function C5(n,y){let t=co(n),o=$f.find((f)=>co(f.currency)===t&&f.issuer===y);if(o)return o;try{let f=await Pf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){Pf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function H5(n){return $f.filter((y)=>y.issuer===n)}function _5(n,y){let t=co(n);return $f.some((o)=>co(o.currency)===t&&o.issuer===y)}var Pf,$f;var R1=u(()=>{If();Pf=require("@swapkit/helpers"),$f=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var IT={};Ln(IT,{validateRippleAddress:()=>vf,parseXrplTokenIdentifier:()=>u1,normalizeCurrency:()=>co,isKnownToken:()=>_5,isHexCurrency:()=>pf,hexToCurrency:()=>T5,hashes:()=>p1.hashes,getXrplTokenInfo:()=>C5,getRippleToolbox:()=>U5,getKnownTokensByIssuer:()=>H5,formatXrplTokenIdentifier:()=>k1,currencyToHex:()=>Ry,XRPL_TOKEN_ERROR_CODES:()=>Ef,XRPL_KNOWN_TOKENS:()=>$f});module.exports=Zn(IT);function u1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!no.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function k1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function A5(n){if(n.isGasAsset)return no.xrpToDrops(n.getValue("string"));let y=u1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function F1(n){let y=no.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(t)=>Promise.resolve(y.sign(t))}}function vf(n){return no.isValidAddress(n)}function U5(n={}){let y=io.match(n).with({phrase:io.P.string},({phrase:Z})=>F1(Z)).with({signer:io.P.any},({signer:Z})=>Z).otherwise(()=>{return}),t;async function o(){let Z=await i.getRPCUrl(i.Chain.Ripple);if(!Z)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let z=new no.Client(Z);return await z.connect(),z}async function f(){if(t){let Z=await t.catch(()=>null);if(Z?.isConnected())return Z}return t=o(),t}let T=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(Z)=>{let z=Z||await T(),{baseDecimal:X}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[q,L]=await Promise.all([U.request({account:z,command:"account_info"}),U.request({account:z,command:"account_lines"})]),Y=q.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:X,value:Y})];for(let J of L.result.lines){let O=k1(J.currency,J.account);if(Number.parseFloat(J.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:J.balance}))}return D}catch(q){if(q.data?.error_code===S1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:z,error:q}})}},H=async()=>{let{baseDecimal:Z}=i.getChainConfig(i.Chain.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Z,value:U})};async function _(Z){let z=Z||await T(),X=await f();try{return(await X.request({account:z,command:"account_lines"})).result.lines.map((q)=>({account:q.account,authorized:q.authorized??!1,balance:q.balance,currency:q.currency,freeze:q.freeze??!1,freezePeer:q.freeze_peer??!1,limit:q.limit,limitPeer:q.limit_peer,noRipple:q.no_ripple??!1,noRipplePeer:q.no_ripple_peer??!1,peerAuthorized:q.peer_authorized??!1,qualityIn:q.quality_in??0,qualityOut:q.quality_out??0}))}catch(U){if(U.data?.error_code===S1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:z,error:U}})}}async function A({address:Z,currency:z,issuer:X}){let U=await _(Z),q=Ry(z);return U.some((L)=>{return Ry(L.currency)===q&&L.account===X})}async function G({currency:Z,issuer:z,limit:X,sender:U}){let q=U||await T();if(!vf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:z}});let L=Number.parseFloat(X);if(Number.isNaN(L)||L<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:X}});let Y=await f(),D={Account:q,LimitAmount:{currency:Z,issuer:z,value:X},TransactionType:"TrustSet"};return Y.autofill(D)}async function Q({assetValue:Z,recipient:z,memo:X,sender:U,destinationTag:q,extendBySeconds:L=150}){if(!vf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await T();if(Z.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:Z.toString()}});let D=A5(Z),J={Account:Y,Amount:D,Destination:z,TransactionType:"Payment",...q!==void 0&&{DestinationTag:q}};if(X)J.Memos=[{Memo:{MemoData:Buffer.from(X).toString("hex")}}];let R=await(await f()).autofill(J);if(R.LastLedgerSequence&&L>0)R.LastLedgerSequence+=Math.ceil(L/4);return R}function w(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(Z)}async function B(Z){let X=await(await f()).submitAndWait(Z),{result:U}=X;if(U.validated)return U.hash;let q=U.meta?.TransactionResult,L=io.match(q).with(Ef.tecNO_LINE,()=>"No trust line exists for this token").with(Ef.tecPATH_DRY,()=>"Payment path could not deliver funds").with(Ef.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...L?{reason:L}:{txResult:q}}})}let W=async(Z)=>{try{let z=await w(Z);return B(z.tx_blob)}catch(z){if(z instanceof i.SwapKitError)throw z;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:z}})}};async function l(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),X=await Q({...Z,sender:z}),U=await w(X);return B(U.tx_blob)}async function M(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),X=await G({...Z,sender:z}),U=await w(X);return B(U.tx_blob)}function N(){let Z=t;if(t=null,Z)Z.then((z)=>{if(z?.isConnected())return z.disconnect();return}).catch((z)=>{console.warn("XRPL Cleanup failed silently:",z)})}return{broadcastTransaction:B,createSigner:F1,createTransaction:Q,disconnect:N,estimateTransactionFee:H,getAddress:T,getBalance:C,getTrustLines:_,hasTrustLine:A,setTrustLine:G,setTrustLineAndBroadcast:M,signAndBroadcastTransaction:W,signTransaction:w,transfer:l,validateAddress:vf}}var i,io,no,p1,S1,Ef;var PT=u(()=>{If();i=require("@swapkit/helpers"),io=require("ts-pattern"),no=require("xrpl");If();R1();p1=require("xrpl"),S1={ACCOUNT_NOT_FOUND:19},Ef={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function $T(n,y){let t=0n,o=0n,f=y;while(f<n.length&&f-y<10){let T=n[f++];if(T===void 0)break;if(t|=BigInt(T&127)<<o,o+=7n,(T&128)===0)return[t,f]}throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed")}function Sy(n){let y=[],t=n<0n?n+2n**64n:n;while(t>=128n)y.push(Number(t&0x7fn)|128),t>>=7n;return y.push(Number(t)),y}function bf(n,y,t){let o=n.get(y);if(o)o.push(t);else n.set(y,[t])}function l5(n){let y=new Map,t=0;while(t<n.length){let[o,f]=$T(n,t);t=f;let T=Number(o>>3n),C=Number(o&7n);if(C===Vf){let[H,_]=$T(n,t);t=_,bf(y,T,{data:new Uint8Array(Sy(H)),wireType:Vf})}else if(C===Kf){let[H,_]=$T(n,t);t=_;let A=Number(H);if(A<0||t+A>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let G=n.slice(t,t+A);t+=A,bf(y,T,{data:G,wireType:Kf})}else if(C===I1){if(t+8>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+8);t+=8,bf(y,T,{data:H,wireType:I1})}else if(C===P1){if(t+4>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+4);t+=4,bf(y,T,{data:H,wireType:P1})}else throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function W5(n){let y=[];for(let[T,C]of[...n.entries()].sort(([H],[_])=>H-_))for(let{wireType:H,data:_}of C){let A=BigInt(T<<3|H);if(y.push(new Uint8Array(Sy(A))),H===Kf)y.push(new Uint8Array(Sy(BigInt(_.length))));y.push(_)}let t=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(t),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function E1(n,y){if(!n||n.length%2!==0)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let t=ho.hexToBytes(n),o=l5(t);if(y.expiration!==void 0)o.set(w5,[{data:new Uint8Array(Sy(BigInt(y.expiration))),wireType:Vf}]);if(y.data!==void 0)o.set(q5,[{data:ho.hexToBytes(y.data),wireType:Kf}]);if(y.fee_limit!==void 0)o.set(G5,[{data:new Uint8Array(Sy(BigInt(y.fee_limit))),wireType:Vf}]);let f=W5(o),T=ho.bytesToHex(f),C=ho.bytesToHex($1.sha256(f));return{raw_data_hex:T,txID:C}}var $1,ho,xo,Vf=0,I1=1,Kf=2,P1=5,w5=8,q5=10,G5=18;var v1=u(()=>{$1=require("@noble/hashes/sha2.js"),ho=require("@noble/hashes/utils.js"),xo=require("@swapkit/helpers")});function bn(n){if(typeof n!=="string")return!1;try{let y=jf.decode(n);return y.length===21&&y[0]===K1}catch{return!1}}function j1(n){return In.bytesToHex(jf.decode(n))}function X5(n){return jf.decode(n).slice(1)}function c1(n){let y=ET.secp256k1.getPublicKey(In.hexToBytes(n),!1),t=b1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=K1,o.set(t,1),jf.encode(o)}function i1({txID:n,privateKey:y}){let t=ET.secp256k1.sign(In.hexToBytes(n),In.hexToBytes(y),{format:"recovered",prehash:!1}),o=t[0]??0,f=In.bytesToHex(t.slice(1,33)),T=In.bytesToHex(t.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+T+C}function mo({txID:n,raw_data_hex:y}){let t=In.bytesToHex(vT.sha256(In.hexToBytes(y)));if(n!==t)throw new bT.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:t,txID:n})}function L5(n){return`000000000000000000000000${In.bytesToHex(X5(n))}`}function Q5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=B5)throw new bT.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function ro(n){return n.map(({type:y,value:t})=>y==="address"?L5(t):Q5(BigInt(t))).join("")}function h1(n){return In.bytesToHex(new TextEncoder().encode(n))}var ET,vT,b1,In,V1,bT,jf,K1=65,B5;var VT=u(()=>{ET=require("@noble/curves/secp256k1.js"),vT=require("@noble/hashes/sha2.js"),b1=require("@noble/hashes/sha3.js"),In=require("@noble/hashes/utils.js"),V1=require("@scure/base"),bT=require("@swapkit/helpers"),jf=V1.createBase58check(vT.sha256),B5=2n**256n});function r1(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return m1}}function g1(){let n=new AbortController,y=setTimeout(()=>n.abort(),Y5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function go(n,y){let{signal:t,cleanup:o}=g1();try{let f=await fetch(`${r1()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function d1(n,y){let{signal:t,cleanup:o}=g1();try{let f=await fetch(`${y??r1()}${n}`,{headers:{"Content-Type":"application/json"},signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function a1(n){if(!bn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await d1(`/v1/accounts/${n}`,m1);if(!(y.success&&y.data)||y.data.length===0)return;let t;try{t=j1(n).toLowerCase()}catch{t=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===t);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof ln.SwapKitError)throw y;throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function s1({from:n,to:y,amount:t}){let f=await go("/wallet/createtransaction",{amount:t,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==t)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return mo(f),f}async function e1({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o,feeLimit:f,callValue:T=0}){let C=await go("/wallet/triggersmartcontract",{call_value:T,contract_address:y,fee_limit:f,function_selector:t,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let _=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==y||_?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return mo(C.transaction),C.transaction}function nH({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o}){return go("/wallet/triggerconstantcontract",{contract_address:y,function_selector:t,owner_address:n,parameter:o,visible:!0})}async function Fy(n){try{let{result:y,txid:t}=await go("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!t)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return t}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function cf(){let n={};try{let{chainParameter:y}=await d1("/wallet/getchainparameters");for(let t of y)n[t.key]=t.value}catch(y){ln.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??M5,createAccountFee:n.getCreateAccountFee??Z5,energyFee:n.getEnergyFee??J5}}async function KT(n){try{let y=await go("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return ln.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jT(n){try{let y=await go("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function cT(n){try{let{energy_used:y}=await nH({...n,ownerAddress:n.sender});return y}catch(y){return ln.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function oH({assetAddress:n,owner:y,spender:t}){let o=ro([{type:"address",value:y},{type:"address",value:t}]),T=(await nH({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:t,parameter:o})).constant_result?.[0];if(!T)return 0n;try{return BigInt(`0x${T}`)}catch{return 0n}}var ln,m1="https://api.trongrid.io",M5=1000,Z5=1e5,J5=420,Y5=30000;var yH=u(()=>{VT();ln=require("@swapkit/helpers")});function _H({phrase:n,derivationPath:y}){let t=TH.HDKey.fromMasterSeed(CH.mnemonicToSeedSync(n)).derive(y);if(!t.privateKey)throw new $.SwapKitError("toolbox_tron_no_signer");return tH.bytesToHex(t.privateKey)}function AH({phrase:n,derivationPath:y,index:t}){let o=y||$.derivationPathToString($.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:t||0}));return _H({derivationPath:o,phrase:n})}function x5({phrase:n,derivationPath:y}){let t=_H({derivationPath:y,phrase:n}),o=c1(t);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{mo(f);let T=i1({privateKey:t,txID:f.txID});return Promise.resolve({...f,signature:[T]})}}}function fH({transaction:n,memo:y,expiration:t,feeLimit:o}){let f={},T={};if(o!==void 0&&n.raw_data)f.fee_limit=o,T.fee_limit=o;if(y){let _=h1(y);f.data=_,T.data=_}if(t){let _=n.raw_data.expiration+t*1000;f.expiration=_,T.expiration=_}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=E1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...T},raw_data_hex:C,txID:H}}function UH(n={}){let y="index"in n?n.index||0:0,t=$.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:y})),o,f=!1;function T(){if(f)return Promise.resolve(o);return o=ao.match(n).with({phrase:ao.P.string},({phrase:U})=>x5({derivationPath:t,phrase:U})).with({signer:ao.P.not(ao.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await T();if(!U)throw new $.SwapKitError("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let q=U||z5,L=await cf(),Y=q*L.energyFee,D=Math.ceil(Y*1.5);return Math.min(Math.max(D,1e7),150000000)}async function _({contractAddress:U,functionSelector:q,parameter:L,sender:Y,memo:D,expiration:J}){let O=await cT({contractAddress:U,functionSelector:q,parameter:L,sender:Y}),R=await H(O),k=await e1({contractAddress:U,feeLimit:R,functionSelector:q,ownerAddress:Y,parameter:L});return fH({expiration:J,feeLimit:R,memo:D,transaction:k})}async function A(U){if(!bn(U))return[$.AssetValue.from({chain:$.Chain.Tron})];try{let q=await a1(U);if(!q)return[$.AssetValue.from({chain:$.Chain.Tron})];let L=[$.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:6,value:String(q.balance)})],Y=q.trc20?.find((D)=>(iT in D));if(Y){let D=Y[iT];L.push($.AssetValue.from({asset:`TRON.USDT-${iT}`,fromBaseDecimal:6,value:D}))}return L}catch(q){return $.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${q instanceof Error?q.message:q}`}),[$.AssetValue.from({chain:$.Chain.Tron})]}}async function G({recipient:U,assetValue:q,memo:L,expiration:Y}){if(!bn(U))throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await T();if(!D)throw new $.SwapKitError("toolbox_tron_no_signer");try{let J=await C(),O=await l({assetValue:q,expiration:Y,memo:L,recipient:U,sender:J}),R=await D.signTransaction(O),k=await Fy(R);if(!k)throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(J){throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:J instanceof Error?J.message:String(J)})}}function Q({requiredBandwidth:U,resources:q,feePerUnit:L}){let Y=Math.max(0,q.free+q.total-q.used);return U>Y?(U-Y)*L:0}async function w({recipient:U,senderAddress:q}){let[L,Y,D]=await Promise.all([cf(),jT(U),KT(q)]),J=Y?0:L.createAccountFee,O=Q({feePerUnit:L.bandwidthFee,requiredBandwidth:N5,resources:D.bandwidth});return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:$.BaseDecimal.TRON,value:J+O})}async function B({assetValue:U,recipient:q,senderAddress:L}){let Y=U.address;if(!Y)throw new $.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,J,O,R]=await Promise.all([cf(),jT(q),KT(L),cT({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:ro([{type:"address",value:q},{type:"uint256",value:U.getBaseValue("string")}]),sender:L})]),k=J?0:D.createAccountFee,v=Q({feePerUnit:D.bandwidthFee,requiredBandwidth:D5,resources:O.bandwidth}),K=Math.max(0,O.energy.total-O.energy.used),a=R>K?(R-K)*D.energyFee:0;return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:$.BaseDecimal.TRON,value:k+v+a})}async function W({assetValue:U,recipient:q,sender:L}){let Y=await T();try{let D=L?L:Y?await C():void 0;if(!D)return U.isGasAsset?$.AssetValue.from({chain:$.Chain.Tron,value:0.1}):$.AssetValue.from({chain:$.Chain.Tron,value:15});return U.isGasAsset?w({recipient:q,senderAddress:D}):B({assetValue:U,recipient:q,senderAddress:D})}catch(D){throw $.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new $.SwapKitError("toolbox_fee_estimation_failed",{chain:$.Chain.Tron,error:D})}}async function l({recipient:U,assetValue:q,memo:L,sender:Y,expiration:D}){if(!bn(U)||!bn(Y))throw new $.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(q.isGasAsset){let O=await s1({amount:q.getBaseValue("number"),from:Y,to:U});return fH({expiration:D,memo:L,transaction:O})}let J=q.address;if(!J)throw new $.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});return _({contractAddress:J,expiration:D,functionSelector:"transfer(address,uint256)",memo:L,parameter:ro([{type:"address",value:U},{type:"uint256",value:q.getBaseValue("string")}]),sender:Y})}async function M(U){mo(U);let q=await T();if(!q)throw new $.SwapKitError("toolbox_tron_no_signer");return q.signTransaction(U)}async function N(U){let q=await M(U);return Fy(q)}function Z({assetAddress:U,spenderAddress:q,from:L}){return oH({assetAddress:U,owner:L,spender:q})}async function z({assetAddress:U,spenderAddress:q,from:L,amount:Y}){let D=await Z({assetAddress:U,from:L,spenderAddress:q});if(!Y)return D>0n;return D>=BigInt(Y)}async function X({assetAddress:U,spenderAddress:q,amount:L,from:Y}){if(!bn(U)||!bn(q))throw new $.SwapKitError("toolbox_tron_approve_failed");let D=await T();if(!D)throw new $.SwapKitError("toolbox_tron_no_signer");let J=Y||await C(),O=L!==void 0?BigInt(L).toString():O5;try{let R=await _({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:ro([{type:"address",value:q},{type:"uint256",value:O}]),sender:J}),k=await D.signTransaction(R),v=await Fy(k);if(!v)throw new $.SwapKitError("toolbox_tron_approve_failed");return v}catch(R){if(R instanceof $.SwapKitError)throw R;throw new $.SwapKitError("toolbox_tron_approve_failed",{error:R})}}return{approve:X,broadcastTransaction:Fy,createTransaction:l,estimateTransactionFee:W,getAddress:C,getApprovedAmount:Z,getBalance:A,getRpcUrl:()=>$.getRPCUrl($.Chain.Tron),isApproved:z,signAndBroadcastTransaction:N,signTransaction:M,transfer:G,validateAddress:bn}}var tH,TH,CH,$,ao,HH,N5=268,z5=65000,D5=345,iT="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",O5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var wH=u(()=>{v1();yH();VT();tH=require("@noble/hashes/utils.js"),TH=require("@scure/bip32"),CH=require("@scure/bip39"),$=require("@swapkit/helpers"),ao=require("ts-pattern"),HH=bn});var hT={};Ln(hT,{validateTronAddress:()=>HH,getTronToolbox:()=>UH,getTronPrivateKeyFromMnemonic:()=>AH});module.exports=Zn(hT);var mT=u(()=>{wH()});function mf(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return R5.test(n)}async function S5(n){if(!mf(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function qH(n={}){let y,t=n.derivationPath||d.NetworkDerivationPath[d.Chain.Stellar],o=d.derivationPathToString(t.slice(0,3));async function f({phrase:l,path:M}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:Z}=await import("@scure/bip39"),{Keypair:z}=await import("@stellar/stellar-sdk"),X=Z(l),q=N.fromMasterSeed(X).derive(M,!0);return z.fromRawEd25519Seed(Buffer.from(q.privateKey))}async function T(){if(y)return y;let l=hf.match(n).with({phrase:hf.P.string},({phrase:M})=>M).otherwise(()=>{return});if(!l)throw new d.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:l}),y}async function C(){let{Horizon:l}=await import("@stellar/stellar-sdk"),M=await d.getRPCUrl(d.Chain.Stellar);return new l.Server(M)}async function H(){try{return(await T()).publicKey()}catch{return""}}async function _(l){let M=l||await H();if(!M)throw new d.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(M)).balances.map((z)=>{if(z.asset_type==="native")return d.AssetValue.from({chain:d.Chain.Stellar,value:z.balance});let X="asset_code"in z?z.asset_code:"",U="asset_issuer"in z?z.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${X}-${U}`,asyncTokenLookup:!1,value:z.balance})})}catch{return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})]}}async function A({recipient:l,assetValue:M,memo:N,sender:Z}){if(N){if(new TextEncoder().encode(N).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}if(!await S5(l))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let X=Z||await H();if(!X)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:q,Networks:L,Operation:Y,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),J=await C(),O=await J.fetchBaseFee(),R=await J.loadAccount(X),k=new D(R,{fee:String(O),networkPassphrase:L.PUBLIC});if(M.isGasAsset)try{await J.loadAccount(l),k.addOperation(Y.payment({amount:M.getValue("string"),asset:U.native(),destination:l}))}catch{k.addOperation(Y.createAccount({destination:l,startingBalance:M.getValue("string")}))}else k.addOperation(Y.payment({amount:M.getValue("string"),asset:new U(M.symbol,M.address),destination:l}));if(N)k.addMemo(q.text(N));return k.setTimeout(30).build()}async function G(l){let{TransactionBuilder:M,Networks:N}=await import("@stellar/stellar-sdk"),Z=await T(),z=M.fromXDR(l.toXDR(),N.PUBLIC);return z.sign(Z),z}async function Q(l){try{let M=await C(),{hash:N}=await M.submitTransaction(l);return N}catch(M){throw new d.SwapKitError("toolbox_stellar_broadcast_error",M)}}async function w({recipient:l,assetValue:M,memo:N}){let Z=await T(),z=Z.publicKey(),X=await A({assetValue:M,memo:N,recipient:l,sender:z});X.sign(Z);try{return(await(await C()).submitTransaction(X)).hash}catch(U){if(U instanceof d.SwapKitError)throw U;throw new d.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function B(l){let M=await G(l);return Q(M)}async function W(){let{baseDecimal:l}=d.getChainConfig(d.Chain.Stellar);try{let Z=(await(await C()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:l,value:Z})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:Q,createTransaction:A,estimateTransactionFee:W,getAddress:H,getBalance:_,signAndBroadcastTransaction:B,signTransaction:G,transfer:w,validateAddress:mf}}var d,hf,R5;var GH=u(()=>{d=require("@swapkit/helpers"),hf=require("ts-pattern"),R5=/^G[A-Z2-7]{55}$/});var rf={};Ln(rf,{validateStellarAddress:()=>mf,getStellarToolbox:()=>qH});module.exports=Zn(rf);var gf=u(()=>{GH()});var k5={};Ln(k5,{getToolbox:()=>rT,getFeeEstimator:()=>u5,getAddressValidator:()=>F5});module.exports=Zn(k5);var P=require("@swapkit/helpers");async function F5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (ky(),uy)),{validateEVMAddress:t}=await Promise.resolve().then(() => (Qt(),S0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (Yt(),Jt)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Cf(),Tf)),{validateHyperCoreAddress:T}=await Promise.resolve().then(() => (ct(),jt)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (gt(),rt)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (lf(),Gf)),{validateSuiAddress:_}=await Promise.resolve().then(() => (Bf(),Wf)),{validateTonAddress:A}=await Promise.resolve().then(() => (Qf(),Lf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (XT(),BT)),{validateNearAddress:Q}=await Promise.resolve().then(() => (uT(),FT)),{validateRadixAddress:w}=await Promise.resolve().then(() => (pT(),kT)),{validateRippleAddress:B}=await Promise.resolve().then(() => (PT(),IT)),{validateTronAddress:W}=await Promise.resolve().then(() => (mT(),hT)),{validateStellarAddress:l}=await Promise.resolve().then(() => (gf(),rf));return function({address:N,chain:Z}){return n(Z).with(...P.EVMChains,()=>t(N)).with(...P.UTXOChains,(X)=>{return G(X)(N)}).with(...P.CosmosChains,(X)=>{return f(X)(N)}).with(P.Chain.Aptos,()=>y(N)).with(P.Chain.Radix,()=>w(N)).with(P.Chain.HyperCore,()=>T(N)).with(P.Chain.Near,()=>Q(N)).with(P.Chain.Ripple,()=>B(N)).with(P.Chain.Solana,()=>C(N)).with(P.Chain.Stellar,()=>l(N)).with(P.Chain.Starknet,()=>H(N)).with(P.Chain.Sui,()=>_(N)).with(P.Chain.Ton,()=>A(N)).with(P.Chain.Tron,()=>W(N)).with(P.Chain.Cardano,()=>o(N)).otherwise(()=>!1)}}function u5(n){return async function(t){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...P.EVMChains,async(f)=>{let T=await rT(f),C=await T.createTransaction(t),H="feeOptionKey"in t?t.feeOptionKey:P.FeeOption.Fast;return T.estimateTransactionFee({...C,feeOption:H})}).with(P.Chain.Bitcoin,P.Chain.BitcoinCash,P.Chain.Dogecoin,P.Chain.Dash,P.Chain.Litecoin,P.Chain.Solana,P.Chain.Ripple,P.Chain.Tron,P.Chain.Near,P.Chain.Cardano,P.Chain.HyperCore,async(f)=>{return(await rT(f)).estimateTransactionFee(t)}).with(P.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (ky(),uy));return f().estimateTransactionFee(t)}).with(P.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (lf(),Gf));return(await f()).estimateTransactionFee(t)}).with(P.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (gf(),rf));return f().estimateTransactionFee()}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Bf(),Wf));return f().estimateTransactionFee(t)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Qf(),Lf));return f().estimateTransactionFee(t)}).with(...P.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Cf(),Tf));return f(t)}).otherwise(async()=>P.AssetValue.from({chain:n}))}}async function rT(n,y){let{match:t}=await import("ts-pattern");return t(n).returnType().with(...P.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (Lt(),O0));return await o(n,y)}).with(...P.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (XT(),BT));return o(n,y)}).with(...P.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Cf(),Tf));return o(n,y)}).with(P.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (ky(),uy));return o(y)}).with(P.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (ct(),jt));return o(y)}).with(P.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (pT(),kT));return o(y)}).with(P.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (PT(),IT));return o(y)}).with(P.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (gt(),rt));return o(y)}).with(P.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (gf(),rf));return o(y)}).with(P.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (lf(),Gf));return o(y)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Bf(),Wf));return o(y)}).with(P.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (mT(),hT));return o(y)}).with(P.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (uT(),FT));return o(y)}).with(P.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (Yt(),Jt));return o(y)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Qf(),Lf));return o(y)}).otherwise(()=>{throw new P.SwapKitError("toolbox_not_supported",{chain:n})})}
1
+ var qH=Object.create;var{getPrototypeOf:GH,defineProperty:so,getOwnPropertyNames:aT,getOwnPropertyDescriptor:lH}=Object,sT=Object.prototype.hasOwnProperty;function eT(n){return this[n]}var WH,BH,n0=(n,y,t)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?WH??=new WeakMap:BH??=new WeakMap,T=f.get(n);if(T)return T}t=n!=null?qH(GH(n)):{};let C=y||!n||!n.__esModule?so(t,"default",{value:n,enumerable:!0}):t;for(let H of aT(n))if(!sT.call(C,H))so(C,H,{get:eT.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Zn=(n)=>{var y=(dT??=new WeakMap).get(n),t;if(y)return y;if(y=so({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of aT(n))if(!sT.call(y,o))so(y,o,{get:eT.bind(n,o),enumerable:!(t=lH(n,o))||t.enumerable})}return dT.set(n,y),y},dT;var XH=(n)=>n;function MH(n,y){this[n]=XH.bind(null,y)}var Mn=(n,y)=>{for(var t in y)so(n,t,{get:y[t],enumerable:!0,configurable:!0,set:MH.bind(y,t)})};var u=(n,y)=>()=>(n&&(y=n(n=0)),y);function So(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return LH.test(y)}function o0({derivationPath:n,provider:y,...t}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function T(){if(o)return o;return o=await Bo.match(t).with({phrase:Bo.P.string},async({phrase:W})=>{let{Ed25519Account:Q}=await import("@aptos-labs/ts-sdk");return Q.fromDerivationPath({mnemonic:W,path:f})}).with({signer:Bo.P.any},({signer:W})=>W).otherwise(()=>{return}),o}async function C(){let{Aptos:W,AptosConfig:Q}=await import("@aptos-labs/ts-sdk"),N=new Q({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new W(N)}async function H(){return(await T())?.accountAddress.toString()||""}async function _(W){let Q=W||await H();if(!Q)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:N,chain:Z}=V.getChainConfig(V.Chain.Aptos);try{let z=await C(),X=await z.getAccountAPTAmount({accountAddress:Q}),U=[V.AssetValue.from({chain:Z,fromBaseDecimal:N,value:X.toString()})],q=await z.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Q}}}});for(let L of q){if(L.asset_type===Wo.COIN_TYPE||Number(L.amount)<=0)continue;let Y=L.asset_type;if(Y){let J=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??N;U.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Y}`,fromBaseDecimal:J,value:String(L.amount)}))}}return U}catch{return[V.AssetValue.from({chain:Z})]}}async function A(W){if(!W){let{baseDecimal:q}=V.getChainConfig(V.Chain.Aptos),L=y||V.getRPCUrlSync(V.Chain.Aptos),Y=await fetch(`${L}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:q,value:String(D)})}let Q=await T();if(!Q)throw new V.SwapKitError("toolbox_aptos_no_signer");let N=await G(W),Z=await C(),[z]=await Z.transaction.simulate.simple({signerPublicKey:Q.publicKey,transaction:N});if(!z)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let X=BigInt(z.gas_used)*BigInt(z.gas_unit_price),{baseDecimal:U}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:U,value:X.toString()})}async function G({recipient:W,assetValue:Q,maxGasAmount:N,sender:Z}){if(!So(W))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let z=Z||await H();if(!z)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:X}=await import("@aptos-labs/ts-sdk"),U=await C(),q=X.from(z);try{let L=Q.isGasAsset?Wo.TRANSFER:Wo.FUNGIBLE_STORE_TRANSFER,Y=Bo.match({address:Q?.address,isGasAsset:Q.isGasAsset}).with({isGasAsset:!0},()=>[X.from(W),Q.getBaseValue("bigint")]).with({address:Bo.P.string},({address:D})=>[X.from(D),X.from(W),Q.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:L,functionArguments:Y,typeArguments:Q.isGasAsset?[]:[Wo.FUNGIBLE_ASSET_METADATA]},options:N?{maxGasAmount:N}:void 0,sender:q})}catch(L){if(L instanceof V.SwapKitError)throw L;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}async function M(W){let Q=await T();if(!Q)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Q,transaction:W})}async function w({assetValue:W,maxGasAmount:Q,recipient:N}){let Z=await T();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!So(N))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let z=Z.accountAddress.toString(),X=await G({assetValue:W,maxGasAmount:Q,recipient:N,sender:z});return(await(await C()).signAndSubmitTransaction({signer:Z,transaction:X})).hash}catch(z){if(z instanceof V.SwapKitError)throw z;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",z)}}async function B({senderAuthenticator:W,transaction:Q}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:W,transaction:Q})).hash}catch(N){throw new V.SwapKitError("toolbox_aptos_broadcast_error",N)}}async function l(W){let Q=await M(W);return B({senderAuthenticator:Q,transaction:W})}return{broadcastTransaction:B,createTransaction:G,estimateTransactionFee:A,getAddress:H,getBalance:_,signAndBroadcastTransaction:l,signTransaction:M,transfer:w,validateAddress:So}}function y0({provider:n}){return async function({assetValue:t,recipient:o}){if(!So(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(t.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),t.getBaseValue("string")],function:Wo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let T=t.address;if(!T)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[T,f.from(o).toString(),t.getBaseValue("string")],function:Wo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Wo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Bo,Wo,LH;var f0=u(()=>{V=require("@swapkit/helpers"),Bo=require("ts-pattern"),Wo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},LH=/^[0-9a-fA-F]+$/});var uy={};Mn(uy,{validateAptosAddress:()=>So,getAptosToolbox:()=>o0,createAptosExtensionTransfer:()=>y0});module.exports=Zn(uy);var ky=u(()=>{f0()});function T0(){function n(){let y=Date.now(),t=df||y;return df=t,y>df?y:t+1}return QH+n().toString(36)}function xn(n){return async function(t,o=!0){let f=await t0.SwapKitApi.getChainBalance({address:t,chain:n,scamFilter:o}),{baseDecimal:T}=eo.getChainConfig(n),C=f.map(({identifier:_,value:A,decimal:G})=>{return new eo.AssetValue({decimal:G||T,identifier:_,value:A})});if(!C.some((_)=>_.isGasAsset))return[eo.AssetValue.from({chain:n}),...C];return C}}var eo,t0,QH,df=0;var hn=u(()=>{eo=require("@swapkit/helpers"),t0=require("@swapkit/helpers/api"),QH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function ny(n){return{getBalance:xn(n)}}function ZH(n){return n}var Iy=u(()=>{hn()});function H0(n){return new Xo.JsonRpcProvider(n)}async function ot(n,y){return H0(y||await g.getRPCUrl(n))}function oy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function yt(n){let{explorerUrl:y,chainIdHex:t,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...JH({chain:n}),blockExplorerUrls:[y],chainId:t,rpcUrls:o}:void 0}}function ft(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function JH({chain:n}){let{name:y,nativeCurrency:t,baseDecimal:o}=g.getChainConfig(n);return nt.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:t,symbol:t}}))}async function tt(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let t={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(t)}function _0(n,y){let t=y!==void 0?`index ${y}: `:"",o=(f,T)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${t}${T}`}})};nt.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!YH(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!C0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!C0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function A0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:t})=>({name:y,type:t}))}function af(n){return n.charAt(0).toUpperCase()+n.slice(1)}function sf(n,y){if(n.isTuple()&&n.components){let t=af(n.name);return y[t]=n.components.map((o)=>({name:o.name,type:sf(o,y)})),t}if(n.isArray()){let t=n.arrayChildren;if(t?.isTuple()&&t.components){let o=af(n.name.replace(/s$/,""));return y[o]=t.components.map((f)=>({name:f.name,type:sf(f,y)})),`${o}[]`}return`${t?.type??"bytes"}[]`}return n.type}function ef(n,y){if(typeof n==="bigint")return n;if(y?.isTuple()&&typeof n?.toObject==="function"){let t=n.toObject(),o={};for(let[f,T]of(y.components??[]).entries())o[T.name]=ef(t[T.name]??n[f],T);return o}if(Array.isArray(n)){let t=y?.arrayChildren;return n.map((o)=>ef(o,t??void 0))}return n}function NH({chain:n,abi:y,data:t,to:o}){let T=new Xo.Interface(y).parseTransaction({data:t});if(!T)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=af(T.name);C[H]=T.fragment.inputs.map((w)=>({name:w.name,type:sf(w,C)}));let _={};for(let[w,B]of T.fragment.inputs.entries())_[B.name]=ef(T.args[w],B);let{chainId:A}=g.getChainConfig(n),G={chainId:Number(A),verifyingContract:Xo.getAddress(o)},M=A0(G);return{domain:G,message:_,primaryType:H,types:{EIP712Domain:M,...C}}}function Tt(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[t,o]of n.entries())if(_0(o,t),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${t}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Xo,nt,C0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),YH=(n)=>{try{return typeof n==="string"&&!!Xo.getAddress(n)}catch{return!1}};var yy=u(()=>{g=require("@swapkit/helpers"),Xo=require("ethers"),nt=require("ts-pattern")});var U0;var w0=u(()=>{U0=[{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 uo({chain:n=x.Chain.Ethereum,provider:y,signer:t,isEIP1559Compatible:o=!0}){return{approve:RH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),approvedAmount:l0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:wt({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),createApprovalTx:kH({chain:n,provider:y,signer:t}),createContract:_t({chain:n,provider:y}),createContractTxObject:Mo({chain:n,provider:y}),createTransaction:Ct({chain:n,provider:y,signer:t}),createTransferTx:Ct({chain:n,provider:y,signer:t}),EIP1193SendTransaction:Io(y),estimateCall:W0({provider:y,signer:t}),estimateGasLimit:FH({chain:n,provider:y,signer:t}),estimateGasPrices:Lo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:IH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return t?t.getAddress():void 0},getBalance:ny(n).getBalance,getNetworkParams:yt(n),isApproved:xH({chain:n,provider:y}),sendTransaction:B0({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),signAuthorization:uH({signer:t}),signMessage:t?(f)=>t.signMessage(f):void 0,signTypedData:t?({domain:f,types:T,value:C})=>t.signTypedData(f,T,C):void 0,transfer:SH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),validateAddress:ty}}function ty(n){try{return Fn.getAddress(n),!0}catch{return!1}}function ko(n){return n instanceof Fn.BrowserProvider}function Ty(n,y,t){return new Fn.Contract(n,Fn.Interface.from(y),t)}function _t({provider:n}){return function(t,o){return new Fn.Contract(t,Fn.Interface.from(o),n)}}function At({abi:n,funcName:y}){let t=n.find((o)=>o.name===y);if(!t)throw new x.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return t.stateMutability&&zH.includes(t.stateMutability)}function q0(n){return Fn.getAddress(n)}function Io(n){return function({value:t,...o}){if(!ko(n))throw new x.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:T,maxFeePerGas:C,maxPriorityFeePerGas:H,..._}=o;return n.send("eth_sendTransaction",[{..._,value:oy(BigInt(t||0))}])}}function G0(n,y){let t=po(n,y);if(t)return Fn.getAddress(t.toLowerCase());throw new x.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function po({chain:n,symbol:y,ticker:t},o){try{let f=n===x.Chain.BinanceSmartChain&&y==="BNB"&&t==="BNB",T=n===x.Chain.Hyperevm&&y==="HYPE"&&t==="HYPE",C=n===o&&y===o&&t===o,H=OH.includes(n)&&y==="ETH"&&t==="ETH";if(C||f||T||H)return Ut[o];return Fn.getAddress(y.slice(t.length+1).replace(/^0X/,""))}catch{return null}}function Mo({provider:n}){return async({contractAddress:y,abi:t,funcName:o,funcParams:f=[],txOverrides:T})=>Ty(y,t,n).getFunction(o).populateTransaction(...f.concat(T).filter((C)=>typeof C<"u"))}function Lo({chain:n,provider:y,isEIP1559Compatible:t=!0}){return Ht.match(n).with(x.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:T}=await y.getFeeData();if(!f||T===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Average),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Average)},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(x.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new x.SwapKitError("toolbox_evm_no_fee_data");let T=f*12n/10n;return{[x.FeeOption.Average]:{gasPrice:T},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:T,gasPrice:C}=await y.getFeeData();if(t){if(f===null||T===null)throw new x.SwapKitError("toolbox_evm_no_fee_data");return{[x.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:T},[x.FeeOption.Fast]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fast),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{maxFeePerGas:x.applyFeeMultiplierToBigInt(f,x.FeeOption.Fastest),maxPriorityFeePerGas:x.applyFeeMultiplierToBigInt(T,x.FeeOption.Fastest)}}}if(!C)throw new x.SwapKitError("toolbox_evm_no_gas_price");return{[x.FeeOption.Average]:{gasPrice:C},[x.FeeOption.Fast]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fast)},[x.FeeOption.Fastest]:{gasPrice:x.applyFeeMultiplierToBigInt(C,x.FeeOption.Fastest)}}}catch(f){throw new x.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function wt({provider:n,isEIP1559Compatible:y,signer:t,chain:o}){return async function({callProvider:T,contractAddress:C,abi:H,funcName:_,funcParams:A=[],txOverrides:G={},feeOption:M=x.FeeOption.Fast}){let w=T||n;if(!C)throw new x.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=At({abi:H,funcName:_});if(B&&ko(w)&&t){let Q=Mo({chain:o,provider:w}),N=G?.from||await t?.getAddress(),Z=await Q({abi:H,contractAddress:C,funcName:_,funcParams:A,txOverrides:{...G,from:N}});return Io(w)(Z)}let l=Ty(C,H,w);if(B){if(!t)throw new x.SwapKitError("toolbox_evm_no_signer");let Q=G?.from||await t.getAddress();if(!Q)throw new x.SwapKitError("toolbox_evm_no_signer_address");let N=l.connect(t),Z=Lo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:z,maxPriorityFeePerGas:X,gasPrice:U}=(await Z())[M],q=await l.getFunction(_).estimateGas(...A,G),L=await N[_](...A,{...G,gasLimit:q,gasPrice:U,maxFeePerGas:z,maxPriorityFeePerGas:X,nonce:G?.nonce||await w.getTransactionCount(Q)});return typeof L?.hash==="string"?L?.hash:L}let W=await l[_]?.(...A);return typeof W?.hash==="string"?W?.hash:W}}function l0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:T}){return wt({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Fo.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[T,f]})}}function xH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:T,amount:C=fy}){let H=await l0({chain:y,provider:n})({assetAddress:o,from:T,spenderAddress:f});return x.SwapKitNumber.fromBigInt(H).gte(x.SwapKitNumber.fromBigInt(BigInt(C)))}}function RH({signer:n,isEIP1559Compatible:y=!0,provider:t,chain:o}){return async function({assetAddress:T,spenderAddress:C,feeOptionKey:H=x.FeeOption.Fast,amount:_,gasLimitFallback:A,from:G,nonce:M}){let w=[C,BigInt(_||fy)],B=await n?.getAddress()||G,l={abi:Fo.erc20ABI,contractAddress:T,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:B}};if(ko(t)){let Q=Mo({chain:o,provider:t}),N=Io(t),Z=await Q(l);return N(Z)}return wt({chain:o,isEIP1559Compatible:y,provider:t,signer:n})({...l,feeOption:H,funcParams:w,txOverrides:{from:B,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function SH({signer:n,isEIP1559Compatible:y=!0,provider:t}){return async function({assetValue:f,memo:T,recipient:C,feeOptionKey:H=x.FeeOption.Fast,sender:_,...A}){let{hexlify:G,toUtf8Bytes:M}=await import("ethers"),w=f.getBaseValue("bigint"),B=f.chain,l=_||await n?.getAddress(),W=B0({chain:B,isEIP1559Compatible:y,provider:t,signer:n});if(!l)throw new x.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={...A,data:G(M(T||"")),feeOptionKey:H,from:l,to:C,value:w};return W(U)}if(!po(f,B))throw new x.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:N,maxPriorityFeePerGas:Z,gasPrice:z}=(await Lo({chain:B,isEIP1559Compatible:y,provider:t})())[H],X=await Ct({chain:B,provider:t,signer:n})({assetValue:f,data:G(M(T||"")),gasPrice:z,maxFeePerGas:N,maxPriorityFeePerGas:Z,memo:T,recipient:C,sender:l});return W(X)}}function W0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:T,funcParams:C=[],txOverrides:H}){if(!o)throw new x.SwapKitError("toolbox_evm_no_contract_address");let _=Ty(o,f,n);return y?_.connect(y).getFunction(T).estimateGas(...C,H):_.getFunction(T).estimateGas(...C,H)}}function FH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:T,data:C,sender:H,funcName:_,funcParams:A,txOverrides:G}){let M=o.bigIntValue,w=o.isGasAsset?null:po(o,o.chain);if(w&&_)return W0({provider:n,signer:y})({abi:Fo.erc20ABI,contractAddress:w,funcName:_,funcParams:A,txOverrides:G});let{hexlify:B,toUtf8Bytes:l}=await import("ethers");return n.estimateGas({data:C?C:T?B(l(T)):void 0,from:H,to:f,value:M})}}function uH({signer:n}){if(!n)return;return(y)=>tt(n,y)}function B0({provider:n,signer:y,isEIP1559Compatible:t=!0,chain:o}){return async function({feeOptionKey:T=x.FeeOption.Fast,...C}){let{from:H,to:_,data:A,value:G,...M}=C;if(!y)throw new x.SwapKitError("toolbox_evm_no_signer");if(!_)throw new x.SwapKitError("toolbox_evm_no_to_address");let w={...M,data:A||"0x",from:H,to:_,value:BigInt(G||0)};if(ko(n))return Io(n)(w);let B=H||await y.getAddress(),l=C.nonce||await n.getTransactionCount(B),W=(await n.getNetwork()).chainId,Q=Gt(w,t);if(Q==="eip7702")Tt(w.authorizations||[],W);let N=Ht.match(Q).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),Z={...w,chainId:W,nonce:l,type:N,...Q==="eip7702"&&{authorizationList:w.authorizations}},z=Lo({chain:o,isEIP1559Compatible:t,provider:n}),U=Q!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await z())[T]).reduce((L,[Y,D])=>({...L,[Y]:oy(BigInt(D))}),{}):{},q;try{q=oy(w.gasLimit||await n.estimateGas(Z)*11n/10n)}catch(L){throw new x.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:L})}try{let L={...Z,gasLimit:q,...U};try{return(await y.sendTransaction(L)).hash}catch{let Y=await y.signTransaction({...L,from:B});return(await n.broadcastTransaction(Y)).hash}}catch(L){throw new x.SwapKitError("toolbox_evm_error_sending_transaction",{error:L})}}}function Ct({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:T,data:C,sender:H,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:G,...M}){let w=o.getBaseValue("bigint"),B=o.chain,l=H||await y?.getAddress();if(!l)throw new x.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset(o)){let{hexlify:N,toUtf8Bytes:Z}=await import("ethers");return{...M,data:C||N(Z(f||"")),from:l,to:T,value:w}}let W=po(o,B);if(!W)throw new x.SwapKitError("toolbox_evm_no_contract_address");return Mo({chain:o.chain,provider:n})({abi:Fo.erc20ABI,contractAddress:W,funcName:"transfer",funcParams:[T,w],txOverrides:{from:l,gasPrice:G,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function kH({provider:n,signer:y,chain:t}){return async function({assetAddress:f,spenderAddress:T,amount:C,from:H}){let _=await y?.getAddress()||H,A=Mo({chain:t,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||fy;return await A({abi:Fo.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[T,BigInt(G)],txOverrides:{from:_}})}}function IH({provider:n,isEIP1559Compatible:y=!0,chain:t}){return async function({feeOption:f=x.FeeOption.Fast,...T}){let H=await Lo({chain:t,isEIP1559Compatible:y,provider:n})(),_=await n.estimateGas(T),A=x.AssetValue.from({chain:t}),{gasPrice:G,maxFeePerGas:M,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return A.set(x.SwapKitNumber.fromBigInt(G*_,A.decimal));if(M&&w){let B=(M+w)*_;return A.set(x.SwapKitNumber.fromBigInt(B,A.decimal))}throw new x.SwapKitError("toolbox_evm_no_gas_price")}}var x,Fo,Fn,Ht,fy,zH,DH,Ut,OH,py=(n)=>n.type===4||(n.authorizations?.length??0)>0,qt=(n)=>!py(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),Gt=(n,y=!0)=>{if(py(n))return"eip7702";if(qt(n)||y)return"eip1559";return"legacy"};var Py=u(()=>{Iy();yy();x=require("@swapkit/helpers"),Fo=require("@swapkit/helpers/contracts"),Fn=require("ethers"),Ht=require("ts-pattern"),fy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");zH=["payable","nonpayable"];DH=x.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),Ut={...DH,[x.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[x.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},OH=[x.Chain.Arbitrum,x.Chain.Aurora,x.Chain.Base,x.Chain.Optimism]});function $y(n){let y=qn(Tn.Chain.Ethereum)(n);async function t(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",T="aggregate",C=Tn.FeeOption.Fast){let H=await y.createContractTxObject({abi:U0,contractAddress:f,funcName:T,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:t}}function qn(n){return function({provider:t,...o}){let f=ft(n),T=Cy.match(o).with({phrase:Cy.P.string},({phrase:H})=>X0.HDNodeWallet.fromPhrase(H).connect(t)).with({signer:Cy.P.any},({signer:H})=>H).otherwise(()=>{return});return uo({chain:n,isEIP1559Compatible:f,provider:t,signer:T})}}var Tn,X0,Cy,Ey,vy,by,Vy,Ky,jy,cy,M0,iy,hy,my,ry,gy,dy,Hy,ay,sy,ey,nf;var lt=u(()=>{w0();yy();Py();Tn=require("@swapkit/helpers"),X0=require("ethers"),Cy=require("ts-pattern");Ey=qn(Tn.Chain.Adi),vy=qn(Tn.Chain.Arbitrum),by=qn(Tn.Chain.Aurora),Vy=qn(Tn.Chain.Avalanche),Ky=qn(Tn.Chain.Base),jy=qn(Tn.Chain.Berachain),cy=qn(Tn.Chain.BinanceSmartChain),M0=qn(Tn.Chain.Botanix),iy=qn(Tn.Chain.Core),hy=qn(Tn.Chain.Corn),my=qn(Tn.Chain.Cronos),ry=qn(Tn.Chain.Gnosis),gy=qn(Tn.Chain.Hyperevm),dy=qn(Tn.Chain.Polygon),Hy=qn(Tn.Chain.Sonic),ay=qn(Tn.Chain.Unichain),sy=qn(Tn.Chain.XLayer),ey=qn(Tn.Chain.Monad),nf=qn(Tn.Chain.MegaETH)});var L0;var Q0=u(()=>{L0=[{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 Wt(n){return new of.Contract(PH,L0,n)}function Z0(n){return async function(){let t=Wt(n);if(t&&"l1BaseFee"in t)return await t?.l1BaseFee();return}}function J0(n){return async function({from:t,to:o,nonce:f,...T}){let{Transaction:C}=await import("ethers");if(!o)throw new Cn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...T,authorizationList:T.authorizationList,nonce:f?f:t?await n.getTransactionCount(t):0,to:o}).serialized}}function Y0(n){return async function(t){let o=Wt(n),f=await J0(n)(t);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function N0(n){return async function(t){let f=(await n.getFeeData()).gasPrice??0n,T=await n.estimateGas(t);return f*T}}function $H(n){return async function(t){let o=await Y0(n)(t)??0n,f=await N0(n)(t);return o+f}}function EH(n){return async function(t){let o=Wt(n),f=await J0(n)(t);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function vH(n){return async function(){try{let{maxFeePerGas:t,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),T=await Z0(n)(),C=f;if(!(t&&o))throw new Cn.SwapKitError("toolbox_evm_no_fee_data");return{[Cn.FeeOption.Average]:{gasPrice:C,l1GasPrice:T,maxFeePerGas:t,maxPriorityFeePerGas:o},[Cn.FeeOption.Fast]:{gasPrice:Cn.applyFeeMultiplierToBigInt(C,Cn.FeeOption.Fast),l1GasPrice:Cn.applyFeeMultiplierToBigInt(T||0n,Cn.FeeOption.Fast),maxFeePerGas:t,maxPriorityFeePerGas:Cn.applyFeeMultiplierToBigInt(o,Cn.FeeOption.Fast)},[Cn.FeeOption.Fastest]:{gasPrice:Cn.applyFeeMultiplierToBigInt(C,Cn.FeeOption.Fastest),l1GasPrice:Cn.applyFeeMultiplierToBigInt(T||0n,Cn.FeeOption.Fastest),maxFeePerGas:t,maxPriorityFeePerGas:Cn.applyFeeMultiplierToBigInt(o,Cn.FeeOption.Fastest)}}}catch(t){throw new Cn.SwapKitError("toolbox_evm_gas_estimation_error",{error:t.msg??t.toString()})}}}function yf({provider:n,...y}){let t=_y.match(y).with({phrase:_y.P.string},({phrase:T})=>of.HDNodeWallet.fromPhrase(T).connect(n)).with({signer:_y.P.any},({signer:T})=>T).otherwise(()=>{return}),o=uo({provider:n,signer:t}),f=Z0(n);return{...o,estimateGasPrices:vH(n),estimateL1Gas:EH(n),estimateL1GasCost:Y0(n),estimateL2GasCost:N0(n),estimateTotalGasCost:$H(n),getBalance:ny(Cn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Cn,of,_y,PH="0x420000000000000000000000000000000000000f";var Bt=u(()=>{Iy();Q0();Py();Cn=require("@swapkit/helpers"),of=require("ethers"),_y=require("ts-pattern")});var O0={};Mn(O0,{validateEVMAddress:()=>ty,toChecksumAddress:()=>q0,isStateChangingCall:()=>At,isEIP7702Transaction:()=>py,isEIP1559Transaction:()=>qt,isBrowserProvider:()=>ko,getTokenAddress:()=>po,getEvmToolboxAsync:()=>D0,getEvmToolbox:()=>Xt,getEstimateGasPrices:()=>Lo,getEVMTxType:()=>Gt,getEIP1193SendTransaction:()=>Io,getCreateContractTxObject:()=>Mo,getCreateContract:()=>_t,getChecksumAddressFromAsset:()=>G0,createContract:()=>Ty,XLayerToolbox:()=>sy,UNIToolbox:()=>ay,SONICToolbox:()=>Hy,OPToolbox:()=>yf,MONADToolbox:()=>ey,MEGAETHToolbox:()=>nf,MAX_APPROVAL:()=>fy,MATICToolbox:()=>dy,HYPEREVMToolbox:()=>gy,GNOToolbox:()=>ry,ETHToolbox:()=>$y,ContractAddress:()=>Ut,CROToolbox:()=>my,CORNToolbox:()=>hy,COREToolbox:()=>iy,BotanixToolbox:()=>M0,BaseEVMToolbox:()=>uo,BSCToolbox:()=>cy,BERAToolbox:()=>jy,BASEToolbox:()=>Ky,AVAXToolbox:()=>Vy,AURORAToolbox:()=>by,ARBToolbox:()=>vy,ADIToolbox:()=>Ey});function Xt(n,y){return z0.match(n).with(Un.Chain.Adi,()=>Ey(y)).with(Un.Chain.Arbitrum,()=>vy(y)).with(Un.Chain.Aurora,()=>by(y)).with(Un.Chain.Avalanche,()=>Vy(y)).with(Un.Chain.Base,()=>Ky(y)).with(Un.Chain.Berachain,()=>jy(y)).with(Un.Chain.BinanceSmartChain,()=>cy(y)).with(Un.Chain.Botanix,()=>Hy(y)).with(Un.Chain.Core,()=>iy(y)).with(Un.Chain.Corn,()=>hy(y)).with(Un.Chain.Cronos,()=>my(y)).with(Un.Chain.Ethereum,()=>$y(y)).with(Un.Chain.Gnosis,()=>ry(y)).with(Un.Chain.Hyperevm,()=>gy(y)).with(Un.Chain.Optimism,()=>yf(y)).with(Un.Chain.Polygon,()=>dy(y)).with(Un.Chain.Sonic,()=>Hy(y)).with(Un.Chain.Unichain,()=>ay(y)).with(Un.Chain.XLayer,()=>sy(y)).with(Un.Chain.Monad,()=>ey(y)).with(Un.Chain.MegaETH,()=>nf(y)).exhaustive()}async function D0(n,y){let t={...y,provider:y?.provider||await ot(n)};return Xt(n,t)}var Un,z0;var Mt=u(()=>{yy();lt();Bt();Un=require("@swapkit/helpers"),z0=require("ts-pattern");Py();lt();Bt()});var x0;var R0=u(()=>{((t)=>{t.Test="goerli";t.Main="homestead"})(x0||={})});var S0={};Mn(S0,{validateEVMAddress:()=>ty,validateAuthorizations:()=>Tt,validateAuthorization:()=>_0,toHexString:()=>oy,toChecksumAddress:()=>q0,signAuthorization:()=>tt,parseEIP712FromEVMTx:()=>NH,isStateChangingCall:()=>At,isEIP7702Transaction:()=>py,isEIP1559Transaction:()=>qt,isBrowserProvider:()=>ko,getTokenAddress:()=>po,getProviderSync:()=>H0,getProvider:()=>ot,getNetworkParams:()=>yt,getIsEIP1559Compatible:()=>ft,getEvmToolboxAsync:()=>D0,getEvmToolbox:()=>Xt,getEvmApi:()=>ny,getEstimateGasPrices:()=>Lo,getEVMTxType:()=>Gt,getEIP1193SendTransaction:()=>Io,getCreateContractTxObject:()=>Mo,getCreateContract:()=>_t,getChecksumAddressFromAsset:()=>G0,createCustomEvmApi:()=>ZH,createContract:()=>Ty,buildEIP712DomainType:()=>A0,XLayerToolbox:()=>sy,UNIToolbox:()=>ay,SONICToolbox:()=>Hy,OPToolbox:()=>yf,MONADToolbox:()=>ey,MEGAETHToolbox:()=>nf,MAX_APPROVAL:()=>fy,MATICToolbox:()=>dy,HYPEREVMToolbox:()=>gy,GNOToolbox:()=>ry,EthNetwork:()=>x0,ETHToolbox:()=>$y,ContractAddress:()=>Ut,CROToolbox:()=>my,CORNToolbox:()=>hy,COREToolbox:()=>iy,BotanixToolbox:()=>M0,BaseEVMToolbox:()=>uo,BSCToolbox:()=>cy,BERAToolbox:()=>jy,BASEToolbox:()=>Ky,AVAXToolbox:()=>Vy,AURORAToolbox:()=>by,ARBToolbox:()=>vy,ADIToolbox:()=>Ey});module.exports=Zn(S0);var Lt=u(()=>{Iy();yy();Mt();R0()});async function Zt(n,y){let t=await fetch(`${$0}${n}`,{...y,headers:{project_id:P0,...y?.headers}});if(!t.ok)throw Error(`Blockfrost API error: ${t.status} ${t.statusText}`);return t.json()}async function E0(n){try{return await Zt(`/addresses/${n}/utxos`)}catch{return[]}}async function VH(){return(await Zt("/blocks/latest")).slot}async function KH(){let n=await Zt("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Rn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Rn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Rn.default(n.min_fee_a),minFeeB:new Rn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Rn.default(15),priceMem:new Rn.default(n.price_mem),priceSteps:new Rn.default(n.price_step),stakeKeyDeposit:new Rn.default(2000000),utxoCostPerByte:new Rn.default(n.coins_per_utxo_size)}}async function u0(n){let y=await fetch(`${$0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:P0},method:"POST"});if(!y.ok){let t=await y.text();throw Error(`Transaction submission failed: ${t}`)}return y.json()}function jH(n,y){return n.map((t)=>{let o=t.amount.find((C)=>C.unit==="lovelace"),f=o?new Rn.default(o.quantity):new Rn.default(0),T=t.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Rn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:t.output_index,tokens:T,txId:t.tx_hash}})}async function cH(n){try{let y=await E0(n),t=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:_,quantity:A}=H;if(_==="lovelace")t+=BigInt(A);else{let G=o.get(_)||0n;o.set(_,G+BigInt(A))}}}let f=[],{baseDecimal:T}=Hn.getChainConfig(Hn.Chain.Cardano);if(t>0n)f.push(Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:T,value:t.toString()}));for(let[C,H]of o)f.push(Hn.AssetValue.from({asset:`${Hn.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[Hn.AssetValue.from({chain:Hn.Chain.Cardano})];return f}catch(y){let t=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${t}`),[Hn.AssetValue.from({chain:Hn.Chain.Cardano})]}}function v0(n){if(!n||typeof n!=="string")return!1;try{let y=k0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function iH(n,y=0,t=0){let o=await I0.mnemonicToSeed(n,""),T=(await p0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(Qt+1852).derive(Qt+1815).derive(Qt+y),C=T.derive(0).derive(t),H=C.toBip32PublicKey().toPublicKey().toBytes(),_=Nn.crypto.hash28(H),G=T.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(G),w={hash:_,type:Nn.types.HashType.ADDRESS},B={hash:M,type:Nn.types.HashType.ADDRESS},W=new Nn.address.BaseAddress(bH,w,B).getBech32(),Q=C.toPrivateKey();return{getAddress:()=>W,publicKey:H,publicKeyHash:_,signTransaction:async(N)=>{try{let Z=await import("@stricahq/cbors"),z=Buffer.from(N,"hex"),X=Z.Decoder.decode(z),[U,q,L,Y]=X.value,D=Z.Encoder.encode(U),J=Nn.crypto.hash32(D),O=Q.sign(J),R=q instanceof Map?q:new Map,k=R.get(F0)||[];k.push([H,O]),R.set(F0,k);let v=[U,R,L,Y];return Z.Encoder.encode(v).toString("hex")}catch(Z){throw new Hn.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(Z)})}}}}function hH(n){let y,t,o;async function f(){if(!o)o=await KH();return o}async function T(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let B=n.index??0;return y=await iH(n.phrase,0,B),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(t)return t;let B=await T();if(!B)return"";if("getAddress"in B)return t=await B.getAddress(),t;return""}async function H(B){let l=B||await C();if(!l)throw new Hn.SwapKitError("core_wallet_connection_not_found");return cH(l)}async function _(B){if(B)try{let{tx:N}=await A(B),Z=N.getFee();return Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:6,value:Z.toString()})}catch{}let l=await f(),W=400,Q=l.minFeeB.plus(l.minFeeA.times(W));return Hn.AssetValue.from({chain:Hn.Chain.Cardano,fromBaseDecimal:6,value:Q.toString()})}async function A({sender:B="",recipient:l,assetValue:W,memo:Q,pureLovelaceOnly:N=!1}){let Z=B||await C();if(!Z)throw new Hn.SwapKitError("core_wallet_connection_not_found");let[z,X,U]=await Promise.all([E0(Z),VH(),f()]),q=z.filter((on)=>N?on.amount.every((wn)=>wn.unit==="lovelace"):on.amount.some((wn)=>wn.unit==="lovelace")).sort((on,wn)=>{let Yn=on.amount.some((Xn)=>Xn.unit!=="lovelace"),Dn=wn.amount.some((Xn)=>Xn.unit!=="lovelace");if(Yn===Dn)return 0;return Yn?1:-1}),L=Nn.utils.getAddressFromString(Z),Y=Nn.utils.getAddressFromString(l),D=jH(q,L),J=new Rn.default(W.getBaseValue("string")),O=[{address:Y,amount:J,tokens:[]}],R;if(Q){let on=new Map;on.set("msg",[Q]),R={metadata:[{data:on,label:674}]}}let k={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},K=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:R,changeAddress:L,inputs:D,outputs:O,ttl:X+3600}),{payload:s}=K.buildTransaction();return{tx:K,unsignedTx:s}}async function G(B){let l=await T();if(!l||!("signTransaction"in l))throw new Hn.SwapKitError("core_wallet_connection_not_found");return l.signTransaction(B)}async function M({recipient:B,assetValue:l,memo:W}){let Q=await T();if(!Q||!("signTransaction"in Q))throw new Hn.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await A({assetValue:l,memo:W,recipient:B,sender:await C()}),Z=await G(N);return await u0(Z)}async function w(B){let l=await G(B);return await u0(l)}return{createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:M,validateAddress:v0}}var k0,I0,p0,Nn,Hn,Rn,P0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",$0="https://cardano-mainnet.blockfrost.io/api/v0",bH,Qt=2147483648,F0=0;var b0=u(()=>{k0=require("@scure/base"),I0=require("@scure/bip39"),p0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),Hn=require("@swapkit/helpers"),Rn=n0(require("bignumber.js")),bH=Nn.types.NetworkId.MAINNET});var Jt={};Mn(Jt,{validateCardanoAddress:()=>v0,getCardanoToolbox:()=>hH});module.exports=Zn(Jt);var Yt=u(()=>{b0()});function Ay(n){return Vn.base64.encode(Uint8Array.from(Vn.bech32.fromWords(Vn.bech32.decode(n).words)))}function Uy(n,y="thor"){return Vn.bech32.encode(y,Vn.bech32.toWords(Vn.base64.decode(n)))}function mH(n){return Vn.base64.encode(n)}function rH(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new V0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Vn.base64.decode(n)}var Vn,V0;var Nt=u(()=>{Vn=require("@scure/base"),V0=require("@swapkit/helpers")});function mn(n){switch(n){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return c0;case E.Chain.Noble:return i0;default:return j0}}async function rn(n){let y=await import("@cosmjs/stargate"),t=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return t.connect({headers:o,url:n})}async function Qo(n,y,t={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,T=o.GasPrice??o.default?.GasPrice,C=typeof t==="string"?t:"0.0003uatom",H=typeof t==="string"?{}:t;return f.connectWithSigner(n,y,{gasPrice:T.fromString(C),...H})}async function Dt(n,y){let t=await import("@cosmjs/stargate");return(t.SigningStargateClient??t.default?.SigningStargateClient).offline(n,y)}async function Ot({sender:n,recipient:y,assetValue:t,memo:o="",feeRate:f,sequence:T,accountNumber:C}){let{chain:H,chainId:_}=t,A=await E.getRPCUrl(H),M=await(await rn(A)).getAccount(n);if(!M)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let w=E.AssetValue.from({chain:H}),B=oo(w.symbol),l=mn(H),W=B&&f?{amount:[{amount:f.toString(),denom:B}],gas:l.gas}:l,Q={amount:[{amount:t.getBaseValue("string"),denom:oo(t.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:_,fee:W,memo:o,msgs:[{typeUrl:gH(H),value:Q}],sequence:T??M.sequence}}var E,zt="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",K0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",j0,c0,i0,oo=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return zt;case"uYUM":case"YUM":return K0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},wy=({symbol:n,chain:y})=>{if(y===E.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${E.Chain.Maya}.${n}`).toUpperCase();if(y===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${E.Chain.THORChain}.${n}`:n).toUpperCase();return oo(n,!1)},gH=(n)=>{switch(n){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},dH,xt=(n,y)=>{let t=dH[n.toLowerCase()];if(!t)return E.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:T}=t,C=o?{chain:o}:{asset:f};return E.AssetValue.from({...C,fromBaseDecimal:T,value:y})};var qy=u(()=>{E=require("@swapkit/helpers"),j0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},c0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},i0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};dH={atom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},uatom:{chain:E.Chain.Cosmos,decimals:E.getChainConfig(E.Chain.Cosmos).baseDecimal},ukuji:{chain:E.Chain.Kujira,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal},usdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},uusdc:{chain:E.Chain.Noble,decimals:E.getChainConfig(E.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:E.getChainConfig(E.Chain.THORChain).baseDecimal},[zt.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.getChainConfig(E.Chain.Kujira).baseDecimal}}});var h0={};Mn(h0,{$root:()=>F});var Ln,b,In,p,F;var m0=u(()=>{Ln=n0(require("protobufjs/minimal.js")),b=Ln.default.Reader,In=Ln.default.Writer,p=Ln.default.util,F=Ln.default.roots.default||(Ln.default.roots.default={});F.common=(()=>{let n={};return n.Asset=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.chain="",y.prototype.symbol="",y.prototype.ticker="",y.prototype.synth=!1,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(10).string(o.chain);if(o.symbol!=null&&Object.hasOwnProperty.call(o,"symbol"))f.uint32(18).string(o.symbol);if(o.ticker!=null&&Object.hasOwnProperty.call(o,"ticker"))f.uint32(26).string(o.ticker);if(o.synth!=null&&Object.hasOwnProperty.call(o,"synth"))f.uint32(32).bool(o.synth);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Asset;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.chain=o.string();break;case 2:C.symbol=o.string();break;case 3:C.ticker=o.string();break;case 4:C.synth=o.bool();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.chain!=null&&o.hasOwnProperty("chain")){if(!p.isString(o.chain))return"chain: string expected"}if(o.symbol!=null&&o.hasOwnProperty("symbol")){if(!p.isString(o.symbol))return"symbol: string expected"}if(o.ticker!=null&&o.hasOwnProperty("ticker")){if(!p.isString(o.ticker))return"ticker: string expected"}if(o.synth!=null&&o.hasOwnProperty("synth")){if(typeof o.synth!=="boolean")return"synth: boolean expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Asset)return o;let f=new F.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))T.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))T.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))T.synth=o.synth;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=p.Long?p.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))F.common.Asset.encode(o.asset,f.uint32(10).fork()).ldelim();if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))f.uint32(18).string(o.amount);if(o.decimals!=null&&Object.hasOwnProperty.call(o,"decimals"))f.uint32(24).int64(o.decimals);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Coin;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.asset=F.common.Asset.decode(o,o.uint32());break;case 2:C.amount=o.string();break;case 3:C.decimals=o.int64();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.asset!=null&&o.hasOwnProperty("asset")){let f=F.common.Asset.verify(o.asset);if(f)return"asset."+f}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!p.isString(o.amount))return"amount: string expected"}if(o.decimals!=null&&o.hasOwnProperty("decimals")){if(!p.isInteger(o.decimals)&&!(o.decimals&&p.isInteger(o.decimals.low)&&p.isInteger(o.decimals.high)))return"decimals: integer|Long expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Coin)return o;let f=new F.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=F.common.Asset.fromObject(o.asset)}if(o.amount!=null)f.amount=String(o.amount);if(o.decimals!=null){if(p.Long)(f.decimals=p.Long.fromValue(o.decimals)).unsigned=!1;else if(typeof o.decimals==="string")f.decimals=Number.parseInt(o.decimals,10);else if(typeof o.decimals==="number")f.decimals=o.decimals;else if(typeof o.decimals==="object")f.decimals=new p.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber()}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)if(T.asset=null,T.amount="",p.Long){let C=new p.Long(0,0,!1);T.decimals=f.longs===String?C.toString():f.longs===Number?C.toNumber():C}else T.decimals=f.longs===String?"0":0;if(o.asset!=null&&o.hasOwnProperty("asset"))T.asset=F.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))T.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")T.decimals=f.longs===String?String(o.decimals):o.decimals;else T.decimals=f.longs===String?p.Long.prototype.toString.call(o.decimals):f.longs===Number?new p.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.PubKeySet;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.secp256k1=o.string();break;case 2:C.ed25519=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1")){if(!p.isString(o.secp256k1))return"secp256k1: string expected"}if(o.ed25519!=null&&o.hasOwnProperty("ed25519")){if(!p.isString(o.ed25519))return"ed25519: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.PubKeySet)return o;let f=new F.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.secp256k1="",T.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))T.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))T.ed25519=o.ed25519;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(t){if(this.coins=[],this.gas=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=p.emptyArray,y.prototype.gas=p.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let T=0;T<o.gas.length;++T)F.common.Coin.encode(o.gas[T],f.uint32(50).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(58).string(o.memo);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Tx;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.id=o.string();break;case 2:C.chain=o.string();break;case 3:C.fromAddress=o.string();break;case 4:C.toAddress=o.string();break;case 5:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(F.common.Coin.decode(o,o.uint32()));break;case 7:C.memo=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.id!=null&&o.hasOwnProperty("id")){if(!p.isString(o.id))return"id: string expected"}if(o.chain!=null&&o.hasOwnProperty("chain")){if(!p.isString(o.chain))return"chain: string expected"}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!p.isString(o.fromAddress))return"fromAddress: string expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!p.isString(o.toAddress))return"toAddress: string expected"}if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.gas!=null&&o.hasOwnProperty("gas")){if(!Array.isArray(o.gas))return"gas: array expected";for(let f=0;f<o.gas.length;++f){let T=F.common.Coin.verify(o.gas[f]);if(T)return"gas."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!p.isString(o.memo))return"memo: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Tx)return o;let f=new F.common.Tx;if(o.id!=null)f.id=String(o.id);if(o.chain!=null)f.chain=String(o.chain);if(o.fromAddress!=null)f.fromAddress=String(o.fromAddress);if(o.toAddress!=null)f.toAddress=String(o.toAddress);if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Tx.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.gas){if(!Array.isArray(o.gas))throw TypeError(".common.Tx.gas: array expected");f.gas=[];for(let T=0;T<o.gas.length;++T){if(typeof o.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");f.gas[T]=F.common.Coin.fromObject(o.gas[T])}}if(o.memo!=null)f.memo=String(o.memo);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[],T.gas=[];if(f.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(o.id!=null&&o.hasOwnProperty("id"))T.id=o.id;if(o.chain!=null&&o.hasOwnProperty("chain"))T.chain=o.chain;if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=o.toAddress;if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.gas?.length){T.gas=[];for(let C=0;C<o.gas.length;++C)T.gas[C]=F.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=p.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.poolDeduct!=null&&Object.hasOwnProperty.call(o,"poolDeduct"))f.uint32(18).string(o.poolDeduct);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.Fee;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.poolDeduct=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct")){if(!p.isString(o.poolDeduct))return"poolDeduct: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.Fee)return o;let f=new F.common.Fee;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".common.Fee.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.poolDeduct!=null)f.poolDeduct=String(o.poolDeduct);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults)T.poolDeduct="";if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))T.poolDeduct=o.poolDeduct;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(t){if(t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.common.ProtoUint;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.value=o.string();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.value!=null&&o.hasOwnProperty("value")){if(!p.isString(o.value))return"value: string expected"}return null},y.fromObject=function(o){if(o instanceof F.common.ProtoUint)return o;let f=new F.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.defaults)T.value="";if(o.value!=null&&o.hasOwnProperty("value"))T.value=o.value;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();F.types=(()=>{let n={};return n.MsgDeposit=(()=>{function y(t){if(this.coins=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.coins=p.emptyArray,y.prototype.memo="",y.prototype.signer=p.newBuffer([]),y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.coins?.length)for(let T=0;T<o.coins.length;++T)F.common.Coin.encode(o.coins[T],f.uint32(10).fork()).ldelim();if(o.memo!=null&&Object.hasOwnProperty.call(o,"memo"))f.uint32(18).string(o.memo);if(o.signer!=null&&Object.hasOwnProperty.call(o,"signer"))f.uint32(26).bytes(o.signer);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgDeposit;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(F.common.Coin.decode(o,o.uint32()));break;case 2:C.memo=o.string();break;case 3:C.signer=o.bytes();break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.coins!=null&&o.hasOwnProperty("coins")){if(!Array.isArray(o.coins))return"coins: array expected";for(let f=0;f<o.coins.length;++f){let T=F.common.Coin.verify(o.coins[f]);if(T)return"coins."+T}}if(o.memo!=null&&o.hasOwnProperty("memo")){if(!p.isString(o.memo))return"memo: string expected"}if(o.signer!=null&&o.hasOwnProperty("signer")){if(!(o.signer&&typeof o.signer.length==="number"||p.isString(o.signer)))return"signer: buffer expected"}return null},y.fromObject=function(o){if(o instanceof F.types.MsgDeposit)return o;let f=new F.types.MsgDeposit;if(o.coins){if(!Array.isArray(o.coins))throw TypeError(".types.MsgDeposit.coins: array expected");f.coins=[];for(let T=0;T<o.coins.length;++T){if(typeof o.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");f.coins[T]=F.common.Coin.fromObject(o.coins[T])}}if(o.memo!=null)f.memo=String(o.memo);if(o.signer!=null){if(typeof o.signer==="string")p.base64.decode(o.signer,f.signer=p.newBuffer(p.base64.length(o.signer)),0);else if(o.signer.length)f.signer=o.signer}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.coins=[];if(f.defaults){if(T.memo="",f.bytes===String)T.signer="";else if(T.signer=[],f.bytes!==Array)T.signer=p.newBuffer(T.signer)}if(o.coins?.length){T.coins=[];for(let C=0;C<o.coins.length;++C)T.coins[C]=F.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))T.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))T.signer=f.bytes===String?p.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(t){if(this.amount=[],t){for(let o=Object.keys(t),f=0;f<o.length;++f)if(t[o[f]]!=null)this[o[f]]=t[o[f]]}}return y.prototype.fromAddress=p.newBuffer([]),y.prototype.toAddress=p.newBuffer([]),y.prototype.amount=p.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=In.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let T=0;T<o.amount.length;++T)F.cosmos.base.v1beta1.Coin.encode(o.amount[T],f.uint32(26).fork()).ldelim();return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof b))o=b.create(o);let T=f===void 0?o.len:o.pos+f,C=new F.types.MsgSend;while(o.pos<T){let H=o.uint32();switch(H>>>3){case 1:C.fromAddress=o.bytes();break;case 2:C.toAddress=o.bytes();break;case 3:if(!C.amount?.length)C.amount=[];C.amount.push(F.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof b))o=new b(o);return this.decode(o,o.uint32())},y.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress")){if(!(o.fromAddress&&typeof o.fromAddress.length==="number"||p.isString(o.fromAddress)))return"fromAddress: buffer expected"}if(o.toAddress!=null&&o.hasOwnProperty("toAddress")){if(!(o.toAddress&&typeof o.toAddress.length==="number"||p.isString(o.toAddress)))return"toAddress: buffer expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!Array.isArray(o.amount))return"amount: array expected";for(let f=0;f<o.amount.length;++f){let T=F.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(T)return"amount."+T}}return null},y.fromObject=function(o){if(o instanceof F.types.MsgSend)return o;let f=new F.types.MsgSend;if(o.fromAddress!=null){if(typeof o.fromAddress==="string")p.base64.decode(o.fromAddress,f.fromAddress=p.newBuffer(p.base64.length(o.fromAddress)),0);else if(o.fromAddress.length)f.fromAddress=o.fromAddress}if(o.toAddress!=null){if(typeof o.toAddress==="string")p.base64.decode(o.toAddress,f.toAddress=p.newBuffer(p.base64.length(o.toAddress)),0);else if(o.toAddress.length)f.toAddress=o.toAddress}if(o.amount){if(!Array.isArray(o.amount))throw TypeError(".types.MsgSend.amount: array expected");f.amount=[];for(let T=0;T<o.amount.length;++T){if(typeof o.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");f.amount[T]=F.cosmos.base.v1beta1.Coin.fromObject(o.amount[T])}}return f},y.toObject=function(o,f){if(!f)f={};let T={};if(f.arrays||f.defaults)T.amount=[];if(f.defaults){if(f.bytes===String)T.fromAddress="";else if(T.fromAddress=[],f.bytes!==Array)T.fromAddress=p.newBuffer(T.fromAddress);if(f.bytes===String)T.toAddress="";else if(T.toAddress=[],f.bytes!==Array)T.toAddress=p.newBuffer(T.toAddress)}if(o.fromAddress!=null&&o.hasOwnProperty("fromAddress"))T.fromAddress=f.bytes===String?p.base64.encode(o.fromAddress,0,o.fromAddress.length):f.bytes===Array?Array.prototype.slice.call(o.fromAddress):o.fromAddress;if(o.toAddress!=null&&o.hasOwnProperty("toAddress"))T.toAddress=f.bytes===String?p.base64.encode(o.toAddress,0,o.toAddress.length):f.bytes===Array?Array.prototype.slice.call(o.toAddress):o.toAddress;if(o.amount?.length){T.amount=[];for(let C=0;C<o.amount.length;++C)T.amount[C]=F.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return T},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();F.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let t={};return t.Coin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.Coin;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.denom=T.string();break;case 2:_.amount=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!p.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!p.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.Coin)return T;let C=new F.cosmos.base.v1beta1.Coin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.DecCoin=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))C.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))C.uint32(18).string(T.amount);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.DecCoin;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.denom=T.string();break;case 2:_.amount=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!p.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!p.isString(T.amount))return"amount: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecCoin)return T;let C=new F.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)C.denom=String(T.denom);if(T.amount!=null)C.amount=String(T.amount);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))H.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))H.amount=T.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.IntProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.int="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))C.uint32(10).string(T.int);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.IntProto;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.int=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!p.isString(T.int))return"int: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.IntProto)return T;let C=new F.cosmos.base.v1beta1.IntProto;if(T.int!=null)C.int=String(T.int);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(T.int!=null&&T.hasOwnProperty("int"))H.int=T.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t.DecProto=(()=>{function o(f){if(f){for(let T=Object.keys(f),C=0;C<T.length;++C)if(f[T[C]]!=null)this[T[C]]=f[T[C]]}}return o.prototype.dec="",o.create=function(T){return new o(T)},o.encode=function(T,C){if(!C)C=In.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))C.uint32(10).string(T.dec);return C},o.encodeDelimited=function(T,C){return this.encode(T,C).ldelim()},o.decode=function(T,C){if(!(T instanceof b))T=b.create(T);let H=C===void 0?T.len:T.pos+C,_=new F.cosmos.base.v1beta1.DecProto;while(T.pos<H){let A=T.uint32();switch(A>>>3){case 1:_.dec=T.string();break;default:T.skipType(A&7);break}}return _},o.decodeDelimited=function(T){if(!(T instanceof b))T=new b(T);return this.decode(T,T.uint32())},o.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!p.isString(T.dec))return"dec: string expected"}return null},o.fromObject=function(T){if(T instanceof F.cosmos.base.v1beta1.DecProto)return T;let C=new F.cosmos.base.v1beta1.DecProto;if(T.dec!=null)C.dec=String(T.dec);return C},o.toObject=function(T,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))H.dec=T.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),t})(),y})(),n})()});async function Zo(){let{$root:n}=await Promise.resolve().then(() => (m0(),h0)),y=await import("@cosmjs/proto-signing"),t=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new t([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function yo(n){let y=await import("@cosmjs/stargate"),t=y.AminoTypes??y.default?.AminoTypes,o=n===r0.Chain.THORChain?"thorchain":"mayachain";return new t({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...T})=>({...T,signer:Ay(f)}),toAmino:({signer:f,...T})=>({...T,signer:Uy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:T,...C})=>({...C,fromAddress:Ay(f),toAddress:Ay(T)}),toAmino:({fromAddress:f,toAddress:T,...C})=>({...C,from_address:Uy(f),to_address:Uy(T)})}})}var r0;var Rt=u(()=>{Nt();r0=require("@swapkit/helpers")});function ut(n){let{assetValue:y,recipient:t,memo:o,sender:f,asSignable:T,asAminoMessage:C}=n;if(t)return d0({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,recipient:t,sender:f});return a0({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,sender:f})}async function d0({sender:n,recipient:y,assetValue:t,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let _=t.chain,A=await zn.getRPCUrl(_),G=await g0({rpcUrl:A,sender:n}),{chainId:M}=zn.getChainConfig(_),w=St({assetValue:t,recipient:y,sender:n}),B=f?await fo(T?w:to(w),_):w;return{accountNumber:H||G.accountNumber,chainId:M,fee:mn(_),memo:o,msgs:[B],sequence:C||G.sequence}}async function a0({sender:n,assetValue:y,memo:t="",asSignable:o=!0,asAminoMessage:f=!1,sequence:T,accountNumber:C}){let H=y.chain,_=await zn.getRPCUrl(H),A=await g0({rpcUrl:_,sender:n}),{chainId:G}=zn.getChainConfig(H),M=Ft({assetValue:y,memo:t,sender:n}),w=o?await fo(f?M:to(M),H):M;return{accountNumber:C||A.accountNumber,chainId:G,fee:mn(H),memo:t,msgs:[w],sequence:T||A.sequence}}function to(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let t=zn.AssetValue.from({asset:y.asset}),o=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),f=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:t.isSynthetic,ticker:t.ticker}}})}}}async function Gy({chain:n,memo:y,msgs:t}){let o=await Zo(),f=await yo(n),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:t.map((C)=>f.fromAmino(C))}};return o.encode(T)}var zn,aH,sH,St=({sender:n,recipient:y,assetValue:t})=>{return{type:`${t.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:t.getBaseValue("string"),denom:oo(t.symbol,!0)}],from_address:n,to_address:y}}},Ft=({sender:n,assetValue:y,memo:t=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:wy(y)}],memo:t,signer:n}}},ff=({sender:n,recipient:y,assetValue:t,memo:o})=>{return!y?Ft({assetValue:t,memo:o,sender:n}):St({assetValue:t,recipient:y,sender:n})},fo=async(n,y)=>{return(await yo(y)).fromAmino(n)},g0=async({rpcUrl:n,sender:y})=>{let o=await(await rn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var s0=u(()=>{qy();Rt();zn=require("@swapkit/helpers"),aH=mn(zn.Chain.THORChain).gas,sH=mn(zn.Chain.Maya).gas});var e0=()=>{};var nC=u(()=>{e0()});var kt=u(()=>{Nt();s0();Rt();nC()});async function Pt(n,y){try{let o=(await pt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function It({phrase:n,prefix:y,...t}){let o="derivationPath"in t?t.derivationPath:`${I.DerivationPath[t.chain]}/${t.index}`;return await TC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[tC.stringToPath(o)],prefix:y})}async function eH({privateKey:n,prefix:y}){let t=await import("@cosmjs/proto-signing");return(t.DirectSecp256k1Wallet??t.default?.DirectSecp256k1Wallet).fromKey(n,y)}function CC(n){return async function({signature:t,message:o,address:f}){let T=await n(f);if(!T?.pubkey)throw new I.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,_=C.Secp256k1??C.default?.Secp256k1,A=H.fromFixedLength(To.base64.decode(t));return _.verifySignature(A,To.base64.decode(o),T.pubkey.value)}}function Wy({chain:n,...y}){let t=I.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=I.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:I.updateDerivationPath(I.NetworkDerivationPath[n],{index:o})),T;async function C(){if(T)return T;return T=await ly.match(y).with({phrase:ly.P.string},({phrase:B})=>It({derivationPath:f,phrase:B,prefix:t})).with({signer:ly.P.any},({signer:B})=>B).otherwise(()=>{return}),T}async function H(B){let l=await I.getRPCUrl(n);return(await rn(l)).getAccount(B)}async function _(){let B=await C(),[l]=await B?.getAccounts()||[];return l?.address}async function A(){let B=await C(),[l]=await B?.getAccounts()||[];if(!l?.pubkey)throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");return To.base64.encode(l?.pubkey)}async function G(B){let l=await C(),W=await _(),Q=await I.getRPCUrl(n);if(!(l&&W))throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Qo(Q,l)).sign(W,B.msgs,B.fee,B.memo,{accountNumber:B.accountNumber,chainId:B.chainId,sequence:B.sequence})}async function M(B){let l=await C(),W=await _(),Q=await I.getRPCUrl(n);if(!(l&&W))throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");let Z=await(await Qo(Q,l)).signAndBroadcast(W,B.msgs,B.fee,B.memo);if(Z.code!==0)throw new I.SwapKitError("core_swap_transaction_error",{code:Z.code,message:Z.rawLog});return Z.transactionHash}async function w({recipient:B,assetValue:l,memo:W="",feeRate:Q,feeOptionKey:N=I.FeeOption.Fast}){let Z=await C(),z=await _();if(!(Z&&z))throw new I.SwapKitError("toolbox_cosmos_signer_not_defined");let X=await I.getRPCUrl(n),U=I.AssetValue.from({chain:n}),q=wy(U),L=Q||y_((await yC(n,oC[n]))[N],q),Y=await Qo(X,Z),D=oo(l.symbol),J=[{amount:l.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(z,B,J,L,W);return O}return{createPrivateKeyFromPhrase:t_(f),createTransaction:Ot,fetchFeeRateFromSwapKit:Pt,getAccount:H,getAddress:_,getBalance:async(B,l)=>{let W=await fC(n)(B),Q=await Promise.all(W.filter(({denom:N})=>N&&!N.includes("IBC/")&&!([I.Chain.THORChain,I.Chain.Maya].includes(n)&&N.split("-").length>2)).map(({denom:N,amount:Z})=>{let z=[I.Chain.THORChain,I.Chain.Maya].includes(n)&&(N.includes("/")||N.includes("˜"))?`${n}.${N}`:N;return xt(z,Z)}));if(Q.length===0)return[I.AssetValue.from({chain:n})];return Q},getBalanceAsDenoms:fC(n),getFees:()=>yC(n,oC[n]),getPubKey:A,getSignerFromPhrase:({phrase:B,derivationPath:l})=>It({derivationPath:I.derivationPathToString(l),index:o,phrase:B,prefix:t}),getSignerFromPrivateKey:async(B)=>{let l=await import("@cosmjs/proto-signing");return(l.DirectSecp256k1Wallet??l.default?.DirectSecp256k1Wallet).fromKey(B,t)},signAndBroadcastTransaction:M,signTransaction:G,transfer:w,validateAddress:HC(n),verifySignature:CC(H)}}async function n_(n,y){try{let o=(await pt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function o_({assetValue:{chain:n}}){return I.AssetValue.from({chain:n,value:f_(n)})}async function yC(n,y){let{chainId:t,baseDecimal:o}=I.getChainConfig(n),f=await Pt(t,y);return{average:I.SwapKitNumber.fromBigInt(BigInt(f),o),fast:I.SwapKitNumber.fromBigInt(BigInt(I.applyFeeMultiplier(f,I.FeeOption.Fast,!0)),o),fastest:I.SwapKitNumber.fromBigInt(BigInt(I.applyFeeMultiplier(f,I.FeeOption.Fastest,!0)),o)}}function y_(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function f_(n){return{[I.Chain.Cosmos]:0.007,[I.Chain.Kujira]:0.02,[I.Chain.Noble]:0.01,[I.Chain.THORChain]:0.02,[I.Chain.Maya]:0.02,[I.Chain.Harbor]:0.02}[n]||0}function HC(n){let y=I.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:T}=To.bech32.decode(o);return To.bech32.encode(f,T)===o.toLocaleLowerCase()}catch{return!1}}}function fC(n){return async function(t){let o=await I.getRPCUrl(n);return(await(await rn(o)).getAllBalances(t)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function t_(n){return async function(t){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,T=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,_=o.Bip39??o.default?.Bip39,A=new H(t),G=await _.mnemonicToSeed(A),{privkey:M}=C.derivePath(T.Secp256k1,G,f(n));return M}}var tC,TC,To,I,pt,ly,oC;var tf=u(()=>{qy();tC=require("@cosmjs/crypto"),TC=require("@cosmjs/proto-signing"),To=require("@scure/base"),I=require("@swapkit/helpers"),pt=require("@swapkit/helpers/api"),ly=require("ts-pattern");oC={[I.Chain.Cosmos]:1000,[I.Chain.Kujira]:1000,[I.Chain.Noble]:1000,[I.Chain.THORChain]:5000000,[I.Chain.Maya]:5000000,[I.Chain.Harbor]:5000000}});function T_({prefix:n,derivationPath:y}){return async function(o,f=0){let T=await import("@cosmjs/amino"),C=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),_=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[_(`${y}/${f}`)],prefix:n})}}function C_(n){return Co.base64.encode(n)}function H_(n){return async function({wallet:t,tx:o}){let{msgs:f,accountNumber:T,sequence:C,chainId:H,fee:_,memo:A}=typeof o==="string"?JSON.parse(o):o,G=(await t.getAccounts())?.[0]?.address||"",M=await yo(n),w=await Zo(),B=await Dt(t,{aminoTypes:M,registry:w}),l=[];for(let N of f){let Z=await fo(N,n);l.push(Z)}let{signatures:[W]}=await B.sign(G,l,_,A,{accountNumber:T,chainId:H,sequence:C});return{bodyBytes:await Gy({chain:n,memo:A,msgs:f.map(to)}),signature:C_(W)}}}function __({prefix:n,chain:y}){return async function(o,f,T,C,H){let _=await e.getRPCUrl(y),{encodeSecp256k1Pubkey:A,pubkeyToAddress:G}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:B}=JSON.parse(o),l=await _C(T,C),W=f.map((Z)=>[G(A(Co.base64.decode(Z.pubKey)),n),Co.base64.decode(Z.signature)]),Q=await rn(_),{transactionHash:N}=await Q.broadcastTx(M(l,w,B,H,new Map(W)));return N}}async function _C(n,y,t=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((T)=>f(Co.base64.decode(T))),y,t)}function A_(n){return Co.base64.decode(n)}async function U_({privateKey:n,message:y}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,o=await t.createSignature(Co.base64.decode(y),n);return Co.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function $t({chain:n,...y}){let{nodeUrl:t}=e.getChainConfig(n),{isStagenet:o}=e.SKConfig.get("envs"),f=n===e.Chain.THORChain,T=`${o?"s":""}${e.CosmosChainPrefixes[n]}`,C="index"in y?y.index||0:0,H="derivationPath"in y&&y.derivationPath?y.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[n],{index:C}),_=Wy({chain:n,...y}),A=mn(n);async function G(){let w,B=`${t}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:l}}=await e.RequestClient.get(B);if(!l||Number.isNaN(l)||l<0)throw new e.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:l.toString()});w=new e.SwapKitNumber(l)}catch{w=new e.SwapKitNumber({decimal:e.getChainConfig(n).baseDecimal,value:f?0.02:1})}return{[e.FeeOption.Average]:w,[e.FeeOption.Fast]:w,[e.FeeOption.Fastest]:w}}async function M({assetValue:w,memo:B="",recipient:l}){let W=await e.getRPCUrl(n),Q=await By.match(y).with({phrase:By.P.string},({phrase:O})=>_.getSignerFromPhrase({derivationPath:H,phrase:O})).with({signer:By.P.any},({signer:O})=>O).otherwise(()=>{return}),{TxRaw:N}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),Z=(await Q?.getAccounts())?.[0]?.address;if(!(Z&&Q))throw new e.SwapKitError("toolbox_cosmos_no_signer");let z="signAmino"in Q,X=await Zo(),U=await yo(n),q=await Qo(W,Q,{aminoTypes:U,registry:X}),L=ff({assetValue:w,memo:B,recipient:l,sender:Z});if(z){let O=await fo(L,n),{signatures:R,authInfoBytes:k}=await q.sign(Z,[O],A,B),v=N.encode({authInfoBytes:k,bodyBytes:await Gy({chain:n,memo:B,msgs:[L].map(to)}),signatures:R}).finish();return(await q.broadcastTx(v)).transactionHash}let Y=to(L),D=await fo(Y,n);return(await q.signAndBroadcast(Z,[D],A,B)).transactionHash}return{..._,broadcastMultisigTx:__({chain:n,prefix:T}),buildAminoMsg:ff,buildEncodedTxBody:Gy,convertToSignable:fo,createDefaultAminoTypes:()=>yo(n),createDefaultRegistry:Zo,createMultisig:_C,createTransaction:ut,deposit:M,getFees:G,importSignature:A_,parseAminoMessageForDirectSigning:to,pubkeyToAddress:async(w)=>{let{pubkeyToAddress:B}=(await import("@cosmjs/amino")).default;return B(w,T)},secp256k1HdWalletFromMnemonic:T_({derivationPath:e.derivationPathToString(H),prefix:T}),signMultisigTx:H_(n),signWithPrivateKey:U_,transfer:M}}var Co,e,By;var Et=u(()=>{kt();qy();tf();Co=require("@scure/base"),e=require("@swapkit/helpers"),By=require("ts-pattern")});var Ho,w_=(n,y)=>{switch(n){case Ho.Chain.Cosmos:case Ho.Chain.Kujira:case Ho.Chain.Noble:return Wy({chain:n,...y});case Ho.Chain.Maya:case Ho.Chain.THORChain:return $t({chain:n,...y});default:throw new Ho.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var AC=u(()=>{tf();Et();Ho=require("@swapkit/helpers");tf();Et()});var Tf={};Mn(Tf,{verifySignature:()=>CC,transferMsgAmino:()=>St,toBase64:()=>mH,parseAminoMessageForDirectSigning:()=>to,getSignerFromPrivateKey:()=>eH,getSignerFromPhrase:()=>It,getMsgSendDenom:()=>oo,getFeeRateFromSwapKit:()=>n_,getDenomWithChain:()=>wy,getDefaultChainFee:()=>mn,getCosmosToolbox:()=>w_,getCosmosAddressValidator:()=>HC,getAssetFromDenom:()=>xt,fromBase64:()=>rH,fetchFeeRateFromSwapKit:()=>Pt,estimateTransactionFee:()=>o_,depositMsgAmino:()=>Ft,createTransaction:()=>ut,createThorchainToolbox:()=>$t,createStargateClient:()=>rn,createSigningStargateClient:()=>Qo,createOfflineStargateClient:()=>Dt,createDefaultRegistry:()=>Zo,createDefaultAminoTypes:()=>yo,createCosmosToolbox:()=>Wy,cosmosCreateTransaction:()=>Ot,convertToSignable:()=>fo,buildTransferTx:()=>d0,buildEncodedTxBody:()=>Gy,buildDepositTx:()=>a0,buildAminoMsg:()=>ff,bech32ToBase64:()=>Ay,base64ToBech32:()=>Uy,YUM_KUJIRA_FACTORY_DENOM:()=>K0,USK_KUJIRA_FACTORY_DENOM:()=>zt,THORCHAIN_GAS_VALUE:()=>aH,MAYA_GAS_VALUE:()=>sH,DEFAULT_NOBLE_FEE_MAINNET:()=>i0,DEFAULT_KUJI_FEE_MAINNET:()=>c0,DEFAULT_COSMOS_FEE_MAINNET:()=>j0});module.exports=Zn(Tf);var Cf=u(()=>{kt();AC();qy()});function q_({builder:n,grouping:y="na",orders:t}){return{builder:n,grouping:y,orders:t,type:"order"}}function G_({cancels:n}){return{cancels:n,type:"cancel"}}function l_({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function W_({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function B_({modifies:n}){return{modifies:n,type:"batchModify"}}function X_({asset:n,isCross:y,leverage:t}){return{asset:n,isCross:y,leverage:t,type:"updateLeverage"}}function M_({asset:n,isBuy:y,ntli:t}){return{asset:n,isBuy:y,ntli:t,type:"updateIsolatedMargin"}}function L_({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function Q_({time:n}){return{time:n,type:"scheduleCancel"}}function Z_({amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function J_({amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:_}){return{amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:_,type:"sendAsset"}}function Y_({agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f,type:"approveAgent"}}function N_({builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function z_({hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,validator:f,wei:T}){return{hyperliquidChain:n,isUndelegate:y,nonce:t,signatureChainId:o,type:"tokenDelegate",validator:f,wei:T}}function Sn(...n){let y=n.reduce((f,T)=>f+T.length,0),t=new Uint8Array(y),o=0;for(let f of n)t.set(f,o),o+=f.length;return t}function F_(n,y,t){if(t<y)return new Uint8Array([n+t]);if(t<=255)return new Uint8Array([n+y,t]);if(t<=65535)return new Uint8Array([n+y+1,t>>8,t&255]);return new Uint8Array([n+y+2,t>>>24&255,t>>>16&255,t>>>8&255,t&255])}function _o(n,y){let t=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)t[f]=Number(o&0xffn),o>>=8n;return t}function UC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return Sn(new Uint8Array([205]),_o(n,2));if(n<=0xffffffffn)return Sn(new Uint8Array([206]),_o(n,4));return Sn(new Uint8Array([207]),_o(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return Sn(new Uint8Array([209]),_o(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Sn(new Uint8Array([210]),_o(BigInt.asUintN(32,n),4));return Sn(new Uint8Array([211]),_o(BigInt.asUintN(64,n),8))}function GC(n){let y=S_.encode(n);if(y.length<32)return Sn(new Uint8Array([160+y.length]),y);return Sn(F_(217,0,y.length),y)}function u_(n){let y=n.map((o)=>vt(o)),t=n.length<16?new Uint8Array([144+n.length]):n.length<=65535?new Uint8Array([220,n.length>>8,n.length&255]):new Uint8Array([221,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Sn(t,...y)}function k_(n){let y=Object.entries(n).filter(([,o])=>typeof o<"u"),t=y.length<16?new Uint8Array([128+y.length]):y.length<=65535?new Uint8Array([222,y.length>>8,y.length&255]):new Uint8Array([223,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Sn(t,...y.flatMap(([o,f])=>[GC(o),vt(f)]))}function vt(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return GC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new Hf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return UC(BigInt(n))}if(typeof n==="bigint")return UC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Sn(y,n)}if(Array.isArray(n))return u_(n);if(typeof n==="object")return k_(n);throw new Hf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function I_(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new Hf.SwapKitError("helpers_invalid_params",{hexValue:n});let t=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)t[o/2]=Number.parseInt(y.slice(o,o+2),16);return t}function lC(n){return{domain:D_,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...O_.Agent]}}}function WC(n){let y=R_[n.type],t=x_[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:wC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||qC},primaryType:y,types:{[y]:t}}}function BC(n){let y=_f.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function XC(n,y,{expiresAfter:t,vaultAddress:o}={}){let f=vt(n),T=_o(BigInt(y),8),C=o?Sn(new Uint8Array([1]),I_(o.toLowerCase())):new Uint8Array([0]),H=typeof t==="number"?Sn(new Uint8Array([0]),_o(BigInt(t),8)):new Uint8Array;return _f.keccak256(Sn(f,T,C,H))}function MC(n){let y=n.hyperliquidChain||qC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var Hf,_f,wC="0x0000000000000000000000000000000000000000",D_,O_,qC="Mainnet",x_,R_,S_;var LC=u(()=>{Hf=require("@swapkit/helpers"),_f=require("ethers"),D_={chainId:1337,name:"Exchange",verifyingContract:wC,version:"1"},O_={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},x_={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},R_={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},S_=new TextEncoder});function Pn(n,y){if(!Kt(n))throw new a.SwapKitError(y,{address:n});return n.toLowerCase()}async function Jo(n){let y=await Af();return a.RequestClient.post(`${y}/info`,{json:n})}function V_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"clearinghouseState",user:Pn(y,"helpers_invalid_params")})}function K_({user:n}){return Jo({type:"spotClearinghouseState",user:Pn(n,"helpers_invalid_params")})}function j_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"openOrders",user:Pn(y,"helpers_invalid_params")})}function c_({dex:n,user:y}){return Jo({...n?{dex:n}:{},type:"frontendOpenOrders",user:Pn(y,"helpers_invalid_params")})}function i_({oidOrCloid:n,user:y}){return Jo({oid:n,type:"orderStatus",user:Pn(y,"helpers_invalid_params")})}function h_({aggregateByTime:n,user:y}){return Jo({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:Pn(y,"helpers_invalid_params")})}function m_({aggregateByTime:n,endTime:y,startTime:t,user:o}){return Jo({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:t,type:"userFillsByTime",user:Pn(o,"helpers_invalid_params")})}function QC({coin:n,token:y,value:t,spotMeta:o}){if(!t||Number(t)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,T=p_[f]||YC,C=o?.tokens?.find((_)=>_.name===n||y!==void 0&&_.index===Number(y)),H=C?`${Kn}.${f}-${C.name}:${C.tokenId}`:`${Kn}.${f}`;return new a.AssetValue({decimal:T,identifier:H,value:t})}function r_(n){let y=new Map;for(let t of n){let o=t.toString({includeSynthProtocol:!0}),f=y.get(o);y.set(o,f?f.add(t):t)}if(![...y.values()].some((t)=>t.isGasAsset||t.ticker==="HYPE")){let t=a.AssetValue.from({chain:Kn,value:0});y.set(t.toString({includeSynthProtocol:!0}),t)}return[...y.values()]}async function Af(){try{return await a.getRPCUrl(Kn)}catch{let[n]=a.getChainConfig(Kn).rpcUrls;if(!n)throw new a.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:Kn});return n}}async function Vt(){return`${await Af()}/exchange`}function g_(n){let y=b_[n.type],{type:t,...o}=n,f=v_[t];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:E_,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function NC({action:n,expiresAfter:y,nonce:t,vaultAddress:o}){let f=t||Date.now(),T=o?Pn(o,"helpers_invalid_params"):void 0,C=await Vt(),H=XC(n,f,{expiresAfter:y,vaultAddress:T});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:lC(H),vaultAddress:T}}async function zC({action:n,nonce:y,signatureChainId:t}){let o=y||n.nonce||Date.now(),f=t||n.signatureChainId||"0xa4b1",T=MC({...n,nonce:o,signatureChainId:f});return{action:T,endpoint:await Vt(),nonce:o,typedData:WC(T)}}async function bt({assetValue:n,recipient:y,sender:t,signatureChainId:o,time:f}){let T=Pn(y,"core_transaction_invalid_recipient_address"),C=Pn(t,"core_transaction_invalid_sender_address"),H=await Vt(),_=n.getValue("string"),A=f||Date.now(),G=n.address;if(!G)throw new a.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:_,destination:T,hyperliquidChain:P_,signatureChainId:o||$_,time:A,token:G,type:"spotSend"};return{action:M,endpoint:H,nonce:A,typedData:g_(M)}}async function ZC(n){let y=await a.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new a.SwapKitError("core_transaction_failed",{response:y});return y}async function d_(n,y){let t=await Af(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((T)=>setTimeout(T,1000));try{let T=await a.RequestClient.post(`${t}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(T)?T.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function Kt(n){return n.startsWith("0x")&&ty(n)}function a_(n){let y=xn(Kn),t=n&&"index"in n?n.index||0:0,o=a.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[Kn],{index:t})),f,T=!1;function C(){if(T)return f;return f=Po.match(n).with({phrase:Po.P.string},({phrase:w})=>{return JC.HDNodeWallet.fromPhrase(w,void 0,o)}).with({signer:Po.P.not(Po.P.nullish)},({signer:w})=>w).otherwise(()=>{return}),T=!0,f}async function H(){let w=C();return w?await w.getAddress():""}async function _(w){let B=C();if(!B)throw new a.SwapKitError("toolbox_hypercore_no_signer");let l=await B.signTypedData(w.typedData.domain,w.typedData.types,w.typedData.message);return{action:w.action,endpoint:w.endpoint,nonce:w.nonce,signature:BC(l),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function A(w){let B=Pn(w,"helpers_invalid_params");try{let l=await Af(),[W,Q,N]=await Promise.all([a.RequestClient.post(`${l}/info`,{json:{type:"spotClearinghouseState",user:B}}),a.RequestClient.post(`${l}/info`,{json:{type:"clearinghouseState",user:B}}),a.RequestClient.post(`${l}/info`,{json:{type:"spotMeta"}})]),Z=(W.spotState?.balances||W.balances||[]).map(({coin:X,token:U,total:q})=>QC({coin:X,spotMeta:N,token:U,value:q})).filter((X)=>!!X),z=QC({coin:"USDC",spotMeta:N,value:Q.withdrawable||Q.marginSummary?.accountValue||Q.marginSummary?.totalRawUsd});return r_(z?[...Z,z]:Z)}catch{return y(B)}}async function G(w){let B=C();if(!B)throw new a.SwapKitError("toolbox_hypercore_no_signer");let l=w.sender||await B.getAddress(),W=await bt({...w,feeRate:0,sender:l}),Q=await _(W);return await ZC(Q),d_(l,W.nonce)}function M(){return a.AssetValue.from({chain:Kn,value:0})}return{broadcastTransaction:ZC,createL1ActionRequest:NC,createTransaction:bt,createUserSignedActionRequest:zC,estimateTransactionFee:M,getAddress:H,getBalance:A,getState:{clearinghouse:V_,frontendOpenOrders:c_,openOrders:j_,orderStatus:i_,spotClearinghouse:K_,userFills:h_,userFillsByTime:m_},signTransaction:_,transfer:G,validateAddress:Kt}}var a,JC,Po,Kn,YC,p_,P_="Mainnet",$_="0xa4b1",E_="0x0000000000000000000000000000000000000000",v_,b_;var DC=u(()=>{Lt();hn();LC();a=require("@swapkit/helpers"),JC=require("ethers"),Po=require("ts-pattern"),Kn=a.Chain.HyperCore,{baseDecimal:YC}=a.getChainConfig(Kn),p_={HYPE:YC,USDC:6,USDT:6},v_={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},b_={spotSend:"HyperliquidTransaction:SpotSend"}});var jt={};Mn(jt,{validateHyperCoreAddress:()=>Kt,getHyperCoreToolbox:()=>a_,createUserSignedActionRequest:()=>zC,createTransaction:()=>bt,createL1ActionRequest:()=>NC,buildUsdClassTransferAction:()=>Z_,buildUpdateLeverageAction:()=>X_,buildUpdateIsolatedMarginAction:()=>M_,buildTopUpIsolatedOnlyMarginAction:()=>L_,buildTokenDelegateAction:()=>z_,buildSendAssetAction:()=>J_,buildScheduleCancelAction:()=>Q_,buildOrderAction:()=>q_,buildModifyAction:()=>W_,buildCancelByCloidAction:()=>l_,buildCancelAction:()=>G_,buildBatchModifyAction:()=>B_,buildApproveBuilderFeeAction:()=>N_,buildApproveAgentAction:()=>Y_});module.exports=Zn(jt);var ct=u(()=>{DC()});async function RC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let t=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(t);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function s_(n){let y=await gn(),{PublicKey:t}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new t(n),{baseDecimal:T}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:T,value:C||0})],_=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:A}of _.value){let G=A.data.parsed.info,M=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let B=await RC(M),l=B?.symbol||"UNKNOWN",W=B?.decimals||G.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${l}-${M}`,fromBaseDecimal:W,value:w}))}return H}function ht(n){try{let y=new dn.PublicKey(n);return dn.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function e_(n){let y=n&&"index"in n?n.index||0:0,t=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Xy.match(n).with({phrase:Xy.P.string},({phrase:C})=>it({derivationPath:t,phrase:C})).with({signer:Xy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function T(){let C=await f();return C?.publicKey?xC(C.publicKey):""}return{broadcastTransaction:Uf(gn),createKeysForPath:it,createTransaction:mt(gn),createTransactionFromInstructions:fA,estimateTransactionFee:nA(gn),getAddress:T,getAddressFromPubKey:xC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:s_,getConnection:gn,getPubkeyFromAddress:(C)=>new dn.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await OC(gn,f)(C);return Uf(gn)(H)},signTransaction:OC(gn,f),transfer:tA(gn,f),validateAddress:ht}}function nA(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let C=await n(),_=(await mt(n)({assetValue:t,isProgramDerivedAddress:f,memo:o,recipient:y,sender:T})).compileMessage(),A=await C.getFeeForMessage(_);if(A.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:G,value:A.value})}}async function gn(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(t,o,f)=>{let T={};for(let[C,H]of Object.entries(o?.headers??{})){let _=C.toLowerCase();if(_!=="pragma"&&_!=="solana-client")T[C]=H}f(t,{...o,headers:T})}})}function oA(n){return async({assetValue:y,recipient:t,sender:o,isProgramDerivedAddress:f})=>{let T=await n(),C=new dn.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:_}=await import("@solana/web3.js");return new H().add(_.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new dn.PublicKey(t)}))}if(y.address)return yA({amount:y.getBaseValue("number"),connection:T,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:t,tokenAddress:y.address});return}}async function yA({tokenAddress:n,recipient:y,from:t,connection:o,amount:f,decimals:T,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:G}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),w=new M,B=new dn.PublicKey(n),l=await H(B,t),W=new dn.PublicKey(y),Q=await H(B,W,C),N=!1;try{await _(o,Q),N=!0}catch{}if(!N)w.add(A(t,Q,W,B));return w.add(G(l,B,Q,t,f,T)),w}function mt(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new dn.PublicKey(T);if(!(f||ht(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let _=await n(),A=await oA(n)({assetValue:t,isProgramDerivedAddress:f,recipient:y,sender:T});if(!A)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)A.add(C(o));let G=await _.getLatestBlockhash();return A.recentBlockhash=G.blockhash,A.feePayer=H,A}}async function fA({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),t=new y().add(...n);if(!t)throw new r.SwapKitError("core_transaction_invalid_sender_address");return t}function tA(n,y){return async({recipient:t,assetValue:o,memo:f,isProgramDerivedAddress:T})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),_=await mt(n)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:t,sender:H});if("signTransaction"in C){let A=await C.signTransaction(_);return Uf(n)(A)}return _.sign(C),Uf(n)(_)}}function Uf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function OC(n,y){return async(t)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(t instanceof f)){let C=await(await n()).getLatestBlockhash();t.recentBlockhash=C.blockhash,t.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(t);return t.sign([o]),t}}async function it({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:t}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),T=o(n),C=t.fromMasterSeed(T);return f.fromSeed(C.derive(y,!0).privateKey)}function xC(n){return n.toString()}var dn,r,Xy;var SC=u(()=>{hn();dn=require("@solana/web3.js"),r=require("@swapkit/helpers"),Xy=require("ts-pattern")});var rt={};Mn(rt,{validateSolanaAddress:()=>ht,getSolanaToolbox:()=>e_,fetchTokenMetaData:()=>RC,createKeysForPath:()=>it});module.exports=Zn(rt);var gt=u(()=>{SC()});function wf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function qf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:t}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:T,encode:C,CallData:H}=await import("starknet"),_=o(n),G=t.fromMasterSeed(_).derive(y);if(!G.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(M),B=C.addHexPrefix(w),l=f.starkCurve.getStarkKey(B),W=H.compile([l,0]);return{address:T.calculateContractAddressFromHash(l,at,W,0),privateKey:B,publicKey:l}}async function st({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:t,RpcProvider:o}=await import("starknet"),{privateKey:f,address:T}=await qf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new t({address:T,provider:H,signer:f})}function uC(n){let y=c.Chain.Starknet,t=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:t})),f,T,C;async function H(){if(T)return T;let{RpcProvider:U}=await import("starknet"),q=await c.getRPCUrl(y);return T=new U({nodeUrl:q}),T}async function _(U){let q=await H(),L=U||await w();if(!L)return!1;try{return await q.getClassHashAt(L),!0}catch(Y){if(Y instanceof Error&&Y.message.includes("Contract not found"))return!1;let D=Y;if(D?.code===20||D?.code===19)return!1;throw Y}}async function A(){let{CallData:U,hash:q}=await import("starknet"),L=await H(),Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return Y.address;let J=U.compile([C,0]);if(q.calculateContractAddressFromHash(C,at,J,0).toLowerCase()!==Y.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let R={addressSalt:C,classHash:at,constructorCalldata:J},{transaction_hash:k}=await Y.deployAccount(R);return await L.waitForTransaction(k),k}async function G(){if(!await _()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function M(){if(f)return f;return f=await $n.match(n).with({phrase:$n.P.string},async({phrase:U})=>{let{Account:q,RpcProvider:L}=await import("starknet"),{privateKey:Y,address:D,publicKey:J}=await qf({derivationPath:o,phrase:U});C=J;let O=await c.getRPCUrl(c.Chain.Starknet),R=new L({nodeUrl:O});return new q({address:D,provider:R,signer:Y})}).with({address:$n.P.string,privateKey:$n.P.string},async({privateKey:U,address:q})=>{let{Account:L}=await import("starknet"),Y=await H();return new L({address:q,provider:Y,signer:U})}).with({signer:$n.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function w(){return(await M())?.address??""}async function B(U){let q=await H(),{uint256:L,CallData:Y}=await import("starknet"),D=[],J=[dt,FC];for(let O of J)try{let[R="0",k="0"]=await q.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),v=L.uint256ToBN({high:R,low:k});$n.match(O).with(dt,()=>{D.push(c.AssetValue.from({chain:y,value:v}))}).with(FC,()=>{if(v>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:v}))}).otherwise(()=>{})}catch{}return D}async function l({recipient:U,assetValue:q}){let{CallData:L,uint256:Y}=await import("starknet");if(!wf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let D=q.isGasAsset?dt:q.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:q});let J=Y.bnToUint256(q.getBaseValue("bigint"));return[{calldata:L.compile([U,J]),contractAddress:D,entrypoint:"transfer"}]}async function W({recipient:U,assetValue:q,sender:L}){let{baseDecimal:Y}=c.getChainConfig(c.Chain.Starknet),D=await M(),J=await $n.match({sender:L,signer:D}).with({sender:$n.P.string},async({sender:O})=>{let{Account:R}=await import("starknet"),k=await H();return new R({address:O,provider:k,signer:"0x0"})}).with({signer:$n.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await l({assetValue:q,recipient:U}),R=await J.estimateInvokeFee(O);if(R?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Y,value:R.overall_fee})}catch(O){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Q({recipient:U,assetValue:q,memo:L}){let Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");await G();let D=await l({assetValue:q,memo:L,recipient:U});return(await Y.execute(D)).transaction_hash}async function N(U){let q=await M();if(!q)throw new c.SwapKitError("toolbox_starknet_no_signer");let L=await q.signMessage(U);return Array.isArray(L)?L:[L.r.toString(),L.s.toString()]}async function Z(U){let q=await M();if(!q)throw new c.SwapKitError("toolbox_starknet_no_signer");return await G(),(await q.execute(U)).transaction_hash}function z(U){return Z(U)}function X(U,q=!0){try{return xn(y)(U,q)}catch{return B(U)}}return{broadcastTransaction:Z,createKeysForPath:st,createTransaction:l,deployAccount:A,estimateTransactionFee:W,getAddress:w,getBalance:X,getProvider:H,isAccountDeployed:_,signAndBroadcastTransaction:z,signMessage:N,transfer:Q,validateAddress:wf}}var c,$n,dt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",FC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",at="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var kC=u(()=>{hn();c=require("@swapkit/helpers"),$n=require("ts-pattern")});var Gf={};Mn(Gf,{validateStarknetAddress:()=>wf,starknetCreateKeysForPath:()=>st,getStarknetToolbox:()=>uC,deriveStarknetKeys:()=>qf});module.exports=Zn(Gf);var lf=u(()=>{kC()});async function PC(n,y,t,o=[],f){let T=await n.getCoins({coinType:t,cursor:f,owner:y}),C=[...o,...T.data];return T.hasNextPage?PC(n,y,t,C,T.nextCursor):C}function TA(n,y,t){let o=y.reduce((_,A)=>_+BigInt(A.balance),0n);if(o<t)throw new fn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:t.toString()});let{ids:f}=y.reduce((_,A)=>{if(_.total>=t)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),T=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(T,C);let[H]=n.splitCoins(T,[t]);return H}function $C(n){try{return pC.isValidSuiAddress(n)}catch{return!1}}function IC(n){return"signWithIntent"in n}function CA({provider:n,...y}={}){let t;async function o(){if(t)return t;return t=await My.match(y).with({phrase:My.P.string},async({phrase:l})=>{let{Ed25519Keypair:W}=await import("@mysten/sui/keypairs/ed25519");return W.deriveKeypair(l)}).with({signer:My.P.any},({signer:l})=>l).otherwise(()=>{return}),t}async function f(l=n){let{SuiClient:W,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new W({url:l||Q("mainnet")})}async function T(){return(await o())?.toSuiAddress()||""}function C(l){try{let W=fn.AssetValue.from({address:l,chain:fn.Chain.Sui});return{asset:W.toString(),decimals:W.decimal}}catch{}return null}async function H(l){let W=l||await T();if(!W)throw new fn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Q,chain:N}=fn.getChainConfig(fn.Chain.Sui);try{let Z=await f(),{totalBalance:z}=await Z.getBalance({owner:W}),X=[fn.AssetValue.from({chain:N,fromBaseDecimal:Q,value:z})],U=await Z.getAllBalances({owner:W});for(let{coinType:q,totalBalance:L}of U){if(q==="0x2::sui::SUI"||Number(L)<=0)continue;let Y=C(q);if(Y)X.push(fn.AssetValue.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:L}))}return X}catch{return[fn.AssetValue.from({chain:N})]}}async function _(l){let W=fn.AssetValue.from({chain:fn.Chain.Sui,value:"0.01"});if(!l)return W;try{let Q=await f(),{txBytes:N}=await A(l),{effects:{status:Z,gasUsed:z}}=await Q.dryRunTransactionBlock({transactionBlock:N});if(Z.status!=="success")return W;let X=Number(z.computationCost)+Number(z.storageCost)-Number(z.storageRebate);return fn.AssetValue.from({chain:fn.Chain.Sui,value:X.toString()})}catch{return W}}async function A({recipient:l,assetValue:W,gasBudget:Q,sender:N}){let{Transaction:Z}=await import("@mysten/sui/transactions"),z=N||await T();if(!z)throw new fn.SwapKitError("toolbox_sui_no_sender");try{let X=new Z;if(X.setSender(z),W.isGasAsset||W.symbol==="SUI"){let[L]=X.splitCoins(X.gas,[W.getBaseValue("string")]);X.transferObjects([L],l)}else{let L=W.address;if(!L)throw new fn.SwapKitError("toolbox_sui_missing_coin_type");let Y=await f(),D=W.getBaseValue("bigint"),J=await PC(Y,z,L);if(!J.length)throw new fn.SwapKitError("toolbox_sui_no_coins_found",{coinType:L});let O=TA(X,J,D);X.transferObjects([O],l)}if(Q)X.setGasBudget(Q);let U=await f(),q=await X.build({client:U});return{tx:X,txBytes:q}}catch(X){if(X instanceof fn.SwapKitError)throw X;throw new fn.SwapKitError("toolbox_sui_transaction_creation_error",{error:X})}}async function G(l){let W=await o();if(!W)throw new fn.SwapKitError("toolbox_sui_no_signer");if(l instanceof Uint8Array)return W.signTransaction(l);let{txBytes:Q}="tx"in l?l:await A(l);return W.signTransaction(Q)}async function M({assetValue:l,gasBudget:W,recipient:Q}){let N=await o();if(!N)throw new fn.SwapKitError("toolbox_sui_no_signer");let Z=N.toSuiAddress()||await T();if(!Z)throw new fn.SwapKitError("toolbox_sui_no_sender");let{txBytes:z}=await A({assetValue:l,gasBudget:W,recipient:Q,sender:Z}),X=await f();if(!IC(N)){let q=await N.signTransaction(z),{digest:L}=await X.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return L}let{digest:U}=await X.signAndExecuteTransaction({signer:N,transaction:z});return U}async function w(l){let W=await f(),{digest:Q}=await W.executeTransactionBlock({signature:l.signature,transactionBlock:l.bytes});return Q}async function B(l){let W=await o();if(!W)throw new fn.SwapKitError("toolbox_sui_no_signer");let Q=await f(),N;if(typeof l==="string")N=Uint8Array.from(Buffer.from(l,"base64"));else if(l instanceof Uint8Array)N=l;else N=await l.build({client:Q});if(!IC(W)){let z=await W.signTransaction(N),{digest:X}=await Q.executeTransactionBlock({signature:z.signature,transactionBlock:z.bytes});return X}let{digest:Z}=await Q.signAndExecuteTransaction({signer:W,transaction:N});return Z}return{broadcastTransaction:w,createTransaction:A,estimateTransactionFee:_,getAddress:T,getBalance:H,signAndBroadcastTransaction:B,signTransaction:G,transfer:M,validateAddress:$C}}var pC,fn,My;var EC=u(()=>{pC=require("@mysten/sui/utils"),fn=require("@swapkit/helpers"),My=require("ts-pattern")});var Wf={};Mn(Wf,{validateSuiAddress:()=>$C,getSuiToolbox:()=>CA});module.exports=Zn(Wf);var Bf=u(()=>{EC()});async function wA(){let n=Date.now();if(Xf&&n-bC<UA)return Xf;try{return Xf=await VC.getHttpEndpoint(),bC=n,Xf}catch{return Gn.getRPCUrl(Gn.Chain.Ton)}}function qA(n={}){let y,t,o;async function f(){if(!y){let X=n.provider??await wA();y=new h.TonClient({endpoint:X})}return y}async function T(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Yo.match(n).with({phrase:Yo.P.string},async({phrase:X})=>KC.mnemonicToWalletKey(X.split(" "))).with({signer:Yo.P.any},({signer:X})=>X).otherwise(()=>{return}),o}async function H(X){if(!t||X){let U=await C(),q=await f(),L=X||U;if(!L)throw new Gn.SwapKitError("core_wallet_connection_not_found");let Y=h.WalletContractV4.create({publicKey:L.publicKey,workchain:0});t=q.open(Y)}return t}let _=xn(Gn.Chain.Ton);async function A({assetValue:X,recipient:U,memo:q,sender:L}){if(X.isGasAsset){let s=q?z(q).toBoc().toString("base64"):void 0;return[{address:U,amount:X.getBaseValue("string"),payload:s}]}let Y=X.address;if(!Y)throw new Gn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:X.toString()}});let D=L??await T(),J=await N({jettonMasterAddress:Y,ownerAddress:D}),O=h.Address.parse(U),R=h.Address.parse(D),k=X.getBaseValue("bigint"),v=q?z(q):void 0,K=Z({destinationAddress:O,forwardPayload:v,jettonAmount:k,responseAddress:R});return[{address:J.toString(),amount:AA.toString(),payload:K.toBoc().toString("base64")}]}function G({sender:X,...U}){return A({...U,sender:X})}function M(X){return X.map((U)=>{let q=U.payload?h.Cell.fromBase64(U.payload):void 0,L=U.stateInit?h.loadStateInit(h.Cell.fromBase64(U.stateInit).asSlice()):void 0,Y=h.Address.parse(U.address),D=h.Address.isFriendly(U.address)?h.Address.parseFriendly(U.address).isBounceable:!0;return h.internal({body:q,bounce:D,init:L,to:Y,value:BigInt(U.amount)})})}async function w(X){let U=await C(),q=await H();if(!q||!U)throw new Gn.SwapKitError("core_wallet_connection_not_found");let L=await f(),{state:Y}=await L.getContractState(q.address),D=Y==="active",J=D?await q.getSeqno():0,O=q.createTransfer({messages:M(X),secretKey:U.secretKey,sendMode:vC,seqno:J}),R=h.external({body:O,init:D?void 0:q.init,to:q.address});return h.beginCell().store(h.storeMessage(R)).endCell()}async function B(X){return await(await f()).sendFile(X.toBoc()),X.hash().toString("hex")}async function l(X){let U=await w(X);return B(U)}async function W({assetValue:X,recipient:U,memo:q}){let L=await G({assetValue:X,memo:q,recipient:U});return l(L)}async function Q({sender:X,...U}){let{baseDecimal:q}=Gn.getChainConfig(Gn.Chain.Ton),L=await Yo.match(X).with(Yo.P.string,(J)=>{return h.Address.parseFriendly(J).address}).otherwise(async()=>{return(await H()).address});if(!L)throw new Gn.SwapKitError("toolbox_fee_estimation_failed",{chain:Gn.Chain.Ton});let Y=Gn.AssetValue.from({chain:Gn.Chain.Ton,value:"0.01"}),D=await f();try{let J=await G({sender:X,...U}),O=await C(),R=await H();if(!R||!O)return Y;let k=await R.getSeqno(),v=R.createTransfer({messages:M(J),secretKey:O.secretKey,sendMode:vC,seqno:k}),{source_fees:K}=await D.estimateExternalMessageFee(L,{body:v,ignoreSignature:!0,initCode:null,initData:null}),s=K.in_fwd_fee+K.storage_fee+K.gas_fee+K.fwd_fee;return Y.set(Gn.SwapKitNumber.fromBigInt(BigInt(s),q))}catch{return Y}}async function N({jettonMasterAddress:X,ownerAddress:U}){try{let q=await f(),L=h.Address.parse(X),Y=h.Address.parse(U);return await q.open(h.JettonMaster.create(L)).getWalletAddress(Y)}catch{throw new Gn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:X,ownerAddress:U}})}}function Z({jettonAmount:X,destinationAddress:U,responseAddress:q,forwardAmount:L=_A,forwardPayload:Y}){let D=h.beginCell().storeUint(HA,32).storeUint(0,64).storeCoins(X).storeAddress(U).storeAddress(q).storeBit(0).storeCoins(L);if(Y)D.storeBit(1).storeRef(Y);else D.storeBit(0);return D.endCell()}function z(X){return h.beginCell().storeUint(0,32).storeStringTail(X).endCell()}return{broadcastTransaction:B,createTransaction:G,estimateTransactionFee:Q,getAddress:T,getBalance:_,getJettonWalletAddress:N,sign:w,signAndBroadcastTransaction:l,transfer:W,validateAddress:jC}}function jC(n){try{return h.Address.parse(n),!0}catch{return!1}}var VC,Gn,KC,h,Yo,HA=260734629,_A,AA,vC,UA=60000,Xf,bC=0;var cC=u(()=>{hn();VC=require("@orbs-network/ton-access"),Gn=require("@swapkit/helpers"),KC=require("@ton/crypto"),h=require("@ton/ton"),Yo=require("ts-pattern"),_A=h.toNano("0.01"),AA=h.toNano("0.05"),vC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var Mf={};Mn(Mf,{validateTonAddress:()=>jC,getTONToolbox:()=>qA});module.exports=Zn(Mf);var Lf=u(()=>{cC()});function iC({deriveAddress:n,getBalance:y,getUtxos:t}){async function o(H){let{count:_,startIndex:A=0,change:G=!1}=H,M=[];for(let w=0;w<_;w++){let B=await n({change:G,index:A+w});if(B)M.push(B)}return M}async function f(H){let{gapLimit:_=20,change:A=!1}=H??{},G=[],M=0,w=0;while(M<_){let B=await n({change:A,index:w});if(!B)break;if((await y(B.address)).some((Q)=>Q.getValue("number")>0))G.push(B),M=0;else M++;w++}return G}async function T(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[..._,...A],M=await Promise.all(G.map(async(B)=>{let W=(await y(B.address)).reduce((Q,N)=>Q+N.getValue("number"),0);return{...B,balance:W}})),w=M.reduce((B,l)=>B+l.balance,0);return{addresses:M,total:w}}async function C(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[..._,...A];return(await Promise.all(G.map(async(w)=>{return(await t(w.address)).map((l)=>({...l,address:w.address,derivationIndex:w.index,isChange:w.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:T,getAggregatedUtxos:C,scanForAddresses:f}}async function GA({chain:n,txHash:y}){let t=`${Ly(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await j.RequestClient.post(t,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let T=await j.getRPCUrl(n);if(T){let C=JSON.stringify({id:T0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await j.RequestClient.post(T,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Ly(n){return`https://api.blockchair.com/${lA(n)}`}function hC(n){switch(n){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function lA(n){switch(n){case j.Chain.BitcoinCash:return"bitcoin-cash";case j.Chain.Litecoin:return"litecoin";case j.Chain.Dash:return"dash";case j.Chain.Dogecoin:return"dogecoin";case j.Chain.Zcash:return"zcash";case j.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function WA(n){try{let{feePerKb:y}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),t=y/1000;return Math.max(t,hC(n))}catch{return hC(n)}}async function Qf(n,y){let t=await j.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!t||t.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return t.data}async function rC({address:n,chain:y,apiKey:t}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Qf(`${Ly(y)}/dashboards/address/${n}?transaction_details=true`,t))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function BA({address:n,chain:y,apiKey:t}){return(await rC({address:n,apiKey:t,chain:y}))?.address.balance||0}async function gC({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Qf(`${Ly(n)}/raw/transaction/${t}`,y))?.[t]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function MA({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Qf(`${Ly(n)}/dashboards/transaction/${t}`,y))?.[t];if(!f)throw new j.SwapKitError("toolbox_utxo_tx_not_found",{txHash:t});let{transaction:T,inputs:C,outputs:H}=f,_=C.map((G)=>G.spending_sequence),A=T.is_rbf===!0||_.some((G)=>G<XA);return{blockId:T.block_id,confirmed:T.block_id!==-1,fee:T.fee,inputs:C,isRBF:A,outputs:H,sequences:_,size:T.size,txid:T.hash,weight:T.weight}}async function LA({chain:n,address:y,apiKey:t,offset:o=0,limit:f=30}){return(await Qf(`${Ly(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,t)).map(({is_spent:_,script_hex:A,block_id:G,transaction_hash:M,index:w,value:B,spending_signature_hex:l})=>({hash:M,index:w,is_confirmed:G!==-1,is_spent:_,script_hex:A,txHex:l,value:B}))}function QA(n){return n.reduce((y,t)=>y+t.value,0)}function mC(n,y){let t=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let T of t)if(o.push(T),f+=T.value,f>=y)break;return o}return t}async function dC({chain:n,address:y,apiKey:t,targetValue:o,accumulativeValue:f=0,offset:T=0,limit:C=30}){if(!y)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await LA({address:y,apiKey:t,chain:n,limit:C,offset:T,targetValue:o}),A=H.length<C,G=H.filter(({is_spent:Q})=>!Q),M=QA(G),w=f+M,B=o&&w>=o;if(A||B)return mC(G,o);let l=await dC({accumulativeValue:w,address:y,apiKey:t,chain:n,limit:C,offset:T+C,targetValue:o}),W=[...G,...l];return mC(W,o)}catch(H){let _=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function ZA({address:n,chain:y,apiKey:t,fetchTxHex:o=!0,targetValue:f}){let T=await dC({address:n,apiKey:t,chain:y,targetValue:f}),C=[];for(let{hash:H,index:_,script_hex:A,value:G}of T){let M;if(o)M=await gC({apiKey:t,chain:y,txHash:H});C.push({address:n,hash:H,index:_,txHex:M,value:G,witnessUtxo:{script:Buffer.from(A,"hex"),value:G}})}return C}function Qn(n){let y=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(t)=>GA({chain:n,txHash:t}),getAddressData:(t)=>rC({address:t,apiKey:y,chain:n}),getBalance:(t)=>BA({address:t,apiKey:y,chain:n}),getRawTx:(t)=>gC({apiKey:y,chain:n,txHash:t}),getSuggestedTxFee:()=>WA(n),getTransactionDetails:(t)=>MA({apiKey:y,chain:n,txHash:t}),getUtxos:(t)=>ZA({...t,apiKey:y,chain:n})}}function JA(n){return n}function YA(){return function(y){switch(y){case j.Chain.Bitcoin:return No.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return No.NETWORKS.bitcoinCash;case j.Chain.Dash:return No.NETWORKS.dash;case j.Chain.Litecoin:return No.NETWORKS.litecoin;case j.Chain.Dogecoin:return No.NETWORKS.dogecoin;case j.Chain.Zcash:return No.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,No,XA=4294967294;var aC=u(()=>{hn();j=require("@swapkit/helpers"),No=require("@swapkit/utxo-signer")});function DA(n,y,t){return an.encodeCashAddr({hash:t,prefix:n,type:NA[y]})}function OA(n){let y=an.decodeCashAddr(n),t=zA[y.type];if(!t)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:t}}var an,NA,zA,et;var sC=u(()=>{an=require("@swapkit/utxo-signer"),NA={P2PKH:an.CashAddrType.P2PKH,P2SH:an.CashAddrType.P2SH},zA={[an.CashAddrType.P2PKH]:"P2PKH",[an.CashAddrType.P2SH]:"P2SH"};et={decode:OA,encode:DA}});function yT(n){try{return Zf(n),!0}catch{return!1}}function fT(n){return Zf(n)?.network}function sn(n){let y=Zf(n);if(y?.format==="legacy")return n;return SA(y)}function Qy(n){let y=Zf(n);return FA(y)}function Zf(n){try{let y=xA(n);if(y)return y}catch{}try{let y=RA(n);if(y)return y}catch{}throw new nT.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function xA(n){try{let y=y1.decode(n);if(y.length!==21)throw new nT.SwapKitError("toolbox_utxo_invalid_address",{address:n});let t=y[0],o=Array.prototype.slice.call(y,1);switch(t){case zo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case zo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case zo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case zo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case zo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case zo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function RA(n){if(n.indexOf(":")!==-1)try{return eC(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let t of y)try{return eC(`${t}:${n}`)}catch{}}return}function eC(n){try{let{hash:y,prefix:t,type:o}=et.decode(n);return{format:"cashaddr",hash:Array.prototype.slice.call(y,0),network:t==="bitcoincash"?"mainnet":"testnet",type:o==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function SA(n){let y=zo.legacy[n.network][n.type],t=Buffer.alloc(1+n.hash.length);return t[0]=y,t.set(n.hash,1),y1.encode(t)}function FA(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",t=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return et.encode(y,t,o)}var n1,o1,nT,y1,oT,zo;var f1=u(()=>{sC();n1=require("@noble/hashes/sha2.js"),o1=require("@scure/base"),nT=require("@swapkit/helpers"),y1=o1.createBase58check(n1.sha256);((t)=>{t.Mainnet="mainnet";t.Testnet="testnet"})(oT||={});zo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function un(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return T1.Script.encode(["RETURN",y])}var t1,T1,uA=1000,Yf=10,Nf=2,C1=10,kA=41,IA=107,zf,Jf,Zy,$o=(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 t1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},Do=({inputs:n,outputs:y,feeRate:t})=>{let o=n[0]&&"address"in n[0]&&n[0].address?$o(n[0].address):"P2PKH",T=(t?n.filter((A)=>A.value>=Jf["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(t)):n).reduce((A,G)=>A+Ao(G),0),C=y?.reduce((A,G)=>A+Jy(G),0)||Zy[o],H=Yf+T+C;return o==="P2WPKH"?Math.ceil(H+Nf/4):H},Ao=(n)=>{if("type"in n&&n.type)return Jf[n.type];if("address"in n&&n.address)return Jf[$o(n.address)];return kA+IA},Jy=(n,y)=>{if(n?.script)return C1+n.script.length+(n.script.length>=74?2:1);if(y)return Zy[y];if("address"in n&&n.address)return Zy[$o(n.address)];return Zy.P2PKH};var tT=u(()=>{t1=require("@swapkit/helpers"),T1=require("@swapkit/utxo-signer");((t)=>{t.P2PKH="P2PKH";t.P2WPKH="P2WPKH"})(zf||={});Jf={["P2PKH"]:148,["P2WPKH"]:68},Zy={["P2PKH"]:34,["P2WPKH"]:31}});function Yy(n){switch(n){case jn.Chain.Bitcoin:case jn.Chain.BitcoinCash:return 550;case jn.Chain.Dash:case jn.Chain.Litecoin:return 5500;case jn.Chain.Dogecoin:return 1e5;case jn.Chain.Zcash:return 546;default:throw new jn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function En({inputs:n,outputs:y,feeRate:t=1,chain:o=jn.Chain.Bitcoin,changeAddress:f=""}){let T=n[0]&&"address"in n[0]&&n[0].address?$o(n[0].address):"P2PKH",C=n.filter((l)=>Ao(l)*t<=l.value),_=T==="P2WPKH"?Math.ceil(Nf/4):0,A=Yf+_+y.reduce((l,W)=>l+Jy(W),0),G=y.reduce((l,W)=>l+W.value,0),M=A*t,w=0,B=[];for(let l of C){let W=Ao(l),Q=t*W;M+=Q,w+=l.value,B.push(l);let N=M+G;if(w<N)continue;let Z=w-N,z=t*Jy({address:f,value:0});if(Z>z){let X=z+M,U=w-(G+Math.ceil(X));if(U>Math.max(Ao({value:0})*t,Yy(o)))return{fee:Math.ceil(X),inputs:B,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:B,outputs:y}}return{fee:Math.ceil(t*Do({inputs:n,outputs:y}))}}var jn;var H1=u(()=>{tT();jn=require("@swapkit/helpers")});var Eo=u(()=>{aC();f1();H1();tT()});function Oo(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Uo(n){let y=Oo(n);return yT(y)&&fT(y)==="mainnet"}function vo(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=Df.Address(Df.ZCASH_NETWORK).decode(n);return t.type==="pkh"||t.type==="sh"}catch{return!1}}var Df;var Ny=u(()=>{Eo();Df=require("@swapkit/utxo-signer")});function HT({address:n,chain:y}){return CT.match(y).with(S.Chain.BitcoinCash,()=>Uo(n)).with(S.Chain.Zcash,()=>vo(n)).otherwise(()=>{try{return m.Address(kn(y)).decode(n),!0}catch{return!1}})}function kn(n){return CT.match(n).with(S.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(S.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(S.Chain.Dash,()=>m.NETWORKS.dash).with(S.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(S.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(S.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function pA({phrase:n,derivationPath:y,network:t,seed:o}){let f=o??xf.mnemonicToSeedSync(n),C=TT.HDKey.fromMasterSeed(f,t.bip32).derive(y);if(!C.privateKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function _1(n){return A1.secp256k1.getPublicKey(n,!0)}function _T({publicKey:n,chain:y,network:t}){if(y===S.Chain.BitcoinCash){let T=m.p2pkh(n,t);if(!T.hash)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:T.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!zy.includes(y)?m.p2wpkh(n,t):m.p2pkh(n,t);if(!f.address)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function bo({phrase:n,derivationPath:y,chain:t,wif:o,seed:f}){let T=kn(t);if(o){let A=m.WIF(T).decode(o),G=_1(A);return{privateKey:A,publicKey:G}}if(!n)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||S.derivationPathToString(S.NetworkDerivationPath[t]),H=pA({derivationPath:C,network:T,phrase:n,seed:f}),_=_1(H);return{privateKey:H,publicKey:_}}function PA(n,y){return m.WIF(kn(y)).encode(n)}function $A({phrase:n,derivationPath:y,chain:t,seed:o}){let f=y.split("/");if(f.length<4)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let T=kn(t),C=o??xf.mnemonicToSeedSync(n),H=TT.HDKey.fromMasterSeed(C,T.bip32),_=f.slice(0,4).join("/");return H.derive(_)}function qo({inputs:n,outputs:y,chain:t,tx:o,sender:f,compiledMemo:T,enableRBF:C=!1}){let H=kn(t),_=!zy.includes(t),A=C?m.RBF_SEQUENCE:void 0,G=new Set;for(let M of n){let w=`${M.hash}:${M.index}`;if(G.has(w))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let B=typeof M.hash==="string"?wo.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)o.addInput({index:M.index,sequence:A,txid:B,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:wo.hex.decode(M.txHex),sequence:A,txid:B,...t===S.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let w="address"in M&&M.address?M.address:f;if(t===S.Chain.BitcoinCash)w=sn(w);if(M.script){if(T)o.addOutput({amount:0n,script:T})}else o.addOutputAddress(w,BigInt(M.value),H)}return{inputs:n,tx:o}}async function Vo(n){let y=await Qn(n).getSuggestedTxFee();return{[S.FeeOption.Average]:y,[S.FeeOption.Fast]:S.applyFeeMultiplier(y,S.FeeOption.Fast),[S.FeeOption.Fastest]:S.applyFeeMultiplier(y,S.FeeOption.Fastest)}}async function U1({assetValue:n,recipient:y,memo:t,sender:o,fetchTxHex:f=!1}){let T=n.chain,C=(await Vo(T))[S.FeeOption.Fastest],H=f||zy.includes(T),_=n.getBaseValue("number"),A=Math.ceil(_+C*5000);return{inputs:await Qn(T).getUtxos({address:o,fetchTxHex:H,targetValue:A}),outputs:[{address:y,value:_},...t?[{address:"",script:un(t),value:0}]:[]]}}async function w1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f,fetchTxHex:T=!1,enableRBF:C=!1}){let H=n.chain,_=t?un(t):null,A=await U1({assetValue:n,fetchTxHex:T,memo:t,recipient:y,sender:f}),{inputs:G,outputs:M}=En({...A,chain:H,feeRate:o});if(!(G&&M))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:B,tx:l}=qo({chain:H,compiledMemo:_,enableRBF:C,inputs:G,outputs:M,sender:f,tx:w});return{inputs:B,tx:l,utxos:A.inputs}}async function q1({assetValue:n,feeOptionKey:y=S.FeeOption.Fast,feeRate:t,memo:o,sender:f,recipient:T}){let C=n.chain,H=await U1({assetValue:n,memo:o,recipient:T,sender:f}),_=t?Math.floor(t):(await Vo(C))[y];return En({...H,chain:C,feeRate:_})}function EA(n){return async function({from:t,memo:o,feeRate:f,feeOptionKey:T=S.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(t),_=f?Math.ceil(f):(await Vo(n))[T],A=H?.utxo.map((W)=>({...W,hash:"",type:"P2PKH"})).filter((W)=>W.value>Math.max(Yy(n),Ao(W)*_));if(!A?.length)return S.AssetValue.from({chain:n});let G=BigInt(A.reduce((W,Q)=>W+Q.value,0)),M=S.AssetValue.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:t,value:0})):C;if(o)w.push({address:t,script:un(o),value:0});let B=Do({inputs:A,outputs:w}),l=S.AssetValue.from({chain:n,value:BigInt(B*_)});return M.sub(l)}}function vA(n){return async function(t){let{fee:o}=await q1(t);return S.AssetValue.from({chain:n,value:S.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function bA({chain:n,phrase:y,derivationPath:t,seed:o}){let f=kn(n),{privateKey:T,publicKey:C}=bo({chain:n,derivationPath:t,phrase:y,seed:o}),H=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>_T({chain:n,network:f,publicKey:C}),privateKey:T,publicKey:C,signTransaction:(_)=>{return _.sign(T,H),_}}}function VA(n,y){return async function({memo:o,recipient:f,feeOptionKey:T,feeRate:C,assetValue:H,enableRBF:_=!1}){let A=y?.getAddress();if(!(y&&A))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});S.warnOnce({condition:_&&!Of.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=_&&Of.includes(n),M=C||(await Vo(n))[T||S.FeeOption.Fast],{tx:w}=await w1({assetValue:H,enableRBF:G,feeRate:M,memo:o,recipient:f,sender:A});return y.signTransaction(w),w.finalize(),Qn(n).broadcastTx(wo.hex.encode(w.extract()))}}function AT(n){return(y)=>HT({address:y,chain:n})}function UT(n){let y=kn(n);return function(o){if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return _T({chain:n,network:y,publicKey:o.publicKey})}}function Go({chain:n,...y}){let t="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=t?xf.mnemonicToSeedSync(t):void 0,T=S.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[n],{index:o})),C=t?bA({chain:n,derivationPath:T,phrase:t,seed:f}):void 0,H="signer"in y?y.signer:void 0,_=t?bo({chain:n,derivationPath:T,phrase:t,seed:f}):void 0;function A(){if(C)return Promise.resolve(C.getAddress());if(H)return H.getAddress();return Promise.resolve(void 0)}let G=t?$A({chain:n,derivationPath:T,phrase:t,seed:f}):void 0;function M(){if(!G)return;return G.publicExtendedKey}function w({index:X,change:U=!1}){if(!G)return;if(!Number.isInteger(X)||X<0)throw RangeError(`index must be a non-negative integer, got: ${X}`);let q=kn(n),L=G.deriveChild(Number(U)).deriveChild(X);if(!L.publicKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let Y=_T({chain:n,network:q,publicKey:L.publicKey}),D=wo.hex.encode(L.publicKey);return{address:Y,change:U,index:X,pubkey:D}}async function B(X){if(!Of.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let U=await Qn(n).getTransactionDetails(X);return{canReplace:U.isRBF&&!U.confirmed,confirmed:U.confirmed,enabled:U.isRBF,fee:U.fee,sequences:U.sequences,supported:!0}}async function l({txid:X,newFeeRate:U,recipient:q,memo:L}){if(!Of.includes(n))throw new S.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let Y=await Qn(n).getTransactionDetails(X);if(!Y.isRBF)throw new S.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:X});if(Y.confirmed)throw new S.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:Y.blockId,txid:X});let D=Y.inputs.reduce((An,On)=>An+On.value,0),O=Y.outputs.find((An)=>An.recipient===q)?.value||0;if(O===0)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let R=await Promise.all(Y.inputs.map(async(An)=>{let On=await Qn(n).getRawTx(An.transaction_hash);return{hash:An.transaction_hash,index:An.index,txHex:On,value:An.value,witnessUtxo:void 0}})),k=L?un(L):null,v=Do({feeRate:U,inputs:R.map((An)=>({...An,type:"P2WPKH"})),outputs:[{address:q,value:O}]}),K=Math.ceil(v*U);if(K<=Y.fee)throw new S.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:K,originalFee:Y.fee});let s=K-Y.fee,on=O-s;if(on<=0)throw new S.SwapKitError("toolbox_utxo_rbf_insufficient_change");let wn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Yn=[{address:q,value:on},...L?[{address:"",script:un(L),value:0}]:[]],Dn=D-on-K,Xn=await A();if(Dn>Yy(n)&&Xn)Yn.push({address:Xn,value:Dn});return qo({chain:n,compiledMemo:k,inputs:R,outputs:Yn,sender:Xn||q,tx:wn}),{feeDelta:s,newFee:K,originalFee:Y.fee,tx:wn}}async function W({txid:X,newFeeRate:U,recipient:q,memo:L}){if(!C)throw new S.SwapKitError("toolbox_utxo_no_signer");let{tx:Y,originalFee:D,newFee:J}=await l({memo:L,newFeeRate:U,recipient:q,txid:X});C.signTransaction(Y),Y.finalize();let O=await Qn(n).broadcastTx(wo.hex.encode(Y.extract()));return{newFee:J,originalFee:D,txid:O}}function Q({index:X,change:U=!1}){if(!G)return;return G.deriveChild(Number(U)).deriveChild(X).privateKey||void 0}function N({tx:X,inputDerivations:U}){if(!G)throw new S.SwapKitError("toolbox_utxo_no_signer");let q=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let L=0;L<U.length;L++){let Y=U[L];if(!Y)continue;let{derivationIndex:D,isChange:J}=Y,O=Q({change:J,index:D});if(!O)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${L} at index ${D}`});X.signIdx(O,L,q)}return X}async function Z({utxos:X,recipient:U,assetValue:q,memo:L,feeRate:Y,feeOptionKey:D,changeAddress:J}){if(!G)throw new S.SwapKitError("toolbox_utxo_no_signer");let O=Y||(await Vo(n))[D||S.FeeOption.Fast],R=L?un(L):null,k=[{address:U,value:q.getBaseValue("number")}];if(R)k.push({address:"",script:R,value:0});let v=X.map(({hash:Xn,index:An,value:On,txHex:lo,witnessUtxo:Ro})=>({hash:Xn,index:An,txHex:lo,value:On,witnessUtxo:Ro?{script:Ro.script,value:Ro.value}:void 0})),{inputs:K,outputs:s}=En({chain:n,feeRate:O,inputs:v,outputs:k});if(!(K&&s))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:q,sender:"multiple addresses"});let on=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),wn=X[0]?.address,Yn=J||await A()||wn||U;qo({chain:n,compiledMemo:R,inputs:K,outputs:s,sender:Yn,tx:on});let Dn=K.map((Xn)=>{let An=X.find((On)=>On.hash===Xn.hash&&On.index===Xn.index);return An?{derivationIndex:An.derivationIndex,isChange:An.isChange}:{derivationIndex:0,isChange:!1}});return N({inputDerivations:Dn,tx:on}),on.finalize(),Qn(n).broadcastTx(wo.hex.encode(on.extract()))}function z({address:X,gapLimit:U=20}){if(!G)return;for(let q=0;q<U;q++){let L=w({change:!1,index:q}),Y=w({change:!0,index:q}),D=L?.address===X?!1:Y?.address===X;if(L?.address===X||Y?.address===X)return{change:D,index:q}}return}return{accumulative:En,broadcastTx:(X)=>Qn(n).broadcastTx(X),bumpFee:W,calculateTxSize:Do,createKeysForPath:(X)=>bo({...X,chain:n}),createReplacementTransaction:l,createTransaction:w1,deriveAddressAtIndex:w,derivePrivateKeyAtIndex:Q,estimateMaxSendableAmount:EA(n),estimateTransactionFee:vA(n),getAddress:A,getAddressFromKeys:UT(n),getBalance:xn(n),getExtendedPublicKey:M,getFeeRates:()=>Vo(n),getInputsOutputsFee:q1,getNetworkForChain:()=>kn(n),getPrivateKeyFromMnemonic:(X)=>PA(bo({...X,chain:n}).privateKey,n),isRBFEnabled:B,keys:_,resolveDerivationIndex:z,signAndBroadcastTransaction:async(X)=>{if(!C)throw new S.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(X),X.finalize(),await Qn(n).broadcastTx(wo.hex.encode(X.extract()))},signTransactionWithMultipleKeys:N,transfer:VA(n,C),transferFromMultipleAddresses:Z,validateAddress:AT(n)}}var A1,wo,TT,xf,S,m,CT,zy,Of;var Dy=u(()=>{hn();Eo();Ny();A1=require("@noble/curves/secp256k1.js"),wo=require("@scure/base"),TT=require("@scure/bip32"),xf=require("@scure/bip39"),S=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),CT=require("ts-pattern"),zy=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash],Of=[S.Chain.Bitcoin]});function Oy(n){return Oo(Qy(n))}function KA(n){let y=kn(cn);function t(f){return f.sign(n.privateKey,[Bn.BCHSigHash.ALL]),f}function o(){let f=Bn.p2pkh(n.publicKey,y);if(!f.hash)throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let T=Bn.encodeCashAddr({hash:f.hash,prefix:Bn.CashAddrPrefix.MAINNET,type:Bn.CashAddrType.P2PKH});return Promise.resolve(T.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:t}}function wT(n){let y="phrase"in n?n.phrase:void 0,t="index"in n?n.index||0:0,o=Wn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Wn.updateDerivationPath(Wn.NetworkDerivationPath[cn],{index:t})),f=y?bo({chain:cn,derivationPath:o,phrase:y}):void 0,T=f?KA(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(T?.getAddress())}let{getBalance:H,getFeeRates:_,broadcastTx:A,...G}=Go({chain:cn});function M(w,B=!0){return H(Oo(Qy(w)))}return{...G,broadcastTx:A,buildTx:cA,createTransaction:l1,getAddress:C,getAddressFromKeys:iA,getBalance:M,getFeeRates:_,stripPrefix:Oo,stripToCashAddress:Oy,transfer:jA({broadcastTx:A,getFeeRates:_,signer:T}),validateAddress:Uo}}async function l1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){if(!Uo(y))throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let T=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(cn).getUtxos({address:Oy(f),fetchTxHex:!0,targetValue:T}),H=t?un(t):null,_=[],A=sn(y);if(_.push({address:A,value:n.getBaseValue("number")}),H)_.push({script:H,value:0});let{inputs:G,outputs:M}=En({chain:cn,feeRate:o,inputs:C,outputs:_});if(!(G&&M))throw new Wn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Bn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),B=sn(f),{inputs:l,tx:W}=qo({chain:cn,compiledMemo:H,inputs:G,outputs:M.map((Q)=>("address"in Q)&&Q.address?{...Q,address:sn(Q.address)}:Q),sender:B,tx:w});return{inputs:l,tx:W,utxos:G}}function jA({broadcastTx:n,getFeeRates:y,signer:t}){return async function({recipient:f,assetValue:T,feeOptionKey:C=Wn.FeeOption.Fast,...H}){let _=await t?.getAddress();if(!(t&&_))throw new Wn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Wn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=H.feeRate||(await y())[C],{tx:G}=await l1({...H,assetValue:T,feeRate:A,recipient:f,sender:_}),M=await t.signTransaction(G);return M.finalize(),n(G1.hex.encode(M.extract()))}}async function cA({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){let T=Qy(y);if(!Uo(T))throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{address:T});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(cn).getUtxos({address:Oy(f),fetchTxHex:!0,targetValue:C}),_=Number(o.toFixed(0)),A=t?un(t):null,G=[];if(G.push({address:sn(y),value:n.getBaseValue("number")}),A)G.push({script:A,value:0});let{inputs:M,outputs:w}=En({chain:cn,feeRate:_,inputs:H,outputs:G});if(!(M&&w))throw new Wn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let B=new Bn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:l,tx:W}=qo({chain:cn,compiledMemo:A,inputs:M,outputs:w,sender:sn(f),tx:B});return{inputs:l,tx:W,utxos:H}}function iA(n){let y=Bn.NETWORKS.bitcoinCash,t=Bn.p2pkh(n.publicKey,y);if(!t.hash)throw new Wn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Bn.encodeCashAddr({hash:t.hash,prefix:Bn.CashAddrPrefix.MAINNET,type:Bn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var G1,Wn,Bn,cn;var Rf=u(()=>{Eo();Dy();Ny();G1=require("@scure/base"),Wn=require("@swapkit/helpers"),Bn=require("@swapkit/utxo-signer"),cn=Wn.Chain.BitcoinCash});function B1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function mA(n){return hA.encode(n)}function rA({phrase:n,derivationPath:y}){let t=GT.mnemonicToSeedSync(n),f=qT.HDKey.fromMasterSeed(t).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:T,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:_}=_n.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(A.length+H.length);G.set(A,0),G.set(H,A.length);let M=mA(G);return{getAddress:()=>Promise.resolve(M),signTransaction:(w)=>{if(w instanceof tn.PCZT)return w.signAllInputs(T,C,tn.ZcashSigHash.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(T,C,tn.ZcashSigHash.ALL),Promise.resolve(w)}}}function gA({inputs:n,outputs:y,tx:t,sender:o,compiledMemo:f}){let T=B1();for(let C of n){let H=tn.Address(T).decode(o),_=tn.OutScript.encode(H);t.addInput({index:C.index,script:_,sequence:4294967295,txid:Sf.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,_=C.script;if(_&&!f)continue;if(_&&f)t.addOutput({amount:0n,script:f});else t.addOutputAddress(H,BigInt(C.value),T)}return{inputs:n,tx:t}}async function W1(n){let{assetValue:y,recipient:t,memo:o,feeRate:f,sender:T,fetchTxHex:C}=n,H=o?un(o):null,_=await Qn(_n.Chain.Zcash).getUtxos({address:T,fetchTxHex:C!==!1}),A=[{address:t,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:M}=En({chain:_n.Chain.Zcash,changeAddress:T,feeRate:f,inputs:_,outputs:A});if(!(G&&M))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let w=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:B,inputs:l}=gA({compiledMemo:H,inputs:G,outputs:M,sender:T,tx:w});return{inputs:l,outputs:M,tx:B}}function lT(n){let y=Ko.match(n).with({signer:Ko.P.not(Ko.P.nullish)},({signer:_})=>_).with({phrase:Ko.P.string},({phrase:_,derivationPath:A,index:G=0})=>{let M=A||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],w=_n.updateDerivationPath(M,{index:G}),B=_n.derivationPathToString(w);return rA({derivationPath:B,phrase:_})}).otherwise(()=>{return}),t=Go({chain:_n.Chain.Zcash,signer:y});async function o({recipient:_,assetValue:A,feeOptionKey:G=_n.FeeOption.Fast,...M}){let w=await y?.getAddress();if(!(y&&w))throw new _n.SwapKitError("toolbox_utxo_no_signer");let B=M.feeRate||(await t.getFeeRates())[G],{tx:l}=await W1({...M,assetValue:A,feeRate:B,recipient:_,sender:w}),Q=(await y.signTransaction(l)).toHex();return t.broadcastTx(Q)}function f({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let G=GT.mnemonicToSeedSync(_),w=qT.HDKey.fromMasterSeed(G).derive(A);if(!w.privateKey||!w.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:w.privateKey,publicKey:w.publicKey}}function T({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let G=f({derivationPath:A,phrase:_}),M=B1();return tn.WIF(M).encode(G.privateKey)}function C(_){return async function(G){if(!_)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await _.signTransaction(G)}}function H(_){return async function(G){if(!_)throw new _n.SwapKitError("toolbox_utxo_no_signer");let M=await _.signTransaction(G);return t.broadcastTx(M.toHex())}}return{...t,createKeysForPath:f,createTransaction:W1,getPrivateKeyFromMnemonic:T,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:vo}}var Sf,qT,GT,_n,tn,Ko,hA;var WT=u(()=>{Eo();Dy();Ny();Sf=require("@scure/base"),qT=require("@scure/bip32"),GT=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),Ko=require("ts-pattern");hA=Sf.createBase58check(tn.utils.sha256)});function dA(n,y){switch(n){case en.Chain.BitcoinCash:return wT(y||{});case en.Chain.Zcash:return lT(y);case en.Chain.Bitcoin:case en.Chain.Dogecoin:case en.Chain.Litecoin:case en.Chain.Dash:return Go({chain:n,...y});default:throw new en.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var en;var X1=u(()=>{Rf();Dy();WT();Rf();Ny();en=require("@swapkit/helpers")});var BT={};Mn(BT,{validateZcashAddress:()=>vo,validateUtxoAddress:()=>HT,validateBchAddress:()=>Uo,toLegacyAddress:()=>sn,toCashAddress:()=>Qy,stripToCashAddress:()=>Oy,stripPrefix:()=>Oo,nonSegwitChains:()=>zy,isValidAddress:()=>yT,getUtxoToolbox:()=>dA,getUtxoNetwork:()=>YA,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>AT,getScriptTypeForAddress:()=>$o,getOutputSize:()=>Jy,getNetworkForChain:()=>kn,getInputSize:()=>Ao,getDustThreshold:()=>Yy,detectAddressNetwork:()=>fT,createZcashToolbox:()=>lT,createUTXOToolbox:()=>Go,createHDWalletHelpers:()=>iC,createCustomUtxoApi:()=>JA,createBCHToolbox:()=>wT,compileMemo:()=>un,calculateTxSize:()=>Do,addressFromKeysGetter:()=>UT,addInputsAndOutputs:()=>qo,accumulative:()=>En,UtxoNetwork:()=>oT,UTXOScriptType:()=>zf,TX_OVERHEAD:()=>Yf,SEGWIT_MARKER_FLAG_WEIGHT:()=>Nf,OutputSizes:()=>Zy,OP_RETURN_OVERHEAD:()=>C1,MIN_TX_FEE:()=>uA,InputSizes:()=>Jf});module.exports=Zn(BT);var XT=u(()=>{Dy();Eo();X1();Rf();WT()});function xy(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function uf(n){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:t}=await import("@near-js/crypto"),o=n.index||0,f=n.derivationPath?Ff.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=y(n.phrase,f),C=t.fromString(T);return Q1(C)}async function MT(n){let{KeyPair:y}=await import("@near-js/crypto"),t=y.fromString(n);return Q1(t)}function Q1(n){return new L1(n)}async function kf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ff.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),T=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:T}}var M1,Ff,L1;var LT=u(()=>{M1=require("@near-js/signers"),Ff=require("@swapkit/helpers");L1=class L1 extends M1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function QT(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function ZT(n){return"contractId"in n&&"methodName"in n}function JT(n){return"actions"in n}function YT(n){return"newAccountId"in n}function NT(n){return"contractCode"in n}function zT(n){return"customEstimator"in n}function DT(n){let y=0;for(let t of n)switch(t.enum){case"transfer":y+=Number(Jn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Jn.CONTRACT_CALL);break;case"createAccount":y+=Number(Jn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Jn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Jn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Jn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Jn.STAKE);break;default:y+=Number(Jn.CONTRACT_CALL)}return y.toString()}function OT(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Jn.TOKEN_TRANSFER;if(n==="storage_deposit")return Jn.STORAGE_DEPOSIT;return Jn.CONTRACT_CALL}function aA(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function sA(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Jn;var xT=u(()=>{Jn={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 RT({account:n,contractId:y,viewMethods:t,changeMethods:o}){let{Contract:f}=await import("@near-js/accounts");return new f(n,y,{changeMethods:o,useLocalViewExecution:!0,viewMethods:t})}function eA(n){let y;async function t(){if(y)return y;return y=await jo.match(n).with({phrase:jo.P.string},async(J)=>{return await uf(J)}).with({signer:jo.P.any},({signer:J})=>J).otherwise(()=>{return}),y}async function o(){let J=await nn.getRPCUrl(nn.Chain.Near);return new Z1.JsonRpcProvider({url:J})}async function f(J){let{Account:O}=await import("@near-js/accounts"),R=await o(),k=await t(),v=J||await T();return new O(v,R,k)}async function T(){let J=await t();if(!J)throw new nn.SwapKitError("toolbox_near_no_signer");return await J.getAddress()}async function C(J){return(await X({changeMethods:[],contractId:J.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:J.accountId})}async function H(J){let R=[await w({args:{account_id:J.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await w({args:{amount:J.assetValue.getBaseValue("string"),memo:J.memo||null,receiver_id:J.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:R,receiverId:J.contractId})}async function _(J){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:k,memo:v}=J,K=await T();if(!R.isGasAsset&&R.address){if(!await C({accountId:k,contractId:R.address}))return H({assetValue:R,contractId:R.address,memo:v,recipient:k})}let s=await A({...J,sender:K});return W(s)}async function A({recipient:J,assetValue:O,memo:R,attachedDeposit:k,sender:v,functionCall:K}){let s=await o();if(!xy(J))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:J});if(!xy(v))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:v});if(K)return M({...K,sender:v});if(!O.isGasAsset){let gT=O.address;if(!gT)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:R||null,receiver_id:J},attachedDeposit:k||"1",contractId:gT,gas:"250000000000000",methodName:"ft_transfer",sender:v})}let{publicKey:on,nonce:wn}=await kf(s,v),Yn=O.getBaseValue("bigint"),{actionCreators:Dn,createTransaction:Xn}=await import("@near-js/transactions"),{baseDecode:An}=await import("@near-js/utils"),On=[Dn.transfer(Yn)];if(R&&k)On.push(Dn.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(k)));let lo=await s.block({finality:"final"}),Ro=An(lo.header.hash);return Xn(v,on,J,wn+1,On,Ro)}function G(J){let O=J.encode();return Buffer.from(O).toString("base64")}async function M({args:J,attachedDeposit:O,contractId:R,gas:k,methodName:v,sender:K}){let s=await o(),{publicKey:on,nonce:wn}=await kf(s,K),{createTransaction:Yn,actionCreators:Dn}=await import("@near-js/transactions"),{baseDecode:Xn}=await import("@near-js/utils"),An=await s.block({finality:"final"}),On=Xn(An.header.hash),lo=[Dn.functionCall(v,Buffer.from(JSON.stringify(J)),BigInt(k),BigInt(O))];return Yn(K,on,R,wn+1,lo,On)}async function w(J){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(J.methodName,Buffer.from(JSON.stringify(J.args)),BigInt(J.gas),BigInt(J.attachedDeposit))}async function B(J){let O=await t();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let[R,k]=await O.signTransaction(J);return k}async function l(J){return(await(await o()).sendTransaction(J)).transaction.hash}async function W(J){let O=await t();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let R=await B(J);return await l(R)}catch{return O.signAndSendTransactions?.({transactions:[J]})}}async function Q(J){let O=await t();if("assetValue"in J){let k=await N();try{let v=await nn.getRPCUrl(nn.Chain.Near),K=await fetch(v,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:s}}=await K.json(),{execution:on,send_sir:wn}=s.transaction_costs.action_receipt_creation_config,{execution:Yn,send_sir:Dn}=s.transaction_costs.action_creation_config.transfer_cost,Xn=BigInt(Dn)+BigInt(Yn),An=BigInt(wn)+BigInt(on),lo=(Xn+An)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:lo})}catch(v){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",v);let K=BigInt("115123062500"),s=BigInt("108059500000"),wn=(K+s)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:wn})}}let R=O?await f():void 0;return q(J,R)}async function N(){let J=await o();try{return await J.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Z(J,O,R){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let v=await f(),{formatNearAmount:K}=await import("@near-js/utils"),{PublicKey:s}=await import("@near-js/crypto"),on=K(R)||"0";return(await v.createAccount(J,s.fromString(O),BigInt(on))).transaction.hash}async function z(J){let O=await t();try{if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:R}=await import("@near-js/transactions"),{contractId:k,methodName:v,args:K,deposit:s}=J,on=await f(),wn=await q({args:K||{},contractId:k,methodName:v}),Yn=R.functionCall(v,K||{},wn.getBaseValue("bigint"),BigInt(s||"1"));return(await on.signAndSendTransaction({actions:[Yn],receiverId:k})).transaction_outcome.id}catch(R){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function X(J){let O=await f();return RT({account:O,changeMethods:J.changeMethods,contractId:J.contractId,viewMethods:J.viewMethods})}async function U(J){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");if(J.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:J.actions,receiverId:J.receiverId})).transaction.hash}async function q(J,O){let R=await jo.match(J).when(QT,()=>Jn.SIMPLE_TRANSFER).when(ZT,(v)=>OT(v.methodName)).when(JT,(v)=>DT(v.actions)).when(YT,()=>Jn.ACCOUNT_CREATION).when(NT,()=>Jn.CONTRACT_DEPLOYMENT).when(zT,(v)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return v.customEstimator(O)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(R)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function L(J,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),q(J,O)}async function Y(){let J=await o();try{return(await J.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let J=await t();return J?(await J.getPublicKey()).toString():""}return{broadcastTransaction:l,callFunction:z,createAction:w,createContract:X,createContractFunctionCall:M,createSubAccount:Z,createTransaction:A,estimateGas:L,estimateGasLimit:q,estimateTransactionFee:Q,executeBatchTransaction:U,getAddress:T,getBalance:xn(nn.Chain.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:uf,getSignerFromPrivateKey:MT,serializeTransaction:G,signAndBroadcastTransaction:W,signTransaction:B,transfer:_,validateAddress:xy}}var Z1,nn,jo;var ST=u(()=>{hn();LT();xT();Z1=require("@near-js/providers"),nn=require("@swapkit/helpers"),jo=require("ts-pattern")});var J1=u(()=>{ST()});var FT={};Mn(FT,{validateNearAddress:()=>xy,tgasToGas:()=>aA,isSimpleTransfer:()=>QT,isCustomEstimator:()=>zT,isContractDeployment:()=>NT,isContractCall:()=>ZT,isBatchTransaction:()=>JT,isAccountCreation:()=>YT,getNearToolbox:()=>eA,getNearSignerFromPrivateKey:()=>MT,getNearSignerFromPhrase:()=>uf,getFullAccessPublicKey:()=>kf,getContractMethodGas:()=>OT,gasToTGas:()=>sA,estimateBatchGas:()=>DT,createNearContract:()=>RT,GAS_COSTS:()=>Jn});module.exports=Zn(FT);var uT=u(()=>{LT();xT();ST();J1()});var kT={};Mn(kT,{validateRadixAddress:()=>z1,getRadixToolbox:()=>t5});module.exports=Zn(kT);function z1(n){return n.startsWith("account_rdx1")&&n.length===66}function n5({networkApi:n}){return async function(t){let o=await o5({address:t,networkApi:n}),f=await y5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[vn.AssetValue.from({chain:vn.Chain.Radix}),...f];return f}}async function o5({address:n,networkApi:y}){let t=!0,o,f=[],T=await f5(y);while(t){let C={address:n,at_ledger_state:{state_version:T},cursor:o,limit_per_page:100},H=await y.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:C});if(f=f.concat(H.items),H.next_cursor)o=H.next_cursor;else t=!1}return f}async function y5({resources:n,networkApi:y}){let t=[],o=50,f=[];for(let T=0;T<n.length;T+=50)f.push(n.slice(T,T+50));for(let T of f){let C=T.map((A)=>A.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),_=new Map;for(let A of H)if(A.details!==void 0){let G=A.metadata?.items.find((w)=>w.key==="symbol"),M=G?.value.typed.type==="String"?G.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of T)if(A.aggregation_level==="Global"){let G=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=vn.AssetValue.from({asset:G.symbol!==vn.Chain.Radix?`${vn.Chain.Radix}.${G.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});t.push(M)}}return t}async function f5(n){return(await n.status.getCurrent()).ledger_state.state_version}function t5({dappConfig:n}={}){let y=n||vn.SKConfig.get("integrations").radix,t=N1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=Y1.GatewayApiClient.initialize(t.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:n5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:z1}}var Y1,N1,vn;var IT=u(()=>{Y1=require("@radixdlt/babylon-gateway-api-sdk"),N1=require("@radixdlt/radix-dapp-toolkit"),vn=require("@swapkit/helpers")});function If(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Ry(n){if(If(n))return n.toUpperCase();if(n.length<=3){let t=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${t}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new D1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function T5(n){if(!If(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let t=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(t)&&t.length>0)return t}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),t=y.length%2===0?y:`${y}0`,o=Buffer.from(t,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function co(n){if(If(n))return n.toUpperCase();if(n.length<=3)return n;return Ry(n)}var D1;var pf=u(()=>{D1=require("@swapkit/helpers")});async function C5(n,y){let t=co(n),o=$f.find((f)=>co(f.currency)===t&&f.issuer===y);if(o)return o;try{let f=await Pf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){Pf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function H5(n){return $f.filter((y)=>y.issuer===n)}function _5(n,y){let t=co(n);return $f.some((o)=>co(o.currency)===t&&o.issuer===y)}var Pf,$f;var O1=u(()=>{pf();Pf=require("@swapkit/helpers"),$f=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var pT={};Mn(pT,{validateRippleAddress:()=>vf,parseXrplTokenIdentifier:()=>S1,normalizeCurrency:()=>co,isKnownToken:()=>_5,isHexCurrency:()=>If,hexToCurrency:()=>T5,hashes:()=>u1.hashes,getXrplTokenInfo:()=>C5,getRippleToolbox:()=>U5,getKnownTokensByIssuer:()=>H5,formatXrplTokenIdentifier:()=>F1,currencyToHex:()=>Ry,XRPL_TOKEN_ERROR_CODES:()=>Ef,XRPL_KNOWN_TOKENS:()=>$f});module.exports=Zn(pT);function S1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!no.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function F1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function A5(n){if(n.isGasAsset)return no.xrpToDrops(n.getValue("string"));let y=S1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function R1(n){let y=no.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(t)=>Promise.resolve(y.sign(t))}}function vf(n){return no.isValidAddress(n)}function U5(n={}){let y=io.match(n).with({phrase:io.P.string},({phrase:Z})=>R1(Z)).with({signer:io.P.any},({signer:Z})=>Z).otherwise(()=>{return}),t;async function o(){let Z=await i.getRPCUrl(i.Chain.Ripple);if(!Z)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let z=new no.Client(Z);return await z.connect(),z}async function f(){if(t){let Z=await t.catch(()=>null);if(Z?.isConnected())return Z}return t=o(),t}let T=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(Z)=>{let z=Z||await T(),{baseDecimal:X}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[q,L]=await Promise.all([U.request({account:z,command:"account_info"}),U.request({account:z,command:"account_lines"})]),Y=q.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:X,value:Y})];for(let J of L.result.lines){let O=F1(J.currency,J.account);if(Number.parseFloat(J.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:J.balance}))}return D}catch(q){if(q.data?.error_code===x1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:z,error:q}})}},H=async()=>{let{baseDecimal:Z}=i.getChainConfig(i.Chain.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Z,value:U})};async function _(Z){let z=Z||await T(),X=await f();try{return(await X.request({account:z,command:"account_lines"})).result.lines.map((q)=>({account:q.account,authorized:q.authorized??!1,balance:q.balance,currency:q.currency,freeze:q.freeze??!1,freezePeer:q.freeze_peer??!1,limit:q.limit,limitPeer:q.limit_peer,noRipple:q.no_ripple??!1,noRipplePeer:q.no_ripple_peer??!1,peerAuthorized:q.peer_authorized??!1,qualityIn:q.quality_in??0,qualityOut:q.quality_out??0}))}catch(U){if(U.data?.error_code===x1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:z,error:U}})}}async function A({address:Z,currency:z,issuer:X}){let U=await _(Z),q=Ry(z);return U.some((L)=>{return Ry(L.currency)===q&&L.account===X})}async function G({currency:Z,issuer:z,limit:X,sender:U}){let q=U||await T();if(!vf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:z}});let L=Number.parseFloat(X);if(Number.isNaN(L)||L<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:X}});let Y=await f(),D={Account:q,LimitAmount:{currency:Z,issuer:z,value:X},TransactionType:"TrustSet"};return Y.autofill(D)}async function M({assetValue:Z,recipient:z,memo:X,sender:U,destinationTag:q,extendBySeconds:L=150}){if(!vf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await T();if(Z.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:Z.toString()}});let D=A5(Z),J={Account:Y,Amount:D,Destination:z,TransactionType:"Payment",...q!==void 0&&{DestinationTag:q}};if(X)J.Memos=[{Memo:{MemoData:Buffer.from(X).toString("hex")}}];let R=await(await f()).autofill(J);if(R.LastLedgerSequence&&L>0)R.LastLedgerSequence+=Math.ceil(L/4);return R}function w(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(Z)}async function B(Z){let X=await(await f()).submitAndWait(Z),{result:U}=X;if(U.validated)return U.hash;let q=U.meta?.TransactionResult,L=io.match(q).with(Ef.tecNO_LINE,()=>"No trust line exists for this token").with(Ef.tecPATH_DRY,()=>"Payment path could not deliver funds").with(Ef.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...L?{reason:L}:{txResult:q}}})}let l=async(Z)=>{try{let z=await w(Z);return B(z.tx_blob)}catch(z){if(z instanceof i.SwapKitError)throw z;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:z}})}};async function W(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),X=await M({...Z,sender:z}),U=await w(X);return B(U.tx_blob)}async function Q(Z){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),X=await G({...Z,sender:z}),U=await w(X);return B(U.tx_blob)}function N(){let Z=t;if(t=null,Z)Z.then((z)=>{if(z?.isConnected())return z.disconnect();return}).catch((z)=>{console.warn("XRPL Cleanup failed silently:",z)})}return{broadcastTransaction:B,createSigner:R1,createTransaction:M,disconnect:N,estimateTransactionFee:H,getAddress:T,getBalance:C,getTrustLines:_,hasTrustLine:A,setTrustLine:G,setTrustLineAndBroadcast:Q,signAndBroadcastTransaction:l,signTransaction:w,transfer:W,validateAddress:vf}}var i,io,no,u1,x1,Ef;var PT=u(()=>{pf();i=require("@swapkit/helpers"),io=require("ts-pattern"),no=require("xrpl");pf();O1();u1=require("xrpl"),x1={ACCOUNT_NOT_FOUND:19},Ef={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function $T(n,y){let t=0n,o=0n,f=y;while(f<n.length&&f-y<10){let T=n[f++];if(T===void 0)break;if(t|=BigInt(T&127)<<o,o+=7n,(T&128)===0)return[t,f]}throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed")}function Sy(n){let y=[],t=n<0n?n+2n**64n:n;while(t>=128n)y.push(Number(t&0x7fn)|128),t>>=7n;return y.push(Number(t)),y}function bf(n,y,t){let o=n.get(y);if(o)o.push(t);else n.set(y,[t])}function l5(n){let y=new Map,t=0;while(t<n.length){let[o,f]=$T(n,t);t=f;let T=Number(o>>3n),C=Number(o&7n);if(C===Vf){let[H,_]=$T(n,t);t=_,bf(y,T,{data:new Uint8Array(Sy(H)),wireType:Vf})}else if(C===Kf){let[H,_]=$T(n,t);t=_;let A=Number(H);if(A<0||t+A>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let G=n.slice(t,t+A);t+=A,bf(y,T,{data:G,wireType:Kf})}else if(C===k1){if(t+8>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+8);t+=8,bf(y,T,{data:H,wireType:k1})}else if(C===I1){if(t+4>n.length)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+4);t+=4,bf(y,T,{data:H,wireType:I1})}else throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function W5(n){let y=[];for(let[T,C]of[...n.entries()].sort(([H],[_])=>H-_))for(let{wireType:H,data:_}of C){let A=BigInt(T<<3|H);if(y.push(new Uint8Array(Sy(A))),H===Kf)y.push(new Uint8Array(Sy(BigInt(_.length))));y.push(_)}let t=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(t),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function P1(n,y){if(!n||n.length%2!==0)throw new xo.SwapKitError("toolbox_tron_transaction_creation_failed");let t=ho.hexToBytes(n),o=l5(t);if(y.expiration!==void 0)o.set(w5,[{data:new Uint8Array(Sy(BigInt(y.expiration))),wireType:Vf}]);if(y.data!==void 0)o.set(q5,[{data:ho.hexToBytes(y.data),wireType:Kf}]);if(y.fee_limit!==void 0)o.set(G5,[{data:new Uint8Array(Sy(BigInt(y.fee_limit))),wireType:Vf}]);let f=W5(o),T=ho.bytesToHex(f),C=ho.bytesToHex(p1.sha256(f));return{raw_data_hex:T,txID:C}}var p1,ho,xo,Vf=0,k1=1,Kf=2,I1=5,w5=8,q5=10,G5=18;var $1=u(()=>{p1=require("@noble/hashes/sha2.js"),ho=require("@noble/hashes/utils.js"),xo=require("@swapkit/helpers")});function bn(n){if(typeof n!=="string")return!1;try{let y=jf.decode(n);return y.length===21&&y[0]===b1}catch{return!1}}function V1(n){return pn.bytesToHex(jf.decode(n))}function X5(n){return jf.decode(n).slice(1)}function K1(n){let y=ET.secp256k1.getPublicKey(pn.hexToBytes(n),!1),t=E1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=b1,o.set(t,1),jf.encode(o)}function j1({txID:n,privateKey:y}){let t=ET.secp256k1.sign(pn.hexToBytes(n),pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=t[0]??0,f=pn.bytesToHex(t.slice(1,33)),T=pn.bytesToHex(t.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+T+C}function mo({txID:n,raw_data_hex:y}){let t=pn.bytesToHex(vT.sha256(pn.hexToBytes(y)));if(n!==t)throw new bT.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:t,txID:n})}function M5(n){return`000000000000000000000000${pn.bytesToHex(X5(n))}`}function L5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=B5)throw new bT.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function ro(n){return n.map(({type:y,value:t})=>y==="address"?M5(t):L5(BigInt(t))).join("")}function c1(n){return pn.bytesToHex(new TextEncoder().encode(n))}var ET,vT,E1,pn,v1,bT,jf,b1=65,B5;var VT=u(()=>{ET=require("@noble/curves/secp256k1.js"),vT=require("@noble/hashes/sha2.js"),E1=require("@noble/hashes/sha3.js"),pn=require("@noble/hashes/utils.js"),v1=require("@scure/base"),bT=require("@swapkit/helpers"),jf=v1.createBase58check(vT.sha256),B5=2n**256n});function h1(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return i1}}function m1(){let n=new AbortController,y=setTimeout(()=>n.abort(),Y5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function go(n,y){let{signal:t,cleanup:o}=m1();try{let f=await fetch(`${h1()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function r1(n,y){let{signal:t,cleanup:o}=m1();try{let f=await fetch(`${y??h1()}${n}`,{headers:{"Content-Type":"application/json"},signal:t});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function g1(n){if(!bn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await r1(`/v1/accounts/${n}`,i1);if(!(y.success&&y.data)||y.data.length===0)return;let t;try{t=V1(n).toLowerCase()}catch{t=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===t);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof ln.SwapKitError)throw y;throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function d1({from:n,to:y,amount:t}){let f=await go("/wallet/createtransaction",{amount:t,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==t)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return mo(f),f}async function a1({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o,feeLimit:f,callValue:T=0}){let C=await go("/wallet/triggersmartcontract",{call_value:T,contract_address:y,fee_limit:f,function_selector:t,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let _=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==y||_?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return mo(C.transaction),C.transaction}function s1({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o}){return go("/wallet/triggerconstantcontract",{contract_address:y,function_selector:t,owner_address:n,parameter:o,visible:!0})}async function Fy(n){try{let{result:y,txid:t}=await go("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!t)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return t}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function cf(){let n={};try{let{chainParameter:y}=await r1("/wallet/getchainparameters");for(let t of y)n[t.key]=t.value}catch(y){ln.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??Q5,createAccountFee:n.getCreateAccountFee??Z5,energyFee:n.getEnergyFee??J5}}async function KT(n){try{let y=await go("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return ln.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jT(n){try{let y=await go("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function cT(n){try{let{energy_used:y}=await s1({...n,ownerAddress:n.sender});return y}catch(y){return ln.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function e1({assetAddress:n,owner:y,spender:t}){let o=ro([{type:"address",value:y},{type:"address",value:t}]),T=(await s1({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:t,parameter:o})).constant_result?.[0];if(!T)return 0n;try{return BigInt(`0x${T}`)}catch{return 0n}}var ln,i1="https://api.trongrid.io",Q5=1000,Z5=1e5,J5=420,Y5=30000;var nH=u(()=>{VT();ln=require("@swapkit/helpers")});function CH({phrase:n,derivationPath:y}){let t=fH.HDKey.fromMasterSeed(tH.mnemonicToSeedSync(n)).derive(y);if(!t.privateKey)throw new $.SwapKitError("toolbox_tron_no_signer");return yH.bytesToHex(t.privateKey)}function HH({phrase:n,derivationPath:y,index:t}){let o=y||$.derivationPathToString($.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:t||0}));return CH({derivationPath:o,phrase:n})}function x5({phrase:n,derivationPath:y}){let t=CH({derivationPath:y,phrase:n}),o=K1(t);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{mo(f);let T=j1({privateKey:t,txID:f.txID});return Promise.resolve({...f,signature:[T]})}}}function oH({transaction:n,memo:y,expiration:t,feeLimit:o}){let f={},T={};if(o!==void 0&&n.raw_data)f.fee_limit=o,T.fee_limit=o;if(y){let _=c1(y);f.data=_,T.data=_}if(t){let _=n.raw_data.expiration+t*1000;f.expiration=_,T.expiration=_}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=P1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...T},raw_data_hex:C,txID:H}}function _H(n={}){let y="index"in n?n.index||0:0,t=$.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:y})),o,f=!1;function T(){if(f)return Promise.resolve(o);return o=ao.match(n).with({phrase:ao.P.string},({phrase:U})=>x5({derivationPath:t,phrase:U})).with({signer:ao.P.not(ao.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await T();if(!U)throw new $.SwapKitError("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let q=U||z5,L=await cf(),Y=q*L.energyFee,D=Math.ceil(Y*1.5);return Math.min(Math.max(D,1e7),150000000)}async function _({contractAddress:U,functionSelector:q,parameter:L,sender:Y,memo:D,expiration:J}){let O=await cT({contractAddress:U,functionSelector:q,parameter:L,sender:Y}),R=await H(O),k=await a1({contractAddress:U,feeLimit:R,functionSelector:q,ownerAddress:Y,parameter:L});return oH({expiration:J,feeLimit:R,memo:D,transaction:k})}async function A(U){if(!bn(U))return[$.AssetValue.from({chain:$.Chain.Tron})];try{let q=await g1(U);if(!q)return[$.AssetValue.from({chain:$.Chain.Tron})];let L=[$.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:6,value:String(q.balance)})],Y=q.trc20?.find((D)=>(iT in D));if(Y){let D=Y[iT];L.push($.AssetValue.from({asset:`TRON.USDT-${iT}`,fromBaseDecimal:6,value:D}))}return L}catch(q){return $.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${q instanceof Error?q.message:q}`}),[$.AssetValue.from({chain:$.Chain.Tron})]}}async function G({recipient:U,assetValue:q,memo:L,expiration:Y}){if(!bn(U))throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await T();if(!D)throw new $.SwapKitError("toolbox_tron_no_signer");try{let J=await C(),O=await W({assetValue:q,expiration:Y,memo:L,recipient:U,sender:J}),R=await D.signTransaction(O),k=await Fy(R);if(!k)throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(J){throw new $.SwapKitError("toolbox_tron_token_transfer_failed",{message:J instanceof Error?J.message:String(J)})}}function M({requiredBandwidth:U,resources:q,feePerUnit:L}){let Y=Math.max(0,q.free+q.total-q.used);return U>Y?(U-Y)*L:0}async function w({recipient:U,senderAddress:q}){let[L,Y,D]=await Promise.all([cf(),jT(U),KT(q)]),J=Y?0:L.createAccountFee,O=M({feePerUnit:L.bandwidthFee,requiredBandwidth:N5,resources:D.bandwidth});return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:$.BaseDecimal.TRON,value:J+O})}async function B({assetValue:U,recipient:q,senderAddress:L}){let Y=U.address;if(!Y)throw new $.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,J,O,R]=await Promise.all([cf(),jT(q),KT(L),cT({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:ro([{type:"address",value:q},{type:"uint256",value:U.getBaseValue("string")}]),sender:L})]),k=J?0:D.createAccountFee,v=M({feePerUnit:D.bandwidthFee,requiredBandwidth:D5,resources:O.bandwidth}),K=Math.max(0,O.energy.total-O.energy.used),s=R>K?(R-K)*D.energyFee:0;return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:$.BaseDecimal.TRON,value:k+v+s})}async function l({assetValue:U,recipient:q,sender:L}){let Y=await T();try{let D=L?L:Y?await C():void 0;if(!D)return U.isGasAsset?$.AssetValue.from({chain:$.Chain.Tron,value:0.1}):$.AssetValue.from({chain:$.Chain.Tron,value:15});return U.isGasAsset?w({recipient:q,senderAddress:D}):B({assetValue:U,recipient:q,senderAddress:D})}catch(D){throw $.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new $.SwapKitError("toolbox_fee_estimation_failed",{chain:$.Chain.Tron,error:D})}}async function W({recipient:U,assetValue:q,memo:L,sender:Y,expiration:D}){if(!bn(U)||!bn(Y))throw new $.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(q.isGasAsset){let O=await d1({amount:q.getBaseValue("number"),from:Y,to:U});return oH({expiration:D,memo:L,transaction:O})}let J=q.address;if(!J)throw new $.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});return _({contractAddress:J,expiration:D,functionSelector:"transfer(address,uint256)",memo:L,parameter:ro([{type:"address",value:U},{type:"uint256",value:q.getBaseValue("string")}]),sender:Y})}async function Q(U){mo(U);let q=await T();if(!q)throw new $.SwapKitError("toolbox_tron_no_signer");return q.signTransaction(U)}async function N(U){let q=await Q(U);return Fy(q)}function Z({assetAddress:U,spenderAddress:q,from:L}){return e1({assetAddress:U,owner:L,spender:q})}async function z({assetAddress:U,spenderAddress:q,from:L,amount:Y}){let D=await Z({assetAddress:U,from:L,spenderAddress:q});if(!Y)return D>0n;return D>=BigInt(Y)}async function X({assetAddress:U,spenderAddress:q,amount:L,from:Y}){if(!bn(U)||!bn(q))throw new $.SwapKitError("toolbox_tron_approve_failed");let D=await T();if(!D)throw new $.SwapKitError("toolbox_tron_no_signer");let J=Y||await C(),O=L!==void 0?BigInt(L).toString():O5;try{let R=await _({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:ro([{type:"address",value:q},{type:"uint256",value:O}]),sender:J}),k=await D.signTransaction(R),v=await Fy(k);if(!v)throw new $.SwapKitError("toolbox_tron_approve_failed");return v}catch(R){if(R instanceof $.SwapKitError)throw R;throw new $.SwapKitError("toolbox_tron_approve_failed",{error:R})}}return{approve:X,broadcastTransaction:Fy,createTransaction:W,estimateTransactionFee:l,getAddress:C,getApprovedAmount:Z,getBalance:A,getRpcUrl:()=>$.getRPCUrl($.Chain.Tron),isApproved:z,signAndBroadcastTransaction:N,signTransaction:Q,transfer:G,validateAddress:bn}}var yH,fH,tH,$,ao,TH,N5=268,z5=65000,D5=345,iT="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",O5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var AH=u(()=>{$1();nH();VT();yH=require("@noble/hashes/utils.js"),fH=require("@scure/bip32"),tH=require("@scure/bip39"),$=require("@swapkit/helpers"),ao=require("ts-pattern"),TH=bn});var hT={};Mn(hT,{validateTronAddress:()=>TH,getTronToolbox:()=>_H,getTronPrivateKeyFromMnemonic:()=>HH});module.exports=Zn(hT);var mT=u(()=>{AH()});function mf(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return R5.test(n)}async function S5(n){if(!mf(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function UH(n={}){let y,t=n.derivationPath||d.NetworkDerivationPath[d.Chain.Stellar],o=d.derivationPathToString(t.slice(0,3));async function f({phrase:W,path:Q}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:Z}=await import("@scure/bip39"),{Keypair:z}=await import("@stellar/stellar-sdk"),X=Z(W),q=N.fromMasterSeed(X).derive(Q,!0);return z.fromRawEd25519Seed(Buffer.from(q.privateKey))}async function T(){if(y)return y;let W=hf.match(n).with({phrase:hf.P.string},({phrase:Q})=>Q).otherwise(()=>{return});if(!W)throw new d.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:W}),y}async function C(){let{Horizon:W}=await import("@stellar/stellar-sdk"),Q=await d.getRPCUrl(d.Chain.Stellar);return new W.Server(Q)}async function H(){try{return(await T()).publicKey()}catch{return""}}async function _(W){let Q=W||await H();if(!Q)throw new d.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Q)).balances.map((z)=>{if(z.asset_type==="native")return d.AssetValue.from({chain:d.Chain.Stellar,value:z.balance});let X="asset_code"in z?z.asset_code:"",U="asset_issuer"in z?z.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${X}-${U}`,asyncTokenLookup:!1,value:z.balance})})}catch{return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})]}}async function A({recipient:W,assetValue:Q,memo:N,sender:Z}){if(N){if(new TextEncoder().encode(N).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}if(!await S5(W))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let X=Z||await H();if(!X)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:q,Networks:L,Operation:Y,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),J=await C(),O=await J.fetchBaseFee(),R=await J.loadAccount(X),k=new D(R,{fee:String(O),networkPassphrase:L.PUBLIC});if(Q.isGasAsset)try{await J.loadAccount(W),k.addOperation(Y.payment({amount:Q.getValue("string"),asset:U.native(),destination:W}))}catch{k.addOperation(Y.createAccount({destination:W,startingBalance:Q.getValue("string")}))}else k.addOperation(Y.payment({amount:Q.getValue("string"),asset:new U(Q.symbol,Q.address),destination:W}));if(N)k.addMemo(q.text(N));return k.setTimeout(30).build()}async function G(W){let{TransactionBuilder:Q,Networks:N}=await import("@stellar/stellar-sdk"),Z=await T(),z=Q.fromXDR(W.toXDR(),N.PUBLIC);return z.sign(Z),z}async function M(W){try{let Q=await C(),{hash:N}=await Q.submitTransaction(W);return N}catch(Q){throw new d.SwapKitError("toolbox_stellar_broadcast_error",Q)}}async function w({recipient:W,assetValue:Q,memo:N}){let Z=await T(),z=Z.publicKey(),X=await A({assetValue:Q,memo:N,recipient:W,sender:z});X.sign(Z);try{return(await(await C()).submitTransaction(X)).hash}catch(U){if(U instanceof d.SwapKitError)throw U;throw new d.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function B(W){let Q=await G(W);return M(Q)}async function l(){let{baseDecimal:W}=d.getChainConfig(d.Chain.Stellar);try{let Z=(await(await C()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:W,value:Z})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:W,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:l,getAddress:H,getBalance:_,signAndBroadcastTransaction:B,signTransaction:G,transfer:w,validateAddress:mf}}var d,hf,R5;var wH=u(()=>{d=require("@swapkit/helpers"),hf=require("ts-pattern"),R5=/^G[A-Z2-7]{55}$/});var rf={};Mn(rf,{validateStellarAddress:()=>mf,getStellarToolbox:()=>UH});module.exports=Zn(rf);var gf=u(()=>{wH()});var k5={};Mn(k5,{getToolbox:()=>rT,getFeeEstimator:()=>u5,getAddressValidator:()=>F5});module.exports=Zn(k5);var P=require("@swapkit/helpers");async function F5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (ky(),uy)),{validateEVMAddress:t}=await Promise.resolve().then(() => (Lt(),S0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (Yt(),Jt)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Cf(),Tf)),{validateHyperCoreAddress:T}=await Promise.resolve().then(() => (ct(),jt)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (gt(),rt)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (lf(),Gf)),{validateSuiAddress:_}=await Promise.resolve().then(() => (Bf(),Wf)),{validateTonAddress:A}=await Promise.resolve().then(() => (Lf(),Mf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (XT(),BT)),{validateNearAddress:M}=await Promise.resolve().then(() => (uT(),FT)),{validateRadixAddress:w}=await Promise.resolve().then(() => (IT(),kT)),{validateRippleAddress:B}=await Promise.resolve().then(() => (PT(),pT)),{validateTronAddress:l}=await Promise.resolve().then(() => (mT(),hT)),{validateStellarAddress:W}=await Promise.resolve().then(() => (gf(),rf));return function({address:N,chain:Z}){return n(Z).with(...P.EVMChains,()=>t(N)).with(...P.UTXOChains,(X)=>{return G(X)(N)}).with(...P.CosmosChains,(X)=>{return f(X)(N)}).with(P.Chain.Aptos,()=>y(N)).with(P.Chain.Radix,()=>w(N)).with(P.Chain.HyperCore,()=>T(N)).with(P.Chain.Near,()=>M(N)).with(P.Chain.Ripple,()=>B(N)).with(P.Chain.Solana,()=>C(N)).with(P.Chain.Stellar,()=>W(N)).with(P.Chain.Starknet,()=>H(N)).with(P.Chain.Sui,()=>_(N)).with(P.Chain.Ton,()=>A(N)).with(P.Chain.Tron,()=>l(N)).with(P.Chain.Cardano,()=>o(N)).otherwise(()=>!1)}}function u5(n){return async function(t){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...P.EVMChains,async(f)=>{let T=await rT(f),C=await T.createTransaction(t),H="feeOptionKey"in t?t.feeOptionKey:P.FeeOption.Fast;return T.estimateTransactionFee({...C,feeOption:H})}).with(P.Chain.Bitcoin,P.Chain.BitcoinCash,P.Chain.Dogecoin,P.Chain.Dash,P.Chain.Litecoin,P.Chain.Solana,P.Chain.Ripple,P.Chain.Tron,P.Chain.Near,P.Chain.Cardano,P.Chain.HyperCore,async(f)=>{return(await rT(f)).estimateTransactionFee(t)}).with(P.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (ky(),uy));return f().estimateTransactionFee(t)}).with(P.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (lf(),Gf));return(await f()).estimateTransactionFee(t)}).with(P.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (gf(),rf));return f().estimateTransactionFee()}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Bf(),Wf));return f().estimateTransactionFee(t)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Lf(),Mf));return f().estimateTransactionFee(t)}).with(...P.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Cf(),Tf));return f(t)}).otherwise(async()=>P.AssetValue.from({chain:n}))}}async function rT(n,y){let{match:t}=await import("ts-pattern");return t(n).returnType().with(...P.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (Mt(),O0));return await o(n,y)}).with(...P.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (XT(),BT));return o(n,y)}).with(...P.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Cf(),Tf));return o(n,y)}).with(P.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (ky(),uy));return o(y)}).with(P.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (ct(),jt));return o(y)}).with(P.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (IT(),kT));return o(y)}).with(P.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (PT(),pT));return o(y)}).with(P.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (gt(),rt));return o(y)}).with(P.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (gf(),rf));return o(y)}).with(P.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (lf(),Gf));return o(y)}).with(P.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Bf(),Wf));return o(y)}).with(P.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (mT(),hT));return o(y)}).with(P.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (uT(),FT));return o(y)}).with(P.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (Yt(),Jt));return o(y)}).with(P.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Lf(),Mf));return o(y)}).otherwise(()=>{throw new P.SwapKitError("toolbox_not_supported",{chain:n})})}