@swapkit/toolboxes 4.15.0 → 4.15.2

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 zH=Object.create;var{getPrototypeOf:DH,defineProperty:ty,getOwnPropertyNames:f0,getOwnPropertyDescriptor:OH}=Object,t0=Object.prototype.hasOwnProperty;function T0(n){return this[n]}var RH,xH,C0=(n,y,t)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?RH??=new WeakMap:xH??=new WeakMap,T=f.get(n);if(T)return T}t=n!=null?zH(DH(n)):{};let C=y||!n||!n.__esModule?ty(t,"default",{value:n,enumerable:!0}):t;for(let H of f0(n))if(!t0.call(C,H))ty(C,H,{get:T0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Jn=(n)=>{var y=(y0??=new WeakMap).get(n),t;if(y)return y;if(y=ty({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of f0(n))if(!t0.call(y,o))ty(y,o,{get:T0.bind(n,o),enumerable:!(t=OH(n,o))||t.enumerable})}return y0.set(n,y),y},y0;var SH=(n)=>n;function FH(n,y){this[n]=SH.bind(null,y)}var Mn=(n,y)=>{for(var t in y)ty(n,t,{get:y[t],enumerable:!0,configurable:!0,set:FH.bind(y,t)})};var p=(n,y)=>()=>(n&&(y=n(n=0)),y);function uo(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 pH.test(y)}function H0({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 Qo.match(t).with({phrase:Qo.P.string},async({phrase:l})=>{let{Ed25519Account:L}=await import("@aptos-labs/ts-sdk");return L.fromDerivationPath({mnemonic:l,path:f})}).with({signer:Qo.P.any},({signer:l})=>l).otherwise(()=>{return}),o}async function C(){let{Aptos:l,AptosConfig:L}=await import("@aptos-labs/ts-sdk"),N=new L({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new l(N)}async function H(){return(await T())?.accountAddress.toString()||""}async function A(l){let L=l||await H();if(!L)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:N,chain:J}=V.getChainConfig(V.Chain.Aptos);try{let O=await C(),Y=await O.getAccountAPTAmount({accountAddress:L}),q=[V.AssetValue.from({chain:J,fromBaseDecimal:N,value:Y.toString()})],M=await O.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:L}}}});for(let G of M){if(G.asset_type===Lo.COIN_TYPE||Number(G.amount)<=0)continue;let Z=G.asset_type;if(Z){let Q=("metadata"in G&&typeof G.metadata==="object"&&G.metadata!==null?G.metadata:void 0)?.decimals??N;q.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Z}`,fromBaseDecimal:Q,value:String(G.amount)}))}}return q}catch{return[V.AssetValue.from({chain:J})]}}async function _(l){if(!l){let{baseDecimal:M}=V.getChainConfig(V.Chain.Aptos),G=y||V.getRPCUrlSync(V.Chain.Aptos),Z=await fetch(`${G}/estimate_gas_price`),{gas_estimate:D}=await Z.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:M,value:String(D)})}let L=await T();if(!L)throw new V.SwapKitError("toolbox_aptos_no_signer");let N=await X(l),J=await C(),[O]=await J.transaction.simulate.simple({signerPublicKey:L.publicKey,transaction:N});if(!O)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let Y=BigInt(O.gas_used)*BigInt(O.gas_unit_price),{baseDecimal:q}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:q,value:Y.toString()})}async function X({recipient:l,assetValue:L,maxGasAmount:N,sender:J}){if(!uo(l))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let O=J||await H();if(!O)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:Y}=await import("@aptos-labs/ts-sdk"),q=await C(),M=Y.from(O);try{let G=L.isGasAsset?Lo.TRANSFER:Lo.FUNGIBLE_STORE_TRANSFER,Z=Qo.match({address:L?.address,isGasAsset:L.isGasAsset}).with({isGasAsset:!0},()=>[Y.from(l),L.getBaseValue("bigint")]).with({address:Qo.P.string},({address:D})=>[Y.from(D),Y.from(l),L.getBaseValue("bigint")]).otherwise(()=>null);if(!Z)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return q.transaction.build.simple({data:{function:G,functionArguments:Z,typeArguments:L.isGasAsset?[]:[Lo.FUNGIBLE_ASSET_METADATA]},options:N?{maxGasAmount:N}:void 0,sender:M})}catch(G){if(G instanceof V.SwapKitError)throw G;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",G)}}async function B(l){let L=await T();if(!L)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:L,transaction:l})}async function U({assetValue:l,maxGasAmount:L,recipient:N}){let J=await T();if(!J)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!uo(N))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let O=J.accountAddress.toString(),Y=await X({assetValue:l,maxGasAmount:L,recipient:N,sender:O});return(await(await C()).signAndSubmitTransaction({signer:J,transaction:Y})).hash}catch(O){if(O instanceof V.SwapKitError)throw O;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",O)}}async function W({senderAuthenticator:l,transaction:L}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:l,transaction:L})).hash}catch(N){throw new V.SwapKitError("toolbox_aptos_broadcast_error",N)}}async function w(l){let L=await B(l);return W({senderAuthenticator:L,transaction:l})}return{broadcastTransaction:W,createTransaction:X,estimateTransactionFee:_,getAddress:H,getBalance:A,signAndBroadcastTransaction:w,signTransaction:B,transfer:U,validateAddress:uo}}function A0({provider:n}){return async function({assetValue:t,recipient:o}){if(!uo(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:Lo.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:Lo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Lo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Qo,Lo,pH;var _0=p(()=>{V=require("@swapkit/helpers"),Qo=require("ts-pattern"),Lo={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"},pH=/^[0-9a-fA-F]+$/});var by={};Mn(by,{validateAptosAddress:()=>uo,getAptosToolbox:()=>H0,createAptosExtensionTransfer:()=>A0});module.exports=Jn(by);var vy=p(()=>{_0()});function w0(){function n(){let y=Date.now(),t=tt||y;return tt=t,y>tt?y:t+1}return kH+n().toString(36)}function xn(n){return async function(t,o=!0){let f=await U0.SwapKitApi.getChainBalance({address:t,chain:n,scamFilter:o}),{baseDecimal:T}=Ty.getChainConfig(n),C=f.map(({identifier:A,value:_,decimal:X})=>{return new Ty.AssetValue({decimal:X||T,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[Ty.AssetValue.from({chain:n}),...C];return C}}var Ty,U0,kH,tt=0;var dn=p(()=>{Ty=require("@swapkit/helpers"),U0=require("@swapkit/helpers/api"),kH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Cy(n){return{getBalance:xn(n)}}function uH(n){return n}var Vy=p(()=>{dn()});function l0(n){return new Zo.JsonRpcProvider(n)}async function _t(n,y){return l0(y||await g.getRPCUrl(n))}function Hy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function Ut(n){let{explorerUrl:y,chainIdHex:t,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...PH({chain:n}),blockExplorerUrls:[y],chainId:t,rpcUrls:o}:void 0}}function wt(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function PH({chain:n}){let{name:y,nativeCurrency:t,baseDecimal:o}=g.getChainConfig(n);return At.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 qt(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 G0(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}`}})};At.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!IH(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})=>!q0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!q0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function X0(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 Tt(n){return n.charAt(0).toUpperCase()+n.slice(1)}function Ct(n,y){if(n.isTuple()&&n.components){let t=Tt(n.name);return y[t]=n.components.map((o)=>({name:o.name,type:Ct(o,y)})),t}if(n.isArray()){let t=n.arrayChildren;if(t?.isTuple()&&t.components){let o=Tt(n.name.replace(/s$/,""));return y[o]=t.components.map((f)=>({name:f.name,type:Ct(f,y)})),`${o}[]`}return`${t?.type??"bytes"}[]`}return n.type}function Ht(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]=Ht(t[T.name]??n[f],T);return o}if(Array.isArray(n)){let t=y?.arrayChildren;return n.map((o)=>Ht(o,t??void 0))}return n}function $H({chain:n,abi:y,data:t,to:o}){let T=new Zo.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=Tt(T.name);C[H]=T.fragment.inputs.map((U)=>({name:U.name,type:Ct(U,C)}));let A={};for(let[U,W]of T.fragment.inputs.entries())A[W.name]=Ht(T.args[U],W);let{chainId:_}=g.getChainConfig(n),X={chainId:Number(_),verifyingContract:Zo.getAddress(o)},B=X0(X);return{domain:X,message:A,primaryType:H,types:{EIP712Domain:B,...C}}}function lt(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(G0(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,Zo,At,q0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),IH=(n)=>{try{return typeof n==="string"&&!!Zo.getAddress(n)}catch{return!1}};var Ay=p(()=>{g=require("@swapkit/helpers"),Zo=require("ethers"),At=require("ts-pattern")});var W0;var B0=p(()=>{W0=[{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 Io({chain:n=R.Chain.Ethereum,provider:y,signer:t,isEIP1559Compatible:o=!0}){return{approve:KH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),approvedAmount:Q0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:Lt({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),createApprovalTx:hH({chain:n,provider:y,signer:t}),createContract:Wt({chain:n,provider:y}),createContractTxObject:Jo({chain:n,provider:y}),createTransaction:Gt({chain:n,provider:y,signer:t}),createTransferTx:Gt({chain:n,provider:y,signer:t}),EIP1193SendTransaction:Eo(y),estimateCall:Z0({provider:y,signer:t}),estimateGasLimit:cH({chain:n,provider:y,signer:t}),estimateGasPrices:Yo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:mH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return t?t.getAddress():void 0},getBalance:Cy(n).getBalance,getNetworkParams:Ut(n),isApproved:VH({chain:n,provider:y}),sendTransaction:J0({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),signAuthorization:iH({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:jH({chain:n,isEIP1559Compatible:o,provider:y,signer:t}),validateAddress:Uy}}function Uy(n){try{return pn.getAddress(n),!0}catch{return!1}}function $o(n){return n instanceof pn.BrowserProvider}function wy(n,y,t){return new pn.Contract(n,pn.Interface.from(y),t)}function Wt({provider:n}){return function(t,o){return new pn.Contract(t,pn.Interface.from(o),n)}}function Bt({abi:n,funcName:y}){let t=n.find((o)=>o.name===y);if(!t)throw new R.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return t.stateMutability&&EH.includes(t.stateMutability)}function M0(n){return pn.getAddress(n)}function Eo(n){return function({value:t,...o}){if(!$o(n))throw new R.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:T,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:Hy(BigInt(t||0))}])}}function L0(n,y){let t=bo(n,y);if(t)return pn.getAddress(t.toLowerCase());throw new R.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function bo({chain:n,symbol:y,ticker:t},o){try{let f=n===R.Chain.BinanceSmartChain&&y==="BNB"&&t==="BNB",T=n===R.Chain.Hyperevm&&y==="HYPE"&&t==="HYPE",C=n===o&&y===o&&t===o,H=vH.includes(n)&&y==="ETH"&&t==="ETH";if(C||f||T||H)return Mt[o];return pn.getAddress(y.slice(t.length+1).replace(/^0X/,""))}catch{return null}}function Jo({provider:n}){return async({contractAddress:y,abi:t,funcName:o,funcParams:f=[],txOverrides:T})=>wy(y,t,n).getFunction(o).populateTransaction(...f.concat(T).filter((C)=>typeof C<"u"))}function Yo({chain:n,provider:y,isEIP1559Compatible:t=!0}){return Xt.match(n).with(R.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:T}=await y.getFeeData();if(!f||T===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Average),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Average)},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(R.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new R.SwapKitError("toolbox_evm_no_fee_data");let T=f*12n/10n;return{[R.FeeOption.Average]:{gasPrice:T},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fastest)}}}catch(f){throw new R.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 R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:T},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(T,R.FeeOption.Fastest)}}}if(!C)throw new R.SwapKitError("toolbox_evm_no_gas_price");return{[R.FeeOption.Average]:{gasPrice:C},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function Lt({provider:n,isEIP1559Compatible:y,signer:t,chain:o}){return async function({callProvider:T,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:X={},feeOption:B=R.FeeOption.Fast}){let U=T||n;if(!C)throw new R.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let W=Bt({abi:H,funcName:A});if(W&&$o(U)&&t){let L=Jo({chain:o,provider:U}),N=X?.from||await t?.getAddress(),J=await L({abi:H,contractAddress:C,funcName:A,funcParams:_,txOverrides:{...X,from:N}});return Eo(U)(J)}let w=wy(C,H,U);if(W){if(!t)throw new R.SwapKitError("toolbox_evm_no_signer");let L=X?.from||await t.getAddress();if(!L)throw new R.SwapKitError("toolbox_evm_no_signer_address");let N=w.connect(t),J=Yo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:O,maxPriorityFeePerGas:Y,gasPrice:q}=(await J())[B],M=await w.getFunction(A).estimateGas(..._,X),G=await N[A](..._,{...X,gasLimit:M,gasPrice:q,maxFeePerGas:O,maxPriorityFeePerGas:Y,nonce:X?.nonce||await U.getTransactionCount(L)});return typeof G?.hash==="string"?G?.hash:G}let l=await w[A]?.(..._);return typeof l?.hash==="string"?l?.hash:l}}function Q0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:T}){return Lt({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Po.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[T,f]})}}function VH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:T,amount:C=_y}){let H=await Q0({chain:y,provider:n})({assetAddress:o,from:T,spenderAddress:f});return R.SwapKitNumber.fromBigInt(H).gte(R.SwapKitNumber.fromBigInt(BigInt(C)))}}function KH({signer:n,isEIP1559Compatible:y=!0,provider:t,chain:o}){return async function({assetAddress:T,spenderAddress:C,feeOptionKey:H=R.FeeOption.Fast,amount:A,gasLimitFallback:_,from:X,nonce:B}){let U=[C,BigInt(A||_y)],W=await n?.getAddress()||X,w={abi:Po.erc20ABI,contractAddress:T,funcName:"approve",funcParams:U,signer:n,txOverrides:{from:W}};if($o(t)){let L=Jo({chain:o,provider:t}),N=Eo(t),J=await L(w);return N(J)}return Lt({chain:o,isEIP1559Compatible:y,provider:t,signer:n})({...w,feeOption:H,funcParams:U,txOverrides:{from:W,gasLimit:_?BigInt(_.toString()):void 0,nonce:B}})}}function jH({signer:n,isEIP1559Compatible:y=!0,provider:t}){return async function({assetValue:f,memo:T,recipient:C,feeOptionKey:H=R.FeeOption.Fast,sender:A,..._}){let{hexlify:X,toUtf8Bytes:B}=await import("ethers"),U=f.getBaseValue("bigint"),W=f.chain,w=A||await n?.getAddress(),l=J0({chain:W,isEIP1559Compatible:y,provider:t,signer:n});if(!w)throw new R.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let q={..._,data:X(B(T||"")),feeOptionKey:H,from:w,to:C,value:U};return l(q)}if(!bo(f,W))throw new R.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:N,maxPriorityFeePerGas:J,gasPrice:O}=(await Yo({chain:W,isEIP1559Compatible:y,provider:t})())[H],Y=await Gt({chain:W,provider:t,signer:n})({assetValue:f,data:X(B(T||"")),gasPrice:O,maxFeePerGas:N,maxPriorityFeePerGas:J,memo:T,recipient:C,sender:w});return l(Y)}}function Z0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:T,funcParams:C=[],txOverrides:H}){if(!o)throw new R.SwapKitError("toolbox_evm_no_contract_address");let A=wy(o,f,n);return y?A.connect(y).getFunction(T).estimateGas(...C,H):A.getFunction(T).estimateGas(...C,H)}}function cH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:T,data:C,sender:H,funcName:A,funcParams:_,txOverrides:X}){let B=o.bigIntValue,U=o.isGasAsset?null:bo(o,o.chain);if(U&&A)return Z0({provider:n,signer:y})({abi:Po.erc20ABI,contractAddress:U,funcName:A,funcParams:_,txOverrides:X});let{hexlify:W,toUtf8Bytes:w}=await import("ethers");return n.estimateGas({data:C?C:T?W(w(T)):void 0,from:H,to:f,value:B})}}function iH({signer:n}){if(!n)return;return(y)=>qt(n,y)}function J0({provider:n,signer:y,isEIP1559Compatible:t=!0,chain:o}){return async function({feeOptionKey:T=R.FeeOption.Fast,...C}){let{from:H,to:A,data:_,value:X,...B}=C;if(!y)throw new R.SwapKitError("toolbox_evm_no_signer");if(!A)throw new R.SwapKitError("toolbox_evm_no_to_address");let U={...B,data:_||"0x",from:H,to:A,value:BigInt(X||0)};if($o(n))return Eo(n)(U);let W=H||await y.getAddress(),w=C.nonce||await n.getTransactionCount(W),l=(await n.getNetwork()).chainId,L=Zt(U,t);if(L==="eip7702")lt(U.authorizations||[],l);let N=Xt.match(L).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),J={...U,chainId:l,nonce:w,type:N,...L==="eip7702"&&{authorizationList:U.authorizations}},O=Yo({chain:o,isEIP1559Compatible:t,provider:n}),q=L!=="legacy"&&!(U.maxFeePerGas&&U.maxPriorityFeePerGas)||!U.gasPrice?Object.entries((await O())[T]).reduce((G,[Z,D])=>({...G,[Z]:Hy(BigInt(D))}),{}):{},M;try{M=Hy(U.gasLimit||await n.estimateGas(J)*11n/10n)}catch(G){throw new R.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:G})}try{let G={...J,gasLimit:M,...q};try{return(await y.sendTransaction(G)).hash}catch{let Z=await y.signTransaction({...G,from:W});return(await n.broadcastTransaction(Z)).hash}}catch(G){throw new R.SwapKitError("toolbox_evm_error_sending_transaction",{error:G})}}}function Gt({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:T,data:C,sender:H,maxFeePerGas:A,maxPriorityFeePerGas:_,gasPrice:X,...B}){let U=o.getBaseValue("bigint"),W=o.chain,w=H||await y?.getAddress();if(!w)throw new R.SwapKitError("toolbox_evm_no_from_address");if(R.isGasAsset(o)){let{hexlify:N,toUtf8Bytes:J}=await import("ethers");return{...B,data:C||N(J(f||"")),from:w,to:T,value:U}}let l=bo(o,W);if(!l)throw new R.SwapKitError("toolbox_evm_no_contract_address");return Jo({chain:o.chain,provider:n})({abi:Po.erc20ABI,contractAddress:l,funcName:"transfer",funcParams:[T,U],txOverrides:{from:w,gasPrice:X,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function hH({provider:n,signer:y,chain:t}){return async function({assetAddress:f,spenderAddress:T,amount:C,from:H}){let A=await y?.getAddress()||H,_=Jo({chain:t,provider:n}),X=["bigint","number"].includes(typeof C)?C:C||_y;return await _({abi:Po.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[T,BigInt(X)],txOverrides:{from:A}})}}function mH({provider:n,isEIP1559Compatible:y=!0,chain:t}){return async function({feeOption:f=R.FeeOption.Fast,...T}){let H=await Yo({chain:t,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(T),_=R.AssetValue.from({chain:t}),{gasPrice:X,maxFeePerGas:B,maxPriorityFeePerGas:U}=H[f];if(!y&&X)return _.set(R.SwapKitNumber.fromBigInt(X*A,_.decimal));if(B&&U){let W=(B+U)*A;return _.set(R.SwapKitNumber.fromBigInt(W,_.decimal))}throw new R.SwapKitError("toolbox_evm_no_gas_price")}}var R,Po,pn,Xt,_y,EH,bH,Mt,vH,Ky=(n)=>n.type===4||(n.authorizations?.length??0)>0,Qt=(n)=>!Ky(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),Zt=(n,y=!0)=>{if(Ky(n))return"eip7702";if(Qt(n)||y)return"eip1559";return"legacy"};var jy=p(()=>{Vy();Ay();R=require("@swapkit/helpers"),Po=require("@swapkit/helpers/contracts"),pn=require("ethers"),Xt=require("ts-pattern"),_y=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");EH=["payable","nonpayable"];bH=R.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),Mt={...bH,[R.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[R.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},vH=[R.Chain.Arbitrum,R.Chain.Aurora,R.Chain.Base,R.Chain.Optimism]});function cy(n){let y=wn(Cn.Chain.Ethereum)(n);async function t(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",T="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:W0,contractAddress:f,funcName:T,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:t}}function wn(n){return function({provider:t,...o}){let f=wt(n),T=qy.match(o).with({phrase:qy.P.string},({phrase:H})=>Y0.HDNodeWallet.fromPhrase(H).connect(t)).with({signer:qy.P.any},({signer:H})=>H).otherwise(()=>{return});return Io({chain:n,isEIP1559Compatible:f,provider:t,signer:T})}}var Cn,Y0,qy,iy,hy,my,ry,gy,dy,ay,N0,sy,ey,nf,of,yf,ff,ly,tf,Tf,Cf,Hf;var Jt=p(()=>{B0();Ay();jy();Cn=require("@swapkit/helpers"),Y0=require("ethers"),qy=require("ts-pattern");iy=wn(Cn.Chain.Adi),hy=wn(Cn.Chain.Arbitrum),my=wn(Cn.Chain.Aurora),ry=wn(Cn.Chain.Avalanche),gy=wn(Cn.Chain.Base),dy=wn(Cn.Chain.Berachain),ay=wn(Cn.Chain.BinanceSmartChain),N0=wn(Cn.Chain.Botanix),sy=wn(Cn.Chain.Core),ey=wn(Cn.Chain.Corn),nf=wn(Cn.Chain.Cronos),of=wn(Cn.Chain.Gnosis),yf=wn(Cn.Chain.Hyperevm),ff=wn(Cn.Chain.Polygon),ly=wn(Cn.Chain.Sonic),tf=wn(Cn.Chain.Unichain),Tf=wn(Cn.Chain.XLayer),Cf=wn(Cn.Chain.Monad),Hf=wn(Cn.Chain.MegaETH)});var z0;var D0=p(()=>{z0=[{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 Yt(n){return new Af.Contract(gH,z0,n)}function O0(n){return async function(){let t=Yt(n);if(t&&"l1BaseFee"in t)return await t?.l1BaseFee();return}}function R0(n){return async function({from:t,to:o,nonce:f,...T}){let{Transaction:C}=await import("ethers");if(!o)throw new Hn.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 x0(n){return async function(t){let o=Yt(n),f=await R0(n)(t);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function S0(n){return async function(t){let f=(await n.getFeeData()).gasPrice??0n,T=await n.estimateGas(t);return f*T}}function dH(n){return async function(t){let o=await x0(n)(t)??0n,f=await S0(n)(t);return o+f}}function aH(n){return async function(t){let o=Yt(n),f=await R0(n)(t);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function sH(n){return async function(){try{let{maxFeePerGas:t,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),T=await O0(n)(),C=f;if(!(t&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:T,maxFeePerGas:t,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(T||0n,Hn.FeeOption.Fast),maxFeePerGas:t,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(T||0n,Hn.FeeOption.Fastest),maxFeePerGas:t,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(t){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:t.msg??t.toString()})}}}function _f({provider:n,...y}){let t=Gy.match(y).with({phrase:Gy.P.string},({phrase:T})=>Af.HDNodeWallet.fromPhrase(T).connect(n)).with({signer:Gy.P.any},({signer:T})=>T).otherwise(()=>{return}),o=Io({provider:n,signer:t}),f=O0(n);return{...o,estimateGasPrices:sH(n),estimateL1Gas:aH(n),estimateL1GasCost:x0(n),estimateL2GasCost:S0(n),estimateTotalGasCost:dH(n),getBalance:Cy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,Af,Gy,gH="0x420000000000000000000000000000000000000f";var Nt=p(()=>{Vy();D0();jy();Hn=require("@swapkit/helpers"),Af=require("ethers"),Gy=require("ts-pattern")});var k0={};Mn(k0,{validateEVMAddress:()=>Uy,toChecksumAddress:()=>M0,isStateChangingCall:()=>Bt,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>Qt,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getEvmToolboxAsync:()=>p0,getEvmToolbox:()=>zt,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>Zt,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>Wt,getChecksumAddressFromAsset:()=>L0,createContract:()=>wy,XLayerToolbox:()=>Tf,UNIToolbox:()=>tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>_y,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,ETHToolbox:()=>cy,ContractAddress:()=>Mt,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});function zt(n,y){return F0.match(n).with(Un.Chain.Adi,()=>iy(y)).with(Un.Chain.Arbitrum,()=>hy(y)).with(Un.Chain.Aurora,()=>my(y)).with(Un.Chain.Avalanche,()=>ry(y)).with(Un.Chain.Base,()=>gy(y)).with(Un.Chain.Berachain,()=>dy(y)).with(Un.Chain.BinanceSmartChain,()=>ay(y)).with(Un.Chain.Botanix,()=>ly(y)).with(Un.Chain.Core,()=>sy(y)).with(Un.Chain.Corn,()=>ey(y)).with(Un.Chain.Cronos,()=>nf(y)).with(Un.Chain.Ethereum,()=>cy(y)).with(Un.Chain.Gnosis,()=>of(y)).with(Un.Chain.Hyperevm,()=>yf(y)).with(Un.Chain.Optimism,()=>_f(y)).with(Un.Chain.Polygon,()=>ff(y)).with(Un.Chain.Sonic,()=>ly(y)).with(Un.Chain.Unichain,()=>tf(y)).with(Un.Chain.XLayer,()=>Tf(y)).with(Un.Chain.Monad,()=>Cf(y)).with(Un.Chain.MegaETH,()=>Hf(y)).exhaustive()}async function p0(n,y){let t={...y,provider:y?.provider||await _t(n)};return zt(n,t)}var Un,F0;var Dt=p(()=>{Ay();Jt();Nt();Un=require("@swapkit/helpers"),F0=require("ts-pattern");jy();Jt();Nt()});var u0;var P0=p(()=>{((t)=>{t.Test="goerli";t.Main="homestead"})(u0||={})});var I0={};Mn(I0,{validateEVMAddress:()=>Uy,validateAuthorizations:()=>lt,validateAuthorization:()=>G0,toHexString:()=>Hy,toChecksumAddress:()=>M0,signAuthorization:()=>qt,parseEIP712FromEVMTx:()=>$H,isStateChangingCall:()=>Bt,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>Qt,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getProviderSync:()=>l0,getProvider:()=>_t,getNetworkParams:()=>Ut,getIsEIP1559Compatible:()=>wt,getEvmToolboxAsync:()=>p0,getEvmToolbox:()=>zt,getEvmApi:()=>Cy,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>Zt,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>Wt,getChecksumAddressFromAsset:()=>L0,createCustomEvmApi:()=>uH,createContract:()=>wy,buildEIP712DomainType:()=>X0,XLayerToolbox:()=>Tf,UNIToolbox:()=>tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>_y,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,EthNetwork:()=>u0,ETHToolbox:()=>cy,ContractAddress:()=>Mt,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});module.exports=Jn(I0);var Ot=p(()=>{Vy();Ay();Dt();P0()});async function xt(n,y){let t=await fetch(`${j0}${n}`,{...y,headers:{project_id:K0,...y?.headers}});if(!t.ok)throw Error(`Blockfrost API error: ${t.status} ${t.statusText}`);return t.json()}async function c0(n){try{return await xt(`/addresses/${n}/utxos`)}catch{return[]}}async function nA(){return(await xt("/blocks/latest")).slot}async function oA(){let n=await xt("/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 Sn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Sn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Sn.default(n.min_fee_a),minFeeB:new Sn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Sn.default(15),priceMem:new Sn.default(n.price_mem),priceSteps:new Sn.default(n.price_step),stakeKeyDeposit:new Sn.default(2000000),utxoCostPerByte:new Sn.default(n.coins_per_utxo_size)}}async function E0(n){let y=await fetch(`${j0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:K0},method:"POST"});if(!y.ok){let t=await y.text();throw Error(`Transaction submission failed: ${t}`)}return y.json()}function yA(n,y){return n.map((t)=>{let o=t.amount.find((C)=>C.unit==="lovelace"),f=o?new Sn.default(o.quantity):new Sn.default(0),T=t.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Sn.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 fA(n){try{let y=await c0(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:A,quantity:_}=H;if(A==="lovelace")t+=BigInt(_);else{let X=o.get(A)||0n;o.set(A,X+BigInt(_))}}}let f=[],{baseDecimal:T}=An.getChainConfig(An.Chain.Cardano);if(t>0n)f.push(An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:T,value:t.toString()}));for(let[C,H]of o)f.push(An.AssetValue.from({asset:`${An.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[An.AssetValue.from({chain:An.Chain.Cardano})];return f}catch(y){let t=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${t}`),[An.AssetValue.from({chain:An.Chain.Cardano})]}}function i0(n){if(!n||typeof n!=="string")return!1;try{let y=b0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function tA(n,y=0,t=0){let o=await v0.mnemonicToSeed(n,""),T=(await V0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(Rt+1852).derive(Rt+1815).derive(Rt+y),C=T.derive(0).derive(t),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=Nn.crypto.hash28(H),X=T.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),B=Nn.crypto.hash28(X),U={hash:A,type:Nn.types.HashType.ADDRESS},W={hash:B,type:Nn.types.HashType.ADDRESS},l=new Nn.address.BaseAddress(eH,U,W).getBech32(),L=C.toPrivateKey();return{getAddress:()=>l,publicKey:H,publicKeyHash:A,signTransaction:async(N)=>{try{let J=await import("@stricahq/cbors"),O=Buffer.from(N,"hex"),Y=J.Decoder.decode(O),[q,M,G,Z]=Y.value,D=J.Encoder.encode(q),Q=Nn.crypto.hash32(D),z=L.sign(Q),x=M instanceof Map?M:new Map,k=x.get($0)||[];k.push([H,z]),x.set($0,k);let u=[q,x,G,Z];return J.Encoder.encode(u).toString("hex")}catch(J){throw new An.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(J)})}}}}function TA(n){let y,t,o;async function f(){if(!o)o=await oA();return o}async function T(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let W=n.index??0;return y=await tA(n.phrase,0,W),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(t)return t;let W=await T();if(!W)return"";if("getAddress"in W)return t=await W.getAddress(),t;return""}async function H(W){let w=W||await C();if(!w)throw new An.SwapKitError("core_wallet_connection_not_found");return fA(w)}async function A(W){if(W)try{let{tx:N}=await _(W),J=N.getFee();return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:J.toString()})}catch{}let w=await f(),l=400,L=w.minFeeB.plus(w.minFeeA.times(l));return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}async function _({sender:W="",recipient:w,assetValue:l,memo:L,pureLovelaceOnly:N=!1}){let J=W||await C();if(!J)throw new An.SwapKitError("core_wallet_connection_not_found");let[O,Y,q]=await Promise.all([c0(J),nA(),f()]),M=O.filter((Tn)=>N?Tn.amount.every((on)=>on.unit==="lovelace"):Tn.amount.some((on)=>on.unit==="lovelace")).sort((Tn,on)=>{let Zn=Tn.amount.some((On)=>On.unit!=="lovelace"),Bn=on.amount.some((On)=>On.unit!=="lovelace");if(Zn===Bn)return 0;return Zn?1:-1}),G=Nn.utils.getAddressFromString(J),Z=Nn.utils.getAddressFromString(w),D=yA(M,G),Q=new Sn.default(l.getBaseValue("string")),z=[{address:Z,amount:Q,tokens:[]}],x;if(L){let Tn=new Map;Tn.set("msg",[L]),x={metadata:[{data:Tn,label:674}]}}let k={...q,minFeeB:q.minFeeB.plus(q.minFeeA.times(4))},K=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:x,changeAddress:G,inputs:D,outputs:z,ttl:Y+3600}),{payload:e}=K.buildTransaction();return{tx:K,unsignedTx:e}}async function X(W){let w=await T();if(!w||!("signTransaction"in w))throw new An.SwapKitError("core_wallet_connection_not_found");return w.signTransaction(W)}async function B({recipient:W,assetValue:w,memo:l}){let L=await T();if(!L||!("signTransaction"in L))throw new An.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await _({assetValue:w,memo:l,recipient:W,sender:await C()}),J=await X(N);return await E0(J)}async function U(W){let w=await X(W);return await E0(w)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:U,signTransaction:X,transfer:B,validateAddress:i0}}var b0,v0,V0,Nn,An,Sn,K0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",j0="https://cardano-mainnet.blockfrost.io/api/v0",eH,Rt=2147483648,$0=0;var h0=p(()=>{b0=require("@scure/base"),v0=require("@scure/bip39"),V0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),An=require("@swapkit/helpers"),Sn=C0(require("bignumber.js")),eH=Nn.types.NetworkId.MAINNET});var St={};Mn(St,{validateCardanoAddress:()=>i0,getCardanoToolbox:()=>TA});module.exports=Jn(St);var Ft=p(()=>{h0()});function Xy(n){return hn.base64.encode(Uint8Array.from(hn.bech32.fromWords(hn.bech32.decode(n).words)))}function Wy(n,y="thor"){return hn.bech32.encode(y,hn.bech32.toWords(hn.base64.decode(n)))}function CA(n){return hn.base64.encode(n)}function HA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new m0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hn.base64.decode(n)}var hn,m0;var pt=p(()=>{hn=require("@scure/base"),m0=require("@swapkit/helpers")});function an(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return d0;case b.Chain.Noble:return a0;default:return g0}}async function sn(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 No(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 ut(n,y){let t=await import("@cosmjs/stargate");return(t.SigningStargateClient??t.default?.SigningStargateClient).offline(n,y)}async function Pt({sender:n,recipient:y,assetValue:t,memo:o="",feeRate:f,sequence:T,accountNumber:C}){let{chain:H,chainId:A}=t,_=await b.getRPCUrl(H),B=await(await sn(_)).getAccount(n);if(!B)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let U=b.AssetValue.from({chain:H}),W=To(U.symbol),w=an(H),l=W&&f?{amount:[{amount:f.toString(),denom:W}],gas:w.gas}:w,L={amount:[{amount:t.getBaseValue("string"),denom:To(t.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??B.accountNumber,chainId:A,fee:l,memo:o,msgs:[{typeUrl:AA(H),value:L}],sequence:T??B.sequence}}var b,kt="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",r0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",g0,d0,a0,To=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return kt;case"uYUM":case"YUM":return r0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},By=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return To(n,!1)},AA=(n)=>{switch(n){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},_A,It=(n,y)=>{let t=_A[n.toLowerCase()];if(!t)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:T}=t,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:T,value:y})};var My=p(()=>{b=require("@swapkit/helpers"),g0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},d0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},a0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};_A={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[kt.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var s0={};Mn(s0,{$root:()=>F});var Ln,v,un,I,F;var e0=p(()=>{Ln=C0(require("protobufjs/minimal.js")),v=Ln.default.Reader,un=Ln.default.Writer,I=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=un.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 v))o=v.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 v))o=new v(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,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=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=un.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 v))o=v.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 v))o=new v(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,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=un.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 v))o=v.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 v))o=new v(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,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=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=un.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 v))o=v.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 v))o=new v(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,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=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.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 v))o=v.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 v))o=new v(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,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=un.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 v))o=v.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 v))o=new v(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,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=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=un.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 v))o=v.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 v))o=new v(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,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=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=un.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 v))o=v.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 v))o=new v(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,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=un.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 v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.Coin;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.denom=T.string();break;case 2:A.amount=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(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,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=un.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 v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.DecCoin;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.denom=T.string();break;case 2:A.amount=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(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,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=un.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 v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.IntProto;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.int=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(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,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=un.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 v))T=v.create(T);let H=C===void 0?T.len:T.pos+C,A=new F.cosmos.base.v1beta1.DecProto;while(T.pos<H){let _=T.uint32();switch(_>>>3){case 1:A.dec=T.string();break;default:T.skipType(_&7);break}}return A},o.decodeDelimited=function(T){if(!(T instanceof v))T=new v(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,Ln.default.util.toJSONOptions)},o})(),t})(),y})(),n})()});async function zo(){let{$root:n}=await Promise.resolve().then(() => (e0(),s0)),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 Co(n){let y=await import("@cosmjs/stargate"),t=y.AminoTypes??y.default?.AminoTypes,o=n===nC.Chain.THORChain?"thorchain":"mayachain";return new t({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...T})=>({...T,signer:Xy(f)}),toAmino:({signer:f,...T})=>({...T,signer:Wy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:T,...C})=>({...C,fromAddress:Xy(f),toAddress:Xy(T)}),toAmino:({fromAddress:f,toAddress:T,...C})=>({...C,from_address:Wy(f),to_address:Wy(T)})}})}var nC;var $t=p(()=>{pt();nC=require("@swapkit/helpers")});function vt(n){let{assetValue:y,recipient:t,memo:o,sender:f,asSignable:T,asAminoMessage:C}=n;if(t)return yC({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,recipient:t,sender:f});return fC({asAminoMessage:C,asSignable:T,assetValue:y,memo:o,sender:f})}async function yC({sender:n,recipient:y,assetValue:t,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let A=t.chain,_=await zn.getRPCUrl(A),X=await oC({rpcUrl:_,sender:n}),{chainId:B}=zn.getChainConfig(A),U=Et({assetValue:t,recipient:y,sender:n}),W=f?await Ho(T?U:Ao(U),A):U;return{accountNumber:H||X.accountNumber,chainId:B,fee:an(A),memo:o,msgs:[W],sequence:C||X.sequence}}async function fC({sender:n,assetValue:y,memo:t="",asSignable:o=!0,asAminoMessage:f=!1,sequence:T,accountNumber:C}){let H=y.chain,A=await zn.getRPCUrl(H),_=await oC({rpcUrl:A,sender:n}),{chainId:X}=zn.getChainConfig(H),B=bt({assetValue:y,memo:t,sender:n}),U=o?await Ho(f?B:Ao(B),H):B;return{accountNumber:C||_.accountNumber,chainId:X,fee:an(H),memo:t,msgs:[U],sequence:T||_.sequence}}function Ao(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 Ly({chain:n,memo:y,msgs:t}){let o=await zo(),f=await Co(n),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:t.map((C)=>f.fromAmino(C))}};return o.encode(T)}var zn,UA,wA,Et=({sender:n,recipient:y,assetValue:t})=>{return{type:`${t.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:t.getBaseValue("string"),denom:To(t.symbol,!0)}],from_address:n,to_address:y}}},bt=({sender:n,assetValue:y,memo:t=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:By(y)}],memo:t,signer:n}}},Uf=({sender:n,recipient:y,assetValue:t,memo:o})=>{return!y?bt({assetValue:t,memo:o,sender:n}):Et({assetValue:t,recipient:y,sender:n})},Ho=async(n,y)=>{return(await Co(y)).fromAmino(n)},oC=async({rpcUrl:n,sender:y})=>{let o=await(await sn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var tC=p(()=>{My();$t();zn=require("@swapkit/helpers"),UA=an(zn.Chain.THORChain).gas,wA=an(zn.Chain.Maya).gas});var TC=()=>{};var CC=p(()=>{TC()});var Vt=p(()=>{pt();tC();$t();CC()});async function ct(n,y){try{let o=(await jt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function Kt({phrase:n,prefix:y,...t}){let o="derivationPath"in t?t.derivationPath:`${P.DerivationPath[t.chain]}/${t.index}`;return await wC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[UC.stringToPath(o)],prefix:y})}async function qA({privateKey:n,prefix:y}){let t=await import("@cosmjs/proto-signing");return(t.DirectSecp256k1Wallet??t.default?.DirectSecp256k1Wallet).fromKey(n,y)}function qC(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,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(_o.base64.decode(t));return A.verifySignature(_,_o.base64.decode(o),T.pubkey.value)}}function Zy({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 Qy.match(y).with({phrase:Qy.P.string},({phrase:W})=>Kt({derivationPath:f,phrase:W,prefix:t})).with({signer:Qy.P.any},({signer:W})=>W).otherwise(()=>{return}),T}async function H(W){let w=await P.getRPCUrl(n);return(await sn(w)).getAccount(W)}async function A(){let W=await C(),[w]=await W?.getAccounts()||[];return w?.address}async function _(){let W=await C(),[w]=await W?.getAccounts()||[];if(!w?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return _o.base64.encode(w?.pubkey)}async function X(W){let w=await C(),l=await A(),L=await P.getRPCUrl(n);if(!(w&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await No(L,w)).sign(l,W.msgs,W.fee,W.memo,{accountNumber:W.accountNumber,chainId:W.chainId,sequence:W.sequence})}async function B(W){let w=await C(),l=await A(),L=await P.getRPCUrl(n);if(!(w&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await(await No(L,w)).signAndBroadcast(l,W.msgs,W.fee,W.memo);if(J.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:J.code,message:J.rawLog});return J.transactionHash}async function U({recipient:W,assetValue:w,memo:l="",feeRate:L,feeOptionKey:N=P.FeeOption.Fast}){let J=await C(),O=await A();if(!(J&&O))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let Y=await P.getRPCUrl(n),q=P.AssetValue.from({chain:n}),M=By(q),G=L||XA((await AC(n,HC[n]))[N],M),Z=await No(Y,J),D=To(w.symbol),Q=[{amount:w.getBaseValue("string"),denom:D}],{transactionHash:z}=await Z.sendTokens(O,W,Q,G,l);return z}return{createPrivateKeyFromPhrase:BA(f),createTransaction:Pt,fetchFeeRateFromSwapKit:ct,getAccount:H,getAddress:A,getBalance:async(W,w)=>{let l=await _C(n)(W),L=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:J})=>{let O=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(N.includes("/")||N.includes("˜"))?`${n}.${N}`:N;return It(O,J)}));if(L.length===0)return[P.AssetValue.from({chain:n})];return L},getBalanceAsDenoms:_C(n),getFees:()=>AC(n,HC[n]),getPubKey:_,getSignerFromPhrase:({phrase:W,derivationPath:w})=>Kt({derivationPath:P.derivationPathToString(w),index:o,phrase:W,prefix:t}),getSignerFromPrivateKey:async(W)=>{let w=await import("@cosmjs/proto-signing");return(w.DirectSecp256k1Wallet??w.default?.DirectSecp256k1Wallet).fromKey(W,t)},signAndBroadcastTransaction:B,signTransaction:X,transfer:U,validateAddress:lC(n),verifySignature:qC(H)}}async function lA(n,y){try{let o=(await jt.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function GA({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:WA(n)})}async function AC(n,y){let{chainId:t,baseDecimal:o}=P.getChainConfig(n),f=await ct(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 XA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function WA(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 lC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:T}=_o.bech32.decode(o);return _o.bech32.encode(f,T)===o.toLocaleLowerCase()}catch{return!1}}}function _C(n){return async function(t){let o=await P.getRPCUrl(n);return(await(await sn(o)).getAllBalances(t)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function BA(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,A=o.Bip39??o.default?.Bip39,_=new H(t),X=await A.mnemonicToSeed(_),{privkey:B}=C.derivePath(T.Secp256k1,X,f(n));return B}}var UC,wC,_o,P,jt,Qy,HC;var wf=p(()=>{My();UC=require("@cosmjs/crypto"),wC=require("@cosmjs/proto-signing"),_o=require("@scure/base"),P=require("@swapkit/helpers"),jt=require("@swapkit/helpers/api"),Qy=require("ts-pattern");HC={[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 MA({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"),A=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[A(`${y}/${f}`)],prefix:n})}}function LA(n){return Uo.base64.encode(n)}function QA(n){return async function({wallet:t,tx:o}){let{msgs:f,accountNumber:T,sequence:C,chainId:H,fee:A,memo:_}=typeof o==="string"?JSON.parse(o):o,X=(await t.getAccounts())?.[0]?.address||"",B=await Co(n),U=await zo(),W=await ut(t,{aminoTypes:B,registry:U}),w=[];for(let N of f){let J=await Ho(N,n);w.push(J)}let{signatures:[l]}=await W.sign(X,w,A,_,{accountNumber:T,chainId:H,sequence:C});return{bodyBytes:await Ly({chain:n,memo:_,msgs:f.map(Ao)}),signature:LA(l)}}}function ZA({prefix:n,chain:y}){return async function(o,f,T,C,H){let A=await s.getRPCUrl(y),{encodeSecp256k1Pubkey:_,pubkeyToAddress:X}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:W}=JSON.parse(o),w=await GC(T,C),l=f.map((J)=>[X(_(Uo.base64.decode(J.pubKey)),n),Uo.base64.decode(J.signature)]),L=await sn(A),{transactionHash:N}=await L.broadcastTx(B(w,U,W,H,new Map(l)));return N}}async function GC(n,y,t=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((T)=>f(Uo.base64.decode(T))),y,t)}function JA(n){return Uo.base64.decode(n)}async function YA({privateKey:n,message:y}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,o=await t.createSignature(Uo.base64.decode(y),n);return Uo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function it({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}),A=Zy({chain:n,...y}),_=an(n);async function X(){let U,W=`${t}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:w}}=await s.RequestClient.get(W);if(!w||Number.isNaN(w)||w<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:w.toString()});U=new s.SwapKitNumber(w)}catch{U=new s.SwapKitNumber({decimal:s.getChainConfig(n).baseDecimal,value:f?0.02:1})}return{[s.FeeOption.Average]:U,[s.FeeOption.Fast]:U,[s.FeeOption.Fastest]:U}}async function B({assetValue:U,memo:W="",recipient:w}){let l=await s.getRPCUrl(n),L=await Jy.match(y).with({phrase:Jy.P.string},({phrase:z})=>A.getSignerFromPhrase({derivationPath:H,phrase:z})).with({signer:Jy.P.any},({signer:z})=>z).otherwise(()=>{return}),{TxRaw:N}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),J=(await L?.getAccounts())?.[0]?.address;if(!(J&&L))throw new s.SwapKitError("toolbox_cosmos_no_signer");let O="signAmino"in L,Y=await zo(),q=await Co(n),M=await No(l,L,{aminoTypes:q,registry:Y}),G=Uf({assetValue:U,memo:W,recipient:w,sender:J});if(O){let z=await Ho(G,n),{signatures:x,authInfoBytes:k}=await M.sign(J,[z],_,W),u=N.encode({authInfoBytes:k,bodyBytes:await Ly({chain:n,memo:W,msgs:[G].map(Ao)}),signatures:x}).finish();return(await M.broadcastTx(u)).transactionHash}let Z=Ao(G),D=await Ho(Z,n);return(await M.signAndBroadcast(J,[D],_,W)).transactionHash}return{...A,broadcastMultisigTx:ZA({chain:n,prefix:T}),buildAminoMsg:Uf,buildEncodedTxBody:Ly,convertToSignable:Ho,createDefaultAminoTypes:()=>Co(n),createDefaultRegistry:zo,createMultisig:GC,createTransaction:vt,deposit:B,getFees:X,importSignature:JA,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(U)=>{let{pubkeyToAddress:W}=(await import("@cosmjs/amino")).default;return W(U,T)},secp256k1HdWalletFromMnemonic:MA({derivationPath:s.derivationPathToString(H),prefix:T}),signMultisigTx:QA(n),signWithPrivateKey:YA,transfer:B}}var Uo,s,Jy;var ht=p(()=>{Vt();My();wf();Uo=require("@scure/base"),s=require("@swapkit/helpers"),Jy=require("ts-pattern")});var wo,NA=(n,y)=>{switch(n){case wo.Chain.Cosmos:case wo.Chain.Kujira:case wo.Chain.Noble:return Zy({chain:n,...y});case wo.Chain.Maya:case wo.Chain.THORChain:return it({chain:n,...y});default:throw new wo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var XC=p(()=>{wf();ht();wo=require("@swapkit/helpers");wf();ht()});var qf={};Mn(qf,{verifySignature:()=>qC,transferMsgAmino:()=>Et,toBase64:()=>CA,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>qA,getSignerFromPhrase:()=>Kt,getMsgSendDenom:()=>To,getFeeRateFromSwapKit:()=>lA,getDenomWithChain:()=>By,getDefaultChainFee:()=>an,getCosmosToolbox:()=>NA,getCosmosAddressValidator:()=>lC,getAssetFromDenom:()=>It,fromBase64:()=>HA,fetchFeeRateFromSwapKit:()=>ct,estimateTransactionFee:()=>GA,depositMsgAmino:()=>bt,createTransaction:()=>vt,createThorchainToolbox:()=>it,createStargateClient:()=>sn,createSigningStargateClient:()=>No,createOfflineStargateClient:()=>ut,createDefaultRegistry:()=>zo,createDefaultAminoTypes:()=>Co,createCosmosToolbox:()=>Zy,cosmosCreateTransaction:()=>Pt,convertToSignable:()=>Ho,buildTransferTx:()=>yC,buildEncodedTxBody:()=>Ly,buildDepositTx:()=>fC,buildAminoMsg:()=>Uf,bech32ToBase64:()=>Xy,base64ToBech32:()=>Wy,YUM_KUJIRA_FACTORY_DENOM:()=>r0,USK_KUJIRA_FACTORY_DENOM:()=>kt,THORCHAIN_GAS_VALUE:()=>UA,MAYA_GAS_VALUE:()=>wA,DEFAULT_NOBLE_FEE_MAINNET:()=>a0,DEFAULT_KUJI_FEE_MAINNET:()=>d0,DEFAULT_COSMOS_FEE_MAINNET:()=>g0});module.exports=Jn(qf);var lf=p(()=>{Vt();XC();My()});function zA({builder:n,grouping:y="na",orders:t}){return{builder:n,grouping:y,orders:t,type:"order"}}function DA({cancels:n}){return{cancels:n,type:"cancel"}}function OA({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function RA({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function xA({modifies:n}){return{modifies:n,type:"batchModify"}}function SA({asset:n,isCross:y,leverage:t}){return{asset:n,isCross:y,leverage:t,type:"updateLeverage"}}function FA({asset:n,isBuy:y,ntli:t}){return{asset:n,isBuy:y,ntli:t,type:"updateIsolatedMargin"}}function pA({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function kA({time:n}){return{time:n,type:"scheduleCancel"}}function uA({amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:t,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function PA({amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:A}){return{amount:n,destination:y,destinationDex:t,fromSubAccount:o,hyperliquidChain:f,nonce:T,signatureChainId:C,sourceDex:H,token:A,type:"sendAsset"}}function IA({agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:t,nonce:o,signatureChainId:f,type:"approveAgent"}}function $A({builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:t,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function EA({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 Fn(...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 cA(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 qo(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 WC(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 Fn(new Uint8Array([205]),qo(n,2));if(n<=0xffffffffn)return Fn(new Uint8Array([206]),qo(n,4));return Fn(new Uint8Array([207]),qo(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 Fn(new Uint8Array([209]),qo(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Fn(new Uint8Array([210]),qo(BigInt.asUintN(32,n),4));return Fn(new Uint8Array([211]),qo(BigInt.asUintN(64,n),8))}function LC(n){let y=jA.encode(n);if(y.length<32)return Fn(new Uint8Array([160+y.length]),y);return Fn(cA(217,0,y.length),y)}function iA(n){let y=n.map((o)=>mt(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 Fn(t,...y)}function hA(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 Fn(t,...y.flatMap(([o,f])=>[LC(o),mt(f)]))}function mt(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return LC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new Gf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return WC(BigInt(n))}if(typeof n==="bigint")return WC(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 Fn(y,n)}if(Array.isArray(n))return iA(n);if(typeof n==="object")return hA(n);throw new Gf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function mA(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new Gf.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 QC(n){return{domain:bA,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...vA.Agent]}}}function ZC(n){let y=KA[n.type],t=VA[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:BC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||MC},primaryType:y,types:{[y]:t}}}function JC(n){let y=Xf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function YC(n,y,{expiresAfter:t,vaultAddress:o}={}){let f=mt(n),T=qo(BigInt(y),8),C=o?Fn(new Uint8Array([1]),mA(o.toLowerCase())):new Uint8Array([0]),H=typeof t==="number"?Fn(new Uint8Array([0]),qo(BigInt(t),8)):new Uint8Array;return Xf.keccak256(Fn(f,T,C,H))}function NC(n){let y=n.hyperliquidChain||MC;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 Gf,Xf,BC="0x0000000000000000000000000000000000000000",bA,vA,MC="Mainnet",VA,KA,jA;var zC=p(()=>{Gf=require("@swapkit/helpers"),Xf=require("ethers"),bA={chainId:1337,name:"Exchange",verifyingContract:BC,version:"1"},vA={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},VA={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"}]},KA={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},jA=new TextEncoder});function $n(n,y){if(!dt(n))throw new a.SwapKitError(y,{address:n});return n.toLowerCase()}async function Do(n){let y=await Wf();return a.RequestClient.post(`${y}/info`,{json:n})}function n_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function o_({user:n}){return Do({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function y_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function f_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function t_({oidOrCloid:n,user:y}){return Do({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function T_({aggregateByTime:n,user:y}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function C_({aggregateByTime:n,endTime:y,startTime:t,user:o}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:t,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function DC({coin:n,token:y,value:t,spotMeta:o}){if(!t||Number(t)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,T=rA[f]||xC,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${mn}.${f}-${C.name}:${C.tokenId}`:`${mn}.${f}`;return new a.AssetValue({decimal:T,identifier:H,value:t})}function H_(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:mn,value:0});y.set(t.toString({includeSynthProtocol:!0}),t)}return[...y.values()]}async function Wf(){try{return await a.getRPCUrl(mn)}catch{let[n]=a.getChainConfig(mn).rpcUrls;if(!n)throw new a.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:mn});return n}}async function gt(){return`${await Wf()}/exchange`}function A_(n){let y=eA[n.type],{type:t,...o}=n,f=sA[t];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:aA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function SC({action:n,expiresAfter:y,nonce:t,vaultAddress:o}){let f=t||Date.now(),T=o?$n(o,"helpers_invalid_params"):void 0,C=await gt(),H=YC(n,f,{expiresAfter:y,vaultAddress:T});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:QC(H),vaultAddress:T}}async function FC({action:n,nonce:y,signatureChainId:t}){let o=y||n.nonce||Date.now(),f=t||n.signatureChainId||"0xa4b1",T=NC({...n,nonce:o,signatureChainId:f});return{action:T,endpoint:await gt(),nonce:o,typedData:ZC(T)}}async function rt({assetValue:n,recipient:y,sender:t,signatureChainId:o,time:f}){let T=$n(y,"core_transaction_invalid_recipient_address"),C=$n(t,"core_transaction_invalid_sender_address"),H=await gt(),A=n.getValue("string"),_=f||Date.now(),X=n.address;if(!X)throw new a.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let B={amount:A,destination:T,hyperliquidChain:gA,signatureChainId:o||dA,time:_,token:X,type:"spotSend"};return{action:B,endpoint:H,nonce:_,typedData:A_(B)}}async function OC(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 __(n,y){let t=await Wf(),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 dt(n){return n.startsWith("0x")&&Uy(n)}function U_(n){let y=xn(mn),t=n&&"index"in n?n.index||0:0,o=a.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[mn],{index:t})),f,T=!1;function C(){if(T)return f;return f=vo.match(n).with({phrase:vo.P.string},({phrase:U})=>{return RC.HDNodeWallet.fromPhrase(U,void 0,o)}).with({signer:vo.P.not(vo.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),T=!0,f}async function H(){let U=C();return U?await U.getAddress():""}async function A(U){let W=C();if(!W)throw new a.SwapKitError("toolbox_hypercore_no_signer");let w=await W.signTypedData(U.typedData.domain,U.typedData.types,U.typedData.message);return{action:U.action,endpoint:U.endpoint,nonce:U.nonce,signature:JC(w),..."expiresAfter"in U?{expiresAfter:U.expiresAfter}:{},..."vaultAddress"in U?{vaultAddress:U.vaultAddress}:{}}}async function _(U){let W=$n(U,"helpers_invalid_params");try{let w=await Wf(),[l,L,N]=await Promise.all([a.RequestClient.post(`${w}/info`,{json:{type:"spotClearinghouseState",user:W}}),a.RequestClient.post(`${w}/info`,{json:{type:"clearinghouseState",user:W}}),a.RequestClient.post(`${w}/info`,{json:{type:"spotMeta"}})]),J=(l.spotState?.balances||l.balances||[]).map(({coin:Y,token:q,total:M})=>DC({coin:Y,spotMeta:N,token:q,value:M})).filter((Y)=>!!Y),O=DC({coin:"USDC",spotMeta:N,value:L.withdrawable||L.marginSummary?.accountValue||L.marginSummary?.totalRawUsd});return H_(O?[...J,O]:J)}catch{return y(W)}}async function X(U){let W=C();if(!W)throw new a.SwapKitError("toolbox_hypercore_no_signer");let w=U.sender||await W.getAddress(),l=await rt({...U,feeRate:0,sender:w}),L=await A(l);return await OC(L),__(w,l.nonce)}function B(){return a.AssetValue.from({chain:mn,value:0})}return{broadcastTransaction:OC,createL1ActionRequest:SC,createTransaction:rt,createUserSignedActionRequest:FC,estimateTransactionFee:B,getAddress:H,getBalance:_,getState:{clearinghouse:n_,frontendOpenOrders:f_,openOrders:y_,orderStatus:t_,spotClearinghouse:o_,userFills:T_,userFillsByTime:C_},signTransaction:A,transfer:X,validateAddress:dt}}var a,RC,vo,mn,xC,rA,gA="Mainnet",dA="0xa4b1",aA="0x0000000000000000000000000000000000000000",sA,eA;var pC=p(()=>{Ot();dn();zC();a=require("@swapkit/helpers"),RC=require("ethers"),vo=require("ts-pattern"),mn=a.Chain.HyperCore,{baseDecimal:xC}=a.getChainConfig(mn),rA={HYPE:xC,USDC:6,USDT:6},sA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},eA={spotSend:"HyperliquidTransaction:SpotSend"}});var at={};Mn(at,{validateHyperCoreAddress:()=>dt,getHyperCoreToolbox:()=>U_,createUserSignedActionRequest:()=>FC,createTransaction:()=>rt,createL1ActionRequest:()=>SC,buildUsdClassTransferAction:()=>uA,buildUpdateLeverageAction:()=>SA,buildUpdateIsolatedMarginAction:()=>FA,buildTopUpIsolatedOnlyMarginAction:()=>pA,buildTokenDelegateAction:()=>EA,buildSendAssetAction:()=>PA,buildScheduleCancelAction:()=>kA,buildOrderAction:()=>zA,buildModifyAction:()=>RA,buildCancelByCloidAction:()=>OA,buildCancelAction:()=>DA,buildBatchModifyAction:()=>xA,buildApproveBuilderFeeAction:()=>$A,buildApproveAgentAction:()=>IA});module.exports=Jn(at);var st=p(()=>{pC()});async function PC(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 w_(n){let y=await en(),{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})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let X=_.data.parsed.info,B=X.mint,U=X.tokenAmount.amount;if(Number(U)===0)continue;let W=await PC(B),w=W?.symbol||"UNKNOWN",l=W?.decimals||X.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${w}-${B}`,fromBaseDecimal:l,value:U}))}return H}function nT(n){try{let y=new no.PublicKey(n);return no.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function q_(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 Yy.match(n).with({phrase:Yy.P.string},({phrase:C})=>et({derivationPath:t,phrase:C})).with({signer:Yy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function T(){let C=await f();return C?.publicKey?uC(C.publicKey):""}return{broadcastTransaction:Bf(en),createKeysForPath:et,createTransaction:oT(en),createTransactionFromInstructions:W_,estimateTransactionFee:l_(en),getAddress:T,getAddressFromPubKey:uC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:w_,getConnection:en,getPubkeyFromAddress:(C)=>new no.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await kC(en,f)(C);return Bf(en)(H)},signTransaction:kC(en,f),transfer:B_(en,f),validateAddress:nT}}function l_(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let C=await n(),A=(await oT(n)({assetValue:t,isProgramDerivedAddress:f,memo:o,recipient:y,sender:T})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:X,value:_.value})}}async function en(){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 A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")T[C]=H}f(t,{...o,headers:T})}})}function G_(n){return async({assetValue:y,recipient:t,sender:o,isProgramDerivedAddress:f})=>{let T=await n(),C=new no.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no.PublicKey(t)}))}if(y.address)return X_({amount:y.getBaseValue("number"),connection:T,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:t,tokenAddress:y.address});return}}async function X_({tokenAddress:n,recipient:y,from:t,connection:o,amount:f,decimals:T,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:A,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:B}=await import("@solana/web3.js"),U=new B,W=new no.PublicKey(n),w=await H(W,t),l=new no.PublicKey(y),L=await H(W,l,C),N=!1;try{await A(o,L),N=!0}catch{}if(!N)U.add(_(t,L,l,W));return U.add(X(w,W,L,t,f,T)),U}function oT(n){return async({recipient:y,assetValue:t,memo:o,isProgramDerivedAddress:f,sender:T})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no.PublicKey(T);if(!(f||nT(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let A=await n(),_=await G_(n)({assetValue:t,isProgramDerivedAddress:f,recipient:y,sender:T});if(!_)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)_.add(C(o));let X=await A.getLatestBlockhash();return _.recentBlockhash=X.blockhash,_.feePayer=H,_}}async function W_({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 B_(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(),A=await oT(n)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:t,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Bf(n)(_)}return A.sign(C),Bf(n)(A)}}function Bf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function kC(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 et({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 uC(n){return n.toString()}var no,r,Yy;var IC=p(()=>{dn();no=require("@solana/web3.js"),r=require("@swapkit/helpers"),Yy=require("ts-pattern")});var yT={};Mn(yT,{validateSolanaAddress:()=>nT,getSolanaToolbox:()=>q_,fetchTokenMetaData:()=>PC,createKeysForPath:()=>et});module.exports=Jn(yT);var fT=p(()=>{IC()});function Mf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Lf({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"),A=o(n),X=t.fromMasterSeed(A).derive(y);if(!X.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let B=C.addHexPrefix(Buffer.from(X.privateKey).toString("hex")),U=f.starkCurve.grindKey(B),W=C.addHexPrefix(U),w=f.starkCurve.getStarkKey(W),l=H.compile([w,0]);return{address:T.calculateContractAddressFromHash(w,TT,l,0),privateKey:W,publicKey:w}}async function CT({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:t,RpcProvider:o}=await import("starknet"),{privateKey:f,address:T}=await Lf({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 EC(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:q}=await import("starknet"),M=await c.getRPCUrl(y);return T=new q({nodeUrl:M}),T}async function A(q){let M=await H(),G=q||await U();if(!G)return!1;try{return await M.getClassHashAt(G),!0}catch(Z){if(Z instanceof Error&&Z.message.includes("Contract not found"))return!1;let D=Z;if(D?.code===20||D?.code===19)return!1;throw Z}}async function _(){let{CallData:q,hash:M}=await import("starknet"),G=await H(),Z=await B();if(!Z)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 A())return Z.address;let Q=q.compile([C,0]);if(M.calculateContractAddressFromHash(C,TT,Q,0).toLowerCase()!==Z.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let x={addressSalt:C,classHash:TT,constructorCalldata:Q},{transaction_hash:k}=await Z.deployAccount(x);return await G.waitForTransaction(k),k}async function X(){if(!await A()){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 _()}}async function B(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:q})=>{let{Account:M,RpcProvider:G}=await import("starknet"),{privateKey:Z,address:D,publicKey:Q}=await Lf({derivationPath:o,phrase:q});C=Q;let z=await c.getRPCUrl(c.Chain.Starknet),x=new G({nodeUrl:z});return new M({address:D,provider:x,signer:Z})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:q,address:M})=>{let{Account:G}=await import("starknet"),Z=await H();return new G({address:M,provider:Z,signer:q})}).with({signer:En.P.instanceOf(Object)},({signer:q})=>q).otherwise(()=>{return}),f}async function U(){return(await B())?.address??""}async function W(q){let M=await H(),{uint256:G,CallData:Z}=await import("starknet"),D=[],Q=[tT,$C];for(let z of Q)try{let[x="0",k="0"]=await M.callContract({calldata:Z.compile({account:q}),contractAddress:z,entrypoint:"balanceOf"}),u=G.uint256ToBN({high:x,low:k});En.match(z).with(tT,()=>{D.push(c.AssetValue.from({chain:y,value:u}))}).with($C,()=>{if(u>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${z}`,value:u}))}).otherwise(()=>{})}catch{}return D}async function w({recipient:q,assetValue:M}){let{CallData:G,uint256:Z}=await import("starknet");if(!Mf(q))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:q});let D=M.isGasAsset?tT:M.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:M});let Q=Z.bnToUint256(M.getBaseValue("bigint"));return[{calldata:G.compile([q,Q]),contractAddress:D,entrypoint:"transfer"}]}async function l({recipient:q,assetValue:M,sender:G}){let{baseDecimal:Z}=c.getChainConfig(c.Chain.Starknet),D=await B(),Q=await En.match({sender:G,signer:D}).with({sender:En.P.string},async({sender:z})=>{let{Account:x}=await import("starknet"),k=await H();return new x({address:z,provider:k,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:z})=>z).otherwise((z)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:z}})});try{let z=await w({assetValue:M,recipient:q}),x=await Q.estimateInvokeFee(z);if(x?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Z,value:x.overall_fee})}catch(z){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",z)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function L({recipient:q,assetValue:M,memo:G}){let Z=await B();if(!Z)throw new c.SwapKitError("toolbox_starknet_no_signer");await X();let D=await w({assetValue:M,memo:G,recipient:q});return(await Z.execute(D)).transaction_hash}async function N(q){let M=await B();if(!M)throw new c.SwapKitError("toolbox_starknet_no_signer");let G=await M.signMessage(q);return Array.isArray(G)?G:[G.r.toString(),G.s.toString()]}async function J(q){let M=await B();if(!M)throw new c.SwapKitError("toolbox_starknet_no_signer");return await X(),(await M.execute(q)).transaction_hash}function O(q){return J(q)}function Y(q,M=!0){try{return xn(y)(q,M)}catch{return W(q)}}return{broadcastTransaction:J,createKeysForPath:CT,createTransaction:w,deployAccount:_,estimateTransactionFee:l,getAddress:U,getBalance:Y,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:O,signMessage:N,transfer:L,validateAddress:Mf}}var c,En,tT="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",$C="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",TT="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var bC=p(()=>{dn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Qf={};Mn(Qf,{validateStarknetAddress:()=>Mf,starknetCreateKeysForPath:()=>CT,getStarknetToolbox:()=>EC,deriveStarknetKeys:()=>Lf});module.exports=Jn(Qf);var Zf=p(()=>{bC()});async function KC(n,y,t,o=[],f){let T=await n.getCoins({coinType:t,cursor:f,owner:y}),C=[...o,...T.data];return T.hasNextPage?KC(n,y,t,C,T.nextCursor):C}function M_(n,y,t){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<t)throw new yn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:t.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=t)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.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 jC(n){try{return VC.isValidSuiAddress(n)}catch{return!1}}function vC(n){return"signWithIntent"in n}function L_({provider:n,...y}={}){let t;async function o(){if(t)return t;return t=await Ny.match(y).with({phrase:Ny.P.string},async({phrase:w})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(w)}).with({signer:Ny.P.any},({signer:w})=>w).otherwise(()=>{return}),t}async function f(w=n){let{SuiClient:l,getFullnodeUrl:L}=await import("@mysten/sui/client");return new l({url:w||L("mainnet")})}async function T(){return(await o())?.toSuiAddress()||""}function C(w){try{let l=yn.AssetValue.from({address:w,chain:yn.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 yn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:L,chain:N}=yn.getChainConfig(yn.Chain.Sui);try{let J=await f(),{totalBalance:O}=await J.getBalance({owner:l}),Y=[yn.AssetValue.from({chain:N,fromBaseDecimal:L,value:O})],q=await J.getAllBalances({owner:l});for(let{coinType:M,totalBalance:G}of q){if(M==="0x2::sui::SUI"||Number(G)<=0)continue;let Z=C(M);if(Z)Y.push(yn.AssetValue.from({asset:Z.asset,fromBaseDecimal:Z.decimals,value:G}))}return Y}catch{return[yn.AssetValue.from({chain:N})]}}async function A(w){let l=yn.AssetValue.from({chain:yn.Chain.Sui,value:"0.01"});if(!w)return l;try{let L=await f(),{txBytes:N}=await _(w),{effects:{status:J,gasUsed:O}}=await L.dryRunTransactionBlock({transactionBlock:N});if(J.status!=="success")return l;let Y=Number(O.computationCost)+Number(O.storageCost)-Number(O.storageRebate);return yn.AssetValue.from({chain:yn.Chain.Sui,value:Y.toString()})}catch{return l}}async function _({recipient:w,assetValue:l,gasBudget:L,sender:N}){let{Transaction:J}=await import("@mysten/sui/transactions"),O=N||await T();if(!O)throw new yn.SwapKitError("toolbox_sui_no_sender");try{let Y=new J;if(Y.setSender(O),l.isGasAsset||l.symbol==="SUI"){let[G]=Y.splitCoins(Y.gas,[l.getBaseValue("string")]);Y.transferObjects([G],w)}else{let G=l.address;if(!G)throw new yn.SwapKitError("toolbox_sui_missing_coin_type");let Z=await f(),D=l.getBaseValue("bigint"),Q=await KC(Z,O,G);if(!Q.length)throw new yn.SwapKitError("toolbox_sui_no_coins_found",{coinType:G});let z=M_(Y,Q,D);Y.transferObjects([z],w)}if(L)Y.setGasBudget(L);let q=await f(),M=await Y.build({client:q});return{tx:Y,txBytes:M}}catch(Y){if(Y instanceof yn.SwapKitError)throw Y;throw new yn.SwapKitError("toolbox_sui_transaction_creation_error",{error:Y})}}async function X(w){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");if(w instanceof Uint8Array)return l.signTransaction(w);let{txBytes:L}="tx"in w?w:await _(w);return l.signTransaction(L)}async function B({assetValue:w,gasBudget:l,recipient:L}){let N=await o();if(!N)throw new yn.SwapKitError("toolbox_sui_no_signer");let J=N.toSuiAddress()||await T();if(!J)throw new yn.SwapKitError("toolbox_sui_no_sender");let{txBytes:O}=await _({assetValue:w,gasBudget:l,recipient:L,sender:J}),Y=await f();if(!vC(N)){let M=await N.signTransaction(O),{digest:G}=await Y.executeTransactionBlock({signature:M.signature,transactionBlock:M.bytes});return G}let{digest:q}=await Y.signAndExecuteTransaction({signer:N,transaction:O});return q}async function U(w){let l=await f(),{digest:L}=await l.executeTransactionBlock({signature:w.signature,transactionBlock:w.bytes});return L}async function W(w){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");let L=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:L});if(!vC(l)){let O=await l.signTransaction(N),{digest:Y}=await L.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return Y}let{digest:J}=await L.signAndExecuteTransaction({signer:l,transaction:N});return J}return{broadcastTransaction:U,createTransaction:_,estimateTransactionFee:A,getAddress:T,getBalance:H,signAndBroadcastTransaction:W,signTransaction:X,transfer:B,validateAddress:jC}}var VC,yn,Ny;var cC=p(()=>{VC=require("@mysten/sui/utils"),yn=require("@swapkit/helpers"),Ny=require("ts-pattern")});var Jf={};Mn(Jf,{validateSuiAddress:()=>jC,getSuiToolbox:()=>L_});module.exports=Jn(Jf);var Yf=p(()=>{cC()});async function N_(){let n=Date.now();if(Nf&&n-hC<Y_)return Nf;try{return Nf=await mC.getHttpEndpoint(),hC=n,Nf}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function z_(n={}){let y,t,o;async function f(){if(!y){let Y=n.provider??await N_();y=new h.TonClient({endpoint:Y})}return y}async function T(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Oo.match(n).with({phrase:Oo.P.string},async({phrase:Y})=>rC.mnemonicToWalletKey(Y.split(" "))).with({signer:Oo.P.any},({signer:Y})=>Y).otherwise(()=>{return}),o}async function H(Y){if(!t||Y){let q=await C(),M=await f(),G=Y||q;if(!G)throw new qn.SwapKitError("core_wallet_connection_not_found");let Z=h.WalletContractV4.create({publicKey:G.publicKey,workchain:0});t=M.open(Z)}return t}let A=xn(qn.Chain.Ton);async function _({assetValue:Y,recipient:q,memo:M,sender:G}){if(Y.isGasAsset){let e=M?O(M).toBoc().toString("base64"):void 0;return[{address:q,amount:Y.getBaseValue("string"),payload:e}]}let Z=Y.address;if(!Z)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:Y.toString()}});let D=G??await T(),Q=await N({jettonMasterAddress:Z,ownerAddress:D}),z=h.Address.parse(q),x=h.Address.parse(D),k=Y.getBaseValue("bigint"),u=M?O(M):void 0,K=J({destinationAddress:z,forwardPayload:u,jettonAmount:k,responseAddress:x});return[{address:Q.toString(),amount:J_.toString(),payload:K.toBoc().toString("base64")}]}function X({sender:Y,...q}){return _({...q,sender:Y})}function B(Y){return Y.map((q)=>{let M=q.payload?h.Cell.fromBase64(q.payload):void 0,G=q.stateInit?h.loadStateInit(h.Cell.fromBase64(q.stateInit).asSlice()):void 0,Z=h.Address.parse(q.address),D=h.Address.isFriendly(q.address)?h.Address.parseFriendly(q.address).isBounceable:!0;return h.internal({body:M,bounce:D,init:G,to:Z,value:BigInt(q.amount)})})}async function U(Y){let q=await C(),M=await H();if(!M||!q)throw new qn.SwapKitError("core_wallet_connection_not_found");let G=await f(),{state:Z}=await G.getContractState(M.address),D=Z==="active",Q=D?await M.getSeqno():0,z=M.createTransfer({messages:B(Y),secretKey:q.secretKey,sendMode:iC,seqno:Q}),x=h.external({body:z,init:D?void 0:M.init,to:M.address});return h.beginCell().store(h.storeMessage(x)).endCell()}async function W(Y){return await(await f()).sendFile(Y.toBoc()),Y.hash().toString("hex")}async function w(Y){let q=await U(Y);return W(q)}async function l({assetValue:Y,recipient:q,memo:M}){let G=await X({assetValue:Y,memo:M,recipient:q});return w(G)}async function L({sender:Y,...q}){let{baseDecimal:M}=qn.getChainConfig(qn.Chain.Ton),G=await Oo.match(Y).with(Oo.P.string,(Q)=>{return h.Address.parseFriendly(Q).address}).otherwise(async()=>{return(await H()).address});if(!G)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let Z=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),D=await f();try{let Q=await X({sender:Y,...q}),z=await C(),x=await H();if(!x||!z)return Z;let k=await x.getSeqno(),u=x.createTransfer({messages:B(Q),secretKey:z.secretKey,sendMode:iC,seqno:k}),{source_fees:K}=await D.estimateExternalMessageFee(G,{body:u,ignoreSignature:!0,initCode:null,initData:null}),e=K.in_fwd_fee+K.storage_fee+K.gas_fee+K.fwd_fee;return Z.set(qn.SwapKitNumber.fromBigInt(BigInt(e),M))}catch{return Z}}async function N({jettonMasterAddress:Y,ownerAddress:q}){try{let M=await f(),G=h.Address.parse(Y),Z=h.Address.parse(q);return await M.open(h.JettonMaster.create(G)).getWalletAddress(Z)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:Y,ownerAddress:q}})}}function J({jettonAmount:Y,destinationAddress:q,responseAddress:M,forwardAmount:G=Z_,forwardPayload:Z}){let D=h.beginCell().storeUint(Q_,32).storeUint(0,64).storeCoins(Y).storeAddress(q).storeAddress(M).storeBit(0).storeCoins(G);if(Z)D.storeBit(1).storeRef(Z);else D.storeBit(0);return D.endCell()}function O(Y){return h.beginCell().storeUint(0,32).storeStringTail(Y).endCell()}return{broadcastTransaction:W,createTransaction:X,estimateTransactionFee:L,getAddress:T,getBalance:A,getJettonWalletAddress:N,sign:U,signAndBroadcastTransaction:w,transfer:l,validateAddress:gC}}function gC(n){try{return h.Address.parse(n),!0}catch{return!1}}var mC,qn,rC,h,Oo,Q_=260734629,Z_,J_,iC,Y_=60000,Nf,hC=0;var dC=p(()=>{dn();mC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),rC=require("@ton/crypto"),h=require("@ton/ton"),Oo=require("ts-pattern"),Z_=h.toNano("0.01"),J_=h.toNano("0.05"),iC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var zf={};Mn(zf,{validateTonAddress:()=>gC,getTONToolbox:()=>z_});module.exports=Jn(zf);var Df=p(()=>{dC()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function lo({accountIndex:n,chain:y,derivationPath:t}){if(n!==void 0)bn("accountIndex",n);let o=[...t?.slice(0,3)??aC.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function Vo({accountIndex:n,change:y=!1,chain:t,derivationPath:o,index:f}){return bn("index",f),[...lo({accountIndex:n,chain:t,derivationPath:o}),Number(y),f]}function Ro(n){return n[2]??0}function sC({deriveAddress:n,getBalance:y,getUtxos:t}){async function o(H){let{accountIndex:A,count:_,startIndex:X=0,change:B=!1}=H;if(bn("count",_),_<1)throw RangeError("count must be at least 1");bn("startIndex",X);let U=[];for(let W=0;W<_;W++){let w=await n({accountIndex:A,change:B,index:X+W});if(w)U.push(w)}return U}async function f(H){let{gapLimit:A=20,change:_=!1}=H??{},X=[],B=0,U=0;while(B<A){let W=await n({change:_,index:U});if(!W)break;if((await y(W.address)).some((L)=>L.getValue("number")>0))X.push(W),B=0;else B++;U++}return X}async function T(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[...A,..._],B=await Promise.all(X.map(async(W)=>{let l=(await y(W.address)).reduce((L,N)=>L+N.getValue("number"),0);return{...W,balance:l}})),U=B.reduce((W,w)=>W+w.balance,0);return{addresses:B,total:U}}async function C(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[...A,..._];return(await Promise.all(X.map(async(U)=>{return(await t(U.address)).map((w)=>({...w,address:U.address,derivationIndex:U.index,isChange:U.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:T,getAggregatedUtxos:C,scanForAddresses:f}}var aC;var zy=p(()=>{aC=require("@swapkit/helpers")});async function D_({chain:n,txHash:y}){let t=`${Dy(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:w0(),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 Dy(n){return`https://api.blockchair.com/${O_(n)}`}function eC(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 O_(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 R_(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,eC(n))}catch{return eC(n)}}async function Of(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 o1({address:n,chain:y,apiKey:t}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Of(`${Dy(y)}/dashboards/address/${n}?transaction_details=true`,t))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function x_({address:n,chain:y,apiKey:t}){return(await o1({address:n,apiKey:t,chain:y}))?.address.balance||0}async function y1({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Of(`${Dy(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 F_({chain:n,apiKey:y,txHash:t}){if(!t)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Of(`${Dy(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,A=C.map((X)=>X.spending_sequence),_=T.is_rbf===!0||A.some((X)=>X<S_);return{blockId:T.block_id,confirmed:T.block_id!==-1,fee:T.fee,inputs:C,isRBF:_,outputs:H,sequences:A,size:T.size,txid:T.hash,weight:T.weight}}async function p_({chain:n,address:y,apiKey:t,offset:o=0,limit:f=30}){return(await Of(`${Dy(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:A,script_hex:_,block_id:X,transaction_hash:B,index:U,value:W,spending_signature_hex:w})=>({hash:B,index:U,is_confirmed:X!==-1,is_spent:A,script_hex:_,txHex:w,value:W}))}function k_(n){return n.reduce((y,t)=>y+t.value,0)}function n1(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 f1({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 p_({address:y,apiKey:t,chain:n,limit:C,offset:T,targetValue:o}),_=H.length<C,X=H.filter(({is_spent:L})=>!L),B=k_(X),U=f+B,W=o&&U>=o;if(_||W)return n1(X,o);let w=await f1({accumulativeValue:U,address:y,apiKey:t,chain:n,limit:C,offset:T+C,targetValue:o}),l=[...X,...w];return n1(l,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function u_({address:n,chain:y,apiKey:t,fetchTxHex:o=!0,targetValue:f}){let T=await f1({address:n,apiKey:t,chain:y,targetValue:f}),C=[];for(let{hash:H,index:A,script_hex:_,value:X}of T){let B;if(o)B=await y1({apiKey:t,chain:y,txHash:H});C.push({address:n,hash:H,index:A,txHex:B,value:X,witnessUtxo:{script:Buffer.from(_,"hex"),value:X}})}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)=>D_({chain:n,txHash:t}),getAddressData:(t)=>o1({address:t,apiKey:y,chain:n}),getBalance:(t)=>x_({address:t,apiKey:y,chain:n}),getRawTx:(t)=>y1({apiKey:y,chain:n,txHash:t}),getSuggestedTxFee:()=>R_(n),getTransactionDetails:(t)=>F_({apiKey:y,chain:n,txHash:t}),getUtxos:(t)=>u_({...t,apiKey:y,chain:n})}}function P_(n){return n}function I_(){return function(y){switch(y){case j.Chain.Bitcoin:return xo.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return xo.NETWORKS.bitcoinCash;case j.Chain.Dash:return xo.NETWORKS.dash;case j.Chain.Litecoin:return xo.NETWORKS.litecoin;case j.Chain.Dogecoin:return xo.NETWORKS.dogecoin;case j.Chain.Zcash:return xo.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,xo,S_=4294967294;var t1=p(()=>{dn();j=require("@swapkit/helpers"),xo=require("@swapkit/utxo-signer")});function b_(n,y,t){return oo.encodeCashAddr({hash:t,prefix:n,type:$_[y]})}function v_(n){let y=oo.decodeCashAddr(n),t=E_[y.type];if(!t)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:t}}var oo,$_,E_,HT;var T1=p(()=>{oo=require("@swapkit/utxo-signer"),$_={P2PKH:oo.CashAddrType.P2PKH,P2SH:oo.CashAddrType.P2SH},E_={[oo.CashAddrType.P2PKH]:"P2PKH",[oo.CashAddrType.P2SH]:"P2SH"};HT={decode:v_,encode:b_}});function UT(n){try{return Rf(n),!0}catch{return!1}}function wT(n){return Rf(n)?.network}function yo(n){let y=Rf(n);if(y?.format==="legacy")return n;return j_(y)}function Oy(n){let y=Rf(n);return c_(y)}function Rf(n){try{let y=V_(n);if(y)return y}catch{}try{let y=K_(n);if(y)return y}catch{}throw new AT.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function V_(n){try{let y=_1.decode(n);if(y.length!==21)throw new AT.SwapKitError("toolbox_utxo_invalid_address",{address:n});let t=y[0],o=Array.prototype.slice.call(y,1);switch(t){case So.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case So.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case So.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case So.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case So.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case So.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function K_(n){if(n.indexOf(":")!==-1)try{return C1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let t of y)try{return C1(`${t}:${n}`)}catch{}}return}function C1(n){try{let{hash:y,prefix:t,type:o}=HT.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 j_(n){let y=So.legacy[n.network][n.type],t=Buffer.alloc(1+n.hash.length);return t[0]=y,t.set(n.hash,1),_1.encode(t)}function c_(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",t=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return HT.encode(y,t,o)}var H1,A1,AT,_1,_T,So;var U1=p(()=>{T1();H1=require("@noble/hashes/sha2.js"),A1=require("@scure/base"),AT=require("@swapkit/helpers"),_1=A1.createBase58check(H1.sha256);((t)=>{t.Mainnet="mainnet";t.Testnet="testnet"})(_T||={});So={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return q1.Script.encode(["RETURN",y])}var w1,q1,i_=1000,Sf=10,Ff=2,l1=10,h_=41,m_=107,pf,xf,Ry,Ko=(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 w1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},Fo=({inputs:n,outputs:y,feeRate:t})=>{let o=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",T=(t?n.filter((_)=>_.value>=xf["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(t)):n).reduce((_,X)=>_+Go(X),0),C=y?.reduce((_,X)=>_+xy(X),0)||Ry[o],H=Sf+T+C;return o==="P2WPKH"?Math.ceil(H+Ff/4):H},Go=(n)=>{if("type"in n&&n.type)return xf[n.type];if("address"in n&&n.address)return xf[Ko(n.address)];return h_+m_},xy=(n,y)=>{if(n?.script)return l1+n.script.length+(n.script.length>=74?2:1);if(y)return Ry[y];if("address"in n&&n.address)return Ry[Ko(n.address)];return Ry.P2PKH};var qT=p(()=>{w1=require("@swapkit/helpers"),q1=require("@swapkit/utxo-signer");((t)=>{t.P2PKH="P2PKH";t.P2WPKH="P2WPKH"})(pf||={});xf={["P2PKH"]:148,["P2WPKH"]:68},Ry={["P2PKH"]:34,["P2WPKH"]:31}});function Sy(n){switch(n){case rn.Chain.Bitcoin:case rn.Chain.BitcoinCash:return 550;case rn.Chain.Dash:case rn.Chain.Litecoin:return 5500;case rn.Chain.Dogecoin:return 1e5;case rn.Chain.Zcash:return 546;default:throw new rn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:t=1,chain:o=rn.Chain.Bitcoin,changeAddress:f=""}){let T=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",C=n.filter((w)=>Go(w)*t<=w.value),A=T==="P2WPKH"?Math.ceil(Ff/4):0,_=Sf+A+y.reduce((w,l)=>w+xy(l),0),X=y.reduce((w,l)=>w+l.value,0),B=_*t,U=0,W=[];for(let w of C){let l=Go(w),L=t*l;B+=L,U+=w.value,W.push(w);let N=B+X;if(U<N)continue;let J=U-N,O=t*xy({address:f,value:0});if(J>O){let Y=O+B,q=U-(X+Math.ceil(Y));if(q>Math.max(Go({value:0})*t,Sy(o)))return{fee:Math.ceil(Y),inputs:W,outputs:y.concat({address:f,value:q})}}return{fee:Math.ceil(B),inputs:W,outputs:y}}return{fee:Math.ceil(t*Fo({inputs:n,outputs:y}))}}var rn;var G1=p(()=>{qT();rn=require("@swapkit/helpers")});var jo=p(()=>{t1();U1();G1();qT()});function po(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Xo(n){let y=po(n);return UT(y)&&wT(y)==="mainnet"}function co(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=kf.Address(kf.ZCASH_NETWORK).decode(n);return t.type==="pkh"||t.type==="sh"}catch{return!1}}var kf;var Fy=p(()=>{jo();kf=require("@swapkit/utxo-signer")});function XT({address:n,chain:y}){return GT.match(y).with(S.Chain.BitcoinCash,()=>Xo(n)).with(S.Chain.Zcash,()=>co(n)).otherwise(()=>{try{return m.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return GT.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 r_({phrase:n,derivationPath:y,network:t,seed:o}){let f=o??Pf.mnemonicToSeedSync(n),C=lT.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 X1(n){return W1.secp256k1.getPublicKey(n,!0)}function ky({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=!py.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 io({phrase:n,derivationPath:y,chain:t,wif:o,seed:f}){let T=Dn(t);if(o){let _=m.WIF(T).decode(o),X=X1(_);return{privateKey:_,publicKey:X}}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=r_({derivationPath:C,network:T,phrase:n,seed:f}),A=X1(H);return{privateKey:H,publicKey:A}}function g_(n,y){return m.WIF(Dn(y)).encode(n)}function d_({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=Dn(t),C=o??Pf.mnemonicToSeedSync(n),H=lT.HDKey.fromMasterSeed(C,T.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function Bo({inputs:n,outputs:y,chain:t,tx:o,sender:f,compiledMemo:T,enableRBF:C=!1}){let H=Dn(t),A=!py.includes(t),_=C?m.RBF_SEQUENCE:void 0,X=new Set;for(let B of n){let U=`${B.hash}:${B.index}`;if(X.has(U))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});X.add(U);let W=typeof B.hash==="string"?Wo.hex.decode(B.hash):B.hash;if(A&&B.witnessUtxo)o.addInput({index:B.index,sequence:_,txid:W,witnessUtxo:{amount:BigInt(B.witnessUtxo.value),script:B.witnessUtxo.script}});else if(B.txHex)o.addInput({index:B.index,nonWitnessUtxo:Wo.hex.decode(B.txHex),sequence:_,txid:W,...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 B of y){let U="address"in B&&B.address?B.address:f;if(t===S.Chain.BitcoinCash)U=yo(U);if(B.script){if(T)o.addOutput({amount:0n,script:T})}else o.addOutputAddress(U,BigInt(B.value),H)}return{inputs:n,tx:o}}async function ho(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 B1({assetValue:n,recipient:y,memo:t,sender:o,fetchTxHex:f=!1}){let T=n.chain,C=(await ho(T))[S.FeeOption.Fastest],H=f||py.includes(T),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await Qn(T).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...t?[{address:"",script:kn(t),value:0}]:[]]}}async function M1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f,fetchTxHex:T=!1,enableRBF:C=!1}){let H=n.chain,A=t?kn(t):null,_=await B1({assetValue:n,fetchTxHex:T,memo:t,recipient:y,sender:f}),{inputs:X,outputs:B}=vn({..._,chain:H,feeRate:o});if(!(X&&B))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let U=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:W,tx:w}=Bo({chain:H,compiledMemo:A,enableRBF:C,inputs:X,outputs:B,sender:f,tx:U});return{inputs:W,tx:w,utxos:_.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 B1({assetValue:n,memo:o,recipient:T,sender:f}),A=t?Math.floor(t):(await ho(C))[y];return vn({...H,chain:C,feeRate:A})}function a_(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),A=f?Math.ceil(f):(await ho(n))[T],_=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Sy(n),Go(l)*A));if(!_?.length)return S.AssetValue.from({chain:n});let X=BigInt(_.reduce((l,L)=>l+L.value,0)),B=S.AssetValue.from({chain:n,value:X}),U=typeof C==="number"?Array.from({length:C},()=>({address:t,value:0})):C;if(o)U.push({address:t,script:kn(o),value:0});let W=Fo({inputs:_,outputs:U}),w=S.AssetValue.from({chain:n,value:BigInt(W*A)});return B.sub(w)}}function s_(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 e_({chain:n,phrase:y,derivationPath:t,seed:o}){let f=Dn(n),{privateKey:T,publicKey:C}=io({chain:n,derivationPath:t,phrase:y,seed:o}),H=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>ky({chain:n,network:f,publicKey:C}),privateKey:T,publicKey:C,signTransaction:(A)=>{return A.sign(T,H),A}}}function n5(n,y){return async function({memo:o,recipient:f,feeOptionKey:T,feeRate:C,assetValue:H,enableRBF:A=!1}){let _=y?.getAddress();if(!(y&&_))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:A&&!uf.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 X=A&&uf.includes(n),B=C||(await ho(n))[T||S.FeeOption.Fast],{tx:U}=await M1({assetValue:H,enableRBF:X,feeRate:B,memo:o,recipient:f,sender:_});return y.signTransaction(U),U.finalize(),Qn(n).broadcastTx(Wo.hex.encode(U.extract()))}}function WT(n){return(y)=>XT({address:y,chain:n})}function BT(n){let y=Dn(n);return function(o){if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ky({chain:n,network:y,publicKey:o.publicKey})}}function Mo({chain:n,...y}){let t="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=t?Pf.mnemonicToSeedSync(t):void 0,T="derivationPath"in y&&y.derivationPath?y.derivationPath:S.updateDerivationPath(S.NetworkDerivationPath[n],{index:o}),C=S.derivationPathToString(T),H=t?e_({chain:n,derivationPath:C,phrase:t,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=t?io({chain:n,derivationPath:C,phrase:t,seed:f}):void 0;function X(){if(H)return Promise.resolve(H.getAddress());if(A)return A.getAddress();return Promise.resolve(void 0)}function B(G){if(!t)return;let Z=lo({accountIndex:G,chain:n,derivationPath:T});return d_({chain:n,derivationPath:S.derivationPathToString(Z),phrase:t,seed:f})}let U=B();function W(){if(!U)return;return U.publicExtendedKey}function w({accountIndex:G}={}){let Z=G===void 0?U:B(G);if(!Z)return;let D=lo({accountIndex:G,chain:n,derivationPath:T});return{accountIndex:Ro(D),path:S.derivationPathToString(D),xpub:Z.publicExtendedKey}}function l({accountIndex:G,index:Z,change:D=!1}){let Q=G===void 0?U:B(G);if(!Q)return;let z=Vo({accountIndex:G,chain:n,change:D,derivationPath:T,index:Z}),x=Dn(n),k=Q.deriveChild(Number(D)).deriveChild(Z);if(!k.publicKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let u=ky({chain:n,network:x,publicKey:k.publicKey}),K=Wo.hex.encode(k.publicKey);return{accountIndex:Ro(z),address:u,change:D,index:Z,path:S.derivationPathToString(z),pubkey:K}}async function L(G){if(!uf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Z=await Qn(n).getTransactionDetails(G);return{canReplace:Z.isRBF&&!Z.confirmed,confirmed:Z.confirmed,enabled:Z.isRBF,fee:Z.fee,sequences:Z.sequences,supported:!0}}async function N({txid:G,newFeeRate:Z,recipient:D,memo:Q}){if(!uf.includes(n))throw new S.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let z=await Qn(n).getTransactionDetails(G);if(!z.isRBF)throw new S.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:G});if(z.confirmed)throw new S.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:z.blockId,txid:G});let x=z.inputs.reduce((Gn,In)=>Gn+In.value,0),u=z.outputs.find((Gn)=>Gn.recipient===D)?.value||0;if(u===0)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let K=await Promise.all(z.inputs.map(async(Gn)=>{let In=await Qn(n).getRawTx(Gn.transaction_hash);return{hash:Gn.transaction_hash,index:Gn.index,txHex:In,value:Gn.value,witnessUtxo:void 0}})),e=Q?kn(Q):null,Tn=Fo({feeRate:Z,inputs:K.map((Gn)=>({...Gn,type:"P2WPKH"})),outputs:[{address:D,value:u}]}),on=Math.ceil(Tn*Z);if(on<=z.fee)throw new S.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:on,originalFee:z.fee});let Zn=on-z.fee,Bn=u-Zn;if(Bn<=0)throw new S.SwapKitError("toolbox_utxo_rbf_insufficient_change");let On=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),jn=[{address:D,value:Bn},...Q?[{address:"",script:kn(Q),value:0}]:[]],cn=x-Bn-on,Rn=await X();if(cn>Sy(n)&&Rn)jn.push({address:Rn,value:cn});return Bo({chain:n,compiledMemo:e,inputs:K,outputs:jn,sender:Rn||D,tx:On}),{feeDelta:Zn,newFee:on,originalFee:z.fee,tx:On}}async function J({txid:G,newFeeRate:Z,recipient:D,memo:Q}){if(!H)throw new S.SwapKitError("toolbox_utxo_no_signer");let{tx:z,originalFee:x,newFee:k}=await N({memo:Q,newFeeRate:Z,recipient:D,txid:G});H.signTransaction(z),z.finalize();let u=await Qn(n).broadcastTx(Wo.hex.encode(z.extract()));return{newFee:k,originalFee:x,txid:u}}function O({accountIndex:G,index:Z,change:D=!1}){bn("index",Z);let Q=G===void 0?U:B(G);if(!Q)return;return Q.deriveChild(Number(D)).deriveChild(Z).privateKey||void 0}function Y({tx:G,inputDerivations:Z}){if(!U)throw new S.SwapKitError("toolbox_utxo_no_signer");let D=n===S.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let Q=0;Q<Z.length;Q++){let z=Z[Q];if(!z)continue;let{derivationIndex:x,isChange:k}=z,u=O({change:k,index:x});if(!u)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${Q} at index ${x}`});G.signIdx(u,Q,D)}return G}async function q({utxos:G,recipient:Z,assetValue:D,memo:Q,feeRate:z,feeOptionKey:x,changeAddress:k}){if(!U)throw new S.SwapKitError("toolbox_utxo_no_signer");let u=z||(await ho(n))[x||S.FeeOption.Fast],K=Q?kn(Q):null,e=[{address:Z,value:D.getBaseValue("number")}];if(K)e.push({address:"",script:K,value:0});let Tn=G.map(({hash:Rn,index:Gn,value:In,txHex:NH,witnessUtxo:ft})=>({hash:Rn,index:Gn,txHex:NH,value:In,witnessUtxo:ft?{script:ft.script,value:ft.value}:void 0})),{inputs:on,outputs:Zn}=vn({chain:n,feeRate:u,inputs:Tn,outputs:e});if(!(on&&Zn))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let Bn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),On=G[0]?.address,jn=k||await X()||On||Z;Bo({chain:n,compiledMemo:K,inputs:on,outputs:Zn,sender:jn,tx:Bn});let cn=on.map((Rn)=>{let Gn=G.find((In)=>In.hash===Rn.hash&&In.index===Rn.index);return Gn?{derivationIndex:Gn.derivationIndex,isChange:Gn.isChange}:{derivationIndex:0,isChange:!1}});return Y({inputDerivations:cn,tx:Bn}),Bn.finalize(),Qn(n).broadcastTx(Wo.hex.encode(Bn.extract()))}function M({address:G,gapLimit:Z=20}){if(!U)return;for(let D=0;D<Z;D++){let Q=l({change:!1,index:D}),z=l({change:!0,index:D}),x=Q?.address===G?!1:z?.address===G;if(Q?.address===G||z?.address===G)return{change:x,index:D}}return}return{accumulative:vn,broadcastTx:(G)=>Qn(n).broadcastTx(G),bumpFee:J,calculateTxSize:Fo,createKeysForPath:(G)=>io({...G,chain:n}),createReplacementTransaction:N,createTransaction:M1,deriveAddressAtIndex:l,derivePrivateKeyAtIndex:O,estimateMaxSendableAmount:a_(n),estimateTransactionFee:s_(n),getAddress:X,getAddressFromKeys:BT(n),getBalance:xn(n),getExtendedPublicKey:W,getExtendedPublicKeyInfo:w,getFeeRates:()=>ho(n),getInputsOutputsFee:L1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(G)=>g_(io({...G,chain:n}).privateKey,n),isRBFEnabled:L,keys:_,resolveDerivationIndex:M,signAndBroadcastTransaction:async(G)=>{if(!H)throw new S.SwapKitError("toolbox_utxo_no_signer");return H.signTransaction(G),G.finalize(),await Qn(n).broadcastTx(Wo.hex.encode(G.extract()))},signTransactionWithMultipleKeys:Y,transfer:n5(n,H),transferFromMultipleAddresses:q,validateAddress:WT(n)}}var W1,Wo,lT,Pf,S,m,GT,py,uf;var mo=p(()=>{dn();zy();jo();Fy();W1=require("@noble/curves/secp256k1.js"),Wo=require("@scure/base"),lT=require("@scure/bip32"),Pf=require("@scure/bip39"),S=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),GT=require("ts-pattern"),py=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash],uf=[S.Chain.Bitcoin]});function uy(n){return po(Oy(n))}function o5(n){let y=Dn(gn);function t(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let T=Wn.encodeCashAddr({hash:f.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH});return Promise.resolve(T.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:t}}function MT(n){let y="phrase"in n?n.phrase:void 0,t="index"in n?n.index||0:0,o=Xn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Xn.updateDerivationPath(Xn.NetworkDerivationPath[gn],{index:t})),f=y?io({chain:gn,derivationPath:o,phrase:y}):void 0,T=f?o5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(T?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...X}=Mo({chain:gn});function B(U,W=!0){return H(po(Oy(U)))}return{...X,broadcastTx:_,buildTx:f5,createTransaction:Z1,getAddress:C,getAddressFromKeys:t5,getBalance:B,getFeeRates:A,stripPrefix:po,stripToCashAddress:uy,transfer:y5({broadcastTx:_,getFeeRates:A,signer:T}),validateAddress:Xo}}async function Z1({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){if(!Xo(y))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let T=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:T}),H=t?kn(t):null,A=[],_=yo(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:X,outputs:B}=vn({chain:gn,feeRate:o,inputs:C,outputs:A});if(!(X&&B))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let U=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),W=yo(f),{inputs:w,tx:l}=Bo({chain:gn,compiledMemo:H,inputs:X,outputs:B.map((L)=>("address"in L)&&L.address?{...L,address:yo(L.address)}:L),sender:W,tx:U});return{inputs:w,tx:l,utxos:X}}function y5({broadcastTx:n,getFeeRates:y,signer:t}){return async function({recipient:f,assetValue:T,feeOptionKey:C=Xn.FeeOption.Fast,...H}){let A=await t?.getAddress();if(!(t&&A))throw new Xn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Xn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=H.feeRate||(await y())[C],{tx:X}=await Z1({...H,assetValue:T,feeRate:_,recipient:f,sender:A}),B=await t.signTransaction(X);return B.finalize(),n(Q1.hex.encode(B.extract()))}}async function f5({assetValue:n,recipient:y,memo:t,feeRate:o,sender:f}){let T=Oy(y);if(!Xo(T))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:T});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=t?kn(t):null,X=[];if(X.push({address:yo(y),value:n.getBaseValue("number")}),_)X.push({script:_,value:0});let{inputs:B,outputs:U}=vn({chain:gn,feeRate:A,inputs:H,outputs:X});if(!(B&&U))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let W=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:w,tx:l}=Bo({chain:gn,compiledMemo:_,inputs:B,outputs:U,sender:yo(f),tx:W});return{inputs:w,tx:l,utxos:H}}function t5(n){let y=Wn.NETWORKS.bitcoinCash,t=Wn.p2pkh(n.publicKey,y);if(!t.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Wn.encodeCashAddr({hash:t.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var Q1,Xn,Wn,gn;var If=p(()=>{jo();mo();Fy();Q1=require("@scure/base"),Xn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),gn=Xn.Chain.BitcoinCash});function Y1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function C5(n){return T5.encode(n)}function H5({phrase:n,derivationPath:y}){let t=QT.mnemonicToSeedSync(n),f=LT.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:A}=_n.SKConfig.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),X=new Uint8Array(_.length+H.length);X.set(_,0),X.set(H,_.length);let B=C5(X);return{getAddress:()=>Promise.resolve(B),signTransaction:(U)=>{if(U instanceof tn.PCZT)return U.signAllInputs(T,C,tn.ZcashSigHash.ALL),U.finalizeAllInputs(),Promise.resolve(U.extract());return U.signAllInputs(T,C,tn.ZcashSigHash.ALL),Promise.resolve(U)}}}function A5({inputs:n,outputs:y,tx:t,sender:o,compiledMemo:f}){let T=Y1();for(let C of n){let H=tn.Address(T).decode(o),A=tn.OutScript.encode(H);t.addInput({index:C.index,script:A,sequence:4294967295,txid:$f.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)t.addOutput({amount:0n,script:f});else t.addOutputAddress(H,BigInt(C.value),T)}return{inputs:n,tx:t}}async function J1(n){let{assetValue:y,recipient:t,memo:o,feeRate:f,sender:T,fetchTxHex:C}=n,H=o?kn(o):null,A=await Qn(_n.Chain.Zcash).getUtxos({address:T,fetchTxHex:C!==!1}),_=[{address:t,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:X,outputs:B}=vn({chain:_n.Chain.Zcash,changeAddress:T,feeRate:f,inputs:A,outputs:_});if(!(X&&B))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let U=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:W,inputs:w}=A5({compiledMemo:H,inputs:X,outputs:B,sender:T,tx:U});return{inputs:w,outputs:B,tx:W}}function ZT(n){let y=ro.match(n).with({signer:ro.P.not(ro.P.nullish)},({signer:A})=>A).with({phrase:ro.P.string},({phrase:A,derivationPath:_,index:X=0})=>{let B=_||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],U=_n.updateDerivationPath(B,{index:X}),W=_n.derivationPathToString(U);return H5({derivationPath:W,phrase:A})}).otherwise(()=>{return}),t=Mo({chain:_n.Chain.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:X=_n.FeeOption.Fast,...B}){let U=await y?.getAddress();if(!(y&&U))throw new _n.SwapKitError("toolbox_utxo_no_signer");let W=B.feeRate||(await t.getFeeRates())[X],{tx:w}=await J1({...B,assetValue:_,feeRate:W,recipient:A,sender:U}),L=(await y.signTransaction(w)).toHex();return t.broadcastTx(L)}function f({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let X=QT.mnemonicToSeedSync(A),U=LT.HDKey.fromMasterSeed(X).derive(_);if(!U.privateKey||!U.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:U.privateKey,publicKey:U.publicKey}}function T({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let X=f({derivationPath:_,phrase:A}),B=Y1();return tn.WIF(B).encode(X.privateKey)}function C(A){return async function(X){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await A.signTransaction(X)}}function H(A){return async function(X){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");let B=await A.signTransaction(X);return t.broadcastTx(B.toHex())}}return{...t,createKeysForPath:f,createTransaction:J1,getPrivateKeyFromMnemonic:T,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:co}}var $f,LT,QT,_n,tn,ro,T5;var JT=p(()=>{jo();mo();Fy();$f=require("@scure/base"),LT=require("@scure/bip32"),QT=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),ro=require("ts-pattern");T5=$f.createBase58check(tn.utils.sha256)});function O1({xpub:n,chain:y,count:t,startIndex:o=0,accountIndex:f}){if(bn("count",t),t<1)throw RangeError("count must be at least 1");bn("startIndex",o);let T=Dn(y),C=z1.HDKey.fromExtendedKey(n,T.bip32),H=lo({accountIndex:f,chain:y}),A=Ro(H),_=[];for(let X of[!1,!0]){let B=C.deriveChild(Number(X));for(let U=0;U<t;U++){let W=o+U,w=B.deriveChild(W);if(!w.publicKey)continue;let l=Vo({accountIndex:f,chain:y,change:X,index:W});_.push({accountIndex:A,address:ky({chain:y,network:T,publicKey:w.publicKey}),change:X,index:W,path:D1.derivationPathToString(l),pubkey:N1.hex.encode(w.publicKey)})}}return _}var N1,z1,D1;var R1=p(()=>{zy();mo();N1=require("@scure/base"),z1=require("@scure/bip32"),D1=require("@swapkit/helpers")});function _5(n,y){switch(n){case fo.Chain.BitcoinCash:return MT(y||{});case fo.Chain.Zcash:return ZT(y);case fo.Chain.Bitcoin:case fo.Chain.Dogecoin:case fo.Chain.Litecoin:case fo.Chain.Dash:return Mo({chain:n,...y});default:throw new fo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var fo;var x1=p(()=>{If();mo();JT();zy();R1();If();Fy();fo=require("@swapkit/helpers")});var YT={};Mn(YT,{validateZcashAddress:()=>co,validateUtxoAddress:()=>XT,validateBchAddress:()=>Xo,toLegacyAddress:()=>yo,toCashAddress:()=>Oy,stripToCashAddress:()=>uy,stripPrefix:()=>po,nonSegwitChains:()=>py,isValidAddress:()=>UT,getUtxoToolbox:()=>_5,getUtxoNetwork:()=>I_,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>WT,getUTXOAddressPath:()=>Vo,getUTXOAccountPath:()=>lo,getUTXOAccountIndexFromPath:()=>Ro,getScriptTypeForAddress:()=>Ko,getOutputSize:()=>xy,getNetworkForChain:()=>Dn,getInputSize:()=>Go,getDustThreshold:()=>Sy,detectAddressNetwork:()=>wT,deriveAddressesFromXpub:()=>O1,createZcashToolbox:()=>ZT,createUTXOToolbox:()=>Mo,createHDWalletHelpers:()=>sC,createCustomUtxoApi:()=>P_,createBCHToolbox:()=>MT,compileMemo:()=>kn,calculateTxSize:()=>Fo,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>BT,addInputsAndOutputs:()=>Bo,accumulative:()=>vn,UtxoNetwork:()=>_T,UTXOScriptType:()=>pf,TX_OVERHEAD:()=>Sf,SEGWIT_MARKER_FLAG_WEIGHT:()=>Ff,OutputSizes:()=>Ry,OP_RETURN_OVERHEAD:()=>l1,MIN_TX_FEE:()=>i_,InputSizes:()=>xf});module.exports=Jn(YT);var NT=p(()=>{mo();zy();jo();x1();If();JT()});function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function bf(n){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:t}=await import("@near-js/crypto"),o=n.index||0,f=n.derivationPath?Ef.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=y(n.phrase,f),C=t.fromString(T);return p1(C)}async function zT(n){let{KeyPair:y}=await import("@near-js/crypto"),t=y.fromString(n);return p1(t)}function p1(n){return new F1(n)}async function vf(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 Ef.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 S1,Ef,F1;var DT=p(()=>{S1=require("@near-js/signers"),Ef=require("@swapkit/helpers");F1=class F1 extends S1.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 OT(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function RT(n){return"contractId"in n&&"methodName"in n}function xT(n){return"actions"in n}function ST(n){return"newAccountId"in n}function FT(n){return"contractCode"in n}function pT(n){return"customEstimator"in n}function kT(n){let y=0;for(let t of n)switch(t.enum){case"transfer":y+=Number(Yn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Yn.CONTRACT_CALL);break;case"createAccount":y+=Number(Yn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Yn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Yn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Yn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Yn.STAKE);break;default:y+=Number(Yn.CONTRACT_CALL)}return y.toString()}function uT(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Yn.TOKEN_TRANSFER;if(n==="storage_deposit")return Yn.STORAGE_DEPOSIT;return Yn.CONTRACT_CALL}function U5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function w5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Yn;var PT=p(()=>{Yn={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 IT({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 q5(n){let y;async function t(){if(y)return y;return y=await go.match(n).with({phrase:go.P.string},async(Q)=>{return await bf(Q)}).with({signer:go.P.any},({signer:Q})=>Q).otherwise(()=>{return}),y}async function o(){let Q=await nn.getRPCUrl(nn.Chain.Near);return new k1.JsonRpcProvider({url:Q})}async function f(Q){let{Account:z}=await import("@near-js/accounts"),x=await o(),k=await t(),u=Q||await T();return new z(u,x,k)}async function T(){let Q=await t();if(!Q)throw new nn.SwapKitError("toolbox_near_no_signer");return await Q.getAddress()}async function C(Q){return(await Y({changeMethods:[],contractId:Q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Q.accountId})}async function H(Q){let x=[await U({args:{account_id:Q.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:Q.assetValue.getBaseValue("string"),memo:Q.memo||null,receiver_id:Q.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return q({actions:x,receiverId:Q.contractId})}async function A(Q){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:x,recipient:k,memo:u}=Q,K=await T();if(!x.isGasAsset&&x.address){if(!await C({accountId:k,contractId:x.address}))return H({assetValue:x,contractId:x.address,memo:u,recipient:k})}let e=await _({...Q,sender:K});return l(e)}async function _({recipient:Q,assetValue:z,memo:x,attachedDeposit:k,sender:u,functionCall:K}){let e=await o();if(!Py(Q))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:Q});if(!Py(u))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:u});if(K)return B({...K,sender:u});if(!z.isGasAsset){let In=z.address;if(!In)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return B({args:{amount:z.getBaseValue("string"),memo:x||null,receiver_id:Q},attachedDeposit:k||"1",contractId:In,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:Tn,nonce:on}=await vf(e,u),Zn=z.getBaseValue("bigint"),{actionCreators:Bn,createTransaction:On}=await import("@near-js/transactions"),{baseDecode:jn}=await import("@near-js/utils"),cn=[Bn.transfer(Zn)];if(x&&k)cn.push(Bn.functionCall("memo",{memo:x},BigInt("250000000000000"),BigInt(k)));let Rn=await e.block({finality:"final"}),Gn=jn(Rn.header.hash);return On(u,Tn,Q,on+1,cn,Gn)}function X(Q){let z=Q.encode();return Buffer.from(z).toString("base64")}async function B({args:Q,attachedDeposit:z,contractId:x,gas:k,methodName:u,sender:K}){let e=await o(),{publicKey:Tn,nonce:on}=await vf(e,K),{createTransaction:Zn,actionCreators:Bn}=await import("@near-js/transactions"),{baseDecode:On}=await import("@near-js/utils"),jn=await e.block({finality:"final"}),cn=On(jn.header.hash),Rn=[Bn.functionCall(u,Buffer.from(JSON.stringify(Q)),BigInt(k),BigInt(z))];return Zn(K,Tn,x,on+1,Rn,cn)}async function U(Q){let{actionCreators:z}=await import("@near-js/transactions");return z.functionCall(Q.methodName,Buffer.from(JSON.stringify(Q.args)),BigInt(Q.gas),BigInt(Q.attachedDeposit))}async function W(Q){let z=await t();if(!z)throw new nn.SwapKitError("toolbox_near_no_signer");let[x,k]=await z.signTransaction(Q);return k}async function w(Q){return(await(await o()).sendTransaction(Q)).transaction.hash}async function l(Q){let z=await t();if(!z)throw new nn.SwapKitError("toolbox_near_no_signer");try{let x=await W(Q);return await w(x)}catch{return z.signAndSendTransactions?.({transactions:[Q]})}}async function L(Q){let z=await t();if("assetValue"in Q){let k=await N();try{let u=await nn.getRPCUrl(nn.Chain.Near),K=await fetch(u,{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:e}}=await K.json(),{execution:Tn,send_sir:on}=e.transaction_costs.action_receipt_creation_config,{execution:Zn,send_sir:Bn}=e.transaction_costs.action_creation_config.transfer_cost,On=BigInt(Bn)+BigInt(Zn),jn=BigInt(on)+BigInt(Tn),Rn=(On+jn)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:Rn})}catch(u){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",u);let K=BigInt("115123062500"),e=BigInt("108059500000"),on=(K+e)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:on})}}let x=z?await f():void 0;return M(Q,x)}async function N(){let Q=await o();try{return await Q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function J(Q,z,x){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");let u=await f(),{formatNearAmount:K}=await import("@near-js/utils"),{PublicKey:e}=await import("@near-js/crypto"),Tn=K(x)||"0";return(await u.createAccount(Q,e.fromString(z),BigInt(Tn))).transaction.hash}async function O(Q){let z=await t();try{if(!z)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:x}=await import("@near-js/transactions"),{contractId:k,methodName:u,args:K,deposit:e}=Q,Tn=await f(),on=await M({args:K||{},contractId:k,methodName:u}),Zn=x.functionCall(u,K||{},on.getBaseValue("bigint"),BigInt(e||"1"));return(await Tn.signAndSendTransaction({actions:[Zn],receiverId:k})).transaction_outcome.id}catch(x){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:x})}}async function Y(Q){let z=await f();return IT({account:z,changeMethods:Q.changeMethods,contractId:Q.contractId,viewMethods:Q.viewMethods})}async function q(Q){if(!await t())throw new nn.SwapKitError("toolbox_near_no_signer");if(Q.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:Q.actions,receiverId:Q.receiverId})).transaction.hash}async function M(Q,z){let x=await go.match(Q).when(OT,()=>Yn.SIMPLE_TRANSFER).when(RT,(u)=>uT(u.methodName)).when(xT,(u)=>kT(u.actions)).when(ST,()=>Yn.ACCOUNT_CREATION).when(FT,()=>Yn.CONTRACT_DEPLOYMENT).when(pT,(u)=>{if(!z)throw new nn.SwapKitError("toolbox_near_no_account");return u.customEstimator(z)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(x)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function G(Q,z){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),M(Q,z)}async function Z(){let Q=await o();try{return(await Q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let Q=await t();return Q?(await Q.getPublicKey()).toString():""}return{broadcastTransaction:w,callFunction:O,createAction:U,createContract:Y,createContractFunctionCall:B,createSubAccount:J,createTransaction:_,estimateGas:G,estimateGasLimit:M,estimateTransactionFee:L,executeBatchTransaction:q,getAddress:T,getBalance:xn(nn.Chain.Near),getGasPrice:Z,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:bf,getSignerFromPrivateKey:zT,serializeTransaction:X,signAndBroadcastTransaction:l,signTransaction:W,transfer:A,validateAddress:Py}}var k1,nn,go;var $T=p(()=>{dn();DT();PT();k1=require("@near-js/providers"),nn=require("@swapkit/helpers"),go=require("ts-pattern")});var u1=p(()=>{$T()});var ET={};Mn(ET,{validateNearAddress:()=>Py,tgasToGas:()=>U5,isSimpleTransfer:()=>OT,isCustomEstimator:()=>pT,isContractDeployment:()=>FT,isContractCall:()=>RT,isBatchTransaction:()=>xT,isAccountCreation:()=>ST,getNearToolbox:()=>q5,getNearSignerFromPrivateKey:()=>zT,getNearSignerFromPhrase:()=>bf,getFullAccessPublicKey:()=>vf,getContractMethodGas:()=>uT,gasToTGas:()=>w5,estimateBatchGas:()=>kT,createNearContract:()=>IT,GAS_COSTS:()=>Yn});module.exports=Jn(ET);var bT=p(()=>{DT();PT();$T();u1()});var vT={};Mn(vT,{validateRadixAddress:()=>$1,getRadixToolbox:()=>B5});module.exports=Jn(vT);function $1(n){return n.startsWith("account_rdx1")&&n.length===66}function l5({networkApi:n}){return async function(t){let o=await G5({address:t,networkApi:n}),f=await X5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function G5({address:n,networkApi:y}){let t=!0,o,f=[],T=await W5(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 X5({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((_)=>_.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),A=new Map;for(let _ of H)if(_.details!==void 0){let X=_.metadata?.items.find((U)=>U.key==="symbol"),B=X?.value.typed.type==="String"?X.value.typed.value:"?";if(_.details.type==="FungibleResource")A.set(_.address,{decimals:_.details.divisibility,symbol:B})}for(let _ of T)if(_.aggregation_level==="Global"){let X=A.get(_.resource_address)||{decimals:0,symbol:"?"},B=Vn.AssetValue.from({asset:X.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${X.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});t.push(B)}}return t}async function W5(n){return(await n.status.getCurrent()).ledger_state.state_version}function B5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,t=I1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=P1.GatewayApiClient.initialize(t.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:l5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:$1}}var P1,I1,Vn;var VT=p(()=>{P1=require("@radixdlt/babylon-gateway-api-sdk"),I1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function Vf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(Vf(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 E1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function M5(n){if(!Vf(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 ao(n){if(Vf(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var E1;var Kf=p(()=>{E1=require("@swapkit/helpers")});async function L5(n,y){let t=ao(n),o=cf.find((f)=>ao(f.currency)===t&&f.issuer===y);if(o)return o;try{let f=await jf.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){jf.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 Q5(n){return cf.filter((y)=>y.issuer===n)}function Z5(n,y){let t=ao(n);return cf.some((o)=>ao(o.currency)===t&&o.issuer===y)}var jf,cf;var b1=p(()=>{Kf();jf=require("@swapkit/helpers"),cf=[{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 KT={};Mn(KT,{validateRippleAddress:()=>mf,parseXrplTokenIdentifier:()=>K1,normalizeCurrency:()=>ao,isKnownToken:()=>Z5,isHexCurrency:()=>Vf,hexToCurrency:()=>M5,hashes:()=>c1.hashes,getXrplTokenInfo:()=>L5,getRippleToolbox:()=>Y5,getKnownTokensByIssuer:()=>Q5,formatXrplTokenIdentifier:()=>j1,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>hf,XRPL_KNOWN_TOKENS:()=>cf});module.exports=Jn(KT);function K1(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(!to.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function j1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function J5(n){if(n.isGasAsset)return to.xrpToDrops(n.getValue("string"));let y=K1(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 V1(n){let y=to.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(t)=>Promise.resolve(y.sign(t))}}function mf(n){return to.isValidAddress(n)}function Y5(n={}){let y=so.match(n).with({phrase:so.P.string},({phrase:J})=>V1(J)).with({signer:so.P.any},({signer:J})=>J).otherwise(()=>{return}),t;async function o(){let J=await i.getRPCUrl(i.Chain.Ripple);if(!J)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let O=new to.Client(J);return await O.connect(),O}async function f(){if(t){let J=await t.catch(()=>null);if(J?.isConnected())return J}return t=o(),t}let T=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(J)=>{let O=J||await T(),{baseDecimal:Y}=i.getChainConfig(i.Chain.Ripple),q=await f();try{let[M,G]=await Promise.all([q.request({account:O,command:"account_info"}),q.request({account:O,command:"account_lines"})]),Z=M.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Y,value:Z})];for(let Q of G.result.lines){let z=j1(Q.currency,Q.account);if(Number.parseFloat(Q.balance)!==0)D.push(i.AssetValue.from({asset:z,asyncTokenLookup:!1,value:Q.balance}))}return D}catch(M){if(M.data?.error_code===v1.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:O,error:M}})}},H=async()=>{let{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),q=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:q})};async function A(J){let O=J||await T(),Y=await f();try{return(await Y.request({account:O,command:"account_lines"})).result.lines.map((M)=>({account:M.account,authorized:M.authorized??!1,balance:M.balance,currency:M.currency,freeze:M.freeze??!1,freezePeer:M.freeze_peer??!1,limit:M.limit,limitPeer:M.limit_peer,noRipple:M.no_ripple??!1,noRipplePeer:M.no_ripple_peer??!1,peerAuthorized:M.peer_authorized??!1,qualityIn:M.quality_in??0,qualityOut:M.quality_out??0}))}catch(q){if(q.data?.error_code===v1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:O,error:q}})}}async function _({address:J,currency:O,issuer:Y}){let q=await A(J),M=Iy(O);return q.some((G)=>{return Iy(G.currency)===M&&G.account===Y})}async function X({currency:J,issuer:O,limit:Y,sender:q}){let M=q||await T();if(!mf(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:O}});let G=Number.parseFloat(Y);if(Number.isNaN(G)||G<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:Y}});let Z=await f(),D={Account:M,LimitAmount:{currency:J,issuer:O,value:Y},TransactionType:"TrustSet"};return Z.autofill(D)}async function B({assetValue:J,recipient:O,memo:Y,sender:q,destinationTag:M,extendBySeconds:G=150}){if(!mf(O))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Z=q||await T();if(J.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let D=J5(J),Q={Account:Z,Amount:D,Destination:O,TransactionType:"Payment",...M!==void 0&&{DestinationTag:M}};if(Y)Q.Memos=[{Memo:{MemoData:Buffer.from(Y).toString("hex")}}];let x=await(await f()).autofill(Q);if(x.LastLedgerSequence&&G>0)x.LastLedgerSequence+=Math.ceil(G/4);return x}function U(J){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(J)}async function W(J){let Y=await(await f()).submitAndWait(J),{result:q}=Y;if(q.validated)return q.hash;let M=q.meta?.TransactionResult,G=so.match(M).with(hf.tecNO_LINE,()=>"No trust line exists for this token").with(hf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(hf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...G?{reason:G}:{txResult:M}}})}let w=async(J)=>{try{let O=await U(J);return W(O.tx_blob)}catch(O){if(O instanceof i.SwapKitError)throw O;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:O}})}};async function l(J){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await y.getAddress(),Y=await B({...J,sender:O}),q=await U(Y);return W(q.tx_blob)}async function L(J){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let O=await y.getAddress(),Y=await X({...J,sender:O}),q=await U(Y);return W(q.tx_blob)}function N(){let J=t;if(t=null,J)J.then((O)=>{if(O?.isConnected())return O.disconnect();return}).catch((O)=>{console.warn("XRPL Cleanup failed silently:",O)})}return{broadcastTransaction:W,createSigner:V1,createTransaction:B,disconnect:N,estimateTransactionFee:H,getAddress:T,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:X,setTrustLineAndBroadcast:L,signAndBroadcastTransaction:w,signTransaction:U,transfer:l,validateAddress:mf}}var i,so,to,c1,v1,hf;var jT=p(()=>{Kf();i=require("@swapkit/helpers"),so=require("ts-pattern"),to=require("xrpl");Kf();b1();c1=require("xrpl"),v1={ACCOUNT_NOT_FOUND:19},hf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function cT(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 ko.SwapKitError("toolbox_tron_transaction_creation_failed")}function $y(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 rf(n,y,t){let o=n.get(y);if(o)o.push(t);else n.set(y,[t])}function O5(n){let y=new Map,t=0;while(t<n.length){let[o,f]=cT(n,t);t=f;let T=Number(o>>3n),C=Number(o&7n);if(C===gf){let[H,A]=cT(n,t);t=A,rf(y,T,{data:new Uint8Array($y(H)),wireType:gf})}else if(C===df){let[H,A]=cT(n,t);t=A;let _=Number(H);if(_<0||t+_>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let X=n.slice(t,t+_);t+=_,rf(y,T,{data:X,wireType:df})}else if(C===i1){if(t+8>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+8);t+=8,rf(y,T,{data:H,wireType:i1})}else if(C===h1){if(t+4>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(t,t+4);t+=4,rf(y,T,{data:H,wireType:h1})}else throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function R5(n){let y=[];for(let[T,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(T<<3|H);if(y.push(new Uint8Array($y(_))),H===df)y.push(new Uint8Array($y(BigInt(A.length))));y.push(A)}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 r1(n,y){if(!n||n.length%2!==0)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let t=eo.hexToBytes(n),o=O5(t);if(y.expiration!==void 0)o.set(N5,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:gf}]);if(y.data!==void 0)o.set(z5,[{data:eo.hexToBytes(y.data),wireType:df}]);if(y.fee_limit!==void 0)o.set(D5,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:gf}]);let f=R5(o),T=eo.bytesToHex(f),C=eo.bytesToHex(m1.sha256(f));return{raw_data_hex:T,txID:C}}var m1,eo,ko,gf=0,i1=1,df=2,h1=5,N5=8,z5=10,D5=18;var g1=p(()=>{m1=require("@noble/hashes/sha2.js"),eo=require("@noble/hashes/utils.js"),ko=require("@swapkit/helpers")});function Kn(n){if(typeof n!=="string")return!1;try{let y=af.decode(n);return y.length===21&&y[0]===s1}catch{return!1}}function e1(n){return Pn.bytesToHex(af.decode(n))}function S5(n){return af.decode(n).slice(1)}function nH(n){let y=iT.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),t=d1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=s1,o.set(t,1),af.encode(o)}function oH({txID:n,privateKey:y}){let t=iT.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 ny({txID:n,raw_data_hex:y}){let t=Pn.bytesToHex(hT.sha256(Pn.hexToBytes(y)));if(n!==t)throw new mT.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:t,txID:n})}function F5(n){return`000000000000000000000000${Pn.bytesToHex(S5(n))}`}function p5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=x5)throw new mT.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function oy(n){return n.map(({type:y,value:t})=>y==="address"?F5(t):p5(BigInt(t))).join("")}function yH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var iT,hT,d1,Pn,a1,mT,af,s1=65,x5;var rT=p(()=>{iT=require("@noble/curves/secp256k1.js"),hT=require("@noble/hashes/sha2.js"),d1=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),a1=require("@scure/base"),mT=require("@swapkit/helpers"),af=a1.createBase58check(hT.sha256),x5=2n**256n});function tH(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return fH}}function TH(){let n=new AbortController,y=setTimeout(()=>n.abort(),I5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function yy(n,y){let{signal:t,cleanup:o}=TH();try{let f=await fetch(`${tH()}${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 CH(n,y){let{signal:t,cleanup:o}=TH();try{let f=await fetch(`${y??tH()}${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 HH(n){if(!Kn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await CH(`/v1/accounts/${n}`,fH);if(!(y.success&&y.data)||y.data.length===0)return;let t;try{t=e1(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 AH({from:n,to:y,amount:t}){let f=await yy("/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 ny(f),f}async function _H({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o,feeLimit:f,callValue:T=0}){let C=await yy("/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 A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return ny(C.transaction),C.transaction}function UH({ownerAddress:n,contractAddress:y,functionSelector:t,parameter:o}){return yy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:t,owner_address:n,parameter:o,visible:!0})}async function Ey(n){try{let{result:y,txid:t}=await yy("/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 sf(){let n={};try{let{chainParameter:y}=await CH("/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??k5,createAccountFee:n.getCreateAccountFee??u5,energyFee:n.getEnergyFee??P5}}async function gT(n){try{let y=await yy("/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 dT(n){try{let y=await yy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function aT(n){try{let{energy_used:y}=await UH({...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 wH({assetAddress:n,owner:y,spender:t}){let o=oy([{type:"address",value:y},{type:"address",value:t}]),T=(await UH({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,fH="https://api.trongrid.io",k5=1000,u5=1e5,P5=420,I5=30000;var qH=p(()=>{rT();ln=require("@swapkit/helpers")});function MH({phrase:n,derivationPath:y}){let t=XH.HDKey.fromMasterSeed(WH.mnemonicToSeedSync(n)).derive(y);if(!t.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return GH.bytesToHex(t.privateKey)}function LH({phrase:n,derivationPath:y,index:t}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:t||0}));return MH({derivationPath:o,phrase:n})}function V5({phrase:n,derivationPath:y}){let t=MH({derivationPath:y,phrase:n}),o=nH(t);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{ny(f);let T=oH({privateKey:t,txID:f.txID});return Promise.resolve({...f,signature:[T]})}}}function lH({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 A=yH(y);f.data=A,T.data=A}if(t){let A=n.raw_data.expiration+t*1000;f.expiration=A,T.expiration=A}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=r1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...T},raw_data_hex:C,txID:H}}function QH(n={}){let y="index"in n?n.index||0:0,t=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function T(){if(f)return Promise.resolve(o);return o=fy.match(n).with({phrase:fy.P.string},({phrase:q})=>V5({derivationPath:t,phrase:q})).with({signer:fy.P.not(fy.P.nullish)},({signer:q})=>q).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let q=await T();if(!q)throw new E.SwapKitError("toolbox_tron_no_signer");return q.getAddress()}async function H(q){let M=q||E5,G=await sf(),Z=M*G.energyFee,D=Math.ceil(Z*1.5);return Math.min(Math.max(D,1e7),150000000)}async function A({contractAddress:q,functionSelector:M,parameter:G,sender:Z,memo:D,expiration:Q}){let z=await aT({contractAddress:q,functionSelector:M,parameter:G,sender:Z}),x=await H(z),k=await _H({contractAddress:q,feeLimit:x,functionSelector:M,ownerAddress:Z,parameter:G});return lH({expiration:Q,feeLimit:x,memo:D,transaction:k})}async function _(q){if(!Kn(q))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let M=await HH(q);if(!M)return[E.AssetValue.from({chain:E.Chain.Tron})];let G=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(M.balance)})],Z=M.trc20?.find((D)=>(sT in D));if(Z){let D=Z[sT];G.push(E.AssetValue.from({asset:`TRON.USDT-${sT}`,fromBaseDecimal:6,value:D}))}return G}catch(M){return E.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${M instanceof Error?M.message:M}`}),[E.AssetValue.from({chain:E.Chain.Tron})]}}async function X({recipient:q,assetValue:M,memo:G,expiration:Z}){if(!Kn(q))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await T();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");try{let Q=await C(),z=await l({assetValue:M,expiration:Z,memo:G,recipient:q,sender:Q}),x=await D.signTransaction(z),k=await Ey(x);if(!k)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(Q){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:Q instanceof Error?Q.message:String(Q)})}}function B({requiredBandwidth:q,resources:M,feePerUnit:G}){let Z=Math.max(0,M.free+M.total-M.used);return q>Z?(q-Z)*G:0}async function U({recipient:q,senderAddress:M}){let[G,Z,D]=await Promise.all([sf(),dT(q),gT(M)]),Q=Z?0:G.createAccountFee,z=B({feePerUnit:G.bandwidthFee,requiredBandwidth:$5,resources:D.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:Q+z})}async function W({assetValue:q,recipient:M,senderAddress:G}){let Z=q.address;if(!Z)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:q.toString()});let[D,Q,z,x]=await Promise.all([sf(),dT(M),gT(G),aT({contractAddress:Z,functionSelector:"transfer(address,uint256)",parameter:oy([{type:"address",value:M},{type:"uint256",value:q.getBaseValue("string")}]),sender:G})]),k=Q?0:D.createAccountFee,u=B({feePerUnit:D.bandwidthFee,requiredBandwidth:b5,resources:z.bandwidth}),K=Math.max(0,z.energy.total-z.energy.used),e=x>K?(x-K)*D.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:k+u+e})}async function w({assetValue:q,recipient:M,sender:G}){let Z=await T();try{let D=G?G:Z?await C():void 0;if(!D)return q.isGasAsset?E.AssetValue.from({chain:E.Chain.Tron,value:0.1}):E.AssetValue.from({chain:E.Chain.Tron,value:15});return q.isGasAsset?U({recipient:M,senderAddress:D}):W({assetValue:q,recipient:M,senderAddress:D})}catch(D){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:D})}}async function l({recipient:q,assetValue:M,memo:G,sender:Z,expiration:D}){if(!Kn(q)||!Kn(Z))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(M.isGasAsset){let z=await AH({amount:M.getBaseValue("number"),from:Z,to:q});return lH({expiration:D,memo:G,transaction:z})}let Q=M.address;if(!Q)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:M.toString()});return A({contractAddress:Q,expiration:D,functionSelector:"transfer(address,uint256)",memo:G,parameter:oy([{type:"address",value:q},{type:"uint256",value:M.getBaseValue("string")}]),sender:Z})}async function L(q){ny(q);let M=await T();if(!M)throw new E.SwapKitError("toolbox_tron_no_signer");return M.signTransaction(q)}async function N(q){let M=await L(q);return Ey(M)}function J({assetAddress:q,spenderAddress:M,from:G}){return wH({assetAddress:q,owner:G,spender:M})}async function O({assetAddress:q,spenderAddress:M,from:G,amount:Z}){let D=await J({assetAddress:q,from:G,spenderAddress:M});if(!Z)return D>0n;return D>=BigInt(Z)}async function Y({assetAddress:q,spenderAddress:M,amount:G,from:Z}){if(!Kn(q)||!Kn(M))throw new E.SwapKitError("toolbox_tron_approve_failed");let D=await T();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");let Q=Z||await C(),z=G!==void 0?BigInt(G).toString():v5;try{let x=await A({contractAddress:q,functionSelector:"approve(address,uint256)",parameter:oy([{type:"address",value:M},{type:"uint256",value:z}]),sender:Q}),k=await D.signTransaction(x),u=await Ey(k);if(!u)throw new E.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof E.SwapKitError)throw x;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:Y,broadcastTransaction:Ey,createTransaction:l,estimateTransactionFee:w,getAddress:C,getApprovedAmount:J,getBalance:_,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:O,signAndBroadcastTransaction:N,signTransaction:L,transfer:X,validateAddress:Kn}}var GH,XH,WH,E,fy,BH,$5=268,E5=65000,b5=345,sT="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",v5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var ZH=p(()=>{g1();qH();rT();GH=require("@noble/hashes/utils.js"),XH=require("@scure/bip32"),WH=require("@scure/bip39"),E=require("@swapkit/helpers"),fy=require("ts-pattern"),BH=Kn});var eT={};Mn(eT,{validateTronAddress:()=>BH,getTronToolbox:()=>QH,getTronPrivateKeyFromMnemonic:()=>LH});module.exports=Jn(eT);var n0=p(()=>{ZH()});function nt(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return K5.test(n)}async function j5(n){if(!nt(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function JH(n={}){let y,t=n.derivationPath||d.NetworkDerivationPath[d.Chain.Stellar],o=d.derivationPathToString(t.slice(0,3));async function f({phrase:l,path:L}){let{HDKey:N}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:J}=await import("@scure/bip39"),{Keypair:O}=await import("@stellar/stellar-sdk"),Y=J(l),M=N.fromMasterSeed(Y).derive(L,!0);return O.fromRawEd25519Seed(Buffer.from(M.privateKey))}async function T(){if(y)return y;let l=ef.match(n).with({phrase:ef.P.string},({phrase:L})=>L).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"),L=await d.getRPCUrl(d.Chain.Stellar);return new l.Server(L)}async function H(){try{return(await T()).publicKey()}catch{return""}}async function A(l){let L=l||await H();if(!L)throw new d.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(L)).balances.map((O)=>{if(O.asset_type==="native")return d.AssetValue.from({chain:d.Chain.Stellar,value:O.balance});let Y="asset_code"in O?O.asset_code:"",q="asset_issuer"in O?O.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${Y}-${q}`,asyncTokenLookup:!1,value:O.balance})})}catch{return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})]}}async function _({recipient:l,assetValue:L,memo:N,sender:J}){if(N){if(new TextEncoder().encode(N).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}if(!await j5(l))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let Y=J||await H();if(!Y)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:q,Memo:M,Networks:G,Operation:Z,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),Q=await C(),z=await Q.fetchBaseFee(),x=await Q.loadAccount(Y),k=new D(x,{fee:String(z),networkPassphrase:G.PUBLIC});if(L.isGasAsset)try{await Q.loadAccount(l),k.addOperation(Z.payment({amount:L.getValue("string"),asset:q.native(),destination:l}))}catch{k.addOperation(Z.createAccount({destination:l,startingBalance:L.getValue("string")}))}else k.addOperation(Z.payment({amount:L.getValue("string"),asset:new q(L.symbol,L.address),destination:l}));if(N)k.addMemo(M.text(N));return k.setTimeout(30).build()}async function X(l){let{TransactionBuilder:L,Networks:N}=await import("@stellar/stellar-sdk"),J=await T(),O=L.fromXDR(l.toXDR(),N.PUBLIC);return O.sign(J),O}async function B(l){try{let L=await C(),{hash:N}=await L.submitTransaction(l);return N}catch(L){throw new d.SwapKitError("toolbox_stellar_broadcast_error",L)}}async function U({recipient:l,assetValue:L,memo:N}){let J=await T(),O=J.publicKey(),Y=await _({assetValue:L,memo:N,recipient:l,sender:O});Y.sign(J);try{return(await(await C()).submitTransaction(Y)).hash}catch(q){if(q instanceof d.SwapKitError)throw q;throw new d.SwapKitError("toolbox_stellar_transaction_failed",q)}}async function W(l){let L=await X(l);return B(L)}async function w(){let{baseDecimal:l}=d.getChainConfig(d.Chain.Stellar);try{let J=(await(await C()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:l,value:J})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:B,createTransaction:_,estimateTransactionFee:w,getAddress:H,getBalance:A,signAndBroadcastTransaction:W,signTransaction:X,transfer:U,validateAddress:nt}}var d,ef,K5;var YH=p(()=>{d=require("@swapkit/helpers"),ef=require("ts-pattern"),K5=/^G[A-Z2-7]{55}$/});var ot={};Mn(ot,{validateStellarAddress:()=>nt,getStellarToolbox:()=>JH});module.exports=Jn(ot);var yt=p(()=>{YH()});var h5={};Mn(h5,{getToolbox:()=>o0,getFeeEstimator:()=>i5,getAddressValidator:()=>c5});module.exports=Jn(h5);var $=require("@swapkit/helpers");async function c5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (vy(),by)),{validateEVMAddress:t}=await Promise.resolve().then(() => (Ot(),I0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (Ft(),St)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (lf(),qf)),{validateHyperCoreAddress:T}=await Promise.resolve().then(() => (st(),at)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (fT(),yT)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Zf(),Qf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Yf(),Jf)),{validateTonAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (NT(),YT)),{validateNearAddress:B}=await Promise.resolve().then(() => (bT(),ET)),{validateRadixAddress:U}=await Promise.resolve().then(() => (VT(),vT)),{validateRippleAddress:W}=await Promise.resolve().then(() => (jT(),KT)),{validateTronAddress:w}=await Promise.resolve().then(() => (n0(),eT)),{validateStellarAddress:l}=await Promise.resolve().then(() => (yt(),ot));return function({address:N,chain:J}){return n(J).with(...$.EVMChains,()=>t(N)).with(...$.UTXOChains,(Y)=>{return X(Y)(N)}).with(...$.CosmosChains,(Y)=>{return f(Y)(N)}).with($.Chain.Aptos,()=>y(N)).with($.Chain.Radix,()=>U(N)).with($.Chain.HyperCore,()=>T(N)).with($.Chain.Near,()=>B(N)).with($.Chain.Ripple,()=>W(N)).with($.Chain.Solana,()=>C(N)).with($.Chain.Stellar,()=>l(N)).with($.Chain.Starknet,()=>H(N)).with($.Chain.Sui,()=>A(N)).with($.Chain.Ton,()=>_(N)).with($.Chain.Tron,()=>w(N)).with($.Chain.Cardano,()=>o(N)).otherwise(()=>!1)}}function i5(n){return async function(t){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let T=await o0(f),C=await T.createTransaction(t),H="feeOptionKey"in t?t.feeOptionKey:$.FeeOption.Fast;return T.estimateTransactionFee({...C,feeOption:H})}).with($.Chain.Bitcoin,$.Chain.BitcoinCash,$.Chain.Dogecoin,$.Chain.Dash,$.Chain.Litecoin,$.Chain.Solana,$.Chain.Ripple,$.Chain.Tron,$.Chain.Near,$.Chain.Cardano,$.Chain.HyperCore,async(f)=>{return(await o0(f)).estimateTransactionFee(t)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (vy(),by));return f().estimateTransactionFee(t)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Zf(),Qf));return(await f()).estimateTransactionFee(t)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (yt(),ot));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Yf(),Jf));return f().estimateTransactionFee(t)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(t)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (lf(),qf));return f(t)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function o0(n,y){let{match:t}=await import("ts-pattern");return t(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (Dt(),k0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (NT(),YT));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (lf(),qf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (vy(),by));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (st(),at));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (VT(),vT));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (jT(),KT));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (fT(),yT));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (yt(),ot));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Zf(),Qf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Yf(),Jf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (n0(),eT));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (bT(),ET));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (Ft(),St));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}
1
+ var zH=Object.create;var{getPrototypeOf:DH,defineProperty:ty,getOwnPropertyNames:f0,getOwnPropertyDescriptor:OH}=Object,T0=Object.prototype.hasOwnProperty;function t0(n){return this[n]}var RH,xH,C0=(n,y,T)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?RH??=new WeakMap:xH??=new WeakMap,t=f.get(n);if(t)return t}T=n!=null?zH(DH(n)):{};let C=y||!n||!n.__esModule?ty(T,"default",{value:n,enumerable:!0}):T;for(let H of f0(n))if(!T0.call(C,H))ty(C,H,{get:t0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Jn=(n)=>{var y=(y0??=new WeakMap).get(n),T;if(y)return y;if(y=ty({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of f0(n))if(!T0.call(y,o))ty(y,o,{get:t0.bind(n,o),enumerable:!(T=OH(n,o))||T.enumerable})}return y0.set(n,y),y},y0;var FH=(n)=>n;function SH(n,y){this[n]=FH.bind(null,y)}var Mn=(n,y)=>{for(var T in y)ty(n,T,{get:y[T],enumerable:!0,configurable:!0,set:SH.bind(y,T)})};var p=(n,y)=>()=>(n&&(y=n(n=0)),y);function uo(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 pH.test(y)}function H0({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 Qo.match(T).with({phrase:Qo.P.string},async({phrase:w})=>{let{Ed25519Account:Q}=await import("@aptos-labs/ts-sdk");return Q.fromDerivationPath({mnemonic:w,path:f})}).with({signer:Qo.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 A(w){let Q=w||await H();if(!Q)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:N,chain:Y}=V.getChainConfig(V.Chain.Aptos);try{let z=await C(),J=await z.getAccountAPTAmount({accountAddress:Q}),l=[V.AssetValue.from({chain:Y,fromBaseDecimal:N,value:J.toString()})],M=await z.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Q}}}});for(let W of M){if(W.asset_type===Lo.COIN_TYPE||Number(W.amount)<=0)continue;let Z=W.asset_type;if(Z){let L=("metadata"in W&&typeof W.metadata==="object"&&W.metadata!==null?W.metadata:void 0)?.decimals??N;l.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Z}`,fromBaseDecimal:L,value:String(W.amount)}))}}return l}catch{return[V.AssetValue.from({chain:Y})]}}async function _(w){if(!w){let{baseDecimal:M}=V.getChainConfig(V.Chain.Aptos),W=y||V.getRPCUrlSync(V.Chain.Aptos),Z=await fetch(`${W}/estimate_gas_price`),{gas_estimate:D}=await Z.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:M,value:String(D)})}let Q=await t();if(!Q)throw new V.SwapKitError("toolbox_aptos_no_signer");let N=await X(w),Y=await C(),[z]=await Y.transaction.simulate.simple({signerPublicKey:Q.publicKey,transaction:N});if(!z)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let J=BigInt(z.gas_used)*BigInt(z.gas_unit_price),{baseDecimal:l}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:l,value:J.toString()})}async function X({recipient:w,assetValue:Q,maxGasAmount:N,sender:Y}){if(!uo(w))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let z=Y||await H();if(!z)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:J}=await import("@aptos-labs/ts-sdk"),l=await C(),M=J.from(z);try{let W=Q.isGasAsset?Lo.TRANSFER:Lo.FUNGIBLE_STORE_TRANSFER,Z=Qo.match({address:Q?.address,isGasAsset:Q.isGasAsset}).with({isGasAsset:!0},()=>[J.from(w),Q.getBaseValue("bigint")]).with({address:Qo.P.string},({address:D})=>[J.from(D),J.from(w),Q.getBaseValue("bigint")]).otherwise(()=>null);if(!Z)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return l.transaction.build.simple({data:{function:W,functionArguments:Z,typeArguments:Q.isGasAsset?[]:[Lo.FUNGIBLE_ASSET_METADATA]},options:N?{maxGasAmount:N}:void 0,sender:M})}catch(W){if(W instanceof V.SwapKitError)throw W;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",W)}}async function B(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 U({assetValue:w,maxGasAmount:Q,recipient:N}){let Y=await t();if(!Y)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!uo(N))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let z=Y.accountAddress.toString(),J=await X({assetValue:w,maxGasAmount:Q,recipient:N,sender:z});return(await(await C()).signAndSubmitTransaction({signer:Y,transaction:J})).hash}catch(z){if(z instanceof V.SwapKitError)throw z;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",z)}}async function q({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 G(w){let Q=await B(w);return q({senderAuthenticator:Q,transaction:w})}return{broadcastTransaction:q,createTransaction:X,estimateTransactionFee:_,getAddress:H,getBalance:A,signAndBroadcastTransaction:G,signTransaction:B,transfer:U,validateAddress:uo}}function A0({provider:n}){return async function({assetValue:T,recipient:o}){if(!uo(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:Lo.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:Lo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Lo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Qo,Lo,pH;var _0=p(()=>{V=require("@swapkit/helpers"),Qo=require("ts-pattern"),Lo={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"},pH=/^[0-9a-fA-F]+$/});var by={};Mn(by,{validateAptosAddress:()=>uo,getAptosToolbox:()=>H0,createAptosExtensionTransfer:()=>A0});module.exports=Jn(by);var vy=p(()=>{_0()});function w0(){function n(){let y=Date.now(),T=TT||y;return TT=T,y>TT?y:T+1}return kH+n().toString(36)}function xn(n){return async function(T,o=!0){let f=await U0.SwapKitApi.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=Cy.getChainConfig(n),C=f.map(({identifier:A,value:_,decimal:X})=>{return new Cy.AssetValue({decimal:X||t,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[Cy.AssetValue.from({chain:n}),...C];return C}}var Cy,U0,kH,TT=0;var dn=p(()=>{Cy=require("@swapkit/helpers"),U0=require("@swapkit/helpers/api"),kH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Hy(n){return{getBalance:xn(n)}}function uH(n){return n}var Vy=p(()=>{dn()});function G0(n){return new Zo.JsonRpcProvider(n)}async function _T(n,y){return G0(y||await g.getRPCUrl(n))}function Ay(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function UT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...PH({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function wT(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function PH({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=g.getChainConfig(n);return AT.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 qT(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 l0(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}`}})};AT.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!IH(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})=>!q0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!q0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function X0(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 tT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function CT(n,y){if(n.isTuple()&&n.components){let T=tT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:CT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=tT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:CT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function HT(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]=HT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>HT(o,T??void 0))}return n}function $H({chain:n,abi:y,data:T,to:o}){let t=new Zo.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=tT(t.name);C[H]=t.fragment.inputs.map((U)=>({name:U.name,type:CT(U,C)}));let A={};for(let[U,q]of t.fragment.inputs.entries())A[q.name]=HT(t.args[U],q);let{chainId:_}=g.getChainConfig(n),X={chainId:Number(_),verifyingContract:Zo.getAddress(o)},B=X0(X);return{domain:X,message:A,primaryType:H,types:{EIP712Domain:B,...C}}}function GT(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(l0(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,Zo,AT,q0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),IH=(n)=>{try{return typeof n==="string"&&!!Zo.getAddress(n)}catch{return!1}};var _y=p(()=>{g=require("@swapkit/helpers"),Zo=require("ethers"),AT=require("ts-pattern")});var W0;var B0=p(()=>{W0=[{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 Io({chain:n=x.Chain.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:KH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:Q0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:LT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:hH({chain:n,provider:y,signer:T}),createContract:WT({chain:n,provider:y}),createContractTxObject:Jo({chain:n,provider:y}),createTransaction:lT({chain:n,provider:y,signer:T}),createTransferTx:lT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Eo(y),estimateCall:Z0({provider:y,signer:T}),estimateGasLimit:cH({chain:n,provider:y,signer:T}),estimateGasPrices:Yo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:mH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Hy(n).getBalance,getNetworkParams:UT(n),isApproved:VH({chain:n,provider:y}),sendTransaction:J0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:iH({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:jH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:wy}}function wy(n){try{return pn.getAddress(n),!0}catch{return!1}}function $o(n){return n instanceof pn.BrowserProvider}function qy(n,y,T){return new pn.Contract(n,pn.Interface.from(y),T)}function WT({provider:n}){return function(T,o){return new pn.Contract(T,pn.Interface.from(o),n)}}function BT({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&&EH.includes(T.stateMutability)}function M0(n){return pn.getAddress(n)}function Eo(n){return function({value:T,...o}){if(!$o(n))throw new x.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:Ay(BigInt(T||0))}])}}function L0(n,y){let T=bo(n,y);if(T)return pn.getAddress(T.toLowerCase());throw new x.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function bo({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=vH.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return MT[o];return pn.getAddress(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function Jo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>qy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Yo({chain:n,provider:y,isEIP1559Compatible:T=!0}){return XT.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 LT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:X={},feeOption:B=x.FeeOption.Fast}){let U=t||n;if(!C)throw new x.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let q=BT({abi:H,funcName:A});if(q&&$o(U)&&T){let Q=Jo({chain:o,provider:U}),N=X?.from||await T?.getAddress(),Y=await Q({abi:H,contractAddress:C,funcName:A,funcParams:_,txOverrides:{...X,from:N}});return Eo(U)(Y)}let G=qy(C,H,U);if(q){if(!T)throw new x.SwapKitError("toolbox_evm_no_signer");let Q=X?.from||await T.getAddress();if(!Q)throw new x.SwapKitError("toolbox_evm_no_signer_address");let N=G.connect(T),Y=Yo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:z,maxPriorityFeePerGas:J,gasPrice:l}=(await Y())[B],M=await G.getFunction(A).estimateGas(..._,X),W=await N[A](..._,{...X,gasLimit:M,gasPrice:l,maxFeePerGas:z,maxPriorityFeePerGas:J,nonce:X?.nonce||await U.getTransactionCount(Q)});return typeof W?.hash==="string"?W?.hash:W}let w=await G[A]?.(..._);return typeof w?.hash==="string"?w?.hash:w}}function Q0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return LT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Po.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function VH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Uy}){let H=await Q0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return x.SwapKitNumber.fromBigInt(H).gte(x.SwapKitNumber.fromBigInt(BigInt(C)))}}function KH({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=x.FeeOption.Fast,amount:A,gasLimitFallback:_,from:X,nonce:B}){let U=[C,BigInt(A||Uy)],q=await n?.getAddress()||X,G={abi:Po.erc20ABI,contractAddress:t,funcName:"approve",funcParams:U,signer:n,txOverrides:{from:q}};if($o(T)){let Q=Jo({chain:o,provider:T}),N=Eo(T),Y=await Q(G);return N(Y)}return LT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...G,feeOption:H,funcParams:U,txOverrides:{from:q,gasLimit:_?BigInt(_.toString()):void 0,nonce:B}})}}function jH({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:X,toUtf8Bytes:B}=await import("ethers"),U=f.getBaseValue("bigint"),q=f.chain,G=A||await n?.getAddress(),w=J0({chain:q,isEIP1559Compatible:y,provider:T,signer:n});if(!G)throw new x.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let l={..._,data:X(B(t||"")),feeOptionKey:H,from:G,to:C,value:U};return w(l)}if(!bo(f,q))throw new x.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:N,maxPriorityFeePerGas:Y,gasPrice:z}=(await Yo({chain:q,isEIP1559Compatible:y,provider:T})())[H],J=await lT({chain:q,provider:T,signer:n})({assetValue:f,data:X(B(t||"")),gasPrice:z,maxFeePerGas:N,maxPriorityFeePerGas:Y,memo:t,recipient:C,sender:G});return w(J)}}function Z0({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 A=qy(o,f,n);return y?A.connect(y).getFunction(t).estimateGas(...C,H):A.getFunction(t).estimateGas(...C,H)}}function cH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:A,funcParams:_,txOverrides:X}){let B=o.bigIntValue,U=o.isGasAsset?null:bo(o,o.chain);if(U&&A)return Z0({provider:n,signer:y})({abi:Po.erc20ABI,contractAddress:U,funcName:A,funcParams:_,txOverrides:X});let{hexlify:q,toUtf8Bytes:G}=await import("ethers");return n.estimateGas({data:C?C:t?q(G(t)):void 0,from:H,to:f,value:B})}}function iH({signer:n}){if(!n)return;return(y)=>qT(n,y)}function J0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=x.FeeOption.Fast,...C}){let{from:H,to:A,data:_,value:X,...B}=C;if(!y)throw new x.SwapKitError("toolbox_evm_no_signer");if(!A)throw new x.SwapKitError("toolbox_evm_no_to_address");let U={...B,data:_||"0x",from:H,to:A,value:BigInt(X||0)};if($o(n))return Eo(n)(U);let q=H||await y.getAddress(),G=C.nonce||await n.getTransactionCount(q),w=(await n.getNetwork()).chainId,Q=ZT(U,T);if(Q==="eip7702")GT(U.authorizations||[],w);let N=XT.match(Q).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),Y={...U,chainId:w,nonce:G,type:N,...Q==="eip7702"&&{authorizationList:U.authorizations}},z=Yo({chain:o,isEIP1559Compatible:T,provider:n}),l=Q!=="legacy"&&!(U.maxFeePerGas&&U.maxPriorityFeePerGas)||!U.gasPrice?Object.entries((await z())[t]).reduce((W,[Z,D])=>({...W,[Z]:Ay(BigInt(D))}),{}):{},M;try{M=Ay(U.gasLimit||await n.estimateGas(Y)*11n/10n)}catch(W){throw new x.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:W})}try{let W={...Y,gasLimit:M,...l};try{return(await y.sendTransaction(W)).hash}catch{let Z=await y.signTransaction({...W,from:q});return(await n.broadcastTransaction(Z)).hash}}catch(W){throw new x.SwapKitError("toolbox_evm_error_sending_transaction",{error:W})}}}function lT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:A,maxPriorityFeePerGas:_,gasPrice:X,...B}){let U=o.getBaseValue("bigint"),q=o.chain,G=H||await y?.getAddress();if(!G)throw new x.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset(o)){let{hexlify:N,toUtf8Bytes:Y}=await import("ethers");return{...B,data:C||N(Y(f||"")),from:G,to:t,value:U}}let w=bo(o,q);if(!w)throw new x.SwapKitError("toolbox_evm_no_contract_address");return Jo({chain:o.chain,provider:n})({abi:Po.erc20ABI,contractAddress:w,funcName:"transfer",funcParams:[t,U],txOverrides:{from:G,gasPrice:X,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function hH({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let A=await y?.getAddress()||H,_=Jo({chain:T,provider:n}),X=["bigint","number"].includes(typeof C)?C:C||Uy;return await _({abi:Po.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(X)],txOverrides:{from:A}})}}function mH({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=x.FeeOption.Fast,...t}){let H=await Yo({chain:T,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(t),_=x.AssetValue.from({chain:T}),{gasPrice:X,maxFeePerGas:B,maxPriorityFeePerGas:U}=H[f];if(!y&&X)return _.set(x.SwapKitNumber.fromBigInt(X*A,_.decimal));if(B&&U){let q=(B+U)*A;return _.set(x.SwapKitNumber.fromBigInt(q,_.decimal))}throw new x.SwapKitError("toolbox_evm_no_gas_price")}}var x,Po,pn,XT,Uy,EH,bH,MT,vH,Ky=(n)=>n.type===4||(n.authorizations?.length??0)>0,QT=(n)=>!Ky(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),ZT=(n,y=!0)=>{if(Ky(n))return"eip7702";if(QT(n)||y)return"eip1559";return"legacy"};var jy=p(()=>{Vy();_y();x=require("@swapkit/helpers"),Po=require("@swapkit/helpers/contracts"),pn=require("ethers"),XT=require("ts-pattern"),Uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");EH=["payable","nonpayable"];bH=x.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),MT={...bH,[x.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[x.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},vH=[x.Chain.Arbitrum,x.Chain.Aurora,x.Chain.Base,x.Chain.Optimism]});function cy(n){let y=wn(Cn.Chain.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:W0,contractAddress:f,funcName:t,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:T}}function wn(n){return function({provider:T,...o}){let f=wT(n),t=Gy.match(o).with({phrase:Gy.P.string},({phrase:H})=>Y0.HDNodeWallet.fromPhrase(H).connect(T)).with({signer:Gy.P.any},({signer:H})=>H).otherwise(()=>{return});return Io({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var Cn,Y0,Gy,iy,hy,my,ry,gy,dy,ay,N0,sy,ey,nf,of,yf,ff,ly,Tf,tf,Cf,Hf;var JT=p(()=>{B0();_y();jy();Cn=require("@swapkit/helpers"),Y0=require("ethers"),Gy=require("ts-pattern");iy=wn(Cn.Chain.Adi),hy=wn(Cn.Chain.Arbitrum),my=wn(Cn.Chain.Aurora),ry=wn(Cn.Chain.Avalanche),gy=wn(Cn.Chain.Base),dy=wn(Cn.Chain.Berachain),ay=wn(Cn.Chain.BinanceSmartChain),N0=wn(Cn.Chain.Botanix),sy=wn(Cn.Chain.Core),ey=wn(Cn.Chain.Corn),nf=wn(Cn.Chain.Cronos),of=wn(Cn.Chain.Gnosis),yf=wn(Cn.Chain.Hyperevm),ff=wn(Cn.Chain.Polygon),ly=wn(Cn.Chain.Sonic),Tf=wn(Cn.Chain.Unichain),tf=wn(Cn.Chain.XLayer),Cf=wn(Cn.Chain.Monad),Hf=wn(Cn.Chain.MegaETH)});var z0;var D0=p(()=>{z0=[{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 YT(n){return new Af.Contract(gH,z0,n)}function O0(n){return async function(){let T=YT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function R0(n){return async function({from:T,to:o,nonce:f,...t}){let{Transaction:C}=await import("ethers");if(!o)throw new Hn.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 x0(n){return async function(T){let o=YT(n),f=await R0(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function F0(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function dH(n){return async function(T){let o=await x0(n)(T)??0n,f=await F0(n)(T);return o+f}}function aH(n){return async function(T){let o=YT(n),f=await R0(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function sH(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await O0(n)(),C=f;if(!(T&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(T){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function _f({provider:n,...y}){let T=Xy.match(y).with({phrase:Xy.P.string},({phrase:t})=>Af.HDNodeWallet.fromPhrase(t).connect(n)).with({signer:Xy.P.any},({signer:t})=>t).otherwise(()=>{return}),o=Io({provider:n,signer:T}),f=O0(n);return{...o,estimateGasPrices:sH(n),estimateL1Gas:aH(n),estimateL1GasCost:x0(n),estimateL2GasCost:F0(n),estimateTotalGasCost:dH(n),getBalance:Hy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,Af,Xy,gH="0x420000000000000000000000000000000000000f";var NT=p(()=>{Vy();D0();jy();Hn=require("@swapkit/helpers"),Af=require("ethers"),Xy=require("ts-pattern")});var k0={};Mn(k0,{validateEVMAddress:()=>wy,toChecksumAddress:()=>M0,isStateChangingCall:()=>BT,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>QT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getEvmToolboxAsync:()=>p0,getEvmToolbox:()=>zT,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>ZT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>WT,getChecksumAddressFromAsset:()=>L0,createContract:()=>qy,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,ETHToolbox:()=>cy,ContractAddress:()=>MT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});function zT(n,y){return S0.match(n).with(Un.Chain.Adi,()=>iy(y)).with(Un.Chain.Arbitrum,()=>hy(y)).with(Un.Chain.Aurora,()=>my(y)).with(Un.Chain.Avalanche,()=>ry(y)).with(Un.Chain.Base,()=>gy(y)).with(Un.Chain.Berachain,()=>dy(y)).with(Un.Chain.BinanceSmartChain,()=>ay(y)).with(Un.Chain.Botanix,()=>ly(y)).with(Un.Chain.Core,()=>sy(y)).with(Un.Chain.Corn,()=>ey(y)).with(Un.Chain.Cronos,()=>nf(y)).with(Un.Chain.Ethereum,()=>cy(y)).with(Un.Chain.Gnosis,()=>of(y)).with(Un.Chain.Hyperevm,()=>yf(y)).with(Un.Chain.Optimism,()=>_f(y)).with(Un.Chain.Polygon,()=>ff(y)).with(Un.Chain.Sonic,()=>ly(y)).with(Un.Chain.Unichain,()=>Tf(y)).with(Un.Chain.XLayer,()=>tf(y)).with(Un.Chain.Monad,()=>Cf(y)).with(Un.Chain.MegaETH,()=>Hf(y)).exhaustive()}async function p0(n,y){let T={...y,provider:y?.provider||await _T(n)};return zT(n,T)}var Un,S0;var DT=p(()=>{_y();JT();NT();Un=require("@swapkit/helpers"),S0=require("ts-pattern");jy();JT();NT()});var u0;var P0=p(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(u0||={})});var I0={};Mn(I0,{validateEVMAddress:()=>wy,validateAuthorizations:()=>GT,validateAuthorization:()=>l0,toHexString:()=>Ay,toChecksumAddress:()=>M0,signAuthorization:()=>qT,parseEIP712FromEVMTx:()=>$H,isStateChangingCall:()=>BT,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>QT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getProviderSync:()=>G0,getProvider:()=>_T,getNetworkParams:()=>UT,getIsEIP1559Compatible:()=>wT,getEvmToolboxAsync:()=>p0,getEvmToolbox:()=>zT,getEvmApi:()=>Hy,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>ZT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>WT,getChecksumAddressFromAsset:()=>L0,createCustomEvmApi:()=>uH,createContract:()=>qy,buildEIP712DomainType:()=>X0,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,EthNetwork:()=>u0,ETHToolbox:()=>cy,ContractAddress:()=>MT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});module.exports=Jn(I0);var OT=p(()=>{Vy();_y();DT();P0()});async function xT(n,y){let T=await fetch(`${j0}${n}`,{...y,headers:{project_id:K0,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function c0(n){try{return await xT(`/addresses/${n}/utxos`)}catch{return[]}}async function nA(){return(await xT("/blocks/latest")).slot}async function oA(){let n=await xT("/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 Fn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Fn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Fn.default(n.min_fee_a),minFeeB:new Fn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Fn.default(15),priceMem:new Fn.default(n.price_mem),priceSteps:new Fn.default(n.price_step),stakeKeyDeposit:new Fn.default(2000000),utxoCostPerByte:new Fn.default(n.coins_per_utxo_size)}}async function E0(n){let y=await fetch(`${j0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:K0},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function yA(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new Fn.default(o.quantity):new Fn.default(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Fn.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 fA(n){try{let y=await c0(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:A,quantity:_}=H;if(A==="lovelace")T+=BigInt(_);else{let X=o.get(A)||0n;o.set(A,X+BigInt(_))}}}let f=[],{baseDecimal:t}=An.getChainConfig(An.Chain.Cardano);if(T>0n)f.push(An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(An.AssetValue.from({asset:`${An.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[An.AssetValue.from({chain:An.Chain.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[An.AssetValue.from({chain:An.Chain.Cardano})]}}function i0(n){if(!n||typeof n!=="string")return!1;try{let y=b0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function TA(n,y=0,T=0){let o=await v0.mnemonicToSeed(n,""),t=(await V0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(RT+1852).derive(RT+1815).derive(RT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=Nn.crypto.hash28(H),X=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),B=Nn.crypto.hash28(X),U={hash:A,type:Nn.types.HashType.ADDRESS},q={hash:B,type:Nn.types.HashType.ADDRESS},w=new Nn.address.BaseAddress(eH,U,q).getBech32(),Q=C.toPrivateKey();return{getAddress:()=>w,publicKey:H,publicKeyHash:A,signTransaction:async(N)=>{try{let Y=await import("@stricahq/cbors"),z=Buffer.from(N,"hex"),J=Y.Decoder.decode(z),[l,M,W,Z]=J.value,D=Y.Encoder.encode(l),L=Nn.crypto.hash32(D),O=Q.sign(L),R=M instanceof Map?M:new Map,k=R.get($0)||[];k.push([H,O]),R.set($0,k);let u=[l,R,W,Z];return Y.Encoder.encode(u).toString("hex")}catch(Y){throw new An.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(Y)})}}}}function tA(n){let y,T,o;async function f(){if(!o)o=await oA();return o}async function t(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let q=n.index??0;return y=await TA(n.phrase,0,q),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(T)return T;let q=await t();if(!q)return"";if("getAddress"in q)return T=await q.getAddress(),T;return""}async function H(q){let G=q||await C();if(!G)throw new An.SwapKitError("core_wallet_connection_not_found");return fA(G)}async function A(q){if(q)try{let{tx:N}=await _(q),Y=N.getFee();return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:Y.toString()})}catch{}let G=await f(),w=400,Q=G.minFeeB.plus(G.minFeeA.times(w));return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:Q.toString()})}async function _({sender:q="",recipient:G,assetValue:w,memo:Q,pureLovelaceOnly:N=!1}){let Y=q||await C();if(!Y)throw new An.SwapKitError("core_wallet_connection_not_found");let[z,J,l]=await Promise.all([c0(Y),nA(),f()]),M=z.filter((tn)=>N?tn.amount.every((on)=>on.unit==="lovelace"):tn.amount.some((on)=>on.unit==="lovelace")).sort((tn,on)=>{let Zn=tn.amount.some((On)=>On.unit!=="lovelace"),Bn=on.amount.some((On)=>On.unit!=="lovelace");if(Zn===Bn)return 0;return Zn?1:-1}),W=Nn.utils.getAddressFromString(Y),Z=Nn.utils.getAddressFromString(G),D=yA(M,W),L=new Fn.default(w.getBaseValue("string")),O=[{address:Z,amount:L,tokens:[]}],R;if(Q){let tn=new Map;tn.set("msg",[Q]),R={metadata:[{data:tn,label:674}]}}let k={...l,minFeeB:l.minFeeB.plus(l.minFeeA.times(4))},K=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:R,changeAddress:W,inputs:D,outputs:O,ttl:J+3600}),{payload:s}=K.buildTransaction();return{tx:K,unsignedTx:s}}async function X(q){let G=await t();if(!G||!("signTransaction"in G))throw new An.SwapKitError("core_wallet_connection_not_found");return G.signTransaction(q)}async function B({recipient:q,assetValue:G,memo:w}){let Q=await t();if(!Q||!("signTransaction"in Q))throw new An.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await _({assetValue:G,memo:w,recipient:q,sender:await C()}),Y=await X(N);return await E0(Y)}async function U(q){let G=await X(q);return await E0(G)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:U,signTransaction:X,transfer:B,validateAddress:i0}}var b0,v0,V0,Nn,An,Fn,K0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",j0="https://cardano-mainnet.blockfrost.io/api/v0",eH,RT=2147483648,$0=0;var h0=p(()=>{b0=require("@scure/base"),v0=require("@scure/bip39"),V0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),An=require("@swapkit/helpers"),Fn=C0(require("bignumber.js")),eH=Nn.types.NetworkId.MAINNET});var FT={};Mn(FT,{validateCardanoAddress:()=>i0,getCardanoToolbox:()=>tA});module.exports=Jn(FT);var ST=p(()=>{h0()});function Wy(n){return hn.base64.encode(Uint8Array.from(hn.bech32.fromWords(hn.bech32.decode(n).words)))}function By(n,y="thor"){return hn.bech32.encode(y,hn.bech32.toWords(hn.base64.decode(n)))}function CA(n){return hn.base64.encode(n)}function HA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new m0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hn.base64.decode(n)}var hn,m0;var pT=p(()=>{hn=require("@scure/base"),m0=require("@swapkit/helpers")});function an(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return d0;case b.Chain.Noble:return a0;default:return g0}}async function sn(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 No(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 uT(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function PT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:A}=T,_=await b.getRPCUrl(H),B=await(await sn(_)).getAccount(n);if(!B)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let U=b.AssetValue.from({chain:H}),q=to(U.symbol),G=an(H),w=q&&f?{amount:[{amount:f.toString(),denom:q}],gas:G.gas}:G,Q={amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??B.accountNumber,chainId:A,fee:w,memo:o,msgs:[{typeUrl:AA(H),value:Q}],sequence:t??B.sequence}}var b,kT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",r0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",g0,d0,a0,to=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return kT;case"uYUM":case"YUM":return r0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},My=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return to(n,!1)},AA=(n)=>{switch(n){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}},_A,IT=(n,y)=>{let T=_A[n.toLowerCase()];if(!T)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:t,value:y})};var Ly=p(()=>{b=require("@swapkit/helpers"),g0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},d0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},a0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};_A={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[kT.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var s0={};Mn(s0,{$root:()=>S});var Ln,v,un,I,S;var e0=p(()=>{Ln=C0(require("protobufjs/minimal.js")),v=Ln.default.Reader,un=Ln.default.Writer,I=Ln.default.util,S=Ln.default.roots.default||(Ln.default.roots.default={});S.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=un.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.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 v))o=new v(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 S.common.Asset)return o;let f=new S.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=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=un.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))S.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=S.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 v))o=new v(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=S.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 S.common.Coin)return o;let f=new S.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=S.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=S.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,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=un.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.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 v))o=new v(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 S.common.PubKeySet)return o;let f=new S.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=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=un.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)S.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)S.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.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(S.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(S.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 v))o=new v(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=S.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=S.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 S.common.Tx)return o;let f=new S.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]=S.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]=S.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]=S.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]=S.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=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)S.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(S.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 v))o=new v(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=S.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 S.common.Fee)return o;let f=new S.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]=S.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]=S.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=un.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.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 v))o=new v(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 S.common.ProtoUint)return o;let f=new S.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})();S.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=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)S.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(S.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 v))o=new v(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=S.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 S.types.MsgDeposit)return o;let f=new S.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]=S.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]=S.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,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=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=un.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)S.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 v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new S.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(S.cosmos.base.v1beta1.Coin.decode(o,o.uint32()));break;default:o.skipType(H&7);break}}return C},y.decodeDelimited=function(o){if(!(o instanceof v))o=new v(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=S.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof S.types.MsgSend)return o;let f=new S.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]=S.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]=S.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})();S.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=un.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 v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new S.cosmos.base.v1beta1.Coin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(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 S.cosmos.base.v1beta1.Coin)return t;let C=new S.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=un.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 v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new S.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(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 S.cosmos.base.v1beta1.DecCoin)return t;let C=new S.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=un.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 v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new S.cosmos.base.v1beta1.IntProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.int=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(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 S.cosmos.base.v1beta1.IntProto)return t;let C=new S.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=un.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 v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new S.cosmos.base.v1beta1.DecProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.dec=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(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 S.cosmos.base.v1beta1.DecProto)return t;let C=new S.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(() => (e0(),s0)),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 Co(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===nC.Chain.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:Wy(f)}),toAmino:({signer:f,...t})=>({...t,signer:By(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:Wy(f),toAddress:Wy(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:By(f),to_address:By(t)})}})}var nC;var $T=p(()=>{pT();nC=require("@swapkit/helpers")});function vT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return yC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return fC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function yC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let A=T.chain,_=await zn.getRPCUrl(A),X=await oC({rpcUrl:_,sender:n}),{chainId:B}=zn.getChainConfig(A),U=ET({assetValue:T,recipient:y,sender:n}),q=f?await Ho(t?U:Ao(U),A):U;return{accountNumber:H||X.accountNumber,chainId:B,fee:an(A),memo:o,msgs:[q],sequence:C||X.sequence}}async function fC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,A=await zn.getRPCUrl(H),_=await oC({rpcUrl:A,sender:n}),{chainId:X}=zn.getChainConfig(H),B=bT({assetValue:y,memo:T,sender:n}),U=o?await Ho(f?B:Ao(B),H):B;return{accountNumber:C||_.accountNumber,chainId:X,fee:an(H),memo:T,msgs:[U],sequence:t||_.sequence}}function Ao(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 Qy({chain:n,memo:y,msgs:T}){let o=await zo(),f=await Co(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var zn,UA,wA,ET=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol,!0)}],from_address:n,to_address:y}}},bT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:My(y)}],memo:T,signer:n}}},Uf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?bT({assetValue:T,memo:o,sender:n}):ET({assetValue:T,recipient:y,sender:n})},Ho=async(n,y)=>{return(await Co(y)).fromAmino(n)},oC=async({rpcUrl:n,sender:y})=>{let o=await(await sn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var TC=p(()=>{Ly();$T();zn=require("@swapkit/helpers"),UA=an(zn.Chain.THORChain).gas,wA=an(zn.Chain.Maya).gas});var tC=()=>{};var CC=p(()=>{tC()});var VT=p(()=>{pT();TC();$T();CC()});async function cT(n,y){try{let o=(await jT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function KT({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${P.DerivationPath[T.chain]}/${T.index}`;return await wC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[UC.stringToPath(o)],prefix:y})}async function qA({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function qC(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,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(_o.base64.decode(T));return A.verifySignature(_,_o.base64.decode(o),t.pubkey.value)}}function Jy({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 Zy.match(y).with({phrase:Zy.P.string},({phrase:q})=>KT({derivationPath:f,phrase:q,prefix:T})).with({signer:Zy.P.any},({signer:q})=>q).otherwise(()=>{return}),t}async function H(q){let G=await P.getRPCUrl(n);return(await sn(G)).getAccount(q)}async function A(){let q=await C(),[G]=await q?.getAccounts()||[];return G?.address}async function _(){let q=await C(),[G]=await q?.getAccounts()||[];if(!G?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return _o.base64.encode(G?.pubkey)}async function X(q){let G=await C(),w=await A(),Q=await P.getRPCUrl(n);if(!(G&&w))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await No(Q,G)).sign(w,q.msgs,q.fee,q.memo,{accountNumber:q.accountNumber,chainId:q.chainId,sequence:q.sequence})}async function B(q){let G=await C(),w=await A(),Q=await P.getRPCUrl(n);if(!(G&&w))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let Y=await(await No(Q,G)).signAndBroadcast(w,q.msgs,q.fee,q.memo);if(Y.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:Y.code,message:Y.rawLog});return Y.transactionHash}async function U({recipient:q,assetValue:G,memo:w="",feeRate:Q,feeOptionKey:N=P.FeeOption.Fast}){let Y=await C(),z=await A();if(!(Y&&z))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await P.getRPCUrl(n),l=P.AssetValue.from({chain:n}),M=My(l),W=Q||XA((await AC(n,HC[n]))[N],M),Z=await No(J,Y),D=to(G.symbol),L=[{amount:G.getBaseValue("string"),denom:D}],{transactionHash:O}=await Z.sendTokens(z,q,L,W,w);return O}return{createPrivateKeyFromPhrase:BA(f),createTransaction:PT,fetchFeeRateFromSwapKit:cT,getAccount:H,getAddress:A,getBalance:async(q,G)=>{let w=await _C(n)(q),Q=await Promise.all(w.filter(({denom:N})=>N&&!N.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(n)&&N.split("-").length>2)).map(({denom:N,amount:Y})=>{let z=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(N.includes("/")||N.includes("˜"))?`${n}.${N}`:N;return IT(z,Y)}));if(Q.length===0)return[P.AssetValue.from({chain:n})];return Q},getBalanceAsDenoms:_C(n),getFees:()=>AC(n,HC[n]),getPubKey:_,getSignerFromPhrase:({phrase:q,derivationPath:G})=>KT({derivationPath:P.derivationPathToString(G),index:o,phrase:q,prefix:T}),getSignerFromPrivateKey:async(q)=>{let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(q,T)},signAndBroadcastTransaction:B,signTransaction:X,transfer:U,validateAddress:GC(n),verifySignature:qC(H)}}async function GA(n,y){try{let o=(await jT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function lA({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:WA(n)})}async function AC(n,y){let{chainId:T,baseDecimal:o}=P.getChainConfig(n),f=await cT(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 XA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function WA(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 GC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=_o.bech32.decode(o);return _o.bech32.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function _C(n){return async function(T){let o=await P.getRPCUrl(n);return(await(await sn(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function BA(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,A=o.Bip39??o.default?.Bip39,_=new H(T),X=await A.mnemonicToSeed(_),{privkey:B}=C.derivePath(t.Secp256k1,X,f(n));return B}}var UC,wC,_o,P,jT,Zy,HC;var wf=p(()=>{Ly();UC=require("@cosmjs/crypto"),wC=require("@cosmjs/proto-signing"),_o=require("@scure/base"),P=require("@swapkit/helpers"),jT=require("@swapkit/helpers/api"),Zy=require("ts-pattern");HC={[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 MA({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"),A=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[A(`${y}/${f}`)],prefix:n})}}function LA(n){return Uo.base64.encode(n)}function QA(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:A,memo:_}=typeof o==="string"?JSON.parse(o):o,X=(await T.getAccounts())?.[0]?.address||"",B=await Co(n),U=await zo(),q=await uT(T,{aminoTypes:B,registry:U}),G=[];for(let N of f){let Y=await Ho(N,n);G.push(Y)}let{signatures:[w]}=await q.sign(X,G,A,_,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Qy({chain:n,memo:_,msgs:f.map(Ao)}),signature:LA(w)}}}function ZA({prefix:n,chain:y}){return async function(o,f,t,C,H){let A=await e.getRPCUrl(y),{encodeSecp256k1Pubkey:_,pubkeyToAddress:X}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:B}=(await import("@cosmjs/stargate")).default,{sequence:U,fee:q}=JSON.parse(o),G=await lC(t,C),w=f.map((Y)=>[X(_(Uo.base64.decode(Y.pubKey)),n),Uo.base64.decode(Y.signature)]),Q=await sn(A),{transactionHash:N}=await Q.broadcastTx(B(G,U,q,H,new Map(w)));return N}}async function lC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(Uo.base64.decode(t))),y,T)}function JA(n){return Uo.base64.decode(n)}async function YA({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(Uo.base64.decode(y),n);return Uo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function iT({chain:n,...y}){let{isStagenet:T}=e.SKConfig.get("envs"),o=e.SKConfig.get("thornodeUrls"),f=n===e.Chain.Maya,t=vo.match({isMayachain:f,isStagenet:T}).with({isMayachain:!0},({isStagenet:q})=>q?o.MAYA_STAGENET:o.MAYA).otherwise(({isStagenet:q})=>q?o.THOR_STAGENET:o.THOR),C=`${T?"s":""}${e.CosmosChainPrefixes[n]}`,H="index"in y?y.index||0:0,A="derivationPath"in y&&y.derivationPath?y.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[n],{index:H}),_=Jy({chain:n,...y}),X=an(n);async function B(){let q,G=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:w}}=await e.RequestClient.get(G);if(!w||Number.isNaN(w)||w<0)throw new e.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:w.toString()});q=new e.SwapKitNumber(w)}catch{q=new e.SwapKitNumber({decimal:e.getChainConfig(n).baseDecimal,value:f?1:0.02})}return{[e.FeeOption.Average]:q,[e.FeeOption.Fast]:q,[e.FeeOption.Fastest]:q}}async function U({assetValue:q,memo:G="",recipient:w}){let Q=await e.getRPCUrl(n),N=await vo.match(y).with({phrase:vo.P.string},({phrase:R})=>_.getSignerFromPhrase({derivationPath:A,phrase:R})).with({signer:vo.P.any},({signer:R})=>R).otherwise(()=>{return}),{TxRaw:Y}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),z=(await N?.getAccounts())?.[0]?.address;if(!(z&&N))throw new e.SwapKitError("toolbox_cosmos_no_signer");let J="signAmino"in N,l=await zo(),M=await Co(n),W=await No(Q,N,{aminoTypes:M,registry:l}),Z=Uf({assetValue:q,memo:G,recipient:w,sender:z});if(J){let R=await Ho(Z,n),{signatures:k,authInfoBytes:u}=await W.sign(z,[R],X,G),K=Y.encode({authInfoBytes:u,bodyBytes:await Qy({chain:n,memo:G,msgs:[Z].map(Ao)}),signatures:k}).finish();return(await W.broadcastTx(K)).transactionHash}let D=Ao(Z),L=await Ho(D,n);return(await W.signAndBroadcast(z,[L],X,G)).transactionHash}return{..._,broadcastMultisigTx:ZA({chain:n,prefix:C}),buildAminoMsg:Uf,buildEncodedTxBody:Qy,convertToSignable:Ho,createDefaultAminoTypes:()=>Co(n),createDefaultRegistry:zo,createMultisig:lC,createTransaction:vT,deposit:U,getFees:B,importSignature:JA,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(q)=>{let{pubkeyToAddress:G}=(await import("@cosmjs/amino")).default;return G(q,C)},secp256k1HdWalletFromMnemonic:MA({derivationPath:e.derivationPathToString(A),prefix:C}),signMultisigTx:QA(n),signWithPrivateKey:YA,transfer:U}}var Uo,e,vo;var hT=p(()=>{VT();Ly();wf();Uo=require("@scure/base"),e=require("@swapkit/helpers"),vo=require("ts-pattern")});var wo,NA=(n,y)=>{switch(n){case wo.Chain.Cosmos:case wo.Chain.Kujira:case wo.Chain.Noble:return Jy({chain:n,...y});case wo.Chain.Maya:case wo.Chain.THORChain:return iT({chain:n,...y});default:throw new wo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var XC=p(()=>{wf();hT();wo=require("@swapkit/helpers");wf();hT()});var qf={};Mn(qf,{verifySignature:()=>qC,transferMsgAmino:()=>ET,toBase64:()=>CA,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>qA,getSignerFromPhrase:()=>KT,getMsgSendDenom:()=>to,getFeeRateFromSwapKit:()=>GA,getDenomWithChain:()=>My,getDefaultChainFee:()=>an,getCosmosToolbox:()=>NA,getCosmosAddressValidator:()=>GC,getAssetFromDenom:()=>IT,fromBase64:()=>HA,fetchFeeRateFromSwapKit:()=>cT,estimateTransactionFee:()=>lA,depositMsgAmino:()=>bT,createTransaction:()=>vT,createThorchainToolbox:()=>iT,createStargateClient:()=>sn,createSigningStargateClient:()=>No,createOfflineStargateClient:()=>uT,createDefaultRegistry:()=>zo,createDefaultAminoTypes:()=>Co,createCosmosToolbox:()=>Jy,cosmosCreateTransaction:()=>PT,convertToSignable:()=>Ho,buildTransferTx:()=>yC,buildEncodedTxBody:()=>Qy,buildDepositTx:()=>fC,buildAminoMsg:()=>Uf,bech32ToBase64:()=>Wy,base64ToBech32:()=>By,YUM_KUJIRA_FACTORY_DENOM:()=>r0,USK_KUJIRA_FACTORY_DENOM:()=>kT,THORCHAIN_GAS_VALUE:()=>UA,MAYA_GAS_VALUE:()=>wA,DEFAULT_NOBLE_FEE_MAINNET:()=>a0,DEFAULT_KUJI_FEE_MAINNET:()=>d0,DEFAULT_COSMOS_FEE_MAINNET:()=>g0});module.exports=Jn(qf);var Gf=p(()=>{VT();XC();Ly()});function zA({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function DA({cancels:n}){return{cancels:n,type:"cancel"}}function OA({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function RA({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function xA({modifies:n}){return{modifies:n,type:"batchModify"}}function FA({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function SA({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function pA({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function kA({time:n}){return{time:n,type:"scheduleCancel"}}function uA({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function PA({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A,type:"sendAsset"}}function IA({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function $A({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function EA({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 cA(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 qo(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 WC(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]),qo(n,2));if(n<=0xffffffffn)return Sn(new Uint8Array([206]),qo(n,4));return Sn(new Uint8Array([207]),qo(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]),qo(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Sn(new Uint8Array([210]),qo(BigInt.asUintN(32,n),4));return Sn(new Uint8Array([211]),qo(BigInt.asUintN(64,n),8))}function LC(n){let y=jA.encode(n);if(y.length<32)return Sn(new Uint8Array([160+y.length]),y);return Sn(cA(217,0,y.length),y)}function iA(n){let y=n.map((o)=>mT(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 hA(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])=>[LC(o),mT(f)]))}function mT(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return LC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new lf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return WC(BigInt(n))}if(typeof n==="bigint")return WC(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 iA(n);if(typeof n==="object")return hA(n);throw new lf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function mA(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new lf.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 QC(n){return{domain:bA,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...vA.Agent]}}}function ZC(n){let y=KA[n.type],T=VA[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:BC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||MC},primaryType:y,types:{[y]:T}}}function JC(n){let y=Xf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function YC(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=mT(n),t=qo(BigInt(y),8),C=o?Sn(new Uint8Array([1]),mA(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?Sn(new Uint8Array([0]),qo(BigInt(T),8)):new Uint8Array;return Xf.keccak256(Sn(f,t,C,H))}function NC(n){let y=n.hyperliquidChain||MC;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 lf,Xf,BC="0x0000000000000000000000000000000000000000",bA,vA,MC="Mainnet",VA,KA,jA;var zC=p(()=>{lf=require("@swapkit/helpers"),Xf=require("ethers"),bA={chainId:1337,name:"Exchange",verifyingContract:BC,version:"1"},vA={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},VA={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"}]},KA={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},jA=new TextEncoder});function $n(n,y){if(!dT(n))throw new a.SwapKitError(y,{address:n});return n.toLowerCase()}async function Do(n){let y=await Wf();return a.RequestClient.post(`${y}/info`,{json:n})}function n_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function o_({user:n}){return Do({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function y_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function f_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function T_({oidOrCloid:n,user:y}){return Do({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function t_({aggregateByTime:n,user:y}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function C_({aggregateByTime:n,endTime:y,startTime:T,user:o}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function DC({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=rA[f]||xC,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${mn}.${f}-${C.name}:${C.tokenId}`:`${mn}.${f}`;return new a.AssetValue({decimal:t,identifier:H,value:T})}function H_(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:mn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Wf(){try{return await a.getRPCUrl(mn)}catch{let[n]=a.getChainConfig(mn).rpcUrls;if(!n)throw new a.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:mn});return n}}async function gT(){return`${await Wf()}/exchange`}function A_(n){let y=eA[n.type],{type:T,...o}=n,f=sA[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:aA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function FC({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?$n(o,"helpers_invalid_params"):void 0,C=await gT(),H=YC(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:QC(H),vaultAddress:t}}async function SC({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=NC({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await gT(),nonce:o,typedData:ZC(t)}}async function rT({assetValue:n,recipient:y,sender:T,signatureChainId:o,time:f}){let t=$n(y,"core_transaction_invalid_recipient_address"),C=$n(T,"core_transaction_invalid_sender_address"),H=await gT(),A=n.getValue("string"),_=f||Date.now(),X=n.address;if(!X)throw new a.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let B={amount:A,destination:t,hyperliquidChain:gA,signatureChainId:o||dA,time:_,token:X,type:"spotSend"};return{action:B,endpoint:H,nonce:_,typedData:A_(B)}}async function OC(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 __(n,y){let T=await Wf(),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 dT(n){return n.startsWith("0x")&&wy(n)}function U_(n){let y=xn(mn),T=n&&"index"in n?n.index||0:0,o=a.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[mn],{index:T})),f,t=!1;function C(){if(t)return f;return f=Vo.match(n).with({phrase:Vo.P.string},({phrase:U})=>{return RC.HDNodeWallet.fromPhrase(U,void 0,o)}).with({signer:Vo.P.not(Vo.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),t=!0,f}async function H(){let U=C();return U?await U.getAddress():""}async function A(U){let q=C();if(!q)throw new a.SwapKitError("toolbox_hypercore_no_signer");let G=await q.signTypedData(U.typedData.domain,U.typedData.types,U.typedData.message);return{action:U.action,endpoint:U.endpoint,nonce:U.nonce,signature:JC(G),..."expiresAfter"in U?{expiresAfter:U.expiresAfter}:{},..."vaultAddress"in U?{vaultAddress:U.vaultAddress}:{}}}async function _(U){let q=$n(U,"helpers_invalid_params");try{let G=await Wf(),[w,Q,N]=await Promise.all([a.RequestClient.post(`${G}/info`,{json:{type:"spotClearinghouseState",user:q}}),a.RequestClient.post(`${G}/info`,{json:{type:"clearinghouseState",user:q}}),a.RequestClient.post(`${G}/info`,{json:{type:"spotMeta"}})]),Y=(w.spotState?.balances||w.balances||[]).map(({coin:J,token:l,total:M})=>DC({coin:J,spotMeta:N,token:l,value:M})).filter((J)=>!!J),z=DC({coin:"USDC",spotMeta:N,value:Q.withdrawable||Q.marginSummary?.accountValue||Q.marginSummary?.totalRawUsd});return H_(z?[...Y,z]:Y)}catch{return y(q)}}async function X(U){let q=C();if(!q)throw new a.SwapKitError("toolbox_hypercore_no_signer");let G=U.sender||await q.getAddress(),w=await rT({...U,feeRate:0,sender:G}),Q=await A(w);return await OC(Q),__(G,w.nonce)}function B(){return a.AssetValue.from({chain:mn,value:0})}return{broadcastTransaction:OC,createL1ActionRequest:FC,createTransaction:rT,createUserSignedActionRequest:SC,estimateTransactionFee:B,getAddress:H,getBalance:_,getState:{clearinghouse:n_,frontendOpenOrders:f_,openOrders:y_,orderStatus:T_,spotClearinghouse:o_,userFills:t_,userFillsByTime:C_},signTransaction:A,transfer:X,validateAddress:dT}}var a,RC,Vo,mn,xC,rA,gA="Mainnet",dA="0xa4b1",aA="0x0000000000000000000000000000000000000000",sA,eA;var pC=p(()=>{OT();dn();zC();a=require("@swapkit/helpers"),RC=require("ethers"),Vo=require("ts-pattern"),mn=a.Chain.HyperCore,{baseDecimal:xC}=a.getChainConfig(mn),rA={HYPE:xC,USDC:6,USDT:6},sA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},eA={spotSend:"HyperliquidTransaction:SpotSend"}});var aT={};Mn(aT,{validateHyperCoreAddress:()=>dT,getHyperCoreToolbox:()=>U_,createUserSignedActionRequest:()=>SC,createTransaction:()=>rT,createL1ActionRequest:()=>FC,buildUsdClassTransferAction:()=>uA,buildUpdateLeverageAction:()=>FA,buildUpdateIsolatedMarginAction:()=>SA,buildTopUpIsolatedOnlyMarginAction:()=>pA,buildTokenDelegateAction:()=>EA,buildSendAssetAction:()=>PA,buildScheduleCancelAction:()=>kA,buildOrderAction:()=>zA,buildModifyAction:()=>RA,buildCancelByCloidAction:()=>OA,buildCancelAction:()=>DA,buildBatchModifyAction:()=>xA,buildApproveBuilderFeeAction:()=>$A,buildApproveAgentAction:()=>IA});module.exports=Jn(aT);var sT=p(()=>{pC()});async function PC(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 w_(n){let y=await en(),{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})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let X=_.data.parsed.info,B=X.mint,U=X.tokenAmount.amount;if(Number(U)===0)continue;let q=await PC(B),G=q?.symbol||"UNKNOWN",w=q?.decimals||X.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${G}-${B}`,fromBaseDecimal:w,value:U}))}return H}function nt(n){try{let y=new no.PublicKey(n);return no.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function q_(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 Yy.match(n).with({phrase:Yy.P.string},({phrase:C})=>eT({derivationPath:T,phrase:C})).with({signer:Yy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?uC(C.publicKey):""}return{broadcastTransaction:Bf(en),createKeysForPath:eT,createTransaction:ot(en),createTransactionFromInstructions:W_,estimateTransactionFee:G_(en),getAddress:t,getAddressFromPubKey:uC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:w_,getConnection:en,getPubkeyFromAddress:(C)=>new no.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await kC(en,f)(C);return Bf(en)(H)},signTransaction:kC(en,f),transfer:B_(en,f),validateAddress:nt}}function G_(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),A=(await ot(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:X,value:_.value})}}async function en(){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 A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function l_(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new no.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no.PublicKey(T)}))}if(y.address)return X_({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function X_({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:A,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:B}=await import("@solana/web3.js"),U=new B,q=new no.PublicKey(n),G=await H(q,T),w=new no.PublicKey(y),Q=await H(q,w,C),N=!1;try{await A(o,Q),N=!0}catch{}if(!N)U.add(_(T,Q,w,q));return U.add(X(G,q,Q,T,f,t)),U}function ot(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no.PublicKey(t);if(!(f||nt(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let A=await n(),_=await l_(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!_)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)_.add(C(o));let X=await A.getLatestBlockhash();return _.recentBlockhash=X.blockhash,_.feePayer=H,_}}async function W_({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 B_(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(),A=await ot(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Bf(n)(_)}return A.sign(C),Bf(n)(A)}}function Bf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function kC(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 eT({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 uC(n){return n.toString()}var no,r,Yy;var IC=p(()=>{dn();no=require("@solana/web3.js"),r=require("@swapkit/helpers"),Yy=require("ts-pattern")});var yt={};Mn(yt,{validateSolanaAddress:()=>nt,getSolanaToolbox:()=>q_,fetchTokenMetaData:()=>PC,createKeysForPath:()=>eT});module.exports=Jn(yt);var ft=p(()=>{IC()});function Mf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Lf({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"),A=o(n),X=T.fromMasterSeed(A).derive(y);if(!X.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let B=C.addHexPrefix(Buffer.from(X.privateKey).toString("hex")),U=f.starkCurve.grindKey(B),q=C.addHexPrefix(U),G=f.starkCurve.getStarkKey(q),w=H.compile([G,0]);return{address:t.calculateContractAddressFromHash(G,tt,w,0),privateKey:q,publicKey:G}}async function Ct({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Lf({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 EC(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:l}=await import("starknet"),M=await c.getRPCUrl(y);return t=new l({nodeUrl:M}),t}async function A(l){let M=await H(),W=l||await U();if(!W)return!1;try{return await M.getClassHashAt(W),!0}catch(Z){if(Z instanceof Error&&Z.message.includes("Contract not found"))return!1;let D=Z;if(D?.code===20||D?.code===19)return!1;throw Z}}async function _(){let{CallData:l,hash:M}=await import("starknet"),W=await H(),Z=await B();if(!Z)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 A())return Z.address;let L=l.compile([C,0]);if(M.calculateContractAddressFromHash(C,tt,L,0).toLowerCase()!==Z.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let R={addressSalt:C,classHash:tt,constructorCalldata:L},{transaction_hash:k}=await Z.deployAccount(R);return await W.waitForTransaction(k),k}async function X(){if(!await A()){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 _()}}async function B(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:l})=>{let{Account:M,RpcProvider:W}=await import("starknet"),{privateKey:Z,address:D,publicKey:L}=await Lf({derivationPath:o,phrase:l});C=L;let O=await c.getRPCUrl(c.Chain.Starknet),R=new W({nodeUrl:O});return new M({address:D,provider:R,signer:Z})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:l,address:M})=>{let{Account:W}=await import("starknet"),Z=await H();return new W({address:M,provider:Z,signer:l})}).with({signer:En.P.instanceOf(Object)},({signer:l})=>l).otherwise(()=>{return}),f}async function U(){return(await B())?.address??""}async function q(l){let M=await H(),{uint256:W,CallData:Z}=await import("starknet"),D=[],L=[Tt,$C];for(let O of L)try{let[R="0",k="0"]=await M.callContract({calldata:Z.compile({account:l}),contractAddress:O,entrypoint:"balanceOf"}),u=W.uint256ToBN({high:R,low:k});En.match(O).with(Tt,()=>{D.push(c.AssetValue.from({chain:y,value:u}))}).with($C,()=>{if(u>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:u}))}).otherwise(()=>{})}catch{}return D}async function G({recipient:l,assetValue:M}){let{CallData:W,uint256:Z}=await import("starknet");if(!Mf(l))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:l});let D=M.isGasAsset?Tt:M.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:M});let L=Z.bnToUint256(M.getBaseValue("bigint"));return[{calldata:W.compile([l,L]),contractAddress:D,entrypoint:"transfer"}]}async function w({recipient:l,assetValue:M,sender:W}){let{baseDecimal:Z}=c.getChainConfig(c.Chain.Starknet),D=await B(),L=await En.match({sender:W,signer:D}).with({sender:En.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:En.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 G({assetValue:M,recipient:l}),R=await L.estimateInvokeFee(O);if(R?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Z,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:l,assetValue:M,memo:W}){let Z=await B();if(!Z)throw new c.SwapKitError("toolbox_starknet_no_signer");await X();let D=await G({assetValue:M,memo:W,recipient:l});return(await Z.execute(D)).transaction_hash}async function N(l){let M=await B();if(!M)throw new c.SwapKitError("toolbox_starknet_no_signer");let W=await M.signMessage(l);return Array.isArray(W)?W:[W.r.toString(),W.s.toString()]}async function Y(l){let M=await B();if(!M)throw new c.SwapKitError("toolbox_starknet_no_signer");return await X(),(await M.execute(l)).transaction_hash}function z(l){return Y(l)}function J(l,M=!0){try{return xn(y)(l,M)}catch{return q(l)}}return{broadcastTransaction:Y,createKeysForPath:Ct,createTransaction:G,deployAccount:_,estimateTransactionFee:w,getAddress:U,getBalance:J,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:z,signMessage:N,transfer:Q,validateAddress:Mf}}var c,En,Tt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",$C="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",tt="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var bC=p(()=>{dn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Qf={};Mn(Qf,{validateStarknetAddress:()=>Mf,starknetCreateKeysForPath:()=>Ct,getStarknetToolbox:()=>EC,deriveStarknetKeys:()=>Lf});module.exports=Jn(Qf);var Zf=p(()=>{bC()});async function KC(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?KC(n,y,T,C,t.nextCursor):C}function M_(n,y,T){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<T)throw new yn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=T)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.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 jC(n){try{return VC.isValidSuiAddress(n)}catch{return!1}}function vC(n){return"signWithIntent"in n}function L_({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await Ny.match(y).with({phrase:Ny.P.string},async({phrase:G})=>{let{Ed25519Keypair:w}=await import("@mysten/sui/keypairs/ed25519");return w.deriveKeypair(G)}).with({signer:Ny.P.any},({signer:G})=>G).otherwise(()=>{return}),T}async function f(G=n){let{SuiClient:w,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new w({url:G||Q("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(G){try{let w=yn.AssetValue.from({address:G,chain:yn.Chain.Sui});return{asset:w.toString(),decimals:w.decimal}}catch{}return null}async function H(G){let w=G||await t();if(!w)throw new yn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Q,chain:N}=yn.getChainConfig(yn.Chain.Sui);try{let Y=await f(),{totalBalance:z}=await Y.getBalance({owner:w}),J=[yn.AssetValue.from({chain:N,fromBaseDecimal:Q,value:z})],l=await Y.getAllBalances({owner:w});for(let{coinType:M,totalBalance:W}of l){if(M==="0x2::sui::SUI"||Number(W)<=0)continue;let Z=C(M);if(Z)J.push(yn.AssetValue.from({asset:Z.asset,fromBaseDecimal:Z.decimals,value:W}))}return J}catch{return[yn.AssetValue.from({chain:N})]}}async function A(G){let w=yn.AssetValue.from({chain:yn.Chain.Sui,value:"0.01"});if(!G)return w;try{let Q=await f(),{txBytes:N}=await _(G),{effects:{status:Y,gasUsed:z}}=await Q.dryRunTransactionBlock({transactionBlock:N});if(Y.status!=="success")return w;let J=Number(z.computationCost)+Number(z.storageCost)-Number(z.storageRebate);return yn.AssetValue.from({chain:yn.Chain.Sui,value:J.toString()})}catch{return w}}async function _({recipient:G,assetValue:w,gasBudget:Q,sender:N}){let{Transaction:Y}=await import("@mysten/sui/transactions"),z=N||await t();if(!z)throw new yn.SwapKitError("toolbox_sui_no_sender");try{let J=new Y;if(J.setSender(z),w.isGasAsset||w.symbol==="SUI"){let[W]=J.splitCoins(J.gas,[w.getBaseValue("string")]);J.transferObjects([W],G)}else{let W=w.address;if(!W)throw new yn.SwapKitError("toolbox_sui_missing_coin_type");let Z=await f(),D=w.getBaseValue("bigint"),L=await KC(Z,z,W);if(!L.length)throw new yn.SwapKitError("toolbox_sui_no_coins_found",{coinType:W});let O=M_(J,L,D);J.transferObjects([O],G)}if(Q)J.setGasBudget(Q);let l=await f(),M=await J.build({client:l});return{tx:J,txBytes:M}}catch(J){if(J instanceof yn.SwapKitError)throw J;throw new yn.SwapKitError("toolbox_sui_transaction_creation_error",{error:J})}}async function X(G){let w=await o();if(!w)throw new yn.SwapKitError("toolbox_sui_no_signer");if(G instanceof Uint8Array)return w.signTransaction(G);let{txBytes:Q}="tx"in G?G:await _(G);return w.signTransaction(Q)}async function B({assetValue:G,gasBudget:w,recipient:Q}){let N=await o();if(!N)throw new yn.SwapKitError("toolbox_sui_no_signer");let Y=N.toSuiAddress()||await t();if(!Y)throw new yn.SwapKitError("toolbox_sui_no_sender");let{txBytes:z}=await _({assetValue:G,gasBudget:w,recipient:Q,sender:Y}),J=await f();if(!vC(N)){let M=await N.signTransaction(z),{digest:W}=await J.executeTransactionBlock({signature:M.signature,transactionBlock:M.bytes});return W}let{digest:l}=await J.signAndExecuteTransaction({signer:N,transaction:z});return l}async function U(G){let w=await f(),{digest:Q}=await w.executeTransactionBlock({signature:G.signature,transactionBlock:G.bytes});return Q}async function q(G){let w=await o();if(!w)throw new yn.SwapKitError("toolbox_sui_no_signer");let Q=await f(),N;if(typeof G==="string")N=Uint8Array.from(Buffer.from(G,"base64"));else if(G instanceof Uint8Array)N=G;else N=await G.build({client:Q});if(!vC(w)){let z=await w.signTransaction(N),{digest:J}=await Q.executeTransactionBlock({signature:z.signature,transactionBlock:z.bytes});return J}let{digest:Y}=await Q.signAndExecuteTransaction({signer:w,transaction:N});return Y}return{broadcastTransaction:U,createTransaction:_,estimateTransactionFee:A,getAddress:t,getBalance:H,signAndBroadcastTransaction:q,signTransaction:X,transfer:B,validateAddress:jC}}var VC,yn,Ny;var cC=p(()=>{VC=require("@mysten/sui/utils"),yn=require("@swapkit/helpers"),Ny=require("ts-pattern")});var Jf={};Mn(Jf,{validateSuiAddress:()=>jC,getSuiToolbox:()=>L_});module.exports=Jn(Jf);var Yf=p(()=>{cC()});async function N_(){let n=Date.now();if(Nf&&n-hC<Y_)return Nf;try{return Nf=await mC.getHttpEndpoint(),hC=n,Nf}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function z_(n={}){let y,T,o;async function f(){if(!y){let J=n.provider??await N_();y=new h.TonClient({endpoint:J})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Oo.match(n).with({phrase:Oo.P.string},async({phrase:J})=>rC.mnemonicToWalletKey(J.split(" "))).with({signer:Oo.P.any},({signer:J})=>J).otherwise(()=>{return}),o}async function H(J){if(!T||J){let l=await C(),M=await f(),W=J||l;if(!W)throw new qn.SwapKitError("core_wallet_connection_not_found");let Z=h.WalletContractV4.create({publicKey:W.publicKey,workchain:0});T=M.open(Z)}return T}let A=xn(qn.Chain.Ton);async function _({assetValue:J,recipient:l,memo:M,sender:W}){if(J.isGasAsset){let s=M?z(M).toBoc().toString("base64"):void 0;return[{address:l,amount:J.getBaseValue("string"),payload:s}]}let Z=J.address;if(!Z)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let D=W??await t(),L=await N({jettonMasterAddress:Z,ownerAddress:D}),O=h.Address.parse(l),R=h.Address.parse(D),k=J.getBaseValue("bigint"),u=M?z(M):void 0,K=Y({destinationAddress:O,forwardPayload:u,jettonAmount:k,responseAddress:R});return[{address:L.toString(),amount:J_.toString(),payload:K.toBoc().toString("base64")}]}function X({sender:J,...l}){return _({...l,sender:J})}function B(J){return J.map((l)=>{let M=l.payload?h.Cell.fromBase64(l.payload):void 0,W=l.stateInit?h.loadStateInit(h.Cell.fromBase64(l.stateInit).asSlice()):void 0,Z=h.Address.parse(l.address),D=h.Address.isFriendly(l.address)?h.Address.parseFriendly(l.address).isBounceable:!0;return h.internal({body:M,bounce:D,init:W,to:Z,value:BigInt(l.amount)})})}async function U(J){let l=await C(),M=await H();if(!M||!l)throw new qn.SwapKitError("core_wallet_connection_not_found");let W=await f(),{state:Z}=await W.getContractState(M.address),D=Z==="active",L=D?await M.getSeqno():0,O=M.createTransfer({messages:B(J),secretKey:l.secretKey,sendMode:iC,seqno:L}),R=h.external({body:O,init:D?void 0:M.init,to:M.address});return h.beginCell().store(h.storeMessage(R)).endCell()}async function q(J){return await(await f()).sendFile(J.toBoc()),J.hash().toString("hex")}async function G(J){let l=await U(J);return q(l)}async function w({assetValue:J,recipient:l,memo:M}){let W=await X({assetValue:J,memo:M,recipient:l});return G(W)}async function Q({sender:J,...l}){let{baseDecimal:M}=qn.getChainConfig(qn.Chain.Ton),W=await Oo.match(J).with(Oo.P.string,(L)=>{return h.Address.parseFriendly(L).address}).otherwise(async()=>{return(await H()).address});if(!W)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let Z=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),D=await f();try{let L=await X({sender:J,...l}),O=await C(),R=await H();if(!R||!O)return Z;let k=await R.getSeqno(),u=R.createTransfer({messages:B(L),secretKey:O.secretKey,sendMode:iC,seqno:k}),{source_fees:K}=await D.estimateExternalMessageFee(W,{body:u,ignoreSignature:!0,initCode:null,initData:null}),s=K.in_fwd_fee+K.storage_fee+K.gas_fee+K.fwd_fee;return Z.set(qn.SwapKitNumber.fromBigInt(BigInt(s),M))}catch{return Z}}async function N({jettonMasterAddress:J,ownerAddress:l}){try{let M=await f(),W=h.Address.parse(J),Z=h.Address.parse(l);return await M.open(h.JettonMaster.create(W)).getWalletAddress(Z)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:l}})}}function Y({jettonAmount:J,destinationAddress:l,responseAddress:M,forwardAmount:W=Z_,forwardPayload:Z}){let D=h.beginCell().storeUint(Q_,32).storeUint(0,64).storeCoins(J).storeAddress(l).storeAddress(M).storeBit(0).storeCoins(W);if(Z)D.storeBit(1).storeRef(Z);else D.storeBit(0);return D.endCell()}function z(J){return h.beginCell().storeUint(0,32).storeStringTail(J).endCell()}return{broadcastTransaction:q,createTransaction:X,estimateTransactionFee:Q,getAddress:t,getBalance:A,getJettonWalletAddress:N,sign:U,signAndBroadcastTransaction:G,transfer:w,validateAddress:gC}}function gC(n){try{return h.Address.parse(n),!0}catch{return!1}}var mC,qn,rC,h,Oo,Q_=260734629,Z_,J_,iC,Y_=60000,Nf,hC=0;var dC=p(()=>{dn();mC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),rC=require("@ton/crypto"),h=require("@ton/ton"),Oo=require("ts-pattern"),Z_=h.toNano("0.01"),J_=h.toNano("0.05"),iC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var zf={};Mn(zf,{validateTonAddress:()=>gC,getTONToolbox:()=>z_});module.exports=Jn(zf);var Df=p(()=>{dC()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function Go({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)bn("accountIndex",n);let o=[...T?.slice(0,3)??aC.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function Ko({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return bn("index",f),[...Go({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function Ro(n){return n[2]??0}function sC({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:A,count:_,startIndex:X=0,change:B=!1}=H;if(bn("count",_),_<1)throw RangeError("count must be at least 1");bn("startIndex",X);let U=[];for(let q=0;q<_;q++){let G=await n({accountIndex:A,change:B,index:X+q});if(G)U.push(G)}return U}async function f(H){let{gapLimit:A=20,change:_=!1}=H??{},X=[],B=0,U=0;while(B<A){let q=await n({change:_,index:U});if(!q)break;if((await y(q.address)).some((Q)=>Q.getValue("number")>0))X.push(q),B=0;else B++;U++}return X}async function t(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[...A,..._],B=await Promise.all(X.map(async(q)=>{let w=(await y(q.address)).reduce((Q,N)=>Q+N.getValue("number"),0);return{...q,balance:w}})),U=B.reduce((q,G)=>q+G.balance,0);return{addresses:B,total:U}}async function C(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[...A,..._];return(await Promise.all(X.map(async(U)=>{return(await T(U.address)).map((G)=>({...G,address:U.address,derivationIndex:U.index,isChange:U.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var aC;var zy=p(()=>{aC=require("@swapkit/helpers")});async function D_({chain:n,txHash:y}){let T=`${Dy(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:w0(),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 Dy(n){return`https://api.blockchair.com/${O_(n)}`}function eC(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 O_(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 R_(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,eC(n))}catch{return eC(n)}}async function Of(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 o1({address:n,chain:y,apiKey:T}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Of(`${Dy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function x_({address:n,chain:y,apiKey:T}){return(await o1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function y1({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Of(`${Dy(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 S_({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Of(`${Dy(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,A=C.map((X)=>X.spending_sequence),_=t.is_rbf===!0||A.some((X)=>X<F_);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:_,outputs:H,sequences:A,size:t.size,txid:t.hash,weight:t.weight}}async function p_({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await Of(`${Dy(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:A,script_hex:_,block_id:X,transaction_hash:B,index:U,value:q,spending_signature_hex:G})=>({hash:B,index:U,is_confirmed:X!==-1,is_spent:A,script_hex:_,txHex:G,value:q}))}function k_(n){return n.reduce((y,T)=>y+T.value,0)}function n1(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 f1({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 p_({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),_=H.length<C,X=H.filter(({is_spent:Q})=>!Q),B=k_(X),U=f+B,q=o&&U>=o;if(_||q)return n1(X,o);let G=await f1({accumulativeValue:U,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),w=[...X,...G];return n1(w,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function u_({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await f1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:A,script_hex:_,value:X}of t){let B;if(o)B=await y1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:A,txHex:B,value:X,witnessUtxo:{script:Buffer.from(_,"hex"),value:X}})}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)=>D_({chain:n,txHash:T}),getAddressData:(T)=>o1({address:T,apiKey:y,chain:n}),getBalance:(T)=>x_({address:T,apiKey:y,chain:n}),getRawTx:(T)=>y1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>R_(n),getTransactionDetails:(T)=>S_({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>u_({...T,apiKey:y,chain:n})}}function P_(n){return n}function I_(){return function(y){switch(y){case j.Chain.Bitcoin:return xo.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return xo.NETWORKS.bitcoinCash;case j.Chain.Dash:return xo.NETWORKS.dash;case j.Chain.Litecoin:return xo.NETWORKS.litecoin;case j.Chain.Dogecoin:return xo.NETWORKS.dogecoin;case j.Chain.Zcash:return xo.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,xo,F_=4294967294;var T1=p(()=>{dn();j=require("@swapkit/helpers"),xo=require("@swapkit/utxo-signer")});function b_(n,y,T){return oo.encodeCashAddr({hash:T,prefix:n,type:$_[y]})}function v_(n){let y=oo.decodeCashAddr(n),T=E_[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var oo,$_,E_,Ht;var t1=p(()=>{oo=require("@swapkit/utxo-signer"),$_={P2PKH:oo.CashAddrType.P2PKH,P2SH:oo.CashAddrType.P2SH},E_={[oo.CashAddrType.P2PKH]:"P2PKH",[oo.CashAddrType.P2SH]:"P2SH"};Ht={decode:v_,encode:b_}});function Ut(n){try{return Rf(n),!0}catch{return!1}}function wt(n){return Rf(n)?.network}function yo(n){let y=Rf(n);if(y?.format==="legacy")return n;return j_(y)}function Oy(n){let y=Rf(n);return c_(y)}function Rf(n){try{let y=V_(n);if(y)return y}catch{}try{let y=K_(n);if(y)return y}catch{}throw new At.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function V_(n){try{let y=_1.decode(n);if(y.length!==21)throw new At.SwapKitError("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case Fo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case Fo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case Fo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case Fo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case Fo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case Fo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function K_(n){if(n.indexOf(":")!==-1)try{return C1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return C1(`${T}:${n}`)}catch{}}return}function C1(n){try{let{hash:y,prefix:T,type:o}=Ht.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 j_(n){let y=Fo.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),_1.encode(T)}function c_(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return Ht.encode(y,T,o)}var H1,A1,At,_1,_t,Fo;var U1=p(()=>{t1();H1=require("@noble/hashes/sha2.js"),A1=require("@scure/base"),At=require("@swapkit/helpers"),_1=A1.createBase58check(H1.sha256);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(_t||={});Fo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return q1.Script.encode(["RETURN",y])}var w1,q1,i_=1000,Ff=10,Sf=2,G1=10,h_=41,m_=107,pf,xf,Ry,jo=(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 w1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},So=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?jo(n[0].address):"P2PKH",t=(T?n.filter((_)=>_.value>=xf["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(T)):n).reduce((_,X)=>_+lo(X),0),C=y?.reduce((_,X)=>_+xy(X),0)||Ry[o],H=Ff+t+C;return o==="P2WPKH"?Math.ceil(H+Sf/4):H},lo=(n)=>{if("type"in n&&n.type)return xf[n.type];if("address"in n&&n.address)return xf[jo(n.address)];return h_+m_},xy=(n,y)=>{if(n?.script)return G1+n.script.length+(n.script.length>=74?2:1);if(y)return Ry[y];if("address"in n&&n.address)return Ry[jo(n.address)];return Ry.P2PKH};var qt=p(()=>{w1=require("@swapkit/helpers"),q1=require("@swapkit/utxo-signer");((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(pf||={});xf={["P2PKH"]:148,["P2WPKH"]:68},Ry={["P2PKH"]:34,["P2WPKH"]:31}});function Fy(n){switch(n){case rn.Chain.Bitcoin:case rn.Chain.BitcoinCash:return 550;case rn.Chain.Dash:case rn.Chain.Litecoin:return 5500;case rn.Chain.Dogecoin:return 1e5;case rn.Chain.Zcash:return 546;default:throw new rn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:T=1,chain:o=rn.Chain.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?jo(n[0].address):"P2PKH",C=n.filter((G)=>lo(G)*T<=G.value),A=t==="P2WPKH"?Math.ceil(Sf/4):0,_=Ff+A+y.reduce((G,w)=>G+xy(w),0),X=y.reduce((G,w)=>G+w.value,0),B=_*T,U=0,q=[];for(let G of C){let w=lo(G),Q=T*w;B+=Q,U+=G.value,q.push(G);let N=B+X;if(U<N)continue;let Y=U-N,z=T*xy({address:f,value:0});if(Y>z){let J=z+B,l=U-(X+Math.ceil(J));if(l>Math.max(lo({value:0})*T,Fy(o)))return{fee:Math.ceil(J),inputs:q,outputs:y.concat({address:f,value:l})}}return{fee:Math.ceil(B),inputs:q,outputs:y}}return{fee:Math.ceil(T*So({inputs:n,outputs:y}))}}var rn;var l1=p(()=>{qt();rn=require("@swapkit/helpers")});var co=p(()=>{T1();U1();l1();qt()});function po(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Xo(n){let y=po(n);return Ut(y)&&wt(y)==="mainnet"}function io(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=kf.Address(kf.ZCASH_NETWORK).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var kf;var Sy=p(()=>{co();kf=require("@swapkit/utxo-signer")});function Xt({address:n,chain:y}){return lt.match(y).with(F.Chain.BitcoinCash,()=>Xo(n)).with(F.Chain.Zcash,()=>io(n)).otherwise(()=>{try{return m.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return lt.match(n).with(F.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(F.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(F.Chain.Dash,()=>m.NETWORKS.dash).with(F.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(F.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(F.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function r_({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Pf.mnemonicToSeedSync(n),C=Gt.HDKey.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function X1(n){return W1.secp256k1.getPublicKey(n,!0)}function ky({publicKey:n,chain:y,network:T}){if(y===F.Chain.BitcoinCash){let t=m.p2pkh(n,T);if(!t.hash)throw new F.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=!py.includes(y)?m.p2wpkh(n,T):m.p2pkh(n,T);if(!f.address)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function ho({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=Dn(T);if(o){let _=m.WIF(t).decode(o),X=X1(_);return{privateKey:_,publicKey:X}}if(!n)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||F.derivationPathToString(F.NetworkDerivationPath[T]),H=r_({derivationPath:C,network:t,phrase:n,seed:f}),A=X1(H);return{privateKey:H,publicKey:A}}function g_(n,y){return m.WIF(Dn(y)).encode(n)}function d_({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=Dn(T),C=o??Pf.mnemonicToSeedSync(n),H=Gt.HDKey.fromMasterSeed(C,t.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function Bo({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=Dn(T),A=!py.includes(T),_=C?m.RBF_SEQUENCE:void 0,X=new Set;for(let B of n){let U=`${B.hash}:${B.index}`;if(X.has(U))throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});X.add(U);let q=typeof B.hash==="string"?Wo.hex.decode(B.hash):B.hash;if(A&&B.witnessUtxo)o.addInput({index:B.index,sequence:_,txid:q,witnessUtxo:{amount:BigInt(B.witnessUtxo.value),script:B.witnessUtxo.script}});else if(B.txHex)o.addInput({index:B.index,nonWitnessUtxo:Wo.hex.decode(B.txHex),sequence:_,txid:q,...T===F.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let B of y){let U="address"in B&&B.address?B.address:f;if(T===F.Chain.BitcoinCash)U=yo(U);if(B.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(U,BigInt(B.value),H)}return{inputs:n,tx:o}}async function mo(n){let y=await Qn(n).getSuggestedTxFee();return{[F.FeeOption.Average]:y,[F.FeeOption.Fast]:F.applyFeeMultiplier(y,F.FeeOption.Fast),[F.FeeOption.Fastest]:F.applyFeeMultiplier(y,F.FeeOption.Fastest)}}async function B1({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await mo(t))[F.FeeOption.Fastest],H=f||py.includes(t),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await Qn(t).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...T?[{address:"",script:kn(T),value:0}]:[]]}}async function M1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,A=T?kn(T):null,_=await B1({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:X,outputs:B}=vn({..._,chain:H,feeRate:o});if(!(X&&B))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let U=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:q,tx:G}=Bo({chain:H,compiledMemo:A,enableRBF:C,inputs:X,outputs:B,sender:f,tx:U});return{inputs:q,tx:G,utxos:_.inputs}}async function L1({assetValue:n,feeOptionKey:y=F.FeeOption.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await B1({assetValue:n,memo:o,recipient:t,sender:f}),A=T?Math.floor(T):(await mo(C))[y];return vn({...H,chain:C,feeRate:A})}function a_(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=F.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(T),A=f?Math.ceil(f):(await mo(n))[t],_=H?.utxo.map((w)=>({...w,hash:"",type:"P2PKH"})).filter((w)=>w.value>Math.max(Fy(n),lo(w)*A));if(!_?.length)return F.AssetValue.from({chain:n});let X=BigInt(_.reduce((w,Q)=>w+Q.value,0)),B=F.AssetValue.from({chain:n,value:X}),U=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)U.push({address:T,script:kn(o),value:0});let q=So({inputs:_,outputs:U}),G=F.AssetValue.from({chain:n,value:BigInt(q*A)});return B.sub(G)}}function s_(n){return async function(T){let{fee:o}=await L1(T);return F.AssetValue.from({chain:n,value:F.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function e_({chain:n,phrase:y,derivationPath:T,seed:o}){let f=Dn(n),{privateKey:t,publicKey:C}=ho({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>ky({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(A)=>{return A.sign(t,H),A}}}function n5(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:A=!1}){let _=y?.getAddress();if(!(y&&_))throw new F.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});F.warnOnce({condition:A&&!uf.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 X=A&&uf.includes(n),B=C||(await mo(n))[t||F.FeeOption.Fast],{tx:U}=await M1({assetValue:H,enableRBF:X,feeRate:B,memo:o,recipient:f,sender:_});return y.signTransaction(U),U.finalize(),Qn(n).broadcastTx(Wo.hex.encode(U.extract()))}}function Wt(n){return(y)=>Xt({address:y,chain:n})}function Bt(n){let y=Dn(n);return function(o){if(!o)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ky({chain:n,network:y,publicKey:o.publicKey})}}function Mo({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Pf.mnemonicToSeedSync(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[n],{index:o}),C=F.derivationPathToString(t),H=T?e_({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=T?ho({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function X(){if(H)return Promise.resolve(H.getAddress());if(A)return A.getAddress();return Promise.resolve(void 0)}function B(W){if(!T)return;let Z=Go({accountIndex:W,chain:n,derivationPath:t});return d_({chain:n,derivationPath:F.derivationPathToString(Z),phrase:T,seed:f})}let U=B();function q(){if(!U)return;return U.publicExtendedKey}function G({accountIndex:W}={}){let Z=W===void 0?U:B(W);if(!Z)return;let D=Go({accountIndex:W,chain:n,derivationPath:t});return{accountIndex:Ro(D),path:F.derivationPathToString(D),xpub:Z.publicExtendedKey}}function w({accountIndex:W,index:Z,change:D=!1}){let L=W===void 0?U:B(W);if(!L)return;let O=Ko({accountIndex:W,chain:n,change:D,derivationPath:t,index:Z}),R=Dn(n),k=L.deriveChild(Number(D)).deriveChild(Z);if(!k.publicKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let u=ky({chain:n,network:R,publicKey:k.publicKey}),K=Wo.hex.encode(k.publicKey);return{accountIndex:Ro(O),address:u,change:D,index:Z,path:F.derivationPathToString(O),pubkey:K}}async function Q(W){if(!uf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Z=await Qn(n).getTransactionDetails(W);return{canReplace:Z.isRBF&&!Z.confirmed,confirmed:Z.confirmed,enabled:Z.isRBF,fee:Z.fee,sequences:Z.sequences,supported:!0}}async function N({txid:W,newFeeRate:Z,recipient:D,memo:L}){if(!uf.includes(n))throw new F.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let O=await Qn(n).getTransactionDetails(W);if(!O.isRBF)throw new F.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:W});if(O.confirmed)throw new F.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:O.blockId,txid:W});let R=O.inputs.reduce((ln,In)=>ln+In.value,0),u=O.outputs.find((ln)=>ln.recipient===D)?.value||0;if(u===0)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let K=await Promise.all(O.inputs.map(async(ln)=>{let In=await Qn(n).getRawTx(ln.transaction_hash);return{hash:ln.transaction_hash,index:ln.index,txHex:In,value:ln.value,witnessUtxo:void 0}})),s=L?kn(L):null,tn=So({feeRate:Z,inputs:K.map((ln)=>({...ln,type:"P2WPKH"})),outputs:[{address:D,value:u}]}),on=Math.ceil(tn*Z);if(on<=O.fee)throw new F.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:on,originalFee:O.fee});let Zn=on-O.fee,Bn=u-Zn;if(Bn<=0)throw new F.SwapKitError("toolbox_utxo_rbf_insufficient_change");let On=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),jn=[{address:D,value:Bn},...L?[{address:"",script:kn(L),value:0}]:[]],cn=R-Bn-on,Rn=await X();if(cn>Fy(n)&&Rn)jn.push({address:Rn,value:cn});return Bo({chain:n,compiledMemo:s,inputs:K,outputs:jn,sender:Rn||D,tx:On}),{feeDelta:Zn,newFee:on,originalFee:O.fee,tx:On}}async function Y({txid:W,newFeeRate:Z,recipient:D,memo:L}){if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");let{tx:O,originalFee:R,newFee:k}=await N({memo:L,newFeeRate:Z,recipient:D,txid:W});H.signTransaction(O),O.finalize();let u=await Qn(n).broadcastTx(Wo.hex.encode(O.extract()));return{newFee:k,originalFee:R,txid:u}}function z({accountIndex:W,index:Z,change:D=!1}){bn("index",Z);let L=W===void 0?U:B(W);if(!L)return;return L.deriveChild(Number(D)).deriveChild(Z).privateKey||void 0}function J({tx:W,inputDerivations:Z}){if(!U)throw new F.SwapKitError("toolbox_utxo_no_signer");let D=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let L=0;L<Z.length;L++){let O=Z[L];if(!O)continue;let{derivationIndex:R,isChange:k}=O,u=z({change:k,index:R});if(!u)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${L} at index ${R}`});W.signIdx(u,L,D)}return W}async function l({utxos:W,recipient:Z,assetValue:D,memo:L,feeRate:O,feeOptionKey:R,changeAddress:k}){if(!U)throw new F.SwapKitError("toolbox_utxo_no_signer");let u=O||(await mo(n))[R||F.FeeOption.Fast],K=L?kn(L):null,s=[{address:Z,value:D.getBaseValue("number")}];if(K)s.push({address:"",script:K,value:0});let tn=W.map(({hash:Rn,index:ln,value:In,txHex:NH,witnessUtxo:fT})=>({hash:Rn,index:ln,txHex:NH,value:In,witnessUtxo:fT?{script:fT.script,value:fT.value}:void 0})),{inputs:on,outputs:Zn}=vn({chain:n,feeRate:u,inputs:tn,outputs:s});if(!(on&&Zn))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let Bn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),On=W[0]?.address,jn=k||await X()||On||Z;Bo({chain:n,compiledMemo:K,inputs:on,outputs:Zn,sender:jn,tx:Bn});let cn=on.map((Rn)=>{let ln=W.find((In)=>In.hash===Rn.hash&&In.index===Rn.index);return ln?{derivationIndex:ln.derivationIndex,isChange:ln.isChange}:{derivationIndex:0,isChange:!1}});return J({inputDerivations:cn,tx:Bn}),Bn.finalize(),Qn(n).broadcastTx(Wo.hex.encode(Bn.extract()))}function M({address:W,gapLimit:Z=20}){if(!U)return;for(let D=0;D<Z;D++){let L=w({change:!1,index:D}),O=w({change:!0,index:D}),R=L?.address===W?!1:O?.address===W;if(L?.address===W||O?.address===W)return{change:R,index:D}}return}return{accumulative:vn,broadcastTx:(W)=>Qn(n).broadcastTx(W),bumpFee:Y,calculateTxSize:So,createKeysForPath:(W)=>ho({...W,chain:n}),createReplacementTransaction:N,createTransaction:M1,deriveAddressAtIndex:w,derivePrivateKeyAtIndex:z,estimateMaxSendableAmount:a_(n),estimateTransactionFee:s_(n),getAddress:X,getAddressFromKeys:Bt(n),getBalance:xn(n),getExtendedPublicKey:q,getExtendedPublicKeyInfo:G,getFeeRates:()=>mo(n),getInputsOutputsFee:L1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(W)=>g_(ho({...W,chain:n}).privateKey,n),isRBFEnabled:Q,keys:_,resolveDerivationIndex:M,signAndBroadcastTransaction:async(W)=>{if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");return H.signTransaction(W),W.finalize(),await Qn(n).broadcastTx(Wo.hex.encode(W.extract()))},signTransactionWithMultipleKeys:J,transfer:n5(n,H),transferFromMultipleAddresses:l,validateAddress:Wt(n)}}var W1,Wo,Gt,Pf,F,m,lt,py,uf;var ro=p(()=>{dn();zy();co();Sy();W1=require("@noble/curves/secp256k1.js"),Wo=require("@scure/base"),Gt=require("@scure/bip32"),Pf=require("@scure/bip39"),F=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),lt=require("ts-pattern"),py=[F.Chain.Dash,F.Chain.Dogecoin,F.Chain.Zcash,F.Chain.BitcoinCash],uf=[F.Chain.Bitcoin]});function uy(n){return po(Oy(n))}function o5(n){let y=Dn(gn);function T(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let t=Wn.encodeCashAddr({hash:f.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH});return Promise.resolve(t.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:T}}function Mt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=Xn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Xn.updateDerivationPath(Xn.NetworkDerivationPath[gn],{index:T})),f=y?ho({chain:gn,derivationPath:o,phrase:y}):void 0,t=f?o5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...X}=Mo({chain:gn});function B(U,q=!0){return H(po(Oy(U)))}return{...X,broadcastTx:_,buildTx:f5,createTransaction:Z1,getAddress:C,getAddressFromKeys:T5,getBalance:B,getFeeRates:A,stripPrefix:po,stripToCashAddress:uy,transfer:y5({broadcastTx:_,getFeeRates:A,signer:t}),validateAddress:Xo}}async function Z1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!Xo(y))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:t}),H=T?kn(T):null,A=[],_=yo(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:X,outputs:B}=vn({chain:gn,feeRate:o,inputs:C,outputs:A});if(!(X&&B))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let U=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),q=yo(f),{inputs:G,tx:w}=Bo({chain:gn,compiledMemo:H,inputs:X,outputs:B.map((Q)=>("address"in Q)&&Q.address?{...Q,address:yo(Q.address)}:Q),sender:q,tx:U});return{inputs:G,tx:w,utxos:X}}function y5({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=Xn.FeeOption.Fast,...H}){let A=await T?.getAddress();if(!(T&&A))throw new Xn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Xn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=H.feeRate||(await y())[C],{tx:X}=await Z1({...H,assetValue:t,feeRate:_,recipient:f,sender:A}),B=await T.signTransaction(X);return B.finalize(),n(Q1.hex.encode(B.extract()))}}async function f5({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Oy(y);if(!Xo(t))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=T?kn(T):null,X=[];if(X.push({address:yo(y),value:n.getBaseValue("number")}),_)X.push({script:_,value:0});let{inputs:B,outputs:U}=vn({chain:gn,feeRate:A,inputs:H,outputs:X});if(!(B&&U))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let q=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:G,tx:w}=Bo({chain:gn,compiledMemo:_,inputs:B,outputs:U,sender:yo(f),tx:q});return{inputs:G,tx:w,utxos:H}}function T5(n){let y=Wn.NETWORKS.bitcoinCash,T=Wn.p2pkh(n.publicKey,y);if(!T.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Wn.encodeCashAddr({hash:T.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var Q1,Xn,Wn,gn;var If=p(()=>{co();ro();Sy();Q1=require("@scure/base"),Xn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),gn=Xn.Chain.BitcoinCash});function Y1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?Tn.ZCASH_TEST_NETWORK:Tn.ZCASH_NETWORK}function C5(n){return t5.encode(n)}function H5({phrase:n,derivationPath:y}){let T=Qt.mnemonicToSeedSync(n),f=Lt.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:A}=_n.SKConfig.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),X=new Uint8Array(_.length+H.length);X.set(_,0),X.set(H,_.length);let B=C5(X);return{getAddress:()=>Promise.resolve(B),signTransaction:(U)=>{if(U instanceof Tn.PCZT)return U.signAllInputs(t,C,Tn.ZcashSigHash.ALL),U.finalizeAllInputs(),Promise.resolve(U.extract());return U.signAllInputs(t,C,Tn.ZcashSigHash.ALL),Promise.resolve(U)}}}function A5({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=Y1();for(let C of n){let H=Tn.Address(t).decode(o),A=Tn.OutScript.encode(H);T.addInput({index:C.index,script:A,sequence:4294967295,txid:$f.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function J1(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?kn(o):null,A=await Qn(_n.Chain.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),_=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:X,outputs:B}=vn({chain:_n.Chain.Zcash,changeAddress:t,feeRate:f,inputs:A,outputs:_});if(!(X&&B))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let U=Tn.createZcashTransaction({consensusBranchId:Tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:Tn.ZcashVersionGroupId.SAPLING}),{tx:q,inputs:G}=A5({compiledMemo:H,inputs:X,outputs:B,sender:t,tx:U});return{inputs:G,outputs:B,tx:q}}function Zt(n){let y=go.match(n).with({signer:go.P.not(go.P.nullish)},({signer:A})=>A).with({phrase:go.P.string},({phrase:A,derivationPath:_,index:X=0})=>{let B=_||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],U=_n.updateDerivationPath(B,{index:X}),q=_n.derivationPathToString(U);return H5({derivationPath:q,phrase:A})}).otherwise(()=>{return}),T=Mo({chain:_n.Chain.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:X=_n.FeeOption.Fast,...B}){let U=await y?.getAddress();if(!(y&&U))throw new _n.SwapKitError("toolbox_utxo_no_signer");let q=B.feeRate||(await T.getFeeRates())[X],{tx:G}=await J1({...B,assetValue:_,feeRate:q,recipient:A,sender:U}),Q=(await y.signTransaction(G)).toHex();return T.broadcastTx(Q)}function f({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let X=Qt.mnemonicToSeedSync(A),U=Lt.HDKey.fromMasterSeed(X).derive(_);if(!U.privateKey||!U.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:U.privateKey,publicKey:U.publicKey}}function t({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let X=f({derivationPath:_,phrase:A}),B=Y1();return Tn.WIF(B).encode(X.privateKey)}function C(A){return async function(X){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await A.signTransaction(X)}}function H(A){return async function(X){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");let B=await A.signTransaction(X);return T.broadcastTx(B.toHex())}}return{...T,createKeysForPath:f,createTransaction:J1,getPrivateKeyFromMnemonic:t,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:io}}var $f,Lt,Qt,_n,Tn,go,t5;var Jt=p(()=>{co();ro();Sy();$f=require("@scure/base"),Lt=require("@scure/bip32"),Qt=require("@scure/bip39"),_n=require("@swapkit/helpers"),Tn=require("@swapkit/utxo-signer"),go=require("ts-pattern");t5=$f.createBase58check(Tn.utils.sha256)});function O1({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(bn("count",T),T<1)throw RangeError("count must be at least 1");bn("startIndex",o);let t=Dn(y),C=z1.HDKey.fromExtendedKey(n,t.bip32),H=Go({accountIndex:f,chain:y}),A=Ro(H),_=[];for(let X of[!1,!0]){let B=C.deriveChild(Number(X));for(let U=0;U<T;U++){let q=o+U,G=B.deriveChild(q);if(!G.publicKey)continue;let w=Ko({accountIndex:f,chain:y,change:X,index:q});_.push({accountIndex:A,address:ky({chain:y,network:t,publicKey:G.publicKey}),change:X,index:q,path:D1.derivationPathToString(w),pubkey:N1.hex.encode(G.publicKey)})}}return _}var N1,z1,D1;var R1=p(()=>{zy();ro();N1=require("@scure/base"),z1=require("@scure/bip32"),D1=require("@swapkit/helpers")});function _5(n,y){switch(n){case fo.Chain.BitcoinCash:return Mt(y||{});case fo.Chain.Zcash:return Zt(y);case fo.Chain.Bitcoin:case fo.Chain.Dogecoin:case fo.Chain.Litecoin:case fo.Chain.Dash:return Mo({chain:n,...y});default:throw new fo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var fo;var x1=p(()=>{If();ro();Jt();zy();R1();If();Sy();fo=require("@swapkit/helpers")});var Yt={};Mn(Yt,{validateZcashAddress:()=>io,validateUtxoAddress:()=>Xt,validateBchAddress:()=>Xo,toLegacyAddress:()=>yo,toCashAddress:()=>Oy,stripToCashAddress:()=>uy,stripPrefix:()=>po,nonSegwitChains:()=>py,isValidAddress:()=>Ut,getUtxoToolbox:()=>_5,getUtxoNetwork:()=>I_,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>Wt,getUTXOAddressPath:()=>Ko,getUTXOAccountPath:()=>Go,getUTXOAccountIndexFromPath:()=>Ro,getScriptTypeForAddress:()=>jo,getOutputSize:()=>xy,getNetworkForChain:()=>Dn,getInputSize:()=>lo,getDustThreshold:()=>Fy,detectAddressNetwork:()=>wt,deriveAddressesFromXpub:()=>O1,createZcashToolbox:()=>Zt,createUTXOToolbox:()=>Mo,createHDWalletHelpers:()=>sC,createCustomUtxoApi:()=>P_,createBCHToolbox:()=>Mt,compileMemo:()=>kn,calculateTxSize:()=>So,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>Bt,addInputsAndOutputs:()=>Bo,accumulative:()=>vn,UtxoNetwork:()=>_t,UTXOScriptType:()=>pf,TX_OVERHEAD:()=>Ff,SEGWIT_MARKER_FLAG_WEIGHT:()=>Sf,OutputSizes:()=>Ry,OP_RETURN_OVERHEAD:()=>G1,MIN_TX_FEE:()=>i_,InputSizes:()=>xf});module.exports=Jn(Yt);var Nt=p(()=>{ro();zy();co();x1();If();Jt()});function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function bf(n){let{parseSeedPhrase:y}=await import("near-seed-phrase"),{KeyPair:T}=await import("@near-js/crypto"),o=n.index||0,f=n.derivationPath?Ef.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:t}=y(n.phrase,f),C=T.fromString(t);return p1(C)}async function zt(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return p1(T)}function p1(n){return new S1(n)}async function vf(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 Ef.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 F1,Ef,S1;var Dt=p(()=>{F1=require("@near-js/signers"),Ef=require("@swapkit/helpers");S1=class S1 extends F1.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 Ot(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function Rt(n){return"contractId"in n&&"methodName"in n}function xt(n){return"actions"in n}function Ft(n){return"newAccountId"in n}function St(n){return"contractCode"in n}function pt(n){return"customEstimator"in n}function kt(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Yn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Yn.CONTRACT_CALL);break;case"createAccount":y+=Number(Yn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Yn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Yn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Yn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Yn.STAKE);break;default:y+=Number(Yn.CONTRACT_CALL)}return y.toString()}function ut(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Yn.TOKEN_TRANSFER;if(n==="storage_deposit")return Yn.STORAGE_DEPOSIT;return Yn.CONTRACT_CALL}function U5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function w5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Yn;var Pt=p(()=>{Yn={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 It({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 q5(n){let y;async function T(){if(y)return y;return y=await ao.match(n).with({phrase:ao.P.string},async(L)=>{return await bf(L)}).with({signer:ao.P.any},({signer:L})=>L).otherwise(()=>{return}),y}async function o(){let L=await nn.getRPCUrl(nn.Chain.Near);return new k1.JsonRpcProvider({url:L})}async function f(L){let{Account:O}=await import("@near-js/accounts"),R=await o(),k=await T(),u=L||await t();return new O(u,R,k)}async function t(){let L=await T();if(!L)throw new nn.SwapKitError("toolbox_near_no_signer");return await L.getAddress()}async function C(L){return(await J({changeMethods:[],contractId:L.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:L.accountId})}async function H(L){let R=[await U({args:{account_id:L.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await U({args:{amount:L.assetValue.getBaseValue("string"),memo:L.memo||null,receiver_id:L.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return l({actions:R,receiverId:L.contractId})}async function A(L){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:R,recipient:k,memo:u}=L,K=await t();if(!R.isGasAsset&&R.address){if(!await C({accountId:k,contractId:R.address}))return H({assetValue:R,contractId:R.address,memo:u,recipient:k})}let s=await _({...L,sender:K});return w(s)}async function _({recipient:L,assetValue:O,memo:R,attachedDeposit:k,sender:u,functionCall:K}){let s=await o();if(!Py(L))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:L});if(!Py(u))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:u});if(K)return B({...K,sender:u});if(!O.isGasAsset){let In=O.address;if(!In)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return B({args:{amount:O.getBaseValue("string"),memo:R||null,receiver_id:L},attachedDeposit:k||"1",contractId:In,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:tn,nonce:on}=await vf(s,u),Zn=O.getBaseValue("bigint"),{actionCreators:Bn,createTransaction:On}=await import("@near-js/transactions"),{baseDecode:jn}=await import("@near-js/utils"),cn=[Bn.transfer(Zn)];if(R&&k)cn.push(Bn.functionCall("memo",{memo:R},BigInt("250000000000000"),BigInt(k)));let Rn=await s.block({finality:"final"}),ln=jn(Rn.header.hash);return On(u,tn,L,on+1,cn,ln)}function X(L){let O=L.encode();return Buffer.from(O).toString("base64")}async function B({args:L,attachedDeposit:O,contractId:R,gas:k,methodName:u,sender:K}){let s=await o(),{publicKey:tn,nonce:on}=await vf(s,K),{createTransaction:Zn,actionCreators:Bn}=await import("@near-js/transactions"),{baseDecode:On}=await import("@near-js/utils"),jn=await s.block({finality:"final"}),cn=On(jn.header.hash),Rn=[Bn.functionCall(u,Buffer.from(JSON.stringify(L)),BigInt(k),BigInt(O))];return Zn(K,tn,R,on+1,Rn,cn)}async function U(L){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(L.methodName,Buffer.from(JSON.stringify(L.args)),BigInt(L.gas),BigInt(L.attachedDeposit))}async function q(L){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let[R,k]=await O.signTransaction(L);return k}async function G(L){return(await(await o()).sendTransaction(L)).transaction.hash}async function w(L){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let R=await q(L);return await G(R)}catch{return O.signAndSendTransactions?.({transactions:[L]})}}async function Q(L){let O=await T();if("assetValue"in L){let k=await N();try{let u=await nn.getRPCUrl(nn.Chain.Near),K=await fetch(u,{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:tn,send_sir:on}=s.transaction_costs.action_receipt_creation_config,{execution:Zn,send_sir:Bn}=s.transaction_costs.action_creation_config.transfer_cost,On=BigInt(Bn)+BigInt(Zn),jn=BigInt(on)+BigInt(tn),Rn=(On+jn)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:Rn})}catch(u){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",u);let K=BigInt("115123062500"),s=BigInt("108059500000"),on=(K+s)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:on})}}let R=O?await f():void 0;return M(L,R)}async function N(){let L=await o();try{return await L.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function Y(L,O,R){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let u=await f(),{formatNearAmount:K}=await import("@near-js/utils"),{PublicKey:s}=await import("@near-js/crypto"),tn=K(R)||"0";return(await u.createAccount(L,s.fromString(O),BigInt(tn))).transaction.hash}async function z(L){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:u,args:K,deposit:s}=L,tn=await f(),on=await M({args:K||{},contractId:k,methodName:u}),Zn=R.functionCall(u,K||{},on.getBaseValue("bigint"),BigInt(s||"1"));return(await tn.signAndSendTransaction({actions:[Zn],receiverId:k})).transaction_outcome.id}catch(R){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function J(L){let O=await f();return It({account:O,changeMethods:L.changeMethods,contractId:L.contractId,viewMethods:L.viewMethods})}async function l(L){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");if(L.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:L.actions,receiverId:L.receiverId})).transaction.hash}async function M(L,O){let R=await ao.match(L).when(Ot,()=>Yn.SIMPLE_TRANSFER).when(Rt,(u)=>ut(u.methodName)).when(xt,(u)=>kt(u.actions)).when(Ft,()=>Yn.ACCOUNT_CREATION).when(St,()=>Yn.CONTRACT_DEPLOYMENT).when(pt,(u)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return u.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 W(L,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),M(L,O)}async function Z(){let L=await o();try{return(await L.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let L=await T();return L?(await L.getPublicKey()).toString():""}return{broadcastTransaction:G,callFunction:z,createAction:U,createContract:J,createContractFunctionCall:B,createSubAccount:Y,createTransaction:_,estimateGas:W,estimateGasLimit:M,estimateTransactionFee:Q,executeBatchTransaction:l,getAddress:t,getBalance:xn(nn.Chain.Near),getGasPrice:Z,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:bf,getSignerFromPrivateKey:zt,serializeTransaction:X,signAndBroadcastTransaction:w,signTransaction:q,transfer:A,validateAddress:Py}}var k1,nn,ao;var $t=p(()=>{dn();Dt();Pt();k1=require("@near-js/providers"),nn=require("@swapkit/helpers"),ao=require("ts-pattern")});var u1=p(()=>{$t()});var Et={};Mn(Et,{validateNearAddress:()=>Py,tgasToGas:()=>U5,isSimpleTransfer:()=>Ot,isCustomEstimator:()=>pt,isContractDeployment:()=>St,isContractCall:()=>Rt,isBatchTransaction:()=>xt,isAccountCreation:()=>Ft,getNearToolbox:()=>q5,getNearSignerFromPrivateKey:()=>zt,getNearSignerFromPhrase:()=>bf,getFullAccessPublicKey:()=>vf,getContractMethodGas:()=>ut,gasToTGas:()=>w5,estimateBatchGas:()=>kt,createNearContract:()=>It,GAS_COSTS:()=>Yn});module.exports=Jn(Et);var bt=p(()=>{Dt();Pt();$t();u1()});var vt={};Mn(vt,{validateRadixAddress:()=>$1,getRadixToolbox:()=>B5});module.exports=Jn(vt);function $1(n){return n.startsWith("account_rdx1")&&n.length===66}function G5({networkApi:n}){return async function(T){let o=await l5({address:T,networkApi:n}),f=await X5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function l5({address:n,networkApi:y}){let T=!0,o,f=[],t=await W5(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 X5({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((_)=>_.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),A=new Map;for(let _ of H)if(_.details!==void 0){let X=_.metadata?.items.find((U)=>U.key==="symbol"),B=X?.value.typed.type==="String"?X.value.typed.value:"?";if(_.details.type==="FungibleResource")A.set(_.address,{decimals:_.details.divisibility,symbol:B})}for(let _ of t)if(_.aggregation_level==="Global"){let X=A.get(_.resource_address)||{decimals:0,symbol:"?"},B=Vn.AssetValue.from({asset:X.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${X.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});T.push(B)}}return T}async function W5(n){return(await n.status.getCurrent()).ledger_state.state_version}function B5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,T=I1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=P1.GatewayApiClient.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:G5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:$1}}var P1,I1,Vn;var Vt=p(()=>{P1=require("@radixdlt/babylon-gateway-api-sdk"),I1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function Vf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(Vf(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 E1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function M5(n){if(!Vf(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 so(n){if(Vf(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var E1;var Kf=p(()=>{E1=require("@swapkit/helpers")});async function L5(n,y){let T=so(n),o=cf.find((f)=>so(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await jf.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){jf.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 Q5(n){return cf.filter((y)=>y.issuer===n)}function Z5(n,y){let T=so(n);return cf.some((o)=>so(o.currency)===T&&o.issuer===y)}var jf,cf;var b1=p(()=>{Kf();jf=require("@swapkit/helpers"),cf=[{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 Kt={};Mn(Kt,{validateRippleAddress:()=>mf,parseXrplTokenIdentifier:()=>K1,normalizeCurrency:()=>so,isKnownToken:()=>Z5,isHexCurrency:()=>Vf,hexToCurrency:()=>M5,hashes:()=>c1.hashes,getXrplTokenInfo:()=>L5,getRippleToolbox:()=>Y5,getKnownTokensByIssuer:()=>Q5,formatXrplTokenIdentifier:()=>j1,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>hf,XRPL_KNOWN_TOKENS:()=>cf});module.exports=Jn(Kt);function K1(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(!To.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function j1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function J5(n){if(n.isGasAsset)return To.xrpToDrops(n.getValue("string"));let y=K1(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 V1(n){let y=To.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function mf(n){return To.isValidAddress(n)}function Y5(n={}){let y=eo.match(n).with({phrase:eo.P.string},({phrase:Y})=>V1(Y)).with({signer:eo.P.any},({signer:Y})=>Y).otherwise(()=>{return}),T;async function o(){let Y=await i.getRPCUrl(i.Chain.Ripple);if(!Y)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let z=new To.Client(Y);return await z.connect(),z}async function f(){if(T){let Y=await T.catch(()=>null);if(Y?.isConnected())return Y}return T=o(),T}let t=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(Y)=>{let z=Y||await t(),{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),l=await f();try{let[M,W]=await Promise.all([l.request({account:z,command:"account_info"}),l.request({account:z,command:"account_lines"})]),Z=M.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:Z})];for(let L of W.result.lines){let O=j1(L.currency,L.account);if(Number.parseFloat(L.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:L.balance}))}return D}catch(M){if(M.data?.error_code===v1.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:M}})}},H=async()=>{let{baseDecimal:Y}=i.getChainConfig(i.Chain.Ripple),l=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Y,value:l})};async function A(Y){let z=Y||await t(),J=await f();try{return(await J.request({account:z,command:"account_lines"})).result.lines.map((M)=>({account:M.account,authorized:M.authorized??!1,balance:M.balance,currency:M.currency,freeze:M.freeze??!1,freezePeer:M.freeze_peer??!1,limit:M.limit,limitPeer:M.limit_peer,noRipple:M.no_ripple??!1,noRipplePeer:M.no_ripple_peer??!1,peerAuthorized:M.peer_authorized??!1,qualityIn:M.quality_in??0,qualityOut:M.quality_out??0}))}catch(l){if(l.data?.error_code===v1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:z,error:l}})}}async function _({address:Y,currency:z,issuer:J}){let l=await A(Y),M=Iy(z);return l.some((W)=>{return Iy(W.currency)===M&&W.account===J})}async function X({currency:Y,issuer:z,limit:J,sender:l}){let M=l||await t();if(!mf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:z}});let W=Number.parseFloat(J);if(Number.isNaN(W)||W<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:J}});let Z=await f(),D={Account:M,LimitAmount:{currency:Y,issuer:z,value:J},TransactionType:"TrustSet"};return Z.autofill(D)}async function B({assetValue:Y,recipient:z,memo:J,sender:l,destinationTag:M,extendBySeconds:W=150}){if(!mf(z))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Z=l||await t();if(Y.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:Y.toString()}});let D=J5(Y),L={Account:Z,Amount:D,Destination:z,TransactionType:"Payment",...M!==void 0&&{DestinationTag:M}};if(J)L.Memos=[{Memo:{MemoData:Buffer.from(J).toString("hex")}}];let R=await(await f()).autofill(L);if(R.LastLedgerSequence&&W>0)R.LastLedgerSequence+=Math.ceil(W/4);return R}function U(Y){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(Y)}async function q(Y){let J=await(await f()).submitAndWait(Y),{result:l}=J;if(l.validated)return l.hash;let M=l.meta?.TransactionResult,W=eo.match(M).with(hf.tecNO_LINE,()=>"No trust line exists for this token").with(hf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(hf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...W?{reason:W}:{txResult:M}}})}let G=async(Y)=>{try{let z=await U(Y);return q(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(Y){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),J=await B({...Y,sender:z}),l=await U(J);return q(l.tx_blob)}async function Q(Y){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let z=await y.getAddress(),J=await X({...Y,sender:z}),l=await U(J);return q(l.tx_blob)}function N(){let Y=T;if(T=null,Y)Y.then((z)=>{if(z?.isConnected())return z.disconnect();return}).catch((z)=>{console.warn("XRPL Cleanup failed silently:",z)})}return{broadcastTransaction:q,createSigner:V1,createTransaction:B,disconnect:N,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:X,setTrustLineAndBroadcast:Q,signAndBroadcastTransaction:G,signTransaction:U,transfer:w,validateAddress:mf}}var i,eo,To,c1,v1,hf;var jt=p(()=>{Kf();i=require("@swapkit/helpers"),eo=require("ts-pattern"),To=require("xrpl");Kf();b1();c1=require("xrpl"),v1={ACCOUNT_NOT_FOUND:19},hf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ct(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 ko.SwapKitError("toolbox_tron_transaction_creation_failed")}function $y(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 rf(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function O5(n){let y=new Map,T=0;while(T<n.length){let[o,f]=ct(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===gf){let[H,A]=ct(n,T);T=A,rf(y,t,{data:new Uint8Array($y(H)),wireType:gf})}else if(C===df){let[H,A]=ct(n,T);T=A;let _=Number(H);if(_<0||T+_>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let X=n.slice(T,T+_);T+=_,rf(y,t,{data:X,wireType:df})}else if(C===i1){if(T+8>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,rf(y,t,{data:H,wireType:i1})}else if(C===h1){if(T+4>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,rf(y,t,{data:H,wireType:h1})}else throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function R5(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(t<<3|H);if(y.push(new Uint8Array($y(_))),H===df)y.push(new Uint8Array($y(BigInt(A.length))));y.push(A)}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 r1(n,y){if(!n||n.length%2!==0)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let T=ny.hexToBytes(n),o=O5(T);if(y.expiration!==void 0)o.set(N5,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:gf}]);if(y.data!==void 0)o.set(z5,[{data:ny.hexToBytes(y.data),wireType:df}]);if(y.fee_limit!==void 0)o.set(D5,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:gf}]);let f=R5(o),t=ny.bytesToHex(f),C=ny.bytesToHex(m1.sha256(f));return{raw_data_hex:t,txID:C}}var m1,ny,ko,gf=0,i1=1,df=2,h1=5,N5=8,z5=10,D5=18;var g1=p(()=>{m1=require("@noble/hashes/sha2.js"),ny=require("@noble/hashes/utils.js"),ko=require("@swapkit/helpers")});function Kn(n){if(typeof n!=="string")return!1;try{let y=af.decode(n);return y.length===21&&y[0]===s1}catch{return!1}}function e1(n){return Pn.bytesToHex(af.decode(n))}function F5(n){return af.decode(n).slice(1)}function nH(n){let y=it.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),T=d1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=s1,o.set(T,1),af.encode(o)}function oH({txID:n,privateKey:y}){let T=it.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 oy({txID:n,raw_data_hex:y}){let T=Pn.bytesToHex(ht.sha256(Pn.hexToBytes(y)));if(n!==T)throw new mt.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function S5(n){return`000000000000000000000000${Pn.bytesToHex(F5(n))}`}function p5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=x5)throw new mt.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function yy(n){return n.map(({type:y,value:T})=>y==="address"?S5(T):p5(BigInt(T))).join("")}function yH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var it,ht,d1,Pn,a1,mt,af,s1=65,x5;var rt=p(()=>{it=require("@noble/curves/secp256k1.js"),ht=require("@noble/hashes/sha2.js"),d1=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),a1=require("@scure/base"),mt=require("@swapkit/helpers"),af=a1.createBase58check(ht.sha256),x5=2n**256n});function TH(){try{return Gn.getRPCUrlSync(Gn.Chain.Tron)}catch{return fH}}function tH(){let n=new AbortController,y=setTimeout(()=>n.abort(),I5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function fy(n,y){let{signal:T,cleanup:o}=tH();try{let f=await fetch(`${TH()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function CH(n,y){let{signal:T,cleanup:o}=tH();try{let f=await fetch(`${y??TH()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function HH(n){if(!Kn(n))throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await CH(`/v1/accounts/${n}`,fH);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=e1(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 Gn.SwapKitError)throw y;throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function AH({from:n,to:y,amount:T}){let f=await fy("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new Gn.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 Gn.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(f),f}async function _H({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await fy("/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 Gn.SwapKitError("toolbox_tron_transaction_creation_failed");let A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new Gn.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(C.transaction),C.transaction}function UH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return fy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Ey(n){try{let{result:y,txid:T}=await fy("/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 Gn.SwapKitError("toolbox_tron_token_transfer_failed");return T}catch(y){throw new Gn.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function sf(){let n={};try{let{chainParameter:y}=await CH("/wallet/getchainparameters");for(let T of y)n[T.key]=T.value}catch(y){Gn.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??k5,createAccountFee:n.getCreateAccountFee??u5,energyFee:n.getEnergyFee??P5}}async function gt(n){try{let y=await fy("/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 Gn.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 dt(n){try{let y=await fy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function at(n){try{let{energy_used:y}=await UH({...n,ownerAddress:n.sender});return y}catch(y){return Gn.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function wH({assetAddress:n,owner:y,spender:T}){let o=yy([{type:"address",value:y},{type:"address",value:T}]),t=(await UH({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 Gn,fH="https://api.trongrid.io",k5=1000,u5=1e5,P5=420,I5=30000;var qH=p(()=>{rt();Gn=require("@swapkit/helpers")});function MH({phrase:n,derivationPath:y}){let T=XH.HDKey.fromMasterSeed(WH.mnemonicToSeedSync(n)).derive(y);if(!T.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return lH.bytesToHex(T.privateKey)}function LH({phrase:n,derivationPath:y,index:T}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:T||0}));return MH({derivationPath:o,phrase:n})}function V5({phrase:n,derivationPath:y}){let T=MH({derivationPath:y,phrase:n}),o=nH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{oy(f);let t=oH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function GH({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 A=yH(y);f.data=A,t.data=A}if(T){let A=n.raw_data.expiration+T*1000;f.expiration=A,t.expiration=A}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=r1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function QH(n={}){let y="index"in n?n.index||0:0,T=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Ty.match(n).with({phrase:Ty.P.string},({phrase:l})=>V5({derivationPath:T,phrase:l})).with({signer:Ty.P.not(Ty.P.nullish)},({signer:l})=>l).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let l=await t();if(!l)throw new E.SwapKitError("toolbox_tron_no_signer");return l.getAddress()}async function H(l){let M=l||E5,W=await sf(),Z=M*W.energyFee,D=Math.ceil(Z*1.5);return Math.min(Math.max(D,1e7),150000000)}async function A({contractAddress:l,functionSelector:M,parameter:W,sender:Z,memo:D,expiration:L}){let O=await at({contractAddress:l,functionSelector:M,parameter:W,sender:Z}),R=await H(O),k=await _H({contractAddress:l,feeLimit:R,functionSelector:M,ownerAddress:Z,parameter:W});return GH({expiration:L,feeLimit:R,memo:D,transaction:k})}async function _(l){if(!Kn(l))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let M=await HH(l);if(!M)return[E.AssetValue.from({chain:E.Chain.Tron})];let W=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(M.balance)})],Z=M.trc20?.find((D)=>(st in D));if(Z){let D=Z[st];W.push(E.AssetValue.from({asset:`TRON.USDT-${st}`,fromBaseDecimal:6,value:D}))}return W}catch(M){return E.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${M instanceof Error?M.message:M}`}),[E.AssetValue.from({chain:E.Chain.Tron})]}}async function X({recipient:l,assetValue:M,memo:W,expiration:Z}){if(!Kn(l))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");try{let L=await C(),O=await w({assetValue:M,expiration:Z,memo:W,recipient:l,sender:L}),R=await D.signTransaction(O),k=await Ey(R);if(!k)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(L){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:L instanceof Error?L.message:String(L)})}}function B({requiredBandwidth:l,resources:M,feePerUnit:W}){let Z=Math.max(0,M.free+M.total-M.used);return l>Z?(l-Z)*W:0}async function U({recipient:l,senderAddress:M}){let[W,Z,D]=await Promise.all([sf(),dt(l),gt(M)]),L=Z?0:W.createAccountFee,O=B({feePerUnit:W.bandwidthFee,requiredBandwidth:$5,resources:D.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:L+O})}async function q({assetValue:l,recipient:M,senderAddress:W}){let Z=l.address;if(!Z)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:l.toString()});let[D,L,O,R]=await Promise.all([sf(),dt(M),gt(W),at({contractAddress:Z,functionSelector:"transfer(address,uint256)",parameter:yy([{type:"address",value:M},{type:"uint256",value:l.getBaseValue("string")}]),sender:W})]),k=L?0:D.createAccountFee,u=B({feePerUnit:D.bandwidthFee,requiredBandwidth:b5,resources:O.bandwidth}),K=Math.max(0,O.energy.total-O.energy.used),s=R>K?(R-K)*D.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:k+u+s})}async function G({assetValue:l,recipient:M,sender:W}){let Z=await t();try{let D=W?W:Z?await C():void 0;if(!D)return l.isGasAsset?E.AssetValue.from({chain:E.Chain.Tron,value:0.1}):E.AssetValue.from({chain:E.Chain.Tron,value:15});return l.isGasAsset?U({recipient:M,senderAddress:D}):q({assetValue:l,recipient:M,senderAddress:D})}catch(D){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:D})}}async function w({recipient:l,assetValue:M,memo:W,sender:Z,expiration:D}){if(!Kn(l)||!Kn(Z))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(M.isGasAsset){let O=await AH({amount:M.getBaseValue("number"),from:Z,to:l});return GH({expiration:D,memo:W,transaction:O})}let L=M.address;if(!L)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:M.toString()});return A({contractAddress:L,expiration:D,functionSelector:"transfer(address,uint256)",memo:W,parameter:yy([{type:"address",value:l},{type:"uint256",value:M.getBaseValue("string")}]),sender:Z})}async function Q(l){oy(l);let M=await t();if(!M)throw new E.SwapKitError("toolbox_tron_no_signer");return M.signTransaction(l)}async function N(l){let M=await Q(l);return Ey(M)}function Y({assetAddress:l,spenderAddress:M,from:W}){return wH({assetAddress:l,owner:W,spender:M})}async function z({assetAddress:l,spenderAddress:M,from:W,amount:Z}){let D=await Y({assetAddress:l,from:W,spenderAddress:M});if(!Z)return D>0n;return D>=BigInt(Z)}async function J({assetAddress:l,spenderAddress:M,amount:W,from:Z}){if(!Kn(l)||!Kn(M))throw new E.SwapKitError("toolbox_tron_approve_failed");let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");let L=Z||await C(),O=W!==void 0?BigInt(W).toString():v5;try{let R=await A({contractAddress:l,functionSelector:"approve(address,uint256)",parameter:yy([{type:"address",value:M},{type:"uint256",value:O}]),sender:L}),k=await D.signTransaction(R),u=await Ey(k);if(!u)throw new E.SwapKitError("toolbox_tron_approve_failed");return u}catch(R){if(R instanceof E.SwapKitError)throw R;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:R})}}return{approve:J,broadcastTransaction:Ey,createTransaction:w,estimateTransactionFee:G,getAddress:C,getApprovedAmount:Y,getBalance:_,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:z,signAndBroadcastTransaction:N,signTransaction:Q,transfer:X,validateAddress:Kn}}var lH,XH,WH,E,Ty,BH,$5=268,E5=65000,b5=345,st="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",v5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var ZH=p(()=>{g1();qH();rt();lH=require("@noble/hashes/utils.js"),XH=require("@scure/bip32"),WH=require("@scure/bip39"),E=require("@swapkit/helpers"),Ty=require("ts-pattern"),BH=Kn});var et={};Mn(et,{validateTronAddress:()=>BH,getTronToolbox:()=>QH,getTronPrivateKeyFromMnemonic:()=>LH});module.exports=Jn(et);var n0=p(()=>{ZH()});function nT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return K5.test(n)}async function j5(n){if(!nT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function JH(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:Y}=await import("@scure/bip39"),{Keypair:z}=await import("@stellar/stellar-sdk"),J=Y(w),M=N.fromMasterSeed(J).derive(Q,!0);return z.fromRawEd25519Seed(Buffer.from(M.privateKey))}async function t(){if(y)return y;let w=ef.match(n).with({phrase:ef.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 A(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 J="asset_code"in z?z.asset_code:"",l="asset_issuer"in z?z.asset_issuer:"";return d.AssetValue.from({asset:`${d.Chain.Stellar}.${J}-${l}`,asyncTokenLookup:!1,value:z.balance})})}catch{return[d.AssetValue.from({chain:d.Chain.Stellar,value:0})]}}async function _({recipient:w,assetValue:Q,memo:N,sender:Y}){if(N){if(new TextEncoder().encode(N).length>28)throw new d.SwapKitError("helpers_invalid_memo_type")}if(!await j5(w))throw new d.SwapKitError("core_transaction_invalid_recipient_address");let J=Y||await H();if(!J)throw new d.SwapKitError("toolbox_stellar_no_signer");let{Asset:l,Memo:M,Networks:W,Operation:Z,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),L=await C(),O=await L.fetchBaseFee(),R=await L.loadAccount(J),k=new D(R,{fee:String(O),networkPassphrase:W.PUBLIC});if(Q.isGasAsset)try{await L.loadAccount(w),k.addOperation(Z.payment({amount:Q.getValue("string"),asset:l.native(),destination:w}))}catch{k.addOperation(Z.createAccount({destination:w,startingBalance:Q.getValue("string")}))}else k.addOperation(Z.payment({amount:Q.getValue("string"),asset:new l(Q.symbol,Q.address),destination:w}));if(N)k.addMemo(M.text(N));return k.setTimeout(30).build()}async function X(w){let{TransactionBuilder:Q,Networks:N}=await import("@stellar/stellar-sdk"),Y=await t(),z=Q.fromXDR(w.toXDR(),N.PUBLIC);return z.sign(Y),z}async function B(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 U({recipient:w,assetValue:Q,memo:N}){let Y=await t(),z=Y.publicKey(),J=await _({assetValue:Q,memo:N,recipient:w,sender:z});J.sign(Y);try{return(await(await C()).submitTransaction(J)).hash}catch(l){if(l instanceof d.SwapKitError)throw l;throw new d.SwapKitError("toolbox_stellar_transaction_failed",l)}}async function q(w){let Q=await X(w);return B(Q)}async function G(){let{baseDecimal:w}=d.getChainConfig(d.Chain.Stellar);try{let Y=(await(await C()).feeStats()).fee_charged.p50;return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:w,value:Y})}catch{return d.AssetValue.from({chain:d.Chain.Stellar,fromBaseDecimal:w,value:"100"})}}return{broadcastTransaction:B,createTransaction:_,estimateTransactionFee:G,getAddress:H,getBalance:A,signAndBroadcastTransaction:q,signTransaction:X,transfer:U,validateAddress:nT}}var d,ef,K5;var YH=p(()=>{d=require("@swapkit/helpers"),ef=require("ts-pattern"),K5=/^G[A-Z2-7]{55}$/});var oT={};Mn(oT,{validateStellarAddress:()=>nT,getStellarToolbox:()=>JH});module.exports=Jn(oT);var yT=p(()=>{YH()});var h5={};Mn(h5,{getToolbox:()=>o0,getFeeEstimator:()=>i5,getAddressValidator:()=>c5});module.exports=Jn(h5);var $=require("@swapkit/helpers");async function c5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (vy(),by)),{validateEVMAddress:T}=await Promise.resolve().then(() => (OT(),I0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (ST(),FT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Gf(),qf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (sT(),aT)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (ft(),yt)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Zf(),Qf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Yf(),Jf)),{validateTonAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (Nt(),Yt)),{validateNearAddress:B}=await Promise.resolve().then(() => (bt(),Et)),{validateRadixAddress:U}=await Promise.resolve().then(() => (Vt(),vt)),{validateRippleAddress:q}=await Promise.resolve().then(() => (jt(),Kt)),{validateTronAddress:G}=await Promise.resolve().then(() => (n0(),et)),{validateStellarAddress:w}=await Promise.resolve().then(() => (yT(),oT));return function({address:N,chain:Y}){return n(Y).with(...$.EVMChains,()=>T(N)).with(...$.UTXOChains,(J)=>{return X(J)(N)}).with(...$.CosmosChains,(J)=>{return f(J)(N)}).with($.Chain.Aptos,()=>y(N)).with($.Chain.Radix,()=>U(N)).with($.Chain.HyperCore,()=>t(N)).with($.Chain.Near,()=>B(N)).with($.Chain.Ripple,()=>q(N)).with($.Chain.Solana,()=>C(N)).with($.Chain.Stellar,()=>w(N)).with($.Chain.Starknet,()=>H(N)).with($.Chain.Sui,()=>A(N)).with($.Chain.Ton,()=>_(N)).with($.Chain.Tron,()=>G(N)).with($.Chain.Cardano,()=>o(N)).otherwise(()=>!1)}}function i5(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let t=await o0(f),C=await t.createTransaction(T),H="feeOptionKey"in T?T.feeOptionKey:$.FeeOption.Fast;return t.estimateTransactionFee({...C,feeOption:H})}).with($.Chain.Bitcoin,$.Chain.BitcoinCash,$.Chain.Dogecoin,$.Chain.Dash,$.Chain.Litecoin,$.Chain.Solana,$.Chain.Ripple,$.Chain.Tron,$.Chain.Near,$.Chain.Cardano,$.Chain.HyperCore,async(f)=>{return(await o0(f)).estimateTransactionFee(T)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (vy(),by));return f().estimateTransactionFee(T)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Zf(),Qf));return(await f()).estimateTransactionFee(T)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (yT(),oT));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Yf(),Jf));return f().estimateTransactionFee(T)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(T)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Gf(),qf));return f(T)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function o0(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (DT(),k0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (Nt(),Yt));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Gf(),qf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (vy(),by));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (sT(),aT));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (Vt(),vt));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (jt(),Kt));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (ft(),yt));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (yT(),oT));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Zf(),Qf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Yf(),Jf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (n0(),et));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (bt(),Et));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (ST(),FT));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}