@swapkit/toolboxes 4.15.11 → 4.15.12

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 xH=Object.create;var{getPrototypeOf:FH,defineProperty:_y,getOwnPropertyNames:_0,getOwnPropertyDescriptor:SH}=Object,A0=Object.prototype.hasOwnProperty;function U0(n){return this[n]}var pH,kH,HT=(n,y,T)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?pH??=new WeakMap:kH??=new WeakMap,t=f.get(n);if(t)return t}T=n!=null?xH(FH(n)):{};let C=y||!n||!n.__esModule?_y(T,"default",{value:n,enumerable:!0}):T;for(let H of _0(n))if(!A0.call(C,H))_y(C,H,{get:U0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Zn=(n)=>{var y=(H0??=new WeakMap).get(n),T;if(y)return y;if(y=_y({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of _0(n))if(!A0.call(y,o))_y(y,o,{get:U0.bind(n,o),enumerable:!(T=SH(n,o))||T.enumerable})}return H0.set(n,y),y},H0;var uH=(n)=>n;function PH(n,y){this[n]=uH.bind(null,y)}var Bn=(n,y)=>{for(var T in y)_y(n,T,{get:y[T],enumerable:!0,configurable:!0,set:PH.bind(y,T)})};var u=(n,y)=>()=>(n&&(y=n(n=0)),y);function $o(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 IH.test(y)}function w0({derivationPath:n,provider:y,...T}={}){let o,f=K.derivationPathToString(n||K.NetworkDerivationPath[K.Chain.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await Yo.match(T).with({phrase:Yo.P.string},async({phrase:G})=>{let{Ed25519Account:Q}=await import("@aptos-labs/ts-sdk");return Q.fromDerivationPath({mnemonic:G,path:f})}).with({signer:Yo.P.any},({signer:G})=>G).otherwise(()=>{return}),o}async function C(){let{Aptos:G,AptosConfig:Q}=await import("@aptos-labs/ts-sdk"),z=new Q({fullnode:y||K.getRPCUrlSync(K.Chain.Aptos)});return new G(z)}async function H(){return(await t())?.accountAddress.toString()||""}async function _(G){let Q=G||await H();if(!Q)throw new K.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=K.getChainConfig(K.Chain.Aptos);try{let Y=await C(),Z=await Y.getAccountAPTAmount({accountAddress:Q}),U=[K.AssetValue.from({chain:L,fromBaseDecimal:z,value:Z.toString()})],B=await Y.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Q}}}});for(let J of B){if(J.asset_type===Jo.COIN_TYPE||Number(J.amount)<=0)continue;let D=J.asset_type;if(D){let W=("metadata"in J&&typeof J.metadata==="object"&&J.metadata!==null?J.metadata:void 0)?.decimals??z;U.push(K.AssetValue.from({asset:`${K.Chain.Aptos}.APT-${D}`,fromBaseDecimal:W,value:String(J.amount)}))}}return U}catch{return[K.AssetValue.from({chain:L})]}}async function A(G){if(!G){let{baseDecimal:B}=K.getChainConfig(K.Chain.Aptos),J=y||K.getRPCUrlSync(K.Chain.Aptos),D=await fetch(`${J}/estimate_gas_price`),{gas_estimate:R}=await D.json();return K.AssetValue.from({chain:K.Chain.Aptos,fromBaseDecimal:B,value:String(R)})}let Q=await t();if(!Q)throw new K.SwapKitError("toolbox_aptos_no_signer");let z=await X(G),L=await C(),[Y]=await L.transaction.simulate.simple({signerPublicKey:Q.publicKey,transaction:z});if(!Y)throw new K.SwapKitError("toolbox_aptos_transaction_creation_error");let Z=BigInt(Y.gas_used)*BigInt(Y.gas_unit_price),{baseDecimal:U}=K.getChainConfig(K.Chain.Aptos);return K.AssetValue.from({chain:K.Chain.Aptos,fromBaseDecimal:U,value:Z.toString()})}async function X({recipient:G,assetValue:Q,maxGasAmount:z,sender:L}){if(!$o(G))throw new K.SwapKitError("core_transaction_invalid_recipient_address");let Y=L||await H();if(!Y)throw new K.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:Z}=await import("@aptos-labs/ts-sdk"),U=await C(),B=Z.from(Y);try{let J=Q.isGasAsset?Jo.TRANSFER:Jo.FUNGIBLE_STORE_TRANSFER,D=Yo.match({address:Q?.address,isGasAsset:Q.isGasAsset}).with({isGasAsset:!0},()=>[Z.from(G),Q.getBaseValue("bigint")]).with({address:Yo.P.string},({address:R})=>[Z.from(R),Z.from(G),Q.getBaseValue("bigint")]).otherwise(()=>null);if(!D)throw new K.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:J,functionArguments:D,typeArguments:Q.isGasAsset?[]:[Jo.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(J){if(J instanceof K.SwapKitError)throw J;throw new K.SwapKitError("toolbox_aptos_transaction_creation_error",J)}}async function M(G){let Q=await t();if(!Q)throw new K.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Q,transaction:G})}async function l({assetValue:G,maxGasAmount:Q,recipient:z}){let L=await t();if(!L)throw new K.SwapKitError("toolbox_aptos_no_signer");if(!$o(z))throw new K.SwapKitError("core_transaction_invalid_recipient_address");try{let Y=L.accountAddress.toString(),Z=await X({assetValue:G,maxGasAmount:Q,recipient:z,sender:Y});return(await(await C()).signAndSubmitTransaction({signer:L,transaction:Z})).hash}catch(Y){if(Y instanceof K.SwapKitError)throw Y;throw new K.SwapKitError("toolbox_aptos_transaction_creation_error",Y)}}async function w({senderAuthenticator:G,transaction:Q}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:G,transaction:Q})).hash}catch(z){throw new K.SwapKitError("toolbox_aptos_broadcast_error",z)}}async function q(G){let Q=await M(G);return w({senderAuthenticator:Q,transaction:G})}return{broadcastTransaction:w,createTransaction:X,estimateTransactionFee:A,getAddress:H,getBalance:_,signAndBroadcastTransaction:q,signTransaction:M,transfer:l,validateAddress:$o}}function q0({provider:n}){return async function({assetValue:T,recipient:o}){if(!$o(o))throw new K.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:Jo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new K.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:Jo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Jo.FUNGIBLE_ASSET_METADATA]})).hash}}var K,Yo,Jo,IH;var G0=u(()=>{K=require("@swapkit/helpers"),Yo=require("ts-pattern"),Jo={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"},IH=/^[0-9a-fA-F]+$/});var Ky={};Bn(Ky,{validateAptosAddress:()=>$o,getAptosToolbox:()=>w0,createAptosExtensionTransfer:()=>q0});module.exports=Zn(Ky);var jy=u(()=>{G0()});function X0(){function n(){let y=Date.now(),T=_T||y;return _T=T,y>_T?y:T+1}return $H+n().toString(36)}function Rn(n){return async function(T,o=!0){let f=await l0.SwapKitApi.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=Ay.getChainConfig(n),C=f.map(({identifier:_,value:A,decimal:X})=>{return new Ay.AssetValue({decimal:X||t,identifier:_,value:A})});if(!C.some((_)=>_.isGasAsset))return[Ay.AssetValue.from({chain:n}),...C];return C}}var Ay,l0,$H,_T=0;var gn=u(()=>{Ay=require("@swapkit/helpers"),l0=require("@swapkit/helpers/api"),$H=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Uy(n){return{getBalance:Rn(n)}}function EH(n){return n}var cy=u(()=>{gn()});function B0(n){return new No.JsonRpcProvider(n)}async function GT(n,y){return B0(y||await a.getRPCUrl(n))}function wy(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function lT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=a.getChainConfig(n);return function(){return n!==a.Chain.Ethereum?{...bH({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function XT(n){return![a.Chain.Adi,a.Chain.Arbitrum,a.Chain.BinanceSmartChain].includes(n)}function bH({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=a.getChainConfig(n);return qT.match(n).with(a.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(a.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(a.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(a.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(a.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(a.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:a.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function WT(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 M0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};qT.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!vH(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})=>!W0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!W0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function L0(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 AT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function UT(n,y){if(n.isTuple()&&n.components){let T=AT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:UT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=AT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:UT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function wT(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]=wT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>wT(o,T??void 0))}return n}function VH({chain:n,abi:y,data:T,to:o}){let t=new No.Interface(y).parseTransaction({data:T});if(!t)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=AT(t.name);C[H]=t.fragment.inputs.map((l)=>({name:l.name,type:UT(l,C)}));let _={};for(let[l,w]of t.fragment.inputs.entries())_[w.name]=wT(t.args[l],w);let{chainId:A}=a.getChainConfig(n),X={chainId:Number(A),verifyingContract:No.getAddress(o)},M=L0(X);return{domain:X,message:_,primaryType:H,types:{EIP712Domain:M,...C}}}function BT(n,y){if(!Array.isArray(n)||n.length===0)throw new a.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(M0(o,T),y!==void 0&&o.chainId!==y)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var a,No,qT,W0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),vH=(n)=>{try{return typeof n==="string"&&!!No.getAddress(n)}catch{return!1}};var qy=u(()=>{a=require("@swapkit/helpers"),No=require("ethers"),qT=require("ts-pattern")});var Q0;var Z0=u(()=>{Q0=[{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 bo({chain:n=x.Chain.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:hH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:N0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:YT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:dH({chain:n,provider:y,signer:T}),createContract:QT({chain:n,provider:y}),createContractTxObject:zo({chain:n,provider:y}),createTransaction:MT({chain:n,provider:y,signer:T}),createTransferTx:MT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Vo(y),estimateCall:z0({provider:y,signer:T}),estimateGasLimit:rH({chain:n,provider:y,signer:T}),estimateGasPrices:Do({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:aH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Uy(n).getBalance,getNetworkParams:lT(n),isApproved:iH({chain:n,provider:y}),sendTransaction:D0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:gH({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:mH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:ly}}function ly(n){try{return pn.getAddress(n),!0}catch{return!1}}function vo(n){return n instanceof pn.BrowserProvider}function Xy(n,y,T){return new pn.Contract(n,pn.Interface.from(y),T)}function QT({provider:n}){return function(T,o){return new pn.Contract(T,pn.Interface.from(o),n)}}function ZT({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&&KH.includes(T.stateMutability)}function J0(n){return pn.getAddress(n)}function Vo(n){return function({value:T,...o}){if(!vo(n))throw new x.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,..._}=o;return n.send("eth_sendTransaction",[{..._,value:wy(BigInt(T||0))}])}}function Y0(n,y){let T=Ko(n,y);if(T)return pn.getAddress(T.toLowerCase());throw new x.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Ko({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=cH.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return JT[o];return pn.getAddress(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function zo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>Xy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Do({chain:n,provider:y,isEIP1559Compatible:T=!0}){return LT.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 YT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:_,funcParams:A=[],txOverrides:X={},feeOption:M=x.FeeOption.Fast}){let l=t||n;if(!C)throw new x.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let w=ZT({abi:H,funcName:_});if(w&&vo(l)&&T){let Q=zo({chain:o,provider:l}),z=X?.from||await T?.getAddress(),L=await Q({abi:H,contractAddress:C,funcName:_,funcParams:A,txOverrides:{...X,from:z}});return Vo(l)(L)}let q=Xy(C,H,l);if(w){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 z=q.connect(T),L=Do({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:Y,maxPriorityFeePerGas:Z,gasPrice:U}=(await L())[M],B=await q.getFunction(_).estimateGas(...A,X),J=await z[_](...A,{...X,gasLimit:B,gasPrice:U,maxFeePerGas:Y,maxPriorityFeePerGas:Z,nonce:X?.nonce||await l.getTransactionCount(Q)});return typeof J?.hash==="string"?J?.hash:J}let G=await q[_]?.(...A);return typeof G?.hash==="string"?G?.hash:G}}function N0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return YT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Eo.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function iH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Gy}){let H=await N0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return x.SwapKitNumber.fromBigInt(H).gte(x.SwapKitNumber.fromBigInt(BigInt(C)))}}function hH({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=x.FeeOption.Fast,amount:_,gasLimitFallback:A,from:X,nonce:M}){let l=[C,BigInt(_||Gy)],w=await n?.getAddress()||X,q={abi:Eo.erc20ABI,contractAddress:t,funcName:"approve",funcParams:l,signer:n,txOverrides:{from:w}};if(vo(T)){let Q=zo({chain:o,provider:T}),z=Vo(T),L=await Q(q);return z(L)}return YT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...q,feeOption:H,funcParams:l,txOverrides:{from:w,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function mH({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:M}=await import("ethers"),l=f.getBaseValue("bigint"),w=f.chain,q=_||await n?.getAddress(),G=D0({chain:w,isEIP1559Compatible:y,provider:T,signer:n});if(!q)throw new x.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={...A,data:X(M(t||"")),feeOptionKey:H,from:q,to:C,value:l};return G(U)}if(!Ko(f,w))throw new x.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:Y}=(await Do({chain:w,isEIP1559Compatible:y,provider:T})())[H],Z=await MT({chain:w,provider:T,signer:n})({assetValue:f,data:X(M(t||"")),gasPrice:Y,maxFeePerGas:z,maxPriorityFeePerGas:L,memo:t,recipient:C,sender:q});return G(Z)}}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 _=Xy(o,f,n);return y?_.connect(y).getFunction(t).estimateGas(...C,H):_.getFunction(t).estimateGas(...C,H)}}function rH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:_,funcParams:A,txOverrides:X}){let M=o.bigIntValue,l=o.isGasAsset?null:Ko(o,o.chain);if(l&&_)return z0({provider:n,signer:y})({abi:Eo.erc20ABI,contractAddress:l,funcName:_,funcParams:A,txOverrides:X});let{hexlify:w,toUtf8Bytes:q}=await import("ethers");return n.estimateGas({data:C?C:t?w(q(t)):void 0,from:H,to:f,value:M})}}function gH({signer:n}){if(!n)return;return(y)=>WT(n,y)}function D0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=x.FeeOption.Fast,...C}){let{from:H,to:_,data:A,value:X,...M}=C;if(!y)throw new x.SwapKitError("toolbox_evm_no_signer");if(!_)throw new x.SwapKitError("toolbox_evm_no_to_address");let l={...M,data:A||"0x",from:H,to:_,value:BigInt(X||0)};if(vo(n))return Vo(n)(l);let w=H||await y.getAddress(),q=C.nonce||await n.getTransactionCount(w),G=(await n.getNetwork()).chainId,Q=zT(l,T);if(Q==="eip7702")BT(l.authorizations||[],G);let z=LT.match(Q).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...l,chainId:G,nonce:q,type:z,...Q==="eip7702"&&{authorizationList:l.authorizations}},Y=Do({chain:o,isEIP1559Compatible:T,provider:n}),U=Q!=="legacy"&&!(l.maxFeePerGas&&l.maxPriorityFeePerGas)||!l.gasPrice?Object.entries((await Y())[t]).reduce((J,[D,R])=>({...J,[D]:wy(BigInt(R))}),{}):{},B;try{B=wy(l.gasLimit||await n.estimateGas(L)*11n/10n)}catch(J){throw new x.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:J})}try{let J={...L,gasLimit:B,...U};try{return(await y.sendTransaction(J)).hash}catch{let D=await y.signTransaction({...J,from:w});return(await n.broadcastTransaction(D)).hash}}catch(J){throw new x.SwapKitError("toolbox_evm_error_sending_transaction",{error:J})}}}function MT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:X,...M}){let l=o.getBaseValue("bigint"),w=o.chain,q=H||await y?.getAddress();if(!q)throw new x.SwapKitError("toolbox_evm_no_from_address");if(x.isGasAsset(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:q,to:t,value:l}}let G=Ko(o,w);if(!G)throw new x.SwapKitError("toolbox_evm_no_contract_address");return zo({chain:o.chain,provider:n})({abi:Eo.erc20ABI,contractAddress:G,funcName:"transfer",funcParams:[t,l],txOverrides:{from:q,gasPrice:X,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function dH({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let _=await y?.getAddress()||H,A=zo({chain:T,provider:n}),X=["bigint","number"].includes(typeof C)?C:C||Gy;return await A({abi:Eo.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(X)],txOverrides:{from:_}})}}function aH({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=x.FeeOption.Fast,...t}){let H=await Do({chain:T,isEIP1559Compatible:y,provider:n})(),_=await n.estimateGas(t),A=x.AssetValue.from({chain:T}),{gasPrice:X,maxFeePerGas:M,maxPriorityFeePerGas:l}=H[f];if(!y&&X)return A.set(x.SwapKitNumber.fromBigInt(X*_,A.decimal));if(M&&l){let w=(M+l)*_;return A.set(x.SwapKitNumber.fromBigInt(w,A.decimal))}throw new x.SwapKitError("toolbox_evm_no_gas_price")}}var x,Eo,pn,LT,Gy,KH,jH,JT,cH,iy=(n)=>n.type===4||(n.authorizations?.length??0)>0,NT=(n)=>!iy(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),zT=(n,y=!0)=>{if(iy(n))return"eip7702";if(NT(n)||y)return"eip1559";return"legacy"};var hy=u(()=>{cy();qy();x=require("@swapkit/helpers"),Eo=require("@swapkit/helpers/contracts"),pn=require("ethers"),LT=require("ts-pattern"),Gy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");KH=["payable","nonpayable"];jH=x.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),JT={...jH,[x.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[x.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},cH=[x.Chain.Arbitrum,x.Chain.Aurora,x.Chain.Base,x.Chain.Optimism]});function my(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:Q0,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=XT(n),t=Wy.match(o).with({phrase:Wy.P.string},({phrase:H})=>O0.HDNodeWallet.fromPhrase(H).connect(T)).with({signer:Wy.P.any},({signer:H})=>H).otherwise(()=>{return});return bo({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var Cn,O0,Wy,ry,gy,dy,ay,sy,ey,nf,R0,of,yf,ff,Tf,tf,Cf,By,Hf,_f,Af,Uf;var DT=u(()=>{Z0();qy();hy();Cn=require("@swapkit/helpers"),O0=require("ethers"),Wy=require("ts-pattern");ry=wn(Cn.Chain.Adi),gy=wn(Cn.Chain.Arbitrum),dy=wn(Cn.Chain.Aurora),ay=wn(Cn.Chain.Avalanche),sy=wn(Cn.Chain.Base),ey=wn(Cn.Chain.Berachain),nf=wn(Cn.Chain.BinanceSmartChain),R0=wn(Cn.Chain.Botanix),of=wn(Cn.Chain.Core),yf=wn(Cn.Chain.Corn),ff=wn(Cn.Chain.Cronos),Tf=wn(Cn.Chain.Gnosis),tf=wn(Cn.Chain.Hyperevm),Cf=wn(Cn.Chain.Polygon),By=wn(Cn.Chain.Sonic),Hf=wn(Cn.Chain.Unichain),_f=wn(Cn.Chain.XLayer),Af=wn(Cn.Chain.Monad),Uf=wn(Cn.Chain.MegaETH)});var x0;var F0=u(()=>{x0=[{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 OT(n){return new wf.Contract(eH,x0,n)}function S0(n){return async function(){let T=OT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function p0(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 k0(n){return async function(T){let o=OT(n),f=await p0(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function u0(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function n_(n){return async function(T){let o=await k0(n)(T)??0n,f=await u0(n)(T);return o+f}}function o_(n){return async function(T){let o=OT(n),f=await p0(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function y_(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await S0(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 qf({provider:n,...y}){let T=My.match(y).with({phrase:My.P.string},({phrase:t})=>wf.HDNodeWallet.fromPhrase(t).connect(n)).with({signer:My.P.any},({signer:t})=>t).otherwise(()=>{return}),o=bo({provider:n,signer:T}),f=S0(n);return{...o,estimateGasPrices:y_(n),estimateL1Gas:o_(n),estimateL1GasCost:k0(n),estimateL2GasCost:u0(n),estimateTotalGasCost:n_(n),getBalance:Uy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,wf,My,eH="0x420000000000000000000000000000000000000f";var RT=u(()=>{cy();F0();hy();Hn=require("@swapkit/helpers"),wf=require("ethers"),My=require("ts-pattern")});var $0={};Bn($0,{validateEVMAddress:()=>ly,toChecksumAddress:()=>J0,isStateChangingCall:()=>ZT,isEIP7702Transaction:()=>iy,isEIP1559Transaction:()=>NT,isBrowserProvider:()=>vo,getTokenAddress:()=>Ko,getEvmToolboxAsync:()=>I0,getEvmToolbox:()=>xT,getEstimateGasPrices:()=>Do,getEVMTxType:()=>zT,getEIP1193SendTransaction:()=>Vo,getCreateContractTxObject:()=>zo,getCreateContract:()=>QT,getChecksumAddressFromAsset:()=>Y0,createContract:()=>Xy,XLayerToolbox:()=>_f,UNIToolbox:()=>Hf,SONICToolbox:()=>By,OPToolbox:()=>qf,MONADToolbox:()=>Af,MEGAETHToolbox:()=>Uf,MAX_APPROVAL:()=>Gy,MATICToolbox:()=>Cf,HYPEREVMToolbox:()=>tf,GNOToolbox:()=>Tf,ETHToolbox:()=>my,ContractAddress:()=>JT,CROToolbox:()=>ff,CORNToolbox:()=>yf,COREToolbox:()=>of,BotanixToolbox:()=>R0,BaseEVMToolbox:()=>bo,BSCToolbox:()=>nf,BERAToolbox:()=>ey,BASEToolbox:()=>sy,AVAXToolbox:()=>ay,AURORAToolbox:()=>dy,ARBToolbox:()=>gy,ADIToolbox:()=>ry});function xT(n,y){return P0.match(n).with(An.Chain.Adi,()=>ry(y)).with(An.Chain.Arbitrum,()=>gy(y)).with(An.Chain.Aurora,()=>dy(y)).with(An.Chain.Avalanche,()=>ay(y)).with(An.Chain.Base,()=>sy(y)).with(An.Chain.Berachain,()=>ey(y)).with(An.Chain.BinanceSmartChain,()=>nf(y)).with(An.Chain.Botanix,()=>By(y)).with(An.Chain.Core,()=>of(y)).with(An.Chain.Corn,()=>yf(y)).with(An.Chain.Cronos,()=>ff(y)).with(An.Chain.Ethereum,()=>my(y)).with(An.Chain.Gnosis,()=>Tf(y)).with(An.Chain.Hyperevm,()=>tf(y)).with(An.Chain.Optimism,()=>qf(y)).with(An.Chain.Polygon,()=>Cf(y)).with(An.Chain.Sonic,()=>By(y)).with(An.Chain.Unichain,()=>Hf(y)).with(An.Chain.XLayer,()=>_f(y)).with(An.Chain.Monad,()=>Af(y)).with(An.Chain.MegaETH,()=>Uf(y)).exhaustive()}async function I0(n,y){let T={...y,provider:y?.provider||await GT(n)};return xT(n,T)}var An,P0;var FT=u(()=>{qy();DT();RT();An=require("@swapkit/helpers"),P0=require("ts-pattern");hy();DT();RT()});var E0;var b0=u(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(E0||={})});var v0={};Bn(v0,{validateEVMAddress:()=>ly,validateAuthorizations:()=>BT,validateAuthorization:()=>M0,toHexString:()=>wy,toChecksumAddress:()=>J0,signAuthorization:()=>WT,parseEIP712FromEVMTx:()=>VH,isStateChangingCall:()=>ZT,isEIP7702Transaction:()=>iy,isEIP1559Transaction:()=>NT,isBrowserProvider:()=>vo,getTokenAddress:()=>Ko,getProviderSync:()=>B0,getProvider:()=>GT,getNetworkParams:()=>lT,getIsEIP1559Compatible:()=>XT,getEvmToolboxAsync:()=>I0,getEvmToolbox:()=>xT,getEvmApi:()=>Uy,getEstimateGasPrices:()=>Do,getEVMTxType:()=>zT,getEIP1193SendTransaction:()=>Vo,getCreateContractTxObject:()=>zo,getCreateContract:()=>QT,getChecksumAddressFromAsset:()=>Y0,createCustomEvmApi:()=>EH,createContract:()=>Xy,buildEIP712DomainType:()=>L0,XLayerToolbox:()=>_f,UNIToolbox:()=>Hf,SONICToolbox:()=>By,OPToolbox:()=>qf,MONADToolbox:()=>Af,MEGAETHToolbox:()=>Uf,MAX_APPROVAL:()=>Gy,MATICToolbox:()=>Cf,HYPEREVMToolbox:()=>tf,GNOToolbox:()=>Tf,EthNetwork:()=>E0,ETHToolbox:()=>my,ContractAddress:()=>JT,CROToolbox:()=>ff,CORNToolbox:()=>yf,COREToolbox:()=>of,BotanixToolbox:()=>R0,BaseEVMToolbox:()=>bo,BSCToolbox:()=>nf,BERAToolbox:()=>ey,BASEToolbox:()=>sy,AVAXToolbox:()=>ay,AURORAToolbox:()=>dy,ARBToolbox:()=>gy,ADIToolbox:()=>ry});module.exports=Zn(v0);var ST=u(()=>{cy();qy();FT();b0()});async function kT(n,y){let T=await fetch(`${m0}${n}`,{...y,headers:{project_id:h0,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function r0(n){try{return await kT(`/addresses/${n}/utxos`)}catch{return[]}}async function T_(){return(await kT("/blocks/latest")).slot}async function t_(){let n=await kT("/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 xn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new xn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new xn.default(n.min_fee_a),minFeeB:new xn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new xn.default(15),priceMem:new xn.default(n.price_mem),priceSteps:new xn.default(n.price_step),stakeKeyDeposit:new xn.default(2000000),utxoCostPerByte:new xn.default(n.coins_per_utxo_size)}}async function K0(n){let y=await fetch(`${m0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:h0},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function C_(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new xn.default(o.quantity):new xn.default(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new xn.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 H_(n){try{let y=await r0(n),T=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:_,quantity:A}=H;if(_==="lovelace")T+=BigInt(A);else{let X=o.get(_)||0n;o.set(_,X+BigInt(A))}}}let f=[],{baseDecimal:t}=_n.getChainConfig(_n.Chain.Cardano);if(T>0n)f.push(_n.AssetValue.from({chain:_n.Chain.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(_n.AssetValue.from({asset:`${_n.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[_n.AssetValue.from({chain:_n.Chain.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[_n.AssetValue.from({chain:_n.Chain.Cardano})]}}function g0(n){if(!n||typeof n!=="string")return!1;try{let y=j0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function __(n,y=0,T=0){let o=await c0.mnemonicToSeed(n,""),t=(await i0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(pT+1852).derive(pT+1815).derive(pT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),_=Nn.crypto.hash28(H),X=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(X),l={hash:_,type:Nn.types.HashType.ADDRESS},w={hash:M,type:Nn.types.HashType.ADDRESS},G=new Nn.address.BaseAddress(f_,l,w).getBech32(),Q=C.toPrivateKey();return{getAddress:()=>G,publicKey:H,publicKeyHash:_,signTransaction:async(z)=>{try{let L=await import("@stricahq/cbors"),Y=Buffer.from(z,"hex"),Z=L.Decoder.decode(Y),[U,B,J,D]=Z.value,R=L.Encoder.encode(U),W=Nn.crypto.hash32(R),N=Q.sign(W),O=B instanceof Map?B:new Map,F=O.get(V0)||[];F.push([H,N]),O.set(V0,F);let p=[U,O,J,D];return L.Encoder.encode(p).toString("hex")}catch(L){throw new _n.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function A_(n){let y,T,o;async function f(){if(!o)o=await t_();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 __(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 q=w||await C();if(!q)throw new _n.SwapKitError("core_wallet_connection_not_found");return H_(q)}async function _(w){if(w)try{let{tx:z}=await A(w),L=z.getFee();return _n.AssetValue.from({chain:_n.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let q=await f(),G=400,Q=q.minFeeB.plus(q.minFeeA.times(G));return _n.AssetValue.from({chain:_n.Chain.Cardano,fromBaseDecimal:6,value:Q.toString()})}async function A({sender:w="",recipient:q,assetValue:G,memo:Q,pureLovelaceOnly:z=!1}){let L=w||await C();if(!L)throw new _n.SwapKitError("core_wallet_connection_not_found");let[Y,Z,U]=await Promise.all([r0(L),T_(),f()]),B=Y.filter((d)=>z?d.amount.every((yn)=>yn.unit==="lovelace"):d.amount.some((yn)=>yn.unit==="lovelace")).sort((d,yn)=>{let Yn=d.amount.some((Xn)=>Xn.unit!=="lovelace"),Sn=yn.amount.some((Xn)=>Xn.unit!=="lovelace");if(Yn===Sn)return 0;return Yn?1:-1}),J=Nn.utils.getAddressFromString(L),D=Nn.utils.getAddressFromString(q),R=C_(B,J),W=new xn.default(G.getBaseValue("string")),N=[{address:D,amount:W,tokens:[]}],O;if(Q){let d=new Map;d.set("msg",[Q]),O={metadata:[{data:d,label:674}]}}let F={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},V=new Nn.Transaction({protocolParams:F}).paymentTransaction({auxiliaryData:O,changeAddress:J,inputs:R,outputs:N,ttl:Z+3600}),{payload:h}=V.buildTransaction();return{tx:V,unsignedTx:h}}async function X(w){let q=await t();if(!q||!("signTransaction"in q))throw new _n.SwapKitError("core_wallet_connection_not_found");return q.signTransaction(w)}async function M({recipient:w,assetValue:q,memo:G}){let Q=await t();if(!Q||!("signTransaction"in Q))throw new _n.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:z}=await A({assetValue:q,memo:G,recipient:w,sender:await C()}),L=await X(z);return await K0(L)}async function l(w){let q=await X(w);return await K0(q)}return{createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:H,signAndBroadcastTransaction:l,signTransaction:X,transfer:M,validateAddress:g0}}var j0,c0,i0,Nn,_n,xn,h0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",m0="https://cardano-mainnet.blockfrost.io/api/v0",f_,pT=2147483648,V0=0;var d0=u(()=>{j0=require("@scure/base"),c0=require("@scure/bip39"),i0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),_n=require("@swapkit/helpers"),xn=HT(require("bignumber.js")),f_=Nn.types.NetworkId.MAINNET});var uT={};Bn(uT,{validateCardanoAddress:()=>g0,getCardanoToolbox:()=>A_});module.exports=Zn(uT);var PT=u(()=>{d0()});function Ly(n){return cn.base64.encode(Uint8Array.from(cn.bech32.fromWords(cn.bech32.decode(n).words)))}function Qy(n,y="thor"){return cn.bech32.encode(y,cn.bech32.toWords(cn.base64.decode(n)))}function U_(n){return cn.base64.encode(n)}function w_(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new a0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return cn.base64.decode(n)}var cn,a0;var IT=u(()=>{cn=require("@scure/base"),a0=require("@swapkit/helpers")});function dn(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return nC;case b.Chain.Noble:return oC;default:return e0}}async function an(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 Oo(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 ET(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function bT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:_}=T,A=await b.getRPCUrl(H),M=await(await an(A)).getAccount(n);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let l=b.AssetValue.from({chain:H}),w=Co(l.symbol),q=dn(H),G=w&&f?{amount:[{amount:f.toString(),denom:w}],gas:q.gas}:q,Q={amount:[{amount:T.getBaseValue("string"),denom:Co(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:_,fee:G,memo:o,msgs:[{typeUrl:q_(H),value:Q}],sequence:t??M.sequence}}var b,$T="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",s0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",e0,nC,oC,Co=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return $T;case"uYUM":case"YUM":return s0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},Zy=({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 Co(n,!1)},q_=(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})}},G_,vT=(n,y)=>{let T=G_[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 Jy=u(()=>{b=require("@swapkit/helpers"),e0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},nC={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},oC={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};G_={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},[$T.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var yC={};Bn(yC,{$root:()=>k});var Mn,v,un,I,k;var fC=u(()=>{Mn=HT(require("protobufjs/minimal.js")),v=Mn.default.Reader,un=Mn.default.Writer,I=Mn.default.util,k=Mn.default.roots.default||(Mn.default.roots.default={});k.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 k.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 k.common.Asset)return o;let f=new k.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,Mn.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"))k.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 k.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=k.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=k.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 k.common.Coin)return o;let f=new k.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=k.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=k.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,Mn.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 k.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 k.common.PubKeySet)return o;let f=new k.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,Mn.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)k.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)k.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 k.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(k.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(k.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=k.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=k.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 k.common.Tx)return o;let f=new k.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]=k.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]=k.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]=k.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]=k.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,Mn.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)k.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 k.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(k.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=k.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 k.common.Fee)return o;let f=new k.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]=k.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]=k.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,Mn.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 k.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 k.common.ProtoUint)return o;let f=new k.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,Mn.default.util.toJSONOptions)},y})(),n})();k.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)k.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 k.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(k.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=k.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 k.types.MsgDeposit)return o;let f=new k.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]=k.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]=k.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,Mn.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)k.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 k.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(k.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=k.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof k.types.MsgSend)return o;let f=new k.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]=k.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]=k.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Mn.default.util.toJSONOptions)},y})(),n})();k.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,_=new k.cosmos.base.v1beta1.Coin;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.denom=t.string();break;case 2:_.amount=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof 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 k.cosmos.base.v1beta1.Coin)return t;let C=new k.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,Mn.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,_=new k.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.denom=t.string();break;case 2:_.amount=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof 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 k.cosmos.base.v1beta1.DecCoin)return t;let C=new k.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,Mn.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,_=new k.cosmos.base.v1beta1.IntProto;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.int=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof 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 k.cosmos.base.v1beta1.IntProto)return t;let C=new k.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,Mn.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,_=new k.cosmos.base.v1beta1.DecProto;while(t.pos<H){let A=t.uint32();switch(A>>>3){case 1:_.dec=t.string();break;default:t.skipType(A&7);break}}return _},o.decodeDelimited=function(t){if(!(t instanceof 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 k.cosmos.base.v1beta1.DecProto)return t;let C=new k.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,Mn.default.util.toJSONOptions)},o})(),T})(),y})(),n})()});async function Ro(){let{$root:n}=await Promise.resolve().then(() => (fC(),yC)),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 Ho(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===TC.Chain.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:Ly(f)}),toAmino:({signer:f,...t})=>({...t,signer:Qy(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:Ly(f),toAddress:Ly(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:Qy(f),to_address:Qy(t)})}})}var TC;var VT=u(()=>{IT();TC=require("@swapkit/helpers")});function cT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return CC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return HC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function CC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let _=T.chain,A=await zn.getRPCUrl(_),X=await tC({rpcUrl:A,sender:n}),{chainId:M}=zn.getChainConfig(_),l=KT({assetValue:T,recipient:y,sender:n}),w=f?await _o(t?l:Ao(l),_):l;return{accountNumber:H||X.accountNumber,chainId:M,fee:dn(_),memo:o,msgs:[w],sequence:C||X.sequence}}async function HC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,_=await zn.getRPCUrl(H),A=await tC({rpcUrl:_,sender:n}),{chainId:X}=zn.getChainConfig(H),M=jT({assetValue:y,memo:T,sender:n}),l=o?await _o(f?M:Ao(M),H):M;return{accountNumber:C||A.accountNumber,chainId:X,fee:dn(H),memo:T,msgs:[l],sequence:t||A.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 Yy({chain:n,memo:y,msgs:T}){let o=await Ro(),f=await Ho(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var zn,l_,X_,KT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:Co(T.symbol,!0)}],from_address:n,to_address:y}}},jT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:Zy(y)}],memo:T,signer:n}}},Gf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?jT({assetValue:T,memo:o,sender:n}):KT({assetValue:T,recipient:y,sender:n})},_o=async(n,y)=>{return(await Ho(y)).fromAmino(n)},tC=async({rpcUrl:n,sender:y})=>{let o=await(await an(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var _C=u(()=>{Jy();VT();zn=require("@swapkit/helpers"),l_=dn(zn.Chain.THORChain).gas,X_=dn(zn.Chain.Maya).gas});var AC=()=>{};var UC=u(()=>{AC()});var iT=u(()=>{IT();_C();VT();UC()});async function rT(n,y){try{let o=(await mT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function hT({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${P.DerivationPath[T.chain]}/${T.index}`;return await XC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[lC.stringToPath(o)],prefix:y})}async function W_({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function WC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,_=C.Secp256k1??C.default?.Secp256k1,A=H.fromFixedLength(Uo.base64.decode(T));return _.verifySignature(A,Uo.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 Ny.match(y).with({phrase:Ny.P.string},({phrase:w})=>hT({derivationPath:f,phrase:w,prefix:T})).with({signer:Ny.P.any},({signer:w})=>w).otherwise(()=>{return}),t}async function H(w){let q=await P.getRPCUrl(n);return(await an(q)).getAccount(w)}async function _(){let w=await C(),[q]=await w?.getAccounts()||[];return q?.address}async function A(){let w=await C(),[q]=await w?.getAccounts()||[];if(!q?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return Uo.base64.encode(q?.pubkey)}async function X(w){let q=await C(),G=await _(),Q=await P.getRPCUrl(n);if(!(q&&G))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Oo(Q,q)).sign(G,w.msgs,w.fee,w.memo,{accountNumber:w.accountNumber,chainId:w.chainId,sequence:w.sequence})}async function M(w){let q=await C(),G=await _(),Q=await P.getRPCUrl(n);if(!(q&&G))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await Oo(Q,q)).signAndBroadcast(G,w.msgs,w.fee,w.memo);if(L.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function l({recipient:w,assetValue:q,memo:G="",feeRate:Q,feeOptionKey:z=P.FeeOption.Fast}){let L=await C(),Y=await _();if(!(L&&Y))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let Z=await P.getRPCUrl(n),U=P.AssetValue.from({chain:n}),B=Zy(U),J=Q||L_((await qC(n,wC[n]))[z],B),D=await Oo(Z,L),R=Co(q.symbol),W=[{amount:q.getBaseValue("string"),denom:R}],{transactionHash:N}=await D.sendTokens(Y,w,W,J,G);return N}return{createPrivateKeyFromPhrase:Z_(f),createTransaction:bT,fetchFeeRateFromSwapKit:rT,getAccount:H,getAddress:_,getBalance:async(w,q)=>{let G=await GC(n)(w),Q=await Promise.all(G.filter(({denom:z})=>z&&!z.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(n)&&z.split("-").length>2)).map(({denom:z,amount:L})=>{let Y=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return vT(Y,L)}));if(Q.length===0)return[P.AssetValue.from({chain:n})];return Q},getBalanceAsDenoms:GC(n),getFees:()=>qC(n,wC[n]),getPubKey:A,getSignerFromPhrase:({phrase:w,derivationPath:q})=>hT({derivationPath:P.derivationPathToString(q),index:o,phrase:w,prefix:T}),getSignerFromPrivateKey:async(w)=>{let q=await import("@cosmjs/proto-signing");return(q.DirectSecp256k1Wallet??q.default?.DirectSecp256k1Wallet).fromKey(w,T)},signAndBroadcastTransaction:M,signTransaction:X,transfer:l,validateAddress:BC(n),verifySignature:WC(H)}}async function B_(n,y){try{let o=(await mT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function M_({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:Q_(n)})}async function qC(n,y){let{chainId:T,baseDecimal:o}=P.getChainConfig(n),f=await rT(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 L_(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function Q_(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 BC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=Uo.bech32.decode(o);return Uo.bech32.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function GC(n){return async function(T){let o=await P.getRPCUrl(n);return(await(await an(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function Z_(n){return async function(T){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,t=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,_=o.Bip39??o.default?.Bip39,A=new H(T),X=await _.mnemonicToSeed(A),{privkey:M}=C.derivePath(t.Secp256k1,X,f(n));return M}}var lC,XC,Uo,P,mT,Ny,wC;var lf=u(()=>{Jy();lC=require("@cosmjs/crypto"),XC=require("@cosmjs/proto-signing"),Uo=require("@scure/base"),P=require("@swapkit/helpers"),mT=require("@swapkit/helpers/api"),Ny=require("ts-pattern");wC={[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 J_({prefix:n,derivationPath:y}){return async function(o,f=0){let t=await import("@cosmjs/amino"),C=t.Secp256k1HdWallet??t.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),_=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[_(`${y}/${f}`)],prefix:n})}}function Y_(n){return wo.base64.encode(n)}function N_(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:_,memo:A}=typeof o==="string"?JSON.parse(o):o,X=(await T.getAccounts())?.[0]?.address||"",M=await Ho(n),l=await Ro(),w=await ET(T,{aminoTypes:M,registry:l}),q=[];for(let z of f){let L=await _o(z,n);q.push(L)}let{signatures:[G]}=await w.sign(X,q,_,A,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Yy({chain:n,memo:A,msgs:f.map(Ao)}),signature:Y_(G)}}}function z_({prefix:n,chain:y}){return async function(o,f,t,C,H){let _=await s.getRPCUrl(y),{encodeSecp256k1Pubkey:A,pubkeyToAddress:X}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:l,fee:w}=JSON.parse(o),q=await MC(t,C),G=f.map((L)=>[X(A(wo.base64.decode(L.pubKey)),n),wo.base64.decode(L.signature)]),Q=await an(_),{transactionHash:z}=await Q.broadcastTx(M(q,l,w,H,new Map(G)));return z}}async function MC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(wo.base64.decode(t))),y,T)}function D_(n){return wo.base64.decode(n)}async function O_({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(wo.base64.decode(y),n);return wo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function gT({chain:n,...y}){let{isStagenet:T}=s.SKConfig.get("envs"),o=s.SKConfig.get("thornodeUrls"),f=n===s.Chain.Maya,t=jo.match({isMayachain:f,isStagenet:T}).with({isMayachain:!0},({isStagenet:L})=>L?o.MAYA_STAGENET:o.MAYA).otherwise(({isStagenet:L})=>L?o.THOR_STAGENET:o.THOR),C=`${T?"s":""}${s.CosmosChainPrefixes[n]}`,H="index"in y?y.index||0:0,_="derivationPath"in y&&y.derivationPath?y.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[n],{index:H}),A=zy({chain:n,...y}),X=dn(n),M;function l(){return M??=jo.match(y).with({phrase:jo.P.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:jo.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function w(){let L=await s.getRPCUrl(n),Y=await l();if(!Y)throw new s.SwapKitError("toolbox_cosmos_no_signer");let Z=await Ro(),U=await Ho(n),B=await Oo(L,Y,{aminoTypes:U,registry:Z});return{signer:Y,signingClient:B}}async function q({fee:L,memo:Y,msgs:Z}){let{signer:U,signingClient:B}=await w(),J=(await U.getAccounts())?.[0]?.address;if(!J)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");let D=await B.signAndBroadcast(J,Z,L,Y);if(D.code!==0)throw new s.SwapKitError("core_swap_transaction_error",{code:D.code,message:D.rawLog});return D.transactionHash}async function G(){let L,Y=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:Z}}=await s.RequestClient.get(Y);if(!Z||Number.isNaN(Z)||Z<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:Z.toString()});L=new s.SwapKitNumber(Z)}catch{L=new s.SwapKitNumber({decimal:s.getChainConfig(n).baseDecimal,value:f?1:0.02})}return{[s.FeeOption.Average]:L,[s.FeeOption.Fast]:L,[s.FeeOption.Fastest]:L}}async function Q({assetValue:L,memo:Y="",recipient:Z}){let{TxRaw:U}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:B,signingClient:J}=await w(),D=(await B.getAccounts())?.[0]?.address;if(!D)throw new s.SwapKitError("toolbox_cosmos_no_signer");let R="signAmino"in B,W=Gf({assetValue:L,memo:Y,recipient:Z,sender:D});if(R){let F=await _o(W,n),{signatures:p,authInfoBytes:V}=await J.sign(D,[F],X,Y),h=U.encode({authInfoBytes:V,bodyBytes:await Yy({chain:n,memo:Y,msgs:[W].map(Ao)}),signatures:p}).finish();return(await J.broadcastTx(h)).transactionHash}let N=Ao(W),O=await _o(N,n);return q({fee:X,memo:Y,msgs:[O]})}async function z(L){let{signer:Y,signingClient:Z}=await w(),U=(await Y.getAccounts())?.[0]?.address;if(!U)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");return Z.sign(U,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:z_({chain:n,prefix:C}),buildAminoMsg:Gf,buildEncodedTxBody:Yy,convertToSignable:_o,createDefaultAminoTypes:()=>Ho(n),createDefaultRegistry:Ro,createMultisig:MC,createTransaction:cT,deposit:Q,getFees:G,importSignature:D_,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:Y}=(await import("@cosmjs/amino")).default;return Y(L,C)},secp256k1HdWalletFromMnemonic:J_({derivationPath:s.derivationPathToString(_),prefix:C}),signAndBroadcastTransaction:q,signMultisigTx:N_(n),signTransaction:z,signWithPrivateKey:O_,transfer:Q}}var wo,s,jo;var dT=u(()=>{iT();Jy();lf();wo=require("@scure/base"),s=require("@swapkit/helpers"),jo=require("ts-pattern")});var qo,R_=(n,y)=>{switch(n){case qo.Chain.Cosmos:case qo.Chain.Kujira:case qo.Chain.Noble:return zy({chain:n,...y});case qo.Chain.Maya:case qo.Chain.THORChain:return gT({chain:n,...y});default:throw new qo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var LC=u(()=>{lf();dT();qo=require("@swapkit/helpers");lf();dT()});var Xf={};Bn(Xf,{verifySignature:()=>WC,transferMsgAmino:()=>KT,toBase64:()=>U_,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>W_,getSignerFromPhrase:()=>hT,getMsgSendDenom:()=>Co,getFeeRateFromSwapKit:()=>B_,getDenomWithChain:()=>Zy,getDefaultChainFee:()=>dn,getCosmosToolbox:()=>R_,getCosmosAddressValidator:()=>BC,getAssetFromDenom:()=>vT,fromBase64:()=>w_,fetchFeeRateFromSwapKit:()=>rT,estimateTransactionFee:()=>M_,depositMsgAmino:()=>jT,createTransaction:()=>cT,createThorchainToolbox:()=>gT,createStargateClient:()=>an,createSigningStargateClient:()=>Oo,createOfflineStargateClient:()=>ET,createDefaultRegistry:()=>Ro,createDefaultAminoTypes:()=>Ho,createCosmosToolbox:()=>zy,cosmosCreateTransaction:()=>bT,convertToSignable:()=>_o,buildTransferTx:()=>CC,buildEncodedTxBody:()=>Yy,buildDepositTx:()=>HC,buildAminoMsg:()=>Gf,bech32ToBase64:()=>Ly,base64ToBech32:()=>Qy,YUM_KUJIRA_FACTORY_DENOM:()=>s0,USK_KUJIRA_FACTORY_DENOM:()=>$T,THORCHAIN_GAS_VALUE:()=>l_,MAYA_GAS_VALUE:()=>X_,DEFAULT_NOBLE_FEE_MAINNET:()=>oC,DEFAULT_KUJI_FEE_MAINNET:()=>nC,DEFAULT_COSMOS_FEE_MAINNET:()=>e0});module.exports=Zn(Xf);var Wf=u(()=>{iT();LC();Jy()});function x_({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function F_({cancels:n}){return{cancels:n,type:"cancel"}}function S_({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function p_({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function k_({modifies:n}){return{modifies:n,type:"batchModify"}}function u_({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function P_({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function I_({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function $_({time:n}){return{time:n,type:"scheduleCancel"}}function E_({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function b_({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:_}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:_,type:"sendAsset"}}function v_({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function V_({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function K_({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 r_(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 Go(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 QC(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]),Go(n,2));if(n<=0xffffffffn)return Fn(new Uint8Array([206]),Go(n,4));return Fn(new Uint8Array([207]),Go(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]),Go(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return Fn(new Uint8Array([210]),Go(BigInt.asUintN(32,n),4));return Fn(new Uint8Array([211]),Go(BigInt.asUintN(64,n),8))}function YC(n){let y=m_.encode(n);if(y.length<32)return Fn(new Uint8Array([160+y.length]),y);return Fn(r_(217,0,y.length),y)}function g_(n){let y=n.map((o)=>aT(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 d_(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])=>[YC(o),aT(f)]))}function aT(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return YC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new Bf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return QC(BigInt(n))}if(typeof n==="bigint")return QC(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 g_(n);if(typeof n==="object")return d_(n);throw new Bf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function a_(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new Bf.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 NC(n){return{domain:j_,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...c_.Agent]}}}function zC(n){let y=h_[n.type],T=i_[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:ZC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||JC},primaryType:y,types:{[y]:T}}}function DC(n){let y=Mf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function OC(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=aT(n),t=Go(BigInt(y),8),C=o?Fn(new Uint8Array([1]),a_(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?Fn(new Uint8Array([0]),Go(BigInt(T),8)):new Uint8Array;return Mf.keccak256(Fn(f,t,C,H))}function RC(n){let y=n.hyperliquidChain||JC;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 Bf,Mf,ZC="0x0000000000000000000000000000000000000000",j_,c_,JC="Mainnet",i_,h_,m_;var xC=u(()=>{Bf=require("@swapkit/helpers"),Mf=require("ethers"),j_={chainId:1337,name:"Exchange",verifyingContract:ZC,version:"1"},c_={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},i_={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"}]},h_={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},m_=new TextEncoder});function $n(n,y){if(!nt(n))throw new nn.SwapKitError(y,{address:n});return n.toLowerCase()}async function xo(n){let y=await Lf();return nn.RequestClient.post(`${y}/info`,{json:n})}function TA({dex:n,user:y}){return xo({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function tA({user:n}){return xo({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function CA({dex:n,user:y}){return xo({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function HA({dex:n,user:y}){return xo({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function _A({oidOrCloid:n,user:y}){return xo({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function AA({aggregateByTime:n,user:y}){return xo({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function UA({aggregateByTime:n,endTime:y,startTime:T,user:o}){return xo({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function FC({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=s_[f]||kC,C=o?.tokens?.find((_)=>_.name===n||y!==void 0&&_.index===Number(y)),H=C?`${hn}.${f}-${C.name}:${C.tokenId}`:`${hn}.${f}`;return new nn.AssetValue({decimal:t,identifier:H,value:T})}function wA(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=nn.AssetValue.from({chain:hn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Lf(){try{return await nn.getRPCUrl(hn)}catch{let[n]=nn.getChainConfig(hn).rpcUrls;if(!n)throw new nn.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:hn});return n}}async function eT(){return`${await Lf()}/exchange`}function qA(n){let y=fA[n.type],{type:T,...o}=n,f=yA[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:oA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function uC({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?$n(o,"helpers_invalid_params"):void 0,C=await eT(),H=OC(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:NC(H),vaultAddress:t}}async function PC({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=RC({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await eT(),nonce:o,typedData:zC(t)}}async function sT({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 eT(),_=n.getValue("string"),A=f||Date.now(),X=n.address;if(!X)throw new nn.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:_,destination:t,hyperliquidChain:e_,signatureChainId:o||nA,time:A,token:X,type:"spotSend"};return{action:M,endpoint:H,nonce:A,typedData:qA(M)}}async function SC(n){let y=await nn.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 nn.SwapKitError("core_transaction_failed",{response:y});return y}async function GA(n,y){let T=await Lf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await nn.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 nt(n){return n.startsWith("0x")&&ly(n)}function lA(n){let y=Rn(hn),T=n&&"index"in n?n.index||0:0,o=nn.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:nn.updateDerivationPath(nn.NetworkDerivationPath[hn],{index:T})),f,t=!1;function C(){if(t)return f;return f=co.match(n).with({phrase:co.P.string},({phrase:l})=>{return pC.HDNodeWallet.fromPhrase(l,void 0,o)}).with({signer:co.P.not(co.P.nullish)},({signer:l})=>l).otherwise(()=>{return}),t=!0,f}async function H(){let l=C();return l?await l.getAddress():""}async function _(l){let w=C();if(!w)throw new nn.SwapKitError("toolbox_hypercore_no_signer");let q=await w.signTypedData(l.typedData.domain,l.typedData.types,l.typedData.message);return{action:l.action,endpoint:l.endpoint,nonce:l.nonce,signature:DC(q),..."expiresAfter"in l?{expiresAfter:l.expiresAfter}:{},..."vaultAddress"in l?{vaultAddress:l.vaultAddress}:{}}}async function A(l){let w=$n(l,"helpers_invalid_params");try{let q=await Lf(),[G,Q,z]=await Promise.all([nn.RequestClient.post(`${q}/info`,{json:{type:"spotClearinghouseState",user:w}}),nn.RequestClient.post(`${q}/info`,{json:{type:"clearinghouseState",user:w}}),nn.RequestClient.post(`${q}/info`,{json:{type:"spotMeta"}})]),L=(G.spotState?.balances||G.balances||[]).map(({coin:Z,token:U,total:B})=>FC({coin:Z,spotMeta:z,token:U,value:B})).filter((Z)=>!!Z),Y=FC({coin:"USDC",spotMeta:z,value:Q.withdrawable||Q.marginSummary?.accountValue||Q.marginSummary?.totalRawUsd});return wA(Y?[...L,Y]:L)}catch{return y(w)}}async function X(l){let w=C();if(!w)throw new nn.SwapKitError("toolbox_hypercore_no_signer");let q=l.sender||await w.getAddress(),G=await sT({...l,feeRate:0,sender:q}),Q=await _(G);return await SC(Q),GA(q,G.nonce)}function M(){return nn.AssetValue.from({chain:hn,value:0})}return{broadcastTransaction:SC,createL1ActionRequest:uC,createTransaction:sT,createUserSignedActionRequest:PC,estimateTransactionFee:M,getAddress:H,getBalance:A,getState:{clearinghouse:TA,frontendOpenOrders:HA,openOrders:CA,orderStatus:_A,spotClearinghouse:tA,userFills:AA,userFillsByTime:UA},signTransaction:_,transfer:X,validateAddress:nt}}var nn,pC,co,hn,kC,s_,e_="Mainnet",nA="0xa4b1",oA="0x0000000000000000000000000000000000000000",yA,fA;var IC=u(()=>{ST();gn();xC();nn=require("@swapkit/helpers"),pC=require("ethers"),co=require("ts-pattern"),hn=nn.Chain.HyperCore,{baseDecimal:kC}=nn.getChainConfig(hn),s_={HYPE:kC,USDC:6,USDT:6},yA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},fA={spotSend:"HyperliquidTransaction:SpotSend"}});var ot={};Bn(ot,{validateHyperCoreAddress:()=>nt,getHyperCoreToolbox:()=>lA,createUserSignedActionRequest:()=>PC,createTransaction:()=>sT,createL1ActionRequest:()=>uC,buildUsdClassTransferAction:()=>E_,buildUpdateLeverageAction:()=>u_,buildUpdateIsolatedMarginAction:()=>P_,buildTopUpIsolatedOnlyMarginAction:()=>I_,buildTokenDelegateAction:()=>K_,buildSendAssetAction:()=>b_,buildScheduleCancelAction:()=>$_,buildOrderAction:()=>x_,buildModifyAction:()=>p_,buildCancelByCloidAction:()=>S_,buildCancelAction:()=>F_,buildBatchModifyAction:()=>k_,buildApproveBuilderFeeAction:()=>V_,buildApproveAgentAction:()=>v_});module.exports=Zn(ot);var yt=u(()=>{IC()});async function bC(n){let y=g.AssetValue.from({address:n,chain:g.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 XA(n){let y=await sn(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=g.getChainConfig(g.Chain.Solana),C=await y.getBalance(f),H=[g.AssetValue.from({chain:g.Chain.Solana,fromBaseDecimal:t,value:C||0})],_=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:A}of _.value){let X=A.data.parsed.info,M=X.mint,l=X.tokenAmount.amount;if(Number(l)===0)continue;let w=await bC(M),q=w?.symbol||"UNKNOWN",G=w?.decimals||X.tokenAmount.decimals;H.push(g.AssetValue.from({asset:`${g.Chain.Solana}.${q}-${M}`,fromBaseDecimal:G,value:l}))}return H}function Tt(n){try{let y=new en.PublicKey(n);return en.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function WA(n){let y=n&&"index"in n?n.index||0:0,T=g.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[g.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Dy.match(n).with({phrase:Dy.P.string},({phrase:C})=>ft({derivationPath:T,phrase:C})).with({signer:Dy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?EC(C.publicKey):""}return{broadcastTransaction:Qf(sn),createKeysForPath:ft,createTransaction:tt(sn),createTransactionFromInstructions:QA,estimateTransactionFee:BA(sn),getAddress:t,getAddressFromPubKey:EC,getBalance:Rn(g.Chain.Solana),getBalanceFromRPC:XA,getConnection:sn,getPubkeyFromAddress:(C)=>new en.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await $C(sn,f)(C);return Qf(sn)(H)},signTransaction:$C(sn,f),transfer:ZA(sn,f),validateAddress:Tt}}function BA(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),_=(await tt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),A=await C.getFeeForMessage(_);if(A.value===null)throw new g.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:X}=g.getChainConfig(g.Chain.Solana);return g.AssetValue.from({chain:g.Chain.Solana,fromBaseDecimal:X,value:A.value})}}async function sn(){let{Connection:n}=await import("@solana/web3.js"),y=await g.getRPCUrl(g.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let _=C.toLowerCase();if(_!=="pragma"&&_!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function MA(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new en.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:_}=await import("@solana/web3.js");return new H().add(_.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new en.PublicKey(T)}))}if(y.address)return LA({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function LA({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:X}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),l=new M,w=new en.PublicKey(n),q=await H(w,T),G=new en.PublicKey(y),Q=await H(w,G,C),z=!1;try{await _(o,Q),z=!0}catch{}if(!z)l.add(A(T,Q,G,w));return l.add(X(q,w,Q,T,f,t)),l}function tt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new en.PublicKey(t);if(!(f||Tt(y)))throw new g.SwapKitError("core_transaction_invalid_recipient_address");let _=await n(),A=await MA(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!A)throw new g.SwapKitError("core_transaction_invalid_sender_address");if(o)A.add(C(o));let X=await _.getLatestBlockhash();return A.recentBlockhash=X.blockhash,A.feePayer=H,A}}async function QA({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new g.SwapKitError("core_transaction_invalid_sender_address");return T}function ZA(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new g.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),_=await tt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let A=await C.signTransaction(_);return Qf(n)(A)}return _.sign(C),Qf(n)(_)}}function Qf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function $C(n,y){return async(T)=>{let o=await y();if(!o)throw new g.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 ft({phrase:n,derivationPath:y=g.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 EC(n){return n.toString()}var en,g,Dy;var vC=u(()=>{gn();en=require("@solana/web3.js"),g=require("@swapkit/helpers"),Dy=require("ts-pattern")});var Ct={};Bn(Ct,{validateSolanaAddress:()=>Tt,getSolanaToolbox:()=>WA,fetchTokenMetaData:()=>bC,createKeysForPath:()=>ft});module.exports=Zn(Ct);var Ht=u(()=>{vC()});function Zf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Jf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),_=o(n),X=T.fromMasterSeed(_).derive(y);if(!X.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(X.privateKey).toString("hex")),l=f.starkCurve.grindKey(M),w=C.addHexPrefix(l),q=f.starkCurve.getStarkKey(w),G=H.compile([q,0]);return{address:t.calculateContractAddressFromHash(q,At,G,0),privateKey:w,publicKey:q}}async function Ut({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Jf({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 KC(n){let y=c.Chain.Starknet,T=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:T})),f,t,C;async function H(){if(t)return t;let{RpcProvider:U}=await import("starknet"),B=await c.getRPCUrl(y);return t=new U({nodeUrl:B}),t}async function _(U){let B=await H(),J=U||await l();if(!J)return!1;try{return await B.getClassHashAt(J),!0}catch(D){if(D instanceof Error&&D.message.includes("Contract not found"))return!1;let R=D;if(R?.code===20||R?.code===19)return!1;throw D}}async function A(){let{CallData:U,hash:B}=await import("starknet"),J=await H(),D=await M();if(!D)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return D.address;let W=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,At,W,0).toLowerCase()!==D.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let O={addressSalt:C,classHash:At,constructorCalldata:W},{transaction_hash:F}=await D.deployAccount(O);return await J.waitForTransaction(F),F}async function X(){if(!await _()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function M(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:U})=>{let{Account:B,RpcProvider:J}=await import("starknet"),{privateKey:D,address:R,publicKey:W}=await Jf({derivationPath:o,phrase:U});C=W;let N=await c.getRPCUrl(c.Chain.Starknet),O=new J({nodeUrl:N});return new B({address:R,provider:O,signer:D})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:U,address:B})=>{let{Account:J}=await import("starknet"),D=await H();return new J({address:B,provider:D,signer:U})}).with({signer:En.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function l(){return(await M())?.address??""}async function w(U){let B=await H(),{uint256:J,CallData:D}=await import("starknet"),R=[],W=[_t,VC];for(let N of W)try{let[O="0",F="0"]=await B.callContract({calldata:D.compile({account:U}),contractAddress:N,entrypoint:"balanceOf"}),p=J.uint256ToBN({high:O,low:F});En.match(N).with(_t,()=>{R.push(c.AssetValue.from({chain:y,value:p}))}).with(VC,()=>{if(p>0n)R.push(c.AssetValue.from({asset:`${y}.ETH-${N}`,value:p}))}).otherwise(()=>{})}catch{}return R}async function q({recipient:U,assetValue:B}){let{CallData:J,uint256:D}=await import("starknet");if(!Zf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let R=B.isGasAsset?_t:B.address;if(!R)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:R,assetValue:B});let W=D.bnToUint256(B.getBaseValue("bigint"));return[{calldata:J.compile([U,W]),contractAddress:R,entrypoint:"transfer"}]}async function G({recipient:U,assetValue:B,sender:J}){let{baseDecimal:D}=c.getChainConfig(c.Chain.Starknet),R=await M(),W=await En.match({sender:J,signer:R}).with({sender:En.P.string},async({sender:N})=>{let{Account:O}=await import("starknet"),F=await H();return new O({address:N,provider:F,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:N})=>N).otherwise((N)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:N}})});try{let N=await q({assetValue:B,recipient:U}),O=await W.estimateInvokeFee(N);if(O?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:D,value:O.overall_fee})}catch(N){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",N)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Q({recipient:U,assetValue:B,memo:J}){let D=await M();if(!D)throw new c.SwapKitError("toolbox_starknet_no_signer");await X();let R=await q({assetValue:B,memo:J,recipient:U});return(await D.execute(R)).transaction_hash}async function z(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");let J=await B.signMessage(U);return Array.isArray(J)?J:[J.r.toString(),J.s.toString()]}async function L(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");return await X(),(await B.execute(U)).transaction_hash}function Y(U){return L(U)}function Z(U,B=!0){try{return Rn(y)(U,B)}catch{return w(U)}}return{broadcastTransaction:L,createKeysForPath:Ut,createTransaction:q,deployAccount:A,estimateTransactionFee:G,getAddress:l,getBalance:Z,getProvider:H,isAccountDeployed:_,signAndBroadcastTransaction:Y,signMessage:z,transfer:Q,validateAddress:Zf}}var c,En,_t="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",VC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",At="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var jC=u(()=>{gn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Yf={};Bn(Yf,{validateStarknetAddress:()=>Zf,starknetCreateKeysForPath:()=>Ut,getStarknetToolbox:()=>KC,deriveStarknetKeys:()=>Jf});module.exports=Zn(Yf);var Nf=u(()=>{jC()});async function hC(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?hC(n,y,T,C,t.nextCursor):C}function JA(n,y,T){let o=y.reduce((_,A)=>_+BigInt(A.balance),0n);if(o<T)throw new fn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((_,A)=>{if(_.total>=T)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function mC(n){try{return iC.isValidSuiAddress(n)}catch{return!1}}function cC(n){return"signWithIntent"in n}function YA({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await Oy.match(y).with({phrase:Oy.P.string},async({phrase:q})=>{let{Ed25519Keypair:G}=await import("@mysten/sui/keypairs/ed25519");return G.deriveKeypair(q)}).with({signer:Oy.P.any},({signer:q})=>q).otherwise(()=>{return}),T}async function f(q=n){let{SuiClient:G,getFullnodeUrl:Q}=await import("@mysten/sui/client");return new G({url:q||Q("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(q){try{let G=fn.AssetValue.from({address:q,chain:fn.Chain.Sui});return{asset:G.toString(),decimals:G.decimal}}catch{}return null}async function H(q){let G=q||await t();if(!G)throw new fn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Q,chain:z}=fn.getChainConfig(fn.Chain.Sui);try{let L=await f(),{totalBalance:Y}=await L.getBalance({owner:G}),Z=[fn.AssetValue.from({chain:z,fromBaseDecimal:Q,value:Y})],U=await L.getAllBalances({owner:G});for(let{coinType:B,totalBalance:J}of U){if(B==="0x2::sui::SUI"||Number(J)<=0)continue;let D=C(B);if(D)Z.push(fn.AssetValue.from({asset:D.asset,fromBaseDecimal:D.decimals,value:J}))}return Z}catch{return[fn.AssetValue.from({chain:z})]}}async function _(q){let G=fn.AssetValue.from({chain:fn.Chain.Sui,value:"0.01"});if(!q)return G;try{let Q=await f(),{txBytes:z}=await A(q),{effects:{status:L,gasUsed:Y}}=await Q.dryRunTransactionBlock({transactionBlock:z});if(L.status!=="success")return G;let Z=Number(Y.computationCost)+Number(Y.storageCost)-Number(Y.storageRebate);return fn.AssetValue.from({chain:fn.Chain.Sui,value:Z.toString()})}catch{return G}}async function A({recipient:q,assetValue:G,gasBudget:Q,sender:z}){let{Transaction:L}=await import("@mysten/sui/transactions"),Y=z||await t();if(!Y)throw new fn.SwapKitError("toolbox_sui_no_sender");try{let Z=new L;if(Z.setSender(Y),G.isGasAsset||G.symbol==="SUI"){let[J]=Z.splitCoins(Z.gas,[G.getBaseValue("string")]);Z.transferObjects([J],q)}else{let J=G.address;if(!J)throw new fn.SwapKitError("toolbox_sui_missing_coin_type");let D=await f(),R=G.getBaseValue("bigint"),W=await hC(D,Y,J);if(!W.length)throw new fn.SwapKitError("toolbox_sui_no_coins_found",{coinType:J});let N=JA(Z,W,R);Z.transferObjects([N],q)}if(Q)Z.setGasBudget(Q);let U=await f(),B=await Z.build({client:U});return{tx:Z,txBytes:B}}catch(Z){if(Z instanceof fn.SwapKitError)throw Z;throw new fn.SwapKitError("toolbox_sui_transaction_creation_error",{error:Z})}}async function X(q){let G=await o();if(!G)throw new fn.SwapKitError("toolbox_sui_no_signer");if(q instanceof Uint8Array)return G.signTransaction(q);let{txBytes:Q}="tx"in q?q:await A(q);return G.signTransaction(Q)}async function M({assetValue:q,gasBudget:G,recipient:Q}){let z=await o();if(!z)throw new fn.SwapKitError("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new fn.SwapKitError("toolbox_sui_no_sender");let{txBytes:Y}=await A({assetValue:q,gasBudget:G,recipient:Q,sender:L}),Z=await f();if(!cC(z)){let B=await z.signTransaction(Y),{digest:J}=await Z.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return J}let{digest:U}=await Z.signAndExecuteTransaction({signer:z,transaction:Y});return U}async function l(q){let G=await f(),{digest:Q}=await G.executeTransactionBlock({signature:q.signature,transactionBlock:q.bytes});return Q}async function w(q){let G=await o();if(!G)throw new fn.SwapKitError("toolbox_sui_no_signer");let Q=await f(),z;if(typeof q==="string")z=Uint8Array.from(Buffer.from(q,"base64"));else if(q instanceof Uint8Array)z=q;else z=await q.build({client:Q});if(!cC(G)){let Y=await G.signTransaction(z),{digest:Z}=await Q.executeTransactionBlock({signature:Y.signature,transactionBlock:Y.bytes});return Z}let{digest:L}=await Q.signAndExecuteTransaction({signer:G,transaction:z});return L}return{broadcastTransaction:l,createTransaction:A,estimateTransactionFee:_,getAddress:t,getBalance:H,signAndBroadcastTransaction:w,signTransaction:X,transfer:M,validateAddress:mC}}var iC,fn,Oy;var rC=u(()=>{iC=require("@mysten/sui/utils"),fn=require("@swapkit/helpers"),Oy=require("ts-pattern")});var zf={};Bn(zf,{validateSuiAddress:()=>mC,getSuiToolbox:()=>YA});module.exports=Zn(zf);var Df=u(()=>{rC()});async function RA(){let n=Date.now();if(Of&&n-dC<OA)return Of;try{return Of=await aC.getHttpEndpoint(),dC=n,Of}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function xA(n={}){let y,T,o;async function f(){if(!y){let Z=n.provider??await RA();y=new m.TonClient({endpoint:Z})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Fo.match(n).with({phrase:Fo.P.string},async({phrase:Z})=>sC.mnemonicToWalletKey(Z.split(" "))).with({signer:Fo.P.any},({signer:Z})=>Z).otherwise(()=>{return}),o}async function H(Z){if(!T||Z){let U=await C(),B=await f(),J=Z||U;if(!J)throw new qn.SwapKitError("core_wallet_connection_not_found");let D=m.WalletContractV4.create({publicKey:J.publicKey,workchain:0});T=B.open(D)}return T}let _=Rn(qn.Chain.Ton);async function A({assetValue:Z,recipient:U,memo:B,sender:J}){if(Z.isGasAsset){let h=B?Y(B).toBoc().toString("base64"):void 0;return[{address:U,amount:Z.getBaseValue("string"),payload:h}]}let D=Z.address;if(!D)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:Z.toString()}});let R=J??await t(),W=await z({jettonMasterAddress:D,ownerAddress:R}),N=m.Address.parse(U),O=m.Address.parse(R),F=Z.getBaseValue("bigint"),p=B?Y(B):void 0,V=L({destinationAddress:N,forwardPayload:p,jettonAmount:F,responseAddress:O});return[{address:W.toString(),amount:DA.toString(),payload:V.toBoc().toString("base64")}]}function X({sender:Z,...U}){return A({...U,sender:Z})}function M(Z){return Z.map((U)=>{let B=U.payload?m.Cell.fromBase64(U.payload):void 0,J=U.stateInit?m.loadStateInit(m.Cell.fromBase64(U.stateInit).asSlice()):void 0,D=m.Address.parse(U.address),R=m.Address.isFriendly(U.address)?m.Address.parseFriendly(U.address).isBounceable:!0;return m.internal({body:B,bounce:R,init:J,to:D,value:BigInt(U.amount)})})}async function l(Z){let U=await C(),B=await H();if(!B||!U)throw new qn.SwapKitError("core_wallet_connection_not_found");let J=await f(),{state:D}=await J.getContractState(B.address),R=D==="active",W=R?await B.getSeqno():0,N=B.createTransfer({messages:M(Z),secretKey:U.secretKey,sendMode:gC,seqno:W}),O=m.external({body:N,init:R?void 0:B.init,to:B.address});return m.beginCell().store(m.storeMessage(O)).endCell()}async function w(Z){return await(await f()).sendFile(Z.toBoc()),Z.hash().toString("hex")}async function q(Z){let U=await l(Z);return w(U)}async function G({assetValue:Z,recipient:U,memo:B}){let J=await X({assetValue:Z,memo:B,recipient:U});return q(J)}async function Q({sender:Z,...U}){let{baseDecimal:B}=qn.getChainConfig(qn.Chain.Ton),J=await Fo.match(Z).with(Fo.P.string,(W)=>{return m.Address.parseFriendly(W).address}).otherwise(async()=>{return(await H()).address});if(!J)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let D=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),R=await f();try{let W=await X({sender:Z,...U}),N=await C(),O=await H();if(!O||!N)return D;let F=await O.getSeqno(),p=O.createTransfer({messages:M(W),secretKey:N.secretKey,sendMode:gC,seqno:F}),{source_fees:V}=await R.estimateExternalMessageFee(J,{body:p,ignoreSignature:!0,initCode:null,initData:null}),h=V.in_fwd_fee+V.storage_fee+V.gas_fee+V.fwd_fee;return D.set(qn.SwapKitNumber.fromBigInt(BigInt(h),B))}catch{return D}}async function z({jettonMasterAddress:Z,ownerAddress:U}){try{let B=await f(),J=m.Address.parse(Z),D=m.Address.parse(U);return await B.open(m.JettonMaster.create(J)).getWalletAddress(D)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:Z,ownerAddress:U}})}}function L({jettonAmount:Z,destinationAddress:U,responseAddress:B,forwardAmount:J=zA,forwardPayload:D}){let R=m.beginCell().storeUint(NA,32).storeUint(0,64).storeCoins(Z).storeAddress(U).storeAddress(B).storeBit(0).storeCoins(J);if(D)R.storeBit(1).storeRef(D);else R.storeBit(0);return R.endCell()}function Y(Z){return m.beginCell().storeUint(0,32).storeStringTail(Z).endCell()}return{broadcastTransaction:w,createTransaction:X,estimateTransactionFee:Q,getAddress:t,getBalance:_,getJettonWalletAddress:z,sign:l,signAndBroadcastTransaction:q,transfer:G,validateAddress:eC}}function eC(n){try{return m.Address.parse(n),!0}catch{return!1}}var aC,qn,sC,m,Fo,NA=260734629,zA,DA,gC,OA=60000,Of,dC=0;var n1=u(()=>{gn();aC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),sC=require("@ton/crypto"),m=require("@ton/ton"),Fo=require("ts-pattern"),zA=m.toNano("0.01"),DA=m.toNano("0.05"),gC=m.SendMode.PAY_GAS_SEPARATELY+m.SendMode.IGNORE_ERRORS});var Rf={};Bn(Rf,{validateTonAddress:()=>eC,getTONToolbox:()=>xA});module.exports=Zn(Rf);var xf=u(()=>{n1()});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)??o1.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function io({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 So(n){return n[2]??0}function y1({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:_,count:A,startIndex:X=0,change:M=!1}=H;if(bn("count",A),A<1)throw RangeError("count must be at least 1");bn("startIndex",X);let l=[];for(let w=0;w<A;w++){let q=await n({accountIndex:_,change:M,index:X+w});if(q)l.push(q)}return l}async function f(H){let{gapLimit:_=20,change:A=!1}=H??{},X=[],M=0,l=0;while(M<_){let w=await n({change:A,index:l});if(!w)break;if((await y(w.address)).some((Q)=>Q.getValue("number")>0))X.push(w),M=0;else M++;l++}return X}async function t(H=20){let[_,A]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),X=[..._,...A],M=await Promise.all(X.map(async(w)=>{let G=(await y(w.address)).reduce((Q,z)=>Q+z.getValue("number"),0);return{...w,balance:G}})),l=M.reduce((w,q)=>w+q.balance,0);return{addresses:M,total:l}}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(l)=>{return(await T(l.address)).map((q)=>({...q,address:l.address,derivationIndex:l.index,isChange:l.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var o1;var Ry=u(()=>{o1=require("@swapkit/helpers")});async function FA({chain:n,txHash:y}){let T=`${xy(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:X0(),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 xy(n){return`https://api.blockchair.com/${SA(n)}`}function f1(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 SA(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 pA(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,f1(n))}catch{return f1(n)}}async function Ff(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 t1({address:n,chain:y,apiKey:T}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Ff(`${xy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function kA({address:n,chain:y,apiKey:T}){return(await t1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function C1({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Ff(`${xy(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 PA({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Ff(`${xy(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new j.SwapKitError("toolbox_utxo_tx_not_found",{txHash:T});let{transaction:t,inputs:C,outputs:H}=f,_=C.map((X)=>X.spending_sequence),A=t.is_rbf===!0||_.some((X)=>X<uA);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:A,outputs:H,sequences:_,size:t.size,txid:t.hash,weight:t.weight}}async function IA({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await Ff(`${xy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:_,script_hex:A,block_id:X,transaction_hash:M,index:l,value:w,spending_signature_hex:q})=>({hash:M,index:l,is_confirmed:X!==-1,is_spent:_,script_hex:A,txHex:q,value:w}))}function $A(n){return n.reduce((y,T)=>y+T.value,0)}function T1(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 H1({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 IA({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),A=H.length<C,X=H.filter(({is_spent:Q})=>!Q),M=$A(X),l=f+M,w=o&&l>=o;if(A||w)return T1(X,o);let q=await H1({accumulativeValue:l,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),G=[...X,...q];return T1(G,o)}catch(H){let _=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function EA({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await H1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:_,script_hex:A,value:X}of t){let M;if(o)M=await C1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:_,txHex:M,value:X,witnessUtxo:{script:Buffer.from(A,"hex"),value:X}})}return C}function Ln(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)=>FA({chain:n,txHash:T}),getAddressData:(T)=>t1({address:T,apiKey:y,chain:n}),getBalance:(T)=>kA({address:T,apiKey:y,chain:n}),getRawTx:(T)=>C1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>pA(n),getTransactionDetails:(T)=>PA({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>EA({...T,apiKey:y,chain:n})}}function bA(n){return n}function vA(){return function(y){switch(y){case j.Chain.Bitcoin:return po.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return po.NETWORKS.bitcoinCash;case j.Chain.Dash:return po.NETWORKS.dash;case j.Chain.Litecoin:return po.NETWORKS.litecoin;case j.Chain.Dogecoin:return po.NETWORKS.dogecoin;case j.Chain.Zcash:return po.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,po,uA=4294967294;var _1=u(()=>{gn();j=require("@swapkit/helpers"),po=require("@swapkit/utxo-signer")});function jA(n,y,T){return no.encodeCashAddr({hash:T,prefix:n,type:VA[y]})}function cA(n){let y=no.decodeCashAddr(n),T=KA[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var no,VA,KA,wt;var A1=u(()=>{no=require("@swapkit/utxo-signer"),VA={P2PKH:no.CashAddrType.P2PKH,P2SH:no.CashAddrType.P2SH},KA={[no.CashAddrType.P2PKH]:"P2PKH",[no.CashAddrType.P2SH]:"P2SH"};wt={decode:cA,encode:jA}});function lt(n){try{return Sf(n),!0}catch{return!1}}function Xt(n){return Sf(n)?.network}function oo(n){let y=Sf(n);if(y?.format==="legacy")return n;return mA(y)}function Fy(n){let y=Sf(n);return rA(y)}function Sf(n){try{let y=iA(n);if(y)return y}catch{}try{let y=hA(n);if(y)return y}catch{}throw new qt.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function iA(n){try{let y=G1.decode(n);if(y.length!==21)throw new qt.SwapKitError("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case ko.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case ko.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case ko.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case ko.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case ko.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case ko.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function hA(n){if(n.indexOf(":")!==-1)try{return U1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return U1(`${T}:${n}`)}catch{}}return}function U1(n){try{let{hash:y,prefix:T,type:o}=wt.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 mA(n){let y=ko.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),G1.encode(T)}function rA(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return wt.encode(y,T,o)}var w1,q1,qt,G1,Gt,ko;var l1=u(()=>{A1();w1=require("@noble/hashes/sha2.js"),q1=require("@scure/base"),qt=require("@swapkit/helpers"),G1=q1.createBase58check(w1.sha256);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(Gt||={});ko={["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 W1.Script.encode(["RETURN",y])}var X1,W1,gA=1000,kf=10,uf=2,B1=10,dA=41,aA=107,Pf,pf,Sy,ho=(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 X1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},uo=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?ho(n[0].address):"P2PKH",t=(T?n.filter((A)=>A.value>=pf["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(T)):n).reduce((A,X)=>A+Xo(X),0),C=y?.reduce((A,X)=>A+py(X),0)||Sy[o],H=kf+t+C;return o==="P2WPKH"?Math.ceil(H+uf/4):H},Xo=(n)=>{if("type"in n&&n.type)return pf[n.type];if("address"in n&&n.address)return pf[ho(n.address)];return dA+aA},py=(n,y)=>{if(n?.script)return B1+n.script.length+(n.script.length>=74?2:1);if(y)return Sy[y];if("address"in n&&n.address)return Sy[ho(n.address)];return Sy.P2PKH};var Wt=u(()=>{X1=require("@swapkit/helpers"),W1=require("@swapkit/utxo-signer");((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(Pf||={});pf={["P2PKH"]:148,["P2WPKH"]:68},Sy={["P2PKH"]:34,["P2WPKH"]:31}});function ky(n){switch(n){case mn.Chain.Bitcoin:case mn.Chain.BitcoinCash:return 550;case mn.Chain.Dash:case mn.Chain.Litecoin:return 5500;case mn.Chain.Dogecoin:return 1e5;case mn.Chain.Zcash:return 546;default:throw new mn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:T=1,chain:o=mn.Chain.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?ho(n[0].address):"P2PKH",C=n.filter((q)=>Xo(q)*T<=q.value),_=t==="P2WPKH"?Math.ceil(uf/4):0,A=kf+_+y.reduce((q,G)=>q+py(G),0),X=y.reduce((q,G)=>q+G.value,0),M=A*T,l=0,w=[];for(let q of C){let G=Xo(q),Q=T*G;M+=Q,l+=q.value,w.push(q);let z=M+X;if(l<z)continue;let L=l-z,Y=T*py({address:f,value:0});if(L>Y){let Z=Y+M,U=l-(X+Math.ceil(Z));if(U>Math.max(Xo({value:0})*T,ky(o)))return{fee:Math.ceil(Z),inputs:w,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:w,outputs:y}}return{fee:Math.ceil(T*uo({inputs:n,outputs:y}))}}var mn;var M1=u(()=>{Wt();mn=require("@swapkit/helpers")});var mo=u(()=>{_1();l1();M1();Wt()});function Po(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Wo(n){let y=Po(n);return lt(y)&&Xt(y)==="mainnet"}function ro(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=If.Address(If.ZCASH_NETWORK).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var If;var uy=u(()=>{mo();If=require("@swapkit/utxo-signer")});function Lt({address:n,chain:y}){return Mt.match(y).with(S.Chain.BitcoinCash,()=>Wo(n)).with(S.Chain.Zcash,()=>ro(n)).otherwise(()=>{try{return r.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return Mt.match(n).with(S.Chain.Bitcoin,()=>r.NETWORKS.bitcoin).with(S.Chain.BitcoinCash,()=>r.NETWORKS.bitcoinCash).with(S.Chain.Dash,()=>r.NETWORKS.dash).with(S.Chain.Dogecoin,()=>r.NETWORKS.dogecoin).with(S.Chain.Litecoin,()=>r.NETWORKS.litecoin).with(S.Chain.Zcash,()=>r.NETWORKS.zcash).exhaustive()}function sA({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Ef.mnemonicToSeedSync(n),C=Bt.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 L1(n){return Q1.secp256k1.getPublicKey(n,!0)}function Iy({publicKey:n,chain:y,network:T}){if(y===S.Chain.BitcoinCash){let t=r.p2pkh(n,T);if(!t.hash)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:t.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!Py.includes(y)?r.p2wpkh(n,T):r.p2pkh(n,T);if(!f.address)throw new S.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function go({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=Dn(T);if(o){let A=r.WIF(t).decode(o),X=L1(A);return{privateKey:A,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=sA({derivationPath:C,network:t,phrase:n,seed:f}),_=L1(H);return{privateKey:H,publicKey:_}}function eA(n,y){return r.WIF(Dn(y)).encode(n)}function n5({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??Ef.mnemonicToSeedSync(n),H=Bt.HDKey.fromMasterSeed(C,t.bip32),_=f.slice(0,4).join("/");return H.derive(_)}function Mo({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=Dn(T),_=!Py.includes(T),A=C?r.RBF_SEQUENCE:void 0,X=new Set;for(let M of n){let l=`${M.hash}:${M.index}`;if(X.has(l))throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});X.add(l);let w=typeof M.hash==="string"?Bo.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)o.addInput({index:M.index,sequence:A,txid:w,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:Bo.hex.decode(M.txHex),sequence:A,txid:w,...T===S.Chain.BitcoinCash?{sighashType:r.BCHSigHash.ALL}:{}});else throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let l="address"in M&&M.address?M.address:f;if(T===S.Chain.BitcoinCash)l=oo(l);if(M.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(l,BigInt(M.value),H)}return{inputs:n,tx:o}}async function ao(n){let y=await Ln(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 Z1({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await ao(t))[S.FeeOption.Fastest],H=f||Py.includes(t),_=n.getBaseValue("number"),A=Math.ceil(_+C*5000);return{inputs:await Ln(t).getUtxos({address:o,fetchTxHex:H,targetValue:A}),outputs:[{address:y,value:_},...T?[{address:"",script:kn(T),value:0}]:[]]}}async function J1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,_=T?kn(T):null,A=await Z1({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:X,outputs:M}=vn({...A,chain:H,feeRate:o});if(!(X&&M))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let l=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:w,tx:q}=Mo({chain:H,compiledMemo:_,enableRBF:C,inputs:X,outputs:M,sender:f,tx:l});return{inputs:w,tx:q,utxos:A.inputs}}async function Y1({assetValue:n,feeOptionKey:y=S.FeeOption.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await Z1({assetValue:n,memo:o,recipient:t,sender:f}),_=T?Math.floor(T):(await ao(C))[y];return vn({...H,chain:C,feeRate:_})}function o5(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=S.FeeOption.Fast,recipients:C=1}){let H=await Ln(n).getAddressData(T),_=f?Math.ceil(f):(await ao(n))[t],A=H?.utxo.map((G)=>({...G,hash:"",type:"P2PKH"})).filter((G)=>G.value>Math.max(ky(n),Xo(G)*_));if(!A?.length)return S.AssetValue.from({chain:n});let X=BigInt(A.reduce((G,Q)=>G+Q.value,0)),M=S.AssetValue.from({chain:n,value:X}),l=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)l.push({address:T,script:kn(o),value:0});let w=uo({inputs:A,outputs:l}),q=S.AssetValue.from({chain:n,value:BigInt(w*_)});return M.sub(q)}}function y5(n){return async function(T){let{fee:o}=await Y1(T);return S.AssetValue.from({chain:n,value:S.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function f5({chain:n,phrase:y,derivationPath:T,seed:o}){let f=Dn(n),{privateKey:t,publicKey:C}=go({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===S.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>Iy({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(_)=>{return _.sign(t,H),_}}}function T5(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:_=!1}){let A=await y?.getAddress();if(!(y&&A))throw new S.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});S.warnOnce({condition:_&&!$f.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=_&&$f.includes(n),M=C||(await ao(n))[t||S.FeeOption.Fast],{tx:l}=await J1({assetValue:H,enableRBF:X,feeRate:M,memo:o,recipient:f,sender:A}),w=await y.signTransaction(l);return w.finalize(),Ln(n).broadcastTx(Bo.hex.encode(w.extract()))}}function Qt(n){return(y)=>Lt({address:y,chain:n})}function Zt(n){let y=Dn(n);return function(o){if(!o)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return Iy({chain:n,network:y,publicKey:o.publicKey})}}function Lo({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Ef.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?f5({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,_="signer"in y?y.signer:void 0,A=H||_,X=T?go({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function M(){if(A)return A.getAddress();return Promise.resolve(void 0)}function l(W){if(!T)return;let N=lo({accountIndex:W,chain:n,derivationPath:t});return n5({chain:n,derivationPath:S.derivationPathToString(N),phrase:T,seed:f})}let w=l();function q(){if(!w)return;return w.publicExtendedKey}function G({accountIndex:W}={}){let N=W===void 0?w:l(W);if(!N)return;let O=lo({accountIndex:W,chain:n,derivationPath:t});return{accountIndex:So(O),path:S.derivationPathToString(O),xpub:N.publicExtendedKey}}function Q({accountIndex:W,index:N,change:O=!1}){let F=W===void 0?w:l(W);if(!F)return;let p=io({accountIndex:W,chain:n,change:O,derivationPath:t,index:N}),V=Dn(n),h=F.deriveChild(Number(O)).deriveChild(N);if(!h.publicKey)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let d=Iy({chain:n,network:V,publicKey:h.publicKey}),yn=Bo.hex.encode(h.publicKey);return{accountIndex:So(p),address:d,change:O,index:N,path:S.derivationPathToString(p),pubkey:yn}}async function z(W){if(!$f.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let N=await Ln(n).getTransactionDetails(W);return{canReplace:N.isRBF&&!N.confirmed,confirmed:N.confirmed,enabled:N.isRBF,fee:N.fee,sequences:N.sequences,supported:!0}}async function L({txid:W,newFeeRate:N,recipient:O,memo:F}){if(!$f.includes(n))throw new S.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let p=await Ln(n).getTransactionDetails(W);if(!p.isRBF)throw new S.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:W});if(p.confirmed)throw new S.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:p.blockId,txid:W});let V=p.inputs.reduce((Qn,to)=>Qn+to.value,0),d=p.outputs.find((Qn)=>Qn.recipient===O)?.value||0;if(d===0)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let yn=await Promise.all(p.inputs.map(async(Qn)=>{let to=await Ln(n).getRawTx(Qn.transaction_hash);return{hash:Qn.transaction_hash,index:Qn.index,txHex:to,value:Qn.value,witnessUtxo:void 0}})),Yn=F?kn(F):null,Sn=uo({feeRate:N,inputs:yn.map((Qn)=>({...Qn,type:"P2WPKH"})),outputs:[{address:O,value:d}]}),Xn=Math.ceil(Sn*N);if(Xn<=p.fee)throw new S.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Xn,originalFee:p.fee});let In=Xn-p.fee,On=d-In;if(On<=0)throw new S.SwapKitError("toolbox_utxo_rbf_insufficient_change");let jn=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Qo=[{address:O,value:On},...F?[{address:"",script:kn(F),value:0}]:[]],Zo=V-On-Xn,To=await M();if(Zo>ky(n)&&To)Qo.push({address:To,value:Zo});return Mo({chain:n,compiledMemo:Yn,inputs:yn,outputs:Qo,sender:To||O,tx:jn}),{feeDelta:In,newFee:Xn,originalFee:p.fee,tx:jn}}async function Y({txid:W,newFeeRate:N,recipient:O,memo:F}){let{tx:p,originalFee:V,newFee:h}=await L({memo:F,newFeeRate:N,recipient:O,txid:W}),d=await D(p);d.finalize();let yn=await Ln(n).broadcastTx(Bo.hex.encode(d.extract()));return{newFee:h,originalFee:V,txid:yn}}function Z({accountIndex:W,index:N,change:O=!1}){bn("index",N);let F=W===void 0?w:l(W);if(!F)return;return F.deriveChild(Number(O)).deriveChild(N).privateKey||void 0}function U({tx:W,inputDerivations:N}){if(!w)throw new S.SwapKitError("toolbox_utxo_no_signer");let O=n===S.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let F=0;F<N.length;F++){let p=N[F];if(!p)continue;let{derivationIndex:V,isChange:h}=p,d=Z({change:h,index:V});if(!d)throw new S.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${F} at index ${V}`});W.signIdx(d,F,O)}return W}async function B({utxos:W,recipient:N,assetValue:O,memo:F,feeRate:p,feeOptionKey:V,changeAddress:h}){if(!w)throw new S.SwapKitError("toolbox_utxo_no_signer");let d=p||(await ao(n))[V||S.FeeOption.Fast],yn=F?kn(F):null,Yn=[{address:N,value:O.getBaseValue("number")}];if(yn)Yn.push({address:"",script:yn,value:0});let Sn=W.map(({hash:To,index:Qn,value:to,txHex:RH,witnessUtxo:CT})=>({hash:To,index:Qn,txHex:RH,value:to,witnessUtxo:CT?{script:CT.script,value:CT.value}:void 0})),{inputs:Xn,outputs:In}=vn({chain:n,feeRate:d,inputs:Sn,outputs:Yn});if(!(Xn&&In))throw new S.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:O,sender:"multiple addresses"});let On=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),jn=W[0]?.address,Qo=h||await M()||jn||N;Mo({chain:n,compiledMemo:yn,inputs:Xn,outputs:In,sender:Qo,tx:On});let Zo=Xn.map((To)=>{let Qn=W.find((to)=>to.hash===To.hash&&to.index===To.index);return Qn?{derivationIndex:Qn.derivationIndex,isChange:Qn.isChange}:{derivationIndex:0,isChange:!1}});return U({inputDerivations:Zo,tx:On}),On.finalize(),Ln(n).broadcastTx(Bo.hex.encode(On.extract()))}function J({address:W,gapLimit:N=20}){if(!w)return;for(let O=0;O<N;O++){let F=Q({change:!1,index:O}),p=Q({change:!0,index:O}),V=F?.address===W?!1:p?.address===W;if(F?.address===W||p?.address===W)return{change:V,index:O}}return}function D(W){if(!A)throw new S.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(W)}async function R(W){let N=await D(W);return N.finalize(),await Ln(n).broadcastTx(Bo.hex.encode(N.extract()))}return{accumulative:vn,broadcastTx:(W)=>Ln(n).broadcastTx(W),bumpFee:Y,calculateTxSize:uo,createKeysForPath:(W)=>go({...W,chain:n}),createReplacementTransaction:L,createTransaction:J1,deriveAddressAtIndex:Q,derivePrivateKeyAtIndex:Z,estimateMaxSendableAmount:o5(n),estimateTransactionFee:y5(n),getAddress:M,getAddressFromKeys:Zt(n),getBalance:Rn(n),getExtendedPublicKey:q,getExtendedPublicKeyInfo:G,getFeeRates:()=>ao(n),getInputsOutputsFee:Y1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(W)=>eA(go({...W,chain:n}).privateKey,n),isRBFEnabled:z,keys:X,resolveDerivationIndex:J,signAndBroadcastTransaction:R,signTransaction:D,signTransactionWithMultipleKeys:U,transfer:T5(n,A),transferFromMultipleAddresses:B,validateAddress:Qt(n)}}var Q1,Bo,Bt,Ef,S,r,Mt,Py,$f;var so=u(()=>{gn();Ry();mo();uy();Q1=require("@noble/curves/secp256k1.js"),Bo=require("@scure/base"),Bt=require("@scure/bip32"),Ef=require("@scure/bip39"),S=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),Mt=require("ts-pattern"),Py=[S.Chain.Dash,S.Chain.Dogecoin,S.Chain.Zcash,S.Chain.BitcoinCash],$f=[S.Chain.Bitcoin]});function $y(n){return Po(Fy(n))}function t5(n){let y=Dn(rn);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 Gn.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 Yt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=Gn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Gn.updateDerivationPath(Gn.NetworkDerivationPath[rn],{index:T})),f=y?go({chain:rn,derivationPath:o,phrase:y}):void 0,t=f?t5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:_,broadcastTx:A,...X}=Lo({chain:rn});function M(q,G=!0){return H(Po(Fy(q)))}function l(q){if(!t)throw new Gn.SwapKitError("toolbox_utxo_no_signer");return t.signTransaction(q)}async function w(q){let G=await l(q);return G.finalize(),await A(Jt.hex.encode(G.extract()))}return{...X,broadcastTx:A,buildTx:H5,createTransaction:N1,getAddress:C,getAddressFromKeys:_5,getBalance:M,getFeeRates:_,signAndBroadcastTransaction:w,signTransaction:l,stripPrefix:Po,stripToCashAddress:$y,transfer:C5({broadcastTx:A,getFeeRates:_,signer:t}),validateAddress:Wo}}async function N1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!Wo(y))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await Ln(rn).getUtxos({address:$y(f),fetchTxHex:!0,targetValue:t}),H=T?kn(T):null,_=[],A=oo(y);if(_.push({address:A,value:n.getBaseValue("number")}),H)_.push({script:H,value:0});let{inputs:X,outputs:M}=vn({chain:rn,feeRate:o,inputs:C,outputs:_});if(!(X&&M))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let l=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),w=oo(f),{inputs:q,tx:G}=Mo({chain:rn,compiledMemo:H,inputs:X,outputs:M.map((Q)=>("address"in Q)&&Q.address?{...Q,address:oo(Q.address)}:Q),sender:w,tx:l});return{inputs:q,tx:G,utxos:X}}function C5({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=Gn.FeeOption.Fast,...H}){let _=await T?.getAddress();if(!(T&&_))throw new Gn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Gn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=H.feeRate||(await y())[C],{tx:X}=await N1({...H,assetValue:t,feeRate:A,recipient:f,sender:_}),M=await T.signTransaction(X);return M.finalize(),n(Jt.hex.encode(M.extract()))}}async function H5({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Fy(y);if(!Wo(t))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Ln(rn).getUtxos({address:$y(f),fetchTxHex:!0,targetValue:C}),_=Number(o.toFixed(0)),A=T?kn(T):null,X=[];if(X.push({address:oo(y),value:n.getBaseValue("number")}),A)X.push({script:A,value:0});let{inputs:M,outputs:l}=vn({chain:rn,feeRate:_,inputs:H,outputs:X});if(!(M&&l))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:q,tx:G}=Mo({chain:rn,compiledMemo:A,inputs:M,outputs:l,sender:oo(f),tx:w});return{inputs:q,tx:G,utxos:H}}function _5(n){let y=Wn.NETWORKS.bitcoinCash,T=Wn.p2pkh(n.publicKey,y);if(!T.hash)throw new Gn.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 Jt,Gn,Wn,rn;var bf=u(()=>{mo();so();uy();Jt=require("@scure/base"),Gn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),rn=Gn.Chain.BitcoinCash});function D1(){let{isStagenet:n}=Un.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function U5(n){return A5.encode(n)}function w5({phrase:n,derivationPath:y}){let T=zt.mnemonicToSeedSync(n),f=Nt.HDKey.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new Un.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:_}=Un.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),X=new Uint8Array(A.length+H.length);X.set(A,0),X.set(H,A.length);let M=U5(X);return{getAddress:()=>Promise.resolve(M),signTransaction:(l)=>{if(l instanceof tn.PCZT)return l.signAllInputs(t,C,tn.ZcashSigHash.ALL),l.finalizeAllInputs(),Promise.resolve(l.extract());return l.signAllInputs(t,C,tn.ZcashSigHash.ALL),Promise.resolve(l)}}}function q5({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=D1();for(let C of n){let H=tn.Address(t).decode(o),_=tn.OutScript.encode(H);T.addInput({index:C.index,script:_,sequence:4294967295,txid:vf.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,_=C.script;if(_&&!f)continue;if(_&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function z1(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?kn(o):null,_=await Ln(Un.Chain.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),A=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:X,outputs:M}=vn({chain:Un.Chain.Zcash,changeAddress:t,feeRate:f,inputs:_,outputs:A});if(!(X&&M))throw new Un.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let l=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:w,inputs:q}=q5({compiledMemo:H,inputs:X,outputs:M,sender:t,tx:l});return{inputs:q,outputs:M,tx:w}}function Dt(n){let y=eo.match(n).with({signer:eo.P.not(eo.P.nullish)},({signer:_})=>_).with({phrase:eo.P.string},({phrase:_,derivationPath:A,index:X=0})=>{let M=A||Un.NetworkDerivationPath[Un.Chain.Zcash]||[44,133,0,0,0],l=Un.updateDerivationPath(M,{index:X}),w=Un.derivationPathToString(l);return w5({derivationPath:w,phrase:_})}).otherwise(()=>{return}),T=Lo({chain:Un.Chain.Zcash,signer:y});async function o(_){if(!y)throw new Un.SwapKitError("toolbox_utxo_no_signer");return await y.signTransaction(_)}async function f(_){let A=await o(_);return T.broadcastTx(A.toHex())}async function t({recipient:_,assetValue:A,feeOptionKey:X=Un.FeeOption.Fast,...M}){let l=await y?.getAddress();if(!(y&&l))throw new Un.SwapKitError("toolbox_utxo_no_signer");let w=M.feeRate||(await T.getFeeRates())[X],{tx:q}=await z1({...M,assetValue:A,feeRate:w,recipient:_,sender:l}),Q=(await y.signTransaction(q)).toHex();return T.broadcastTx(Q)}function C({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let X=zt.mnemonicToSeedSync(_),l=Nt.HDKey.fromMasterSeed(X).derive(A);if(!l.privateKey||!l.publicKey)throw new Un.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:l.privateKey,publicKey:l.publicKey}}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let X=C({derivationPath:A,phrase:_}),M=D1();return tn.WIF(M).encode(X.privateKey)}return{...T,createKeysForPath:C,createTransaction:z1,getPrivateKeyFromMnemonic:H,signAndBroadcastTransaction:f,signTransaction:o,transfer:t,validateAddress:ro}}var vf,Nt,zt,Un,tn,eo,A5;var Ot=u(()=>{mo();so();uy();vf=require("@scure/base"),Nt=require("@scure/bip32"),zt=require("@scure/bip39"),Un=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),eo=require("ts-pattern");A5=vf.createBase58check(tn.utils.sha256)});function F1({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=R1.HDKey.fromExtendedKey(n,t.bip32),H=lo({accountIndex:f,chain:y}),_=So(H),A=[];for(let X of[!1,!0]){let M=C.deriveChild(Number(X));for(let l=0;l<T;l++){let w=o+l,q=M.deriveChild(w);if(!q.publicKey)continue;let G=io({accountIndex:f,chain:y,change:X,index:w});A.push({accountIndex:_,address:Iy({chain:y,network:t,publicKey:q.publicKey}),change:X,index:w,path:x1.derivationPathToString(G),pubkey:O1.hex.encode(q.publicKey)})}}return A}var O1,R1,x1;var S1=u(()=>{Ry();so();O1=require("@scure/base"),R1=require("@scure/bip32"),x1=require("@swapkit/helpers")});function G5(n,y){switch(n){case yo.Chain.BitcoinCash:return Yt(y||{});case yo.Chain.Zcash:return Dt(y);case yo.Chain.Bitcoin:case yo.Chain.Dogecoin:case yo.Chain.Litecoin:case yo.Chain.Dash:return Lo({chain:n,...y});default:throw new yo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var yo;var p1=u(()=>{bf();so();Ot();Ry();S1();bf();uy();yo=require("@swapkit/helpers")});var Rt={};Bn(Rt,{validateZcashAddress:()=>ro,validateUtxoAddress:()=>Lt,validateBchAddress:()=>Wo,toLegacyAddress:()=>oo,toCashAddress:()=>Fy,stripToCashAddress:()=>$y,stripPrefix:()=>Po,nonSegwitChains:()=>Py,isValidAddress:()=>lt,getUtxoToolbox:()=>G5,getUtxoNetwork:()=>vA,getUtxoApi:()=>Ln,getUTXOAddressValidator:()=>Qt,getUTXOAddressPath:()=>io,getUTXOAccountPath:()=>lo,getUTXOAccountIndexFromPath:()=>So,getScriptTypeForAddress:()=>ho,getOutputSize:()=>py,getNetworkForChain:()=>Dn,getInputSize:()=>Xo,getDustThreshold:()=>ky,detectAddressNetwork:()=>Xt,deriveAddressesFromXpub:()=>F1,createZcashToolbox:()=>Dt,createUTXOToolbox:()=>Lo,createHDWalletHelpers:()=>y1,createCustomUtxoApi:()=>bA,createBCHToolbox:()=>Yt,compileMemo:()=>kn,calculateTxSize:()=>uo,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>Zt,addInputsAndOutputs:()=>Mo,accumulative:()=>vn,UtxoNetwork:()=>Gt,UTXOScriptType:()=>Pf,TX_OVERHEAD:()=>kf,SEGWIT_MARKER_FLAG_WEIGHT:()=>uf,OutputSizes:()=>Sy,OP_RETURN_OVERHEAD:()=>B1,MIN_TX_FEE:()=>gA,InputSizes:()=>pf});module.exports=Zn(Rt);var xt=u(()=>{so();Ry();mo();p1();bf();Ot()});function Ey(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function Kf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?Vf.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=u1.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return I1(t)}async function Ft(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return I1(T)}function I1(n){return new P1(n)}async function jf(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 Vf.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 k1,Vf,u1,P1;var St=u(()=>{k1=require("@near-js/signers"),Vf=require("@swapkit/helpers"),u1=HT(require("near-seed-phrase"));P1=class P1 extends k1.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 pt(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function kt(n){return"contractId"in n&&"methodName"in n}function ut(n){return"actions"in n}function Pt(n){return"newAccountId"in n}function It(n){return"contractCode"in n}function $t(n){return"customEstimator"in n}function Et(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Jn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Jn.CONTRACT_CALL);break;case"createAccount":y+=Number(Jn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Jn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Jn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Jn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Jn.STAKE);break;default:y+=Number(Jn.CONTRACT_CALL)}return y.toString()}function bt(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Jn.TOKEN_TRANSFER;if(n==="storage_deposit")return Jn.STORAGE_DEPOSIT;return Jn.CONTRACT_CALL}function l5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function X5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Jn;var vt=u(()=>{Jn={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function Vt({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 W5(n){let y;async function T(){if(y)return y;return y=await ny.match(n).with({phrase:ny.P.string},async(W)=>{return await Kf(W)}).with({signer:ny.P.any},({signer:W})=>W).otherwise(()=>{return}),y}async function o(){let W=await on.getRPCUrl(on.Chain.Near);return new $1.JsonRpcProvider({url:W})}async function f(W){let{Account:N}=await import("@near-js/accounts"),O=await o(),F=await T(),p=W||await t();return new N(p,O,F)}async function t(){let W=await T();if(!W)throw new on.SwapKitError("toolbox_near_no_signer");return await W.getAddress()}async function C(W){return(await Z({changeMethods:[],contractId:W.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:W.accountId})}async function H(W){let O=[await l({args:{account_id:W.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await l({args:{amount:W.assetValue.getBaseValue("string"),memo:W.memo||null,receiver_id:W.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return U({actions:O,receiverId:W.contractId})}async function _(W){if(!await T())throw new on.SwapKitError("toolbox_near_no_signer");let{assetValue:O,recipient:F,memo:p}=W,V=await t();if(!O.isGasAsset&&O.address){if(!await C({accountId:F,contractId:O.address}))return H({assetValue:O,contractId:O.address,memo:p,recipient:F})}let h=await A({...W,sender:V});return G(h)}async function A({recipient:W,assetValue:N,memo:O,attachedDeposit:F,sender:p,functionCall:V}){let h=await o();if(!Ey(W))throw new on.SwapKitError("toolbox_near_invalid_address",{recipient:W});if(!Ey(p))throw new on.SwapKitError("toolbox_near_invalid_address",{sender:p});if(V)return M({...V,sender:p});if(!N.isGasAsset){let Zo=N.address;if(!Zo)throw new on.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:N.getBaseValue("string"),memo:O||null,receiver_id:W},attachedDeposit:F||"1",contractId:Zo,gas:"250000000000000",methodName:"ft_transfer",sender:p})}let{publicKey:d,nonce:yn}=await jf(h,p),Yn=N.getBaseValue("bigint"),{actionCreators:Sn,createTransaction:Xn}=await import("@near-js/transactions"),{baseDecode:In}=await import("@near-js/utils"),On=[Sn.transfer(Yn)];if(O&&F)On.push(Sn.functionCall("memo",{memo:O},BigInt("250000000000000"),BigInt(F)));let jn=await h.block({finality:"final"}),Qo=In(jn.header.hash);return Xn(p,d,W,yn+1,On,Qo)}function X(W){let N=W.encode();return Buffer.from(N).toString("base64")}async function M({args:W,attachedDeposit:N,contractId:O,gas:F,methodName:p,sender:V}){let h=await o(),{publicKey:d,nonce:yn}=await jf(h,V),{createTransaction:Yn,actionCreators:Sn}=await import("@near-js/transactions"),{baseDecode:Xn}=await import("@near-js/utils"),In=await h.block({finality:"final"}),On=Xn(In.header.hash),jn=[Sn.functionCall(p,Buffer.from(JSON.stringify(W)),BigInt(F),BigInt(N))];return Yn(V,d,O,yn+1,jn,On)}async function l(W){let{actionCreators:N}=await import("@near-js/transactions");return N.functionCall(W.methodName,Buffer.from(JSON.stringify(W.args)),BigInt(W.gas),BigInt(W.attachedDeposit))}async function w(W){let N=await T();if(!N)throw new on.SwapKitError("toolbox_near_no_signer");let[O,F]=await N.signTransaction(W);return F}async function q(W){return(await(await o()).sendTransaction(W)).transaction.hash}async function G(W){let N=await T();if(!N)throw new on.SwapKitError("toolbox_near_no_signer");try{let O=await w(W);return await q(O)}catch{return N.signAndSendTransactions?.({transactions:[W]})}}async function Q(W){let N=await T();if("assetValue"in W){let F=await z();try{let p=await on.getRPCUrl(on.Chain.Near),V=await fetch(p,{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:h}}=await V.json(),{execution:d,send_sir:yn}=h.transaction_costs.action_receipt_creation_config,{execution:Yn,send_sir:Sn}=h.transaction_costs.action_creation_config.transfer_cost,Xn=BigInt(Sn)+BigInt(Yn),In=BigInt(yn)+BigInt(d),jn=(Xn+In)*BigInt(F.toString());return on.AssetValue.from({chain:on.Chain.Near,value:jn})}catch(p){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",p);let V=BigInt("115123062500"),h=BigInt("108059500000"),yn=(V+h)*BigInt(F.toString());return on.AssetValue.from({chain:on.Chain.Near,value:yn})}}let O=N?await f():void 0;return B(W,O)}async function z(){let W=await o();try{return await W.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(W,N,O){if(!await T())throw new on.SwapKitError("toolbox_near_no_signer");let p=await f(),{formatNearAmount:V}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),d=V(O)||"0";return(await p.createAccount(W,h.fromString(N),BigInt(d))).transaction.hash}async function Y(W){let N=await T();try{if(!N)throw new on.SwapKitError("toolbox_near_no_signer");let{actionCreators:O}=await import("@near-js/transactions"),{contractId:F,methodName:p,args:V,deposit:h}=W,d=await f(),yn=await B({args:V||{},contractId:F,methodName:p}),Yn=O.functionCall(p,V||{},yn.getBaseValue("bigint"),BigInt(h||"1"));return(await d.signAndSendTransaction({actions:[Yn],receiverId:F})).transaction_outcome.id}catch(O){throw new on.SwapKitError("toolbox_near_transfer_failed",{error:O})}}async function Z(W){let N=await f();return Vt({account:N,changeMethods:W.changeMethods,contractId:W.contractId,viewMethods:W.viewMethods})}async function U(W){if(!await T())throw new on.SwapKitError("toolbox_near_no_signer");if(W.actions.length===0)throw new on.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:W.actions,receiverId:W.receiverId})).transaction.hash}async function B(W,N){let O=await ny.match(W).when(pt,()=>Jn.SIMPLE_TRANSFER).when(kt,(p)=>bt(p.methodName)).when(ut,(p)=>Et(p.actions)).when(Pt,()=>Jn.ACCOUNT_CREATION).when(It,()=>Jn.CONTRACT_DEPLOYMENT).when($t,(p)=>{if(!N)throw new on.SwapKitError("toolbox_near_no_account");return p.customEstimator(N)}).otherwise(()=>{throw new on.SwapKitError("toolbox_near_invalid_gas_params")}),F=BigInt(O)*BigInt(1000000000000);return on.AssetValue.from({chain:on.Chain.Near,value:F})}function J(W,N){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),B(W,N)}async function D(){let W=await o();try{return(await W.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function R(){let W=await T();return W?(await W.getPublicKey()).toString():""}return{broadcastTransaction:q,callFunction:Y,createAction:l,createContract:Z,createContractFunctionCall:M,createSubAccount:L,createTransaction:A,estimateGas:J,estimateGasLimit:B,estimateTransactionFee:Q,executeBatchTransaction:U,getAddress:t,getBalance:Rn(on.Chain.Near),getGasPrice:D,getNearProvider:o,getPublicKey:R,getSignerFromPhrase:Kf,getSignerFromPrivateKey:Ft,serializeTransaction:X,signAndBroadcastTransaction:G,signTransaction:w,transfer:_,validateAddress:Ey}}var $1,on,ny;var Kt=u(()=>{gn();St();vt();$1=require("@near-js/providers"),on=require("@swapkit/helpers"),ny=require("ts-pattern")});var E1=u(()=>{Kt()});var jt={};Bn(jt,{validateNearAddress:()=>Ey,tgasToGas:()=>l5,isSimpleTransfer:()=>pt,isCustomEstimator:()=>$t,isContractDeployment:()=>It,isContractCall:()=>kt,isBatchTransaction:()=>ut,isAccountCreation:()=>Pt,getNearToolbox:()=>W5,getNearSignerFromPrivateKey:()=>Ft,getNearSignerFromPhrase:()=>Kf,getFullAccessPublicKey:()=>jf,getContractMethodGas:()=>bt,gasToTGas:()=>X5,estimateBatchGas:()=>Et,createNearContract:()=>Vt,GAS_COSTS:()=>Jn});module.exports=Zn(jt);var ct=u(()=>{St();vt();Kt();E1()});var it={};Bn(it,{validateRadixAddress:()=>V1,getRadixToolbox:()=>Z5});module.exports=Zn(it);function V1(n){return n.startsWith("account_rdx1")&&n.length===66}function B5({networkApi:n}){return async function(T){let o=await M5({address:T,networkApi:n}),f=await L5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function M5({address:n,networkApi:y}){let T=!0,o,f=[],t=await Q5(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 L5({resources:n,networkApi:y}){let T=[],o=50,f=[];for(let t=0;t<n.length;t+=50)f.push(n.slice(t,t+50));for(let t of f){let C=t.map((A)=>A.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),_=new Map;for(let A of H)if(A.details!==void 0){let X=A.metadata?.items.find((l)=>l.key==="symbol"),M=X?.value.typed.type==="String"?X.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of t)if(A.aggregation_level==="Global"){let X=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=Vn.AssetValue.from({asset:X.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${X.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});T.push(M)}}return T}async function Q5(n){return(await n.status.getCurrent()).ledger_state.state_version}function Z5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,T=v1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=b1.GatewayApiClient.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:B5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:V1}}var b1,v1,Vn;var ht=u(()=>{b1=require("@radixdlt/babylon-gateway-api-sdk"),v1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function cf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function by(n){if(cf(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 K1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function J5(n){if(!cf(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 oy(n){if(cf(n))return n.toUpperCase();if(n.length<=3)return n;return by(n)}var K1;var hf=u(()=>{K1=require("@swapkit/helpers")});async function Y5(n,y){let T=oy(n),o=rf.find((f)=>oy(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await mf.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){mf.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 N5(n){return rf.filter((y)=>y.issuer===n)}function z5(n,y){let T=oy(n);return rf.some((o)=>oy(o.currency)===T&&o.issuer===y)}var mf,rf;var j1=u(()=>{hf();mf=require("@swapkit/helpers"),rf=[{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 mt={};Bn(mt,{validateRippleAddress:()=>df,parseXrplTokenIdentifier:()=>h1,normalizeCurrency:()=>oy,isKnownToken:()=>z5,isHexCurrency:()=>cf,hexToCurrency:()=>J5,hashes:()=>r1.hashes,getXrplTokenInfo:()=>Y5,getRippleToolbox:()=>O5,getKnownTokensByIssuer:()=>N5,formatXrplTokenIdentifier:()=>m1,currencyToHex:()=>by,XRPL_TOKEN_ERROR_CODES:()=>gf,XRPL_KNOWN_TOKENS:()=>rf});module.exports=Zn(mt);function h1(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(!fo.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function m1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function D5(n){if(n.isGasAsset)return fo.xrpToDrops(n.getValue("string"));let y=h1(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 i1(n){let y=fo.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function df(n){return fo.isValidAddress(n)}function O5(n={}){let y=yy.match(n).with({phrase:yy.P.string},({phrase:L})=>i1(L)).with({signer:yy.P.any},({signer:L})=>L).otherwise(()=>{return}),T;async function o(){let L=await i.getRPCUrl(i.Chain.Ripple);if(!L)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let Y=new fo.Client(L);return await Y.connect(),Y}async function f(){if(T){let L=await T.catch(()=>null);if(L?.isConnected())return L}return T=o(),T}let t=()=>{if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.getAddress()},C=async(L)=>{let Y=L||await t(),{baseDecimal:Z}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[B,J]=await Promise.all([U.request({account:Y,command:"account_info"}),U.request({account:Y,command:"account_lines"})]),D=B.result.account_data.Balance,R=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:Z,value:D})];for(let W of J.result.lines){let N=m1(W.currency,W.account);if(Number.parseFloat(W.balance)!==0)R.push(i.AssetValue.from({asset:N,asyncTokenLookup:!1,value:W.balance}))}return R}catch(B){if(B.data?.error_code===c1.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:Y,error:B}})}},H=async()=>{let{baseDecimal:L}=i.getChainConfig(i.Chain.Ripple),U=(await(await f()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:L,value:U})};async function _(L){let Y=L||await t(),Z=await f();try{return(await Z.request({account:Y,command:"account_lines"})).result.lines.map((B)=>({account:B.account,authorized:B.authorized??!1,balance:B.balance,currency:B.currency,freeze:B.freeze??!1,freezePeer:B.freeze_peer??!1,limit:B.limit,limitPeer:B.limit_peer,noRipple:B.no_ripple??!1,noRipplePeer:B.no_ripple_peer??!1,peerAuthorized:B.peer_authorized??!1,qualityIn:B.quality_in??0,qualityOut:B.quality_out??0}))}catch(U){if(U.data?.error_code===c1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:Y,error:U}})}}async function A({address:L,currency:Y,issuer:Z}){let U=await _(L),B=by(Y);return U.some((J)=>{return by(J.currency)===B&&J.account===Z})}async function X({currency:L,issuer:Y,limit:Z,sender:U}){let B=U||await t();if(!df(Y))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:Y}});let J=Number.parseFloat(Z);if(Number.isNaN(J)||J<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:Z}});let D=await f(),R={Account:B,LimitAmount:{currency:L,issuer:Y,value:Z},TransactionType:"TrustSet"};return D.autofill(R)}async function M({assetValue:L,recipient:Y,memo:Z,sender:U,destinationTag:B,extendBySeconds:J=150}){if(!df(Y))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=U||await t();if(L.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let R=D5(L),W={Account:D,Amount:R,Destination:Y,TransactionType:"Payment",...B!==void 0&&{DestinationTag:B}};if(Z)W.Memos=[{Memo:{MemoData:Buffer.from(Z).toString("hex")}}];let O=await(await f()).autofill(W);if(O.LastLedgerSequence&&J>0)O.LastLedgerSequence+=Math.ceil(J/4);return O}function l(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(L)}async function w(L){let Z=await(await f()).submitAndWait(L),{result:U}=Z;if(U.validated)return U.hash;let B=U.meta?.TransactionResult,J=yy.match(B).with(gf.tecNO_LINE,()=>"No trust line exists for this token").with(gf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(gf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...J?{reason:J}:{txResult:B}}})}let q=async(L)=>{try{let Y=await l(L);return w(Y.tx_blob)}catch(Y){if(Y instanceof i.SwapKitError)throw Y;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:Y}})}};async function G(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let Y=await y.getAddress(),Z=await M({...L,sender:Y}),U=await l(Z);return w(U.tx_blob)}async function Q(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let Y=await y.getAddress(),Z=await X({...L,sender:Y}),U=await l(Z);return w(U.tx_blob)}function z(){let L=T;if(T=null,L)L.then((Y)=>{if(Y?.isConnected())return Y.disconnect();return}).catch((Y)=>{console.warn("XRPL Cleanup failed silently:",Y)})}return{broadcastTransaction:w,createSigner:i1,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:_,hasTrustLine:A,setTrustLine:X,setTrustLineAndBroadcast:Q,signAndBroadcastTransaction:q,signTransaction:l,transfer:G,validateAddress:df}}var i,yy,fo,r1,c1,gf;var rt=u(()=>{hf();i=require("@swapkit/helpers"),yy=require("ts-pattern"),fo=require("xrpl");hf();j1();r1=require("xrpl"),c1={ACCOUNT_NOT_FOUND:19},gf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function gt(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 Io.SwapKitError("toolbox_tron_transaction_creation_failed")}function vy(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 af(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function S5(n){let y=new Map,T=0;while(T<n.length){let[o,f]=gt(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===sf){let[H,_]=gt(n,T);T=_,af(y,t,{data:new Uint8Array(vy(H)),wireType:sf})}else if(C===ef){let[H,_]=gt(n,T);T=_;let A=Number(H);if(A<0||T+A>n.length)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let X=n.slice(T,T+A);T+=A,af(y,t,{data:X,wireType:ef})}else if(C===g1){if(T+8>n.length)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,af(y,t,{data:H,wireType:g1})}else if(C===d1){if(T+4>n.length)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,af(y,t,{data:H,wireType:d1})}else throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function p5(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[_])=>H-_))for(let{wireType:H,data:_}of C){let A=BigInt(t<<3|H);if(y.push(new Uint8Array(vy(A))),H===ef)y.push(new Uint8Array(vy(BigInt(_.length))));y.push(_)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function s1(n,y){if(!n||n.length%2!==0)throw new Io.SwapKitError("toolbox_tron_transaction_creation_failed");let T=fy.hexToBytes(n),o=S5(T);if(y.expiration!==void 0)o.set(R5,[{data:new Uint8Array(vy(BigInt(y.expiration))),wireType:sf}]);if(y.data!==void 0)o.set(x5,[{data:fy.hexToBytes(y.data),wireType:ef}]);if(y.fee_limit!==void 0)o.set(F5,[{data:new Uint8Array(vy(BigInt(y.fee_limit))),wireType:sf}]);let f=p5(o),t=fy.bytesToHex(f),C=fy.bytesToHex(a1.sha256(f));return{raw_data_hex:t,txID:C}}var a1,fy,Io,sf=0,g1=1,ef=2,d1=5,R5=8,x5=10,F5=18;var e1=u(()=>{a1=require("@noble/hashes/sha2.js"),fy=require("@noble/hashes/utils.js"),Io=require("@swapkit/helpers")});function Kn(n){if(typeof n!=="string")return!1;try{let y=nT.decode(n);return y.length===21&&y[0]===yH}catch{return!1}}function fH(n){return Pn.bytesToHex(nT.decode(n))}function u5(n){return nT.decode(n).slice(1)}function TH(n){let y=dt.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),T=nH.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=yH,o.set(T,1),nT.encode(o)}function tH({txID:n,privateKey:y}){let T=dt.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 Ty({txID:n,raw_data_hex:y}){let T=Pn.bytesToHex(at.sha256(Pn.hexToBytes(y)));if(n!==T)throw new st.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function P5(n){return`000000000000000000000000${Pn.bytesToHex(u5(n))}`}function I5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=k5)throw new st.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function ty(n){return n.map(({type:y,value:T})=>y==="address"?P5(T):I5(BigInt(T))).join("")}function CH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var dt,at,nH,Pn,oH,st,nT,yH=65,k5;var et=u(()=>{dt=require("@noble/curves/secp256k1.js"),at=require("@noble/hashes/sha2.js"),nH=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),oH=require("@scure/base"),st=require("@swapkit/helpers"),nT=oH.createBase58check(at.sha256),k5=2n**256n});function _H(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return HH}}function AH(){let n=new AbortController,y=setTimeout(()=>n.abort(),v5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function Cy(n,y){let{signal:T,cleanup:o}=AH();try{let f=await fetch(`${_H()}${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 UH(n,y){let{signal:T,cleanup:o}=AH();try{let f=await fetch(`${y??_H()}${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 wH(n){if(!Kn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await UH(`/v1/accounts/${n}`,HH);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=fH(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 qH({from:n,to:y,amount:T}){let f=await Cy("/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 Ty(f),f}async function GH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await Cy("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let _=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==y||_?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return Ty(C.transaction),C.transaction}function lH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return Cy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Vy(n){try{let{result:y,txid:T}=await Cy("/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 oT(){let n={};try{let{chainParameter:y}=await UH("/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??$5,createAccountFee:n.getCreateAccountFee??E5,energyFee:n.getEnergyFee??b5}}async function n0(n){try{let y=await Cy("/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 o0(n){try{let y=await Cy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function y0(n){try{let{energy_used:y}=await lH({...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 XH({assetAddress:n,owner:y,spender:T}){let o=ty([{type:"address",value:y},{type:"address",value:T}]),t=(await lH({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,HH="https://api.trongrid.io",$5=1000,E5=1e5,b5=420,v5=30000;var WH=u(()=>{et();ln=require("@swapkit/helpers")});function JH({phrase:n,derivationPath:y}){let T=LH.HDKey.fromMasterSeed(QH.mnemonicToSeedSync(n)).derive(y);if(!T.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return MH.bytesToHex(T.privateKey)}function YH({phrase:n,derivationPath:y,index:T}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:T||0}));return JH({derivationPath:o,phrase:n})}function i5({phrase:n,derivationPath:y}){let T=JH({derivationPath:y,phrase:n}),o=TH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{Ty(f);let t=tH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function BH({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 _=CH(y);f.data=_,t.data=_}if(T){let _=n.raw_data.expiration+T*1000;f.expiration=_,t.expiration=_}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=s1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function NH(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=Hy.match(n).with({phrase:Hy.P.string},({phrase:U})=>i5({derivationPath:T,phrase:U})).with({signer:Hy.P.not(Hy.P.nullish)},({signer:U})=>U).otherwise(()=>{return}),f=!0,Promise.resolve(o)}async function C(){let U=await t();if(!U)throw new E.SwapKitError("toolbox_tron_no_signer");return U.getAddress()}async function H(U){let B=U||K5,J=await oT(),D=B*J.energyFee,R=Math.ceil(D*1.5);return Math.min(Math.max(R,1e7),150000000)}async function _({contractAddress:U,functionSelector:B,parameter:J,sender:D,memo:R,expiration:W}){let N=await y0({contractAddress:U,functionSelector:B,parameter:J,sender:D}),O=await H(N),F=await GH({contractAddress:U,feeLimit:O,functionSelector:B,ownerAddress:D,parameter:J});return BH({expiration:W,feeLimit:O,memo:R,transaction:F})}async function A(U){if(!Kn(U))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let B=await wH(U);if(!B)return[E.AssetValue.from({chain:E.Chain.Tron})];let J=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(B.balance)})],D=B.trc20?.find((R)=>(f0 in R));if(D){let R=D[f0];J.push(E.AssetValue.from({asset:`TRON.USDT-${f0}`,fromBaseDecimal:6,value:R}))}return J}catch(B){return E.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${B instanceof Error?B.message:B}`}),[E.AssetValue.from({chain:E.Chain.Tron})]}}async function X({recipient:U,assetValue:B,memo:J,expiration:D}){if(!Kn(U))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let R=await t();if(!R)throw new E.SwapKitError("toolbox_tron_no_signer");try{let W=await C(),N=await G({assetValue:B,expiration:D,memo:J,recipient:U,sender:W}),O=await R.signTransaction(N),F=await Vy(O);if(!F)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(W){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:W instanceof Error?W.message:String(W)})}}function M({requiredBandwidth:U,resources:B,feePerUnit:J}){let D=Math.max(0,B.free+B.total-B.used);return U>D?(U-D)*J:0}async function l({recipient:U,senderAddress:B}){let[J,D,R]=await Promise.all([oT(),o0(U),n0(B)]),W=D?0:J.createAccountFee,N=M({feePerUnit:J.bandwidthFee,requiredBandwidth:V5,resources:R.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:W+N})}async function w({assetValue:U,recipient:B,senderAddress:J}){let D=U.address;if(!D)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[R,W,N,O]=await Promise.all([oT(),o0(B),n0(J),y0({contractAddress:D,functionSelector:"transfer(address,uint256)",parameter:ty([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:J})]),F=W?0:R.createAccountFee,p=M({feePerUnit:R.bandwidthFee,requiredBandwidth:j5,resources:N.bandwidth}),V=Math.max(0,N.energy.total-N.energy.used),h=O>V?(O-V)*R.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:F+p+h})}async function q({assetValue:U,recipient:B,sender:J}){let D=await t();try{let R=J?J:D?await C():void 0;if(!R)return U.isGasAsset?E.AssetValue.from({chain:E.Chain.Tron,value:0.1}):E.AssetValue.from({chain:E.Chain.Tron,value:15});return U.isGasAsset?l({recipient:B,senderAddress:R}):w({assetValue:U,recipient:B,senderAddress:R})}catch(R){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${R instanceof Error?R.message:R}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:R})}}async function G({recipient:U,assetValue:B,memo:J,sender:D,expiration:R}){if(!Kn(U)||!Kn(D))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let N=await qH({amount:B.getBaseValue("number"),from:D,to:U});return BH({expiration:R,memo:J,transaction:N})}let W=B.address;if(!W)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return _({contractAddress:W,expiration:R,functionSelector:"transfer(address,uint256)",memo:J,parameter:ty([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:D})}async function Q(U){Ty(U);let B=await t();if(!B)throw new E.SwapKitError("toolbox_tron_no_signer");return B.signTransaction(U)}async function z(U){let B=await Q(U);return Vy(B)}function L({assetAddress:U,spenderAddress:B,from:J}){return XH({assetAddress:U,owner:J,spender:B})}async function Y({assetAddress:U,spenderAddress:B,from:J,amount:D}){let R=await L({assetAddress:U,from:J,spenderAddress:B});if(!D)return R>0n;return R>=BigInt(D)}async function Z({assetAddress:U,spenderAddress:B,amount:J,from:D}){if(!Kn(U)||!Kn(B))throw new E.SwapKitError("toolbox_tron_approve_failed");let R=await t();if(!R)throw new E.SwapKitError("toolbox_tron_no_signer");let W=D||await C(),N=J!==void 0?BigInt(J).toString():c5;try{let O=await _({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:ty([{type:"address",value:B},{type:"uint256",value:N}]),sender:W}),F=await R.signTransaction(O),p=await Vy(F);if(!p)throw new E.SwapKitError("toolbox_tron_approve_failed");return p}catch(O){if(O instanceof E.SwapKitError)throw O;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:O})}}return{approve:Z,broadcastTransaction:Vy,createTransaction:G,estimateTransactionFee:q,getAddress:C,getApprovedAmount:L,getBalance:A,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:Y,signAndBroadcastTransaction:z,signTransaction:Q,transfer:X,validateAddress:Kn}}var MH,LH,QH,E,Hy,ZH,V5=268,K5=65000,j5=345,f0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",c5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var zH=u(()=>{e1();WH();et();MH=require("@noble/hashes/utils.js"),LH=require("@scure/bip32"),QH=require("@scure/bip39"),E=require("@swapkit/helpers"),Hy=require("ts-pattern"),ZH=Kn});var T0={};Bn(T0,{validateTronAddress:()=>ZH,getTronToolbox:()=>NH,getTronPrivateKeyFromMnemonic:()=>YH});module.exports=Zn(T0);var t0=u(()=>{zH()});function fT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return h5.test(n)}async function m5(n){if(!fT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function DH(n={}){let y,T=n.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],o=e.derivationPathToString(T.slice(0,3));async function f({phrase:G,path:Q}){let{HDKey:z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:Y}=await import("@stellar/stellar-sdk"),Z=L(G),B=z.fromMasterSeed(Z).derive(Q,!0);return Y.fromRawEd25519Seed(Buffer.from(B.privateKey))}async function t(){if(y)return y;let G=yT.match(n).with({phrase:yT.P.string},({phrase:Q})=>Q).otherwise(()=>{return});if(!G)throw new e.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:G}),y}async function C(){let{Horizon:G}=await import("@stellar/stellar-sdk"),Q=await e.getRPCUrl(e.Chain.Stellar);return new G.Server(Q)}async function H(){try{return(await t()).publicKey()}catch{return""}}async function _(G){let Q=G||await H();if(!Q)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Q)).balances.map((Y)=>{if(Y.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:Y.balance});let Z="asset_code"in Y?Y.asset_code:"",U="asset_issuer"in Y?Y.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${Z}-${U}`,asyncTokenLookup:!1,value:Y.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function A({recipient:G,assetValue:Q,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await m5(G))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let Z=L||await H();if(!Z)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:B,Networks:J,Operation:D,TransactionBuilder:R}=await import("@stellar/stellar-sdk"),W=await C(),N=await W.fetchBaseFee(),O=await W.loadAccount(Z),F=new R(O,{fee:String(N),networkPassphrase:J.PUBLIC});if(Q.isGasAsset)try{await W.loadAccount(G),F.addOperation(D.payment({amount:Q.getValue("string"),asset:U.native(),destination:G}))}catch{F.addOperation(D.createAccount({destination:G,startingBalance:Q.getValue("string")}))}else F.addOperation(D.payment({amount:Q.getValue("string"),asset:new U(Q.symbol,Q.address),destination:G}));if(z)F.addMemo(B.text(z));return F.setTimeout(30).build()}async function X(G){let{TransactionBuilder:Q,Networks:z}=await import("@stellar/stellar-sdk"),L=await t(),Y=Q.fromXDR(G.toXDR(),z.PUBLIC);return Y.sign(L),Y}async function M(G){try{let Q=await C(),{hash:z}=await Q.submitTransaction(G);return z}catch(Q){throw new e.SwapKitError("toolbox_stellar_broadcast_error",Q)}}async function l({recipient:G,assetValue:Q,memo:z}){let L=await t(),Y=L.publicKey(),Z=await A({assetValue:Q,memo:z,recipient:G,sender:Y});Z.sign(L);try{return(await(await C()).submitTransaction(Z)).hash}catch(U){if(U instanceof e.SwapKitError)throw U;throw new e.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function w(G){let Q=await X(G);return M(Q)}async function q(){let{baseDecimal:G}=e.getChainConfig(e.Chain.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:G,value:L})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:G,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:q,getAddress:H,getBalance:_,signAndBroadcastTransaction:w,signTransaction:X,transfer:l,validateAddress:fT}}var e,yT,h5;var OH=u(()=>{e=require("@swapkit/helpers"),yT=require("ts-pattern"),h5=/^G[A-Z2-7]{55}$/});var TT={};Bn(TT,{validateStellarAddress:()=>fT,getStellarToolbox:()=>DH});module.exports=Zn(TT);var tT=u(()=>{OH()});var d5={};Bn(d5,{getToolbox:()=>C0,getFeeEstimator:()=>g5,getAddressValidator:()=>r5});module.exports=Zn(d5);var $=require("@swapkit/helpers");async function r5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (jy(),Ky)),{validateEVMAddress:T}=await Promise.resolve().then(() => (ST(),v0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (PT(),uT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Wf(),Xf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (yt(),ot)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Ht(),Ct)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Nf(),Yf)),{validateSuiAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{validateTonAddress:A}=await Promise.resolve().then(() => (xf(),Rf)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (xt(),Rt)),{validateNearAddress:M}=await Promise.resolve().then(() => (ct(),jt)),{validateRadixAddress:l}=await Promise.resolve().then(() => (ht(),it)),{validateRippleAddress:w}=await Promise.resolve().then(() => (rt(),mt)),{validateTronAddress:q}=await Promise.resolve().then(() => (t0(),T0)),{validateStellarAddress:G}=await Promise.resolve().then(() => (tT(),TT));return function({address:z,chain:L}){return n(L).with(...$.EVMChains,()=>T(z)).with(...$.UTXOChains,(Z)=>{return X(Z)(z)}).with(...$.CosmosChains,(Z)=>{return f(Z)(z)}).with($.Chain.Aptos,()=>y(z)).with($.Chain.Radix,()=>l(z)).with($.Chain.HyperCore,()=>t(z)).with($.Chain.Near,()=>M(z)).with($.Chain.Ripple,()=>w(z)).with($.Chain.Solana,()=>C(z)).with($.Chain.Stellar,()=>G(z)).with($.Chain.Starknet,()=>H(z)).with($.Chain.Sui,()=>_(z)).with($.Chain.Ton,()=>A(z)).with($.Chain.Tron,()=>q(z)).with($.Chain.Cardano,()=>o(z)).otherwise(()=>!1)}}function g5(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let t=await C0(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 C0(f)).estimateTransactionFee(T)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (jy(),Ky));return f().estimateTransactionFee(T)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Nf(),Yf));return(await f()).estimateTransactionFee(T)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (tT(),TT));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(T)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (xf(),Rf));return f().estimateTransactionFee(T)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Wf(),Xf));return f(T)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function C0(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (FT(),$0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (xt(),Rt));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Wf(),Xf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (jy(),Ky));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (yt(),ot));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (ht(),it));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (rt(),mt));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Ht(),Ct));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (tT(),TT));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Nf(),Yf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (t0(),T0));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (ct(),jt));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (PT(),uT));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (xf(),Rf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}
1
+ var I5=Object.create;var{getPrototypeOf:P5,defineProperty:Un,getOwnPropertyNames:AC,getOwnPropertyDescriptor:t5}=Object,qC=Object.prototype.hasOwnProperty;function GC(y){return this[y]}var p5,E5,U0=(y,n,o)=>{var f=y!=null&&typeof y==="object";if(f){var T=n?p5??=new WeakMap:E5??=new WeakMap,C=T.get(y);if(C)return C}o=y!=null?I5(P5(y)):{};let H=n||!y||!y.__esModule?Un(o,"default",{value:y,enumerable:!0}):o;for(let U of AC(y))if(!qC.call(H,U))Un(H,U,{get:GC.bind(y,U),enumerable:!0});if(f)T.set(y,H);return H},Ny=(y)=>{var n=(_C??=new WeakMap).get(y),o;if(n)return n;if(n=Un({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of AC(y))if(!qC.call(n,f))Un(n,f,{get:GC.bind(y,f),enumerable:!(o=t5(y,f))||o.enumerable})}return _C.set(y,n),n},_C;var V5=(y)=>y;function b5(y,n){this[y]=V5.bind(null,n)}var My=(y,n)=>{for(var o in n)Un(y,o,{get:n[o],enumerable:!0,configurable:!0,set:b5.bind(n,o)})};var P=(y,n)=>()=>(y&&(n=y(y=0)),n);function Ef(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let n=y.slice(2);if(n.length===0||n.length>64)return!1;return u5.test(n)}function XC({derivationPath:y,provider:n,...o}={}){let f,T=j.derivationPathToString(y||j.NetworkDerivationPath[j.Chain.Aptos],{allHardened:!0});async function C(){if(f)return f;return f=await Nf.match(o).with({phrase:Nf.P.string},async({phrase:Q})=>{let{Ed25519Account:B}=await import("@aptos-labs/ts-sdk");return B.fromDerivationPath({mnemonic:Q,path:T})}).with({signer:Nf.P.any},({signer:Q})=>Q).otherwise(()=>{return}),f}async function H(){let{Aptos:Q,AptosConfig:B}=await import("@aptos-labs/ts-sdk"),D=new B({fullnode:n||j.getRPCUrlSync(j.Chain.Aptos)});return new Q(D)}async function U(){return(await C())?.accountAddress.toString()||""}async function _(Q){let B=Q||await U();if(!B)throw new j.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:D,chain:L}=j.getChainConfig(j.Chain.Aptos);try{let w=await H(),N=await w.getAccountAPTAmount({accountAddress:B}),z=[j.AssetValue.from({chain:L,fromBaseDecimal:D,value:N.toString()})],J=await w.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:B}}}});for(let Y of J){if(Y.asset_type===zf.COIN_TYPE||Number(Y.amount)<=0)continue;let R=Y.asset_type;if(R){let q=("metadata"in Y&&typeof Y.metadata==="object"&&Y.metadata!==null?Y.metadata:void 0)?.decimals??D;z.push(j.AssetValue.from({asset:`${j.Chain.Aptos}.APT-${R}`,fromBaseDecimal:q,value:String(Y.amount)}))}}return z}catch{return[j.AssetValue.from({chain:L})]}}async function A(Q){if(!Q){let{baseDecimal:J}=j.getChainConfig(j.Chain.Aptos),Y=n||j.getRPCUrlSync(j.Chain.Aptos),R=await fetch(`${Y}/estimate_gas_price`),{gas_estimate:l}=await R.json();return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:J,value:String(l)})}let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");let D=await Z(Q),L=await H(),[w]=await L.transaction.simulate.simple({signerPublicKey:B.publicKey,transaction:D});if(!w)throw new j.SwapKitError("toolbox_aptos_transaction_creation_error");let N=BigInt(w.gas_used)*BigInt(w.gas_unit_price),{baseDecimal:z}=j.getChainConfig(j.Chain.Aptos);return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:z,value:N.toString()})}async function Z({recipient:Q,assetValue:B,maxGasAmount:D,sender:L}){if(!Ef(Q))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let w=L||await U();if(!w)throw new j.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:N}=await import("@aptos-labs/ts-sdk"),z=await H(),J=N.from(w);try{let Y=B.isGasAsset?zf.TRANSFER:zf.FUNGIBLE_STORE_TRANSFER,R=Nf.match({address:B?.address,isGasAsset:B.isGasAsset}).with({isGasAsset:!0},()=>[N.from(Q),B.getBaseValue("bigint")]).with({address:Nf.P.string},({address:l})=>[N.from(l),N.from(Q),B.getBaseValue("bigint")]).otherwise(()=>null);if(!R)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return z.transaction.build.simple({data:{function:Y,functionArguments:R,typeArguments:B.isGasAsset?[]:[zf.FUNGIBLE_ASSET_METADATA]},options:D?{maxGasAmount:D}:void 0,sender:J})}catch(Y){if(Y instanceof j.SwapKitError)throw Y;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",Y)}}async function M(Q){let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");return(await H()).transaction.sign({signer:B,transaction:Q})}async function W({assetValue:Q,maxGasAmount:B,recipient:D}){let L=await C();if(!L)throw new j.SwapKitError("toolbox_aptos_no_signer");if(!Ef(D))throw new j.SwapKitError("core_transaction_invalid_recipient_address");try{let w=L.accountAddress.toString(),N=await Z({assetValue:Q,maxGasAmount:B,recipient:D,sender:w});return(await(await H()).signAndSubmitTransaction({signer:L,transaction:N})).hash}catch(w){if(w instanceof j.SwapKitError)throw w;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",w)}}async function G({senderAuthenticator:Q,transaction:B}){try{return(await(await H()).transaction.submit.simple({senderAuthenticator:Q,transaction:B})).hash}catch(D){throw new j.SwapKitError("toolbox_aptos_broadcast_error",D)}}async function X(Q){let B=await M(Q);return G({senderAuthenticator:B,transaction:Q})}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:A,getAddress:U,getBalance:_,signAndBroadcastTransaction:X,signTransaction:M,transfer:W,validateAddress:Ef}}function WC({provider:y}){return async function({assetValue:o,recipient:f}){if(!Ef(f))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:T}=await import("@aptos-labs/ts-sdk");if(o.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[T.from(f).toString(),o.getBaseValue("string")],function:zf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let C=o.address;if(!C)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[C,T.from(f).toString(),o.getBaseValue("string")],function:zf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[zf.FUNGIBLE_ASSET_METADATA]})).hash}}var j,Nf,zf,u5;var QC=P(()=>{j=require("@swapkit/helpers"),Nf=require("ts-pattern"),zf={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"},u5=/^[0-9a-fA-F]+$/});var Kn={};My(Kn,{validateAptosAddress:()=>Ef,getAptosToolbox:()=>XC,createAptosExtensionTransfer:()=>WC});module.exports=Ny(Kn);var hn=P(()=>{QC()});function JC(){function y(){let n=Date.now(),o=_0||n;return _0=o,n>_0?n:o+1}return v5+y().toString(36)}function Sy(y){return async function(o,f=!0){let T=await ZC.SwapKitApi.getChainBalance({address:o,chain:y,scamFilter:f}),{baseDecimal:C}=_n.getChainConfig(y),H=T.map(({identifier:_,value:A,decimal:Z})=>{return new _n.AssetValue({decimal:Z||C,identifier:_,value:A})});if(!H.some((_)=>_.isGasAsset))return[_n.AssetValue.from({chain:y}),...H];return H}}var _n,ZC,v5,_0=0;var iy=P(()=>{_n=require("@swapkit/helpers"),ZC=require("@swapkit/helpers/api"),v5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function An(y){return{getBalance:Sy(y)}}function j5(y){return y}var mn=P(()=>{iy()});function LC(y){return new Of.JsonRpcProvider(y)}async function W0(y,n){return LC(n||await a.getRPCUrl(y))}function qn(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Q0(y){let{explorerUrl:n,chainIdHex:o,rpcUrls:f}=a.getChainConfig(y);return function(){return y!==a.Chain.Ethereum?{...K5({chain:y}),blockExplorerUrls:[n],chainId:o,rpcUrls:f}:void 0}}function Z0(y){return![a.Chain.Adi,a.Chain.Arbitrum,a.Chain.BinanceSmartChain].includes(y)}function K5({chain:y}){let{name:n,nativeCurrency:o,baseDecimal:f}=a.getChainConfig(y);return X0.match(y).with(a.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(a.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(a.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(a.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(a.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(a.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:a.Chain.Polygon}})).otherwise(()=>({chainName:n,nativeCurrency:{decimals:f,name:o,symbol:o}}))}async function J0(y,n){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let o={...n,nonce:n.nonce!==void 0?BigInt(n.nonce):void 0};return await y.authorize(o)}function YC(y,n){let o=n!==void 0?`index ${n}: `:"",f=(T,C)=>{throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${o}${C}`}})};X0.match(y).when(({chainId:T})=>typeof T!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:T})=>!h5(T),()=>f("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>f("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!MC(T?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!MC(T?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function BC(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:n})=>y[n]!=null).map(({key:n,type:o})=>({name:n,type:o}))}function A0(y){return y.charAt(0).toUpperCase()+y.slice(1)}function q0(y,n){if(y.isTuple()&&y.components){let o=A0(y.name);return n[o]=y.components.map((f)=>({name:f.name,type:q0(f,n)})),o}if(y.isArray()){let o=y.arrayChildren;if(o?.isTuple()&&o.components){let f=A0(y.name.replace(/s$/,""));return n[f]=o.components.map((T)=>({name:T.name,type:q0(T,n)})),`${f}[]`}return`${o?.type??"bytes"}[]`}return y.type}function G0(y,n){if(typeof y==="bigint")return y;if(n?.isTuple()&&typeof y?.toObject==="function"){let o=y.toObject(),f={};for(let[T,C]of(n.components??[]).entries())f[C.name]=G0(o[C.name]??y[T],C);return f}if(Array.isArray(y)){let o=n?.arrayChildren;return y.map((f)=>G0(f,o??void 0))}return y}function m5({chain:y,abi:n,data:o,to:f}){let C=new Of.Interface(n).parseTransaction({data:o});if(!C)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let H={},U=A0(C.name);H[U]=C.fragment.inputs.map((W)=>({name:W.name,type:q0(W,H)}));let _={};for(let[W,G]of C.fragment.inputs.entries())_[G.name]=G0(C.args[W],G);let{chainId:A}=a.getChainConfig(y),Z={chainId:Number(A),verifyingContract:Of.getAddress(f)},M=BC(Z);return{domain:Z,message:_,primaryType:U,types:{EIP712Domain:M,...H}}}function M0(y,n){if(!Array.isArray(y)||y.length===0)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[o,f]of y.entries())if(YC(f,o),n!==void 0&&f.chainId!==n)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${o}: authorization chainId (${f.chainId}) does not match transaction chainId (${n})`}})}var a,Of,X0,MC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),h5=(y)=>{try{return typeof y==="string"&&!!Of.getAddress(y)}catch{return!1}};var Gn=P(()=>{a=require("@swapkit/helpers"),Of=require("ethers"),X0=require("ts-pattern")});var zC;var NC=P(()=>{zC=[{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 bf({chain:y=S.Chain.Ethereum,provider:n,signer:o,isEIP1559Compatible:f=!0}){return{approve:r5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),approvedAmount:DC({chain:y,provider:n}),broadcastTransaction:n.broadcastTransaction,call:O0({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),createApprovalTx:yU({chain:y,provider:n,signer:o}),createContract:B0({chain:y,provider:n}),createContractTxObject:wf({chain:y,provider:n}),createTransaction:L0({chain:y,provider:n,signer:o}),createTransferTx:L0({chain:y,provider:n,signer:o}),EIP1193SendTransaction:vf(n),estimateCall:RC({provider:n,signer:o}),estimateGasLimit:s5({chain:y,provider:n,signer:o}),estimateGasPrices:Df({chain:y,isEIP1559Compatible:f,provider:n}),estimateTransactionFee:fU({chain:y,isEIP1559Compatible:f,provider:n}),getAddress:()=>{return o?o.getAddress():void 0},getBalance:An(y).getBalance,getNetworkParams:Q0(y),isApproved:d5({chain:y,provider:n}),sendTransaction:kC({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),signAuthorization:e5({signer:o}),signMessage:o?(T)=>o.signMessage(T):void 0,signTypedData:o?({domain:T,types:C,value:H})=>o.signTypedData(T,C,H):void 0,transfer:a5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),validateAddress:Wn}}function Wn(y){try{return $y.getAddress(y),!0}catch{return!1}}function uf(y){return y instanceof $y.BrowserProvider}function Qn(y,n,o){return new $y.Contract(y,$y.Interface.from(n),o)}function B0({provider:y}){return function(o,f){return new $y.Contract(o,$y.Interface.from(f),y)}}function z0({abi:y,funcName:n}){let o=y.find((f)=>f.name===n);if(!o)throw new S.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return o.stateMutability&&c5.includes(o.stateMutability)}function OC(y){return $y.getAddress(y)}function vf(y){return function({value:o,...f}){if(!uf(y))throw new S.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:T,gasPrice:C,maxFeePerGas:H,maxPriorityFeePerGas:U,..._}=f;return y.send("eth_sendTransaction",[{..._,value:qn(BigInt(o||0))}])}}function wC(y,n){let o=jf(y,n);if(o)return $y.getAddress(o.toLowerCase());throw new S.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function jf({chain:y,symbol:n,ticker:o},f){try{let T=y===S.Chain.BinanceSmartChain&&n==="BNB"&&o==="BNB",C=y===S.Chain.Hyperevm&&n==="HYPE"&&o==="HYPE",H=y===f&&n===f&&o===f,U=i5.includes(y)&&n==="ETH"&&o==="ETH";if(H||T||C||U)return N0[f];return $y.getAddress(n.slice(o.length+1).replace(/^0X/,""))}catch{return null}}function wf({provider:y}){return async({contractAddress:n,abi:o,funcName:f,funcParams:T=[],txOverrides:C})=>Qn(n,o,y).getFunction(f).populateTransaction(...T.concat(C).filter((H)=>typeof H<"u"))}function Df({chain:y,provider:n,isEIP1559Compatible:o=!0}){return Y0.match(y).with(S.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:C}=await n.getFeeData();if(!T||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Average),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Average)},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(S.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await n.getFeeData();if(!T)throw new S.SwapKitError("toolbox_evm_no_fee_data");let C=T*12n/10n;return{[S.FeeOption.Average]:{gasPrice:C},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:C,gasPrice:H}=await n.getFeeData();if(o){if(T===null||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:C},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}if(!H)throw new S.SwapKitError("toolbox_evm_no_gas_price");return{[S.FeeOption.Average]:{gasPrice:H},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function O0({provider:y,isEIP1559Compatible:n,signer:o,chain:f}){return async function({callProvider:C,contractAddress:H,abi:U,funcName:_,funcParams:A=[],txOverrides:Z={},feeOption:M=S.FeeOption.Fast}){let W=C||y;if(!H)throw new S.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let G=z0({abi:U,funcName:_});if(G&&uf(W)&&o){let B=wf({chain:f,provider:W}),D=Z?.from||await o?.getAddress(),L=await B({abi:U,contractAddress:H,funcName:_,funcParams:A,txOverrides:{...Z,from:D}});return vf(W)(L)}let X=Qn(H,U,W);if(G){if(!o)throw new S.SwapKitError("toolbox_evm_no_signer");let B=Z?.from||await o.getAddress();if(!B)throw new S.SwapKitError("toolbox_evm_no_signer_address");let D=X.connect(o),L=Df({chain:f,isEIP1559Compatible:n,provider:y}),{maxFeePerGas:w,maxPriorityFeePerGas:N,gasPrice:z}=(await L())[M],J=await X.getFunction(_).estimateGas(...A,Z),Y=await D[_](...A,{...Z,gasLimit:J,gasPrice:z,maxFeePerGas:w,maxPriorityFeePerGas:N,nonce:Z?.nonce||await W.getTransactionCount(B)});return typeof Y?.hash==="string"?Y?.hash:Y}let Q=await X[_]?.(...A);return typeof Q?.hash==="string"?Q?.hash:Q}}function DC({provider:y,chain:n}){return function({assetAddress:f,spenderAddress:T,from:C}){return O0({chain:n,isEIP1559Compatible:!0,provider:y})({abi:Vf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[C,T]})}}function d5({provider:y,chain:n}){return async function({assetAddress:f,spenderAddress:T,from:C,amount:H=Xn}){let U=await DC({chain:n,provider:y})({assetAddress:f,from:C,spenderAddress:T});return S.SwapKitNumber.fromBigInt(U).gte(S.SwapKitNumber.fromBigInt(BigInt(H)))}}function r5({signer:y,isEIP1559Compatible:n=!0,provider:o,chain:f}){return async function({assetAddress:C,spenderAddress:H,feeOptionKey:U=S.FeeOption.Fast,amount:_,gasLimitFallback:A,from:Z,nonce:M}){let W=[H,BigInt(_||Xn)],G=await y?.getAddress()||Z,X={abi:Vf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:W,signer:y,txOverrides:{from:G}};if(uf(o)){let B=wf({chain:f,provider:o}),D=vf(o),L=await B(X);return D(L)}return O0({chain:f,isEIP1559Compatible:n,provider:o,signer:y})({...X,feeOption:U,funcParams:W,txOverrides:{from:G,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function a5({signer:y,isEIP1559Compatible:n=!0,provider:o}){return async function({assetValue:T,memo:C,recipient:H,feeOptionKey:U=S.FeeOption.Fast,sender:_,...A}){let{hexlify:Z,toUtf8Bytes:M}=await import("ethers"),W=T.getBaseValue("bigint"),G=T.chain,X=_||await y?.getAddress(),Q=kC({chain:G,isEIP1559Compatible:n,provider:o,signer:y});if(!X)throw new S.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset){let z={...A,data:Z(M(C||"")),feeOptionKey:U,from:X,to:H,value:W};return Q(z)}if(!jf(T,G))throw new S.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:L,gasPrice:w}=(await Df({chain:G,isEIP1559Compatible:n,provider:o})())[U],N=await L0({chain:G,provider:o,signer:y})({assetValue:T,data:Z(M(C||"")),gasPrice:w,maxFeePerGas:D,maxPriorityFeePerGas:L,memo:C,recipient:H,sender:X});return Q(N)}}function RC({provider:y,signer:n}){return function({contractAddress:f,abi:T,funcName:C,funcParams:H=[],txOverrides:U}){if(!f)throw new S.SwapKitError("toolbox_evm_no_contract_address");let _=Qn(f,T,y);return n?_.connect(n).getFunction(C).estimateGas(...H,U):_.getFunction(C).estimateGas(...H,U)}}function s5({provider:y,signer:n}){return async function({assetValue:f,recipient:T,memo:C,data:H,sender:U,funcName:_,funcParams:A,txOverrides:Z}){let M=f.bigIntValue,W=f.isGasAsset?null:jf(f,f.chain);if(W&&_)return RC({provider:y,signer:n})({abi:Vf.erc20ABI,contractAddress:W,funcName:_,funcParams:A,txOverrides:Z});let{hexlify:G,toUtf8Bytes:X}=await import("ethers");return y.estimateGas({data:H?H:C?G(X(C)):void 0,from:U,to:T,value:M})}}function e5({signer:y}){if(!y)return;return(n)=>J0(y,n)}function kC({provider:y,signer:n,isEIP1559Compatible:o=!0,chain:f}){return async function({feeOptionKey:C=S.FeeOption.Fast,...H}){let{from:U,to:_,data:A,value:Z,...M}=H;if(!n)throw new S.SwapKitError("toolbox_evm_no_signer");if(!_)throw new S.SwapKitError("toolbox_evm_no_to_address");let W={...M,data:A||"0x",from:U,to:_,value:BigInt(Z||0)};if(uf(y))return vf(y)(W);let G=U||await n.getAddress(),X=H.nonce||await y.getTransactionCount(G),Q=(await y.getNetwork()).chainId,B=D0(W,o);if(B==="eip7702")M0(W.authorizations||[],Q);let D=Y0.match(B).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...W,chainId:Q,nonce:X,type:D,...B==="eip7702"&&{authorizationList:W.authorizations}},w=Df({chain:f,isEIP1559Compatible:o,provider:y}),z=B!=="legacy"&&!(W.maxFeePerGas&&W.maxPriorityFeePerGas)||!W.gasPrice?Object.entries((await w())[C]).reduce((Y,[R,l])=>({...Y,[R]:qn(BigInt(l))}),{}):{},J;try{J=qn(W.gasLimit||await y.estimateGas(L)*11n/10n)}catch(Y){throw new S.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:Y})}try{let Y={...L,gasLimit:J,...z};try{return(await n.sendTransaction(Y)).hash}catch{let R=await n.signTransaction({...Y,from:G});return(await y.broadcastTransaction(R)).hash}}catch(Y){throw new S.SwapKitError("toolbox_evm_error_sending_transaction",{error:Y})}}}function L0({provider:y,signer:n}){return async function({assetValue:f,memo:T,recipient:C,data:H,sender:U,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:Z,...M}){let W=f.getBaseValue("bigint"),G=f.chain,X=U||await n?.getAddress();if(!X)throw new S.SwapKitError("toolbox_evm_no_from_address");if(S.isGasAsset(f)){let{hexlify:D,toUtf8Bytes:L}=await import("ethers");return{...M,data:H||D(L(T||"")),from:X,to:C,value:W}}let Q=jf(f,G);if(!Q)throw new S.SwapKitError("toolbox_evm_no_contract_address");return wf({chain:f.chain,provider:y})({abi:Vf.erc20ABI,contractAddress:Q,funcName:"transfer",funcParams:[C,W],txOverrides:{from:X,gasPrice:Z,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function yU({provider:y,signer:n,chain:o}){return async function({assetAddress:T,spenderAddress:C,amount:H,from:U}){let _=await n?.getAddress()||U,A=wf({chain:o,provider:y}),Z=["bigint","number"].includes(typeof H)?H:H||Xn;return await A({abi:Vf.erc20ABI,contractAddress:T,funcName:"approve",funcParams:[C,BigInt(Z)],txOverrides:{from:_}})}}function fU({provider:y,isEIP1559Compatible:n=!0,chain:o}){return async function({feeOption:T=S.FeeOption.Fast,...C}){let U=await Df({chain:o,isEIP1559Compatible:n,provider:y})(),_=await y.estimateGas(C),A=S.AssetValue.from({chain:o}),{gasPrice:Z,maxFeePerGas:M,maxPriorityFeePerGas:W}=U[T];if(!n&&Z)return A.set(S.SwapKitNumber.fromBigInt(Z*_,A.decimal));if(M&&W){let G=(M+W)*_;return A.set(S.SwapKitNumber.fromBigInt(G,A.decimal))}throw new S.SwapKitError("toolbox_evm_no_gas_price")}}var S,Vf,$y,Y0,Xn,c5,g5,N0,i5,cn=(y)=>y.type===4||(y.authorizations?.length??0)>0,w0=(y)=>!cn(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),D0=(y,n=!0)=>{if(cn(y))return"eip7702";if(w0(y)||n)return"eip1559";return"legacy"};var gn=P(()=>{mn();Gn();S=require("@swapkit/helpers"),Vf=require("@swapkit/helpers/contracts"),$y=require("ethers"),Y0=require("ts-pattern"),Xn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");c5=["payable","nonpayable"];g5=S.EVMChains.reduce((y,n)=>{return y[n]="0x0000000000000000000000000000000000000000",y},{}),N0={...g5,[S.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[S.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},i5=[S.Chain.Arbitrum,S.Chain.Aurora,S.Chain.Base,S.Chain.Optimism]});function dn(y){let n=Xy(Hy.Chain.Ethereum)(y);async function o(f,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",C="aggregate",H=Hy.FeeOption.Fast){let U=await n.createContractTxObject({abi:zC,contractAddress:T,funcName:C,funcParams:[f]});return n.sendTransaction({...U,feeOptionKey:H})}return{...n,multicall:o}}function Xy(y){return function({provider:o,...f}){let T=Z0(y),C=Zn.match(f).with({phrase:Zn.P.string},({phrase:U})=>lC.HDNodeWallet.fromPhrase(U).connect(o)).with({signer:Zn.P.any},({signer:U})=>U).otherwise(()=>{return});return bf({chain:y,isEIP1559Compatible:T,provider:o,signer:C})}}var Hy,lC,Zn,rn,an,sn,en,yT,fT,nT,SC,TT,oT,CT,HT,UT,_T,Jn,AT,qT,GT,XT;var R0=P(()=>{NC();Gn();gn();Hy=require("@swapkit/helpers"),lC=require("ethers"),Zn=require("ts-pattern");rn=Xy(Hy.Chain.Adi),an=Xy(Hy.Chain.Arbitrum),sn=Xy(Hy.Chain.Aurora),en=Xy(Hy.Chain.Avalanche),yT=Xy(Hy.Chain.Base),fT=Xy(Hy.Chain.Berachain),nT=Xy(Hy.Chain.BinanceSmartChain),SC=Xy(Hy.Chain.Botanix),TT=Xy(Hy.Chain.Core),oT=Xy(Hy.Chain.Corn),CT=Xy(Hy.Chain.Cronos),HT=Xy(Hy.Chain.Gnosis),UT=Xy(Hy.Chain.Hyperevm),_T=Xy(Hy.Chain.Polygon),Jn=Xy(Hy.Chain.Sonic),AT=Xy(Hy.Chain.Unichain),qT=Xy(Hy.Chain.XLayer),GT=Xy(Hy.Chain.Monad),XT=Xy(Hy.Chain.MegaETH)});var xC;var FC=P(()=>{xC=[{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 k0(y){return new WT.Contract(TU,xC,y)}function $C(y){return async function(){let o=k0(y);if(o&&"l1BaseFee"in o)return await o?.l1BaseFee();return}}function IC(y){return async function({from:o,to:f,nonce:T,...C}){let{Transaction:H}=await import("ethers");if(!f)throw new Uy.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return H.from({...C,authorizationList:C.authorizationList,nonce:T?T:o?await y.getTransactionCount(o):0,to:f}).serialized}}function PC(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1Fee"in f)return f.getL1Fee(T)}}function tC(y){return async function(o){let T=(await y.getFeeData()).gasPrice??0n,C=await y.estimateGas(o);return T*C}}function oU(y){return async function(o){let f=await PC(y)(o)??0n,T=await tC(y)(o);return f+T}}function CU(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(T)}}function HU(y){return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:T}=await y.getFeeData(),C=await $C(y)(),H=T;if(!(o&&f))throw new Uy.SwapKitError("toolbox_evm_no_fee_data");return{[Uy.FeeOption.Average]:{gasPrice:H,l1GasPrice:C,maxFeePerGas:o,maxPriorityFeePerGas:f},[Uy.FeeOption.Fast]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fast),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fast),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fast)},[Uy.FeeOption.Fastest]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fastest),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fastest),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fastest)}}}catch(o){throw new Uy.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function QT({provider:y,...n}){let o=Mn.match(n).with({phrase:Mn.P.string},({phrase:C})=>WT.HDNodeWallet.fromPhrase(C).connect(y)).with({signer:Mn.P.any},({signer:C})=>C).otherwise(()=>{return}),f=bf({provider:y,signer:o}),T=$C(y);return{...f,estimateGasPrices:HU(y),estimateL1Gas:CU(y),estimateL1GasCost:PC(y),estimateL2GasCost:tC(y),estimateTotalGasCost:oU(y),getBalance:An(Uy.Chain.Optimism).getBalance,getL1GasPrice:T}}var Uy,WT,Mn,TU="0x420000000000000000000000000000000000000f";var l0=P(()=>{mn();FC();gn();Uy=require("@swapkit/helpers"),WT=require("ethers"),Mn=require("ts-pattern")});var VC={};My(VC,{validateEVMAddress:()=>Wn,toChecksumAddress:()=>OC,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createContract:()=>Qn,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>XT,MAX_APPROVAL:()=>Xn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});function S0(y,n){return pC.match(y).with(qy.Chain.Adi,()=>rn(n)).with(qy.Chain.Arbitrum,()=>an(n)).with(qy.Chain.Aurora,()=>sn(n)).with(qy.Chain.Avalanche,()=>en(n)).with(qy.Chain.Base,()=>yT(n)).with(qy.Chain.Berachain,()=>fT(n)).with(qy.Chain.BinanceSmartChain,()=>nT(n)).with(qy.Chain.Botanix,()=>Jn(n)).with(qy.Chain.Core,()=>TT(n)).with(qy.Chain.Corn,()=>oT(n)).with(qy.Chain.Cronos,()=>CT(n)).with(qy.Chain.Ethereum,()=>dn(n)).with(qy.Chain.Gnosis,()=>HT(n)).with(qy.Chain.Hyperevm,()=>UT(n)).with(qy.Chain.Optimism,()=>QT(n)).with(qy.Chain.Polygon,()=>_T(n)).with(qy.Chain.Sonic,()=>Jn(n)).with(qy.Chain.Unichain,()=>AT(n)).with(qy.Chain.XLayer,()=>qT(n)).with(qy.Chain.Monad,()=>GT(n)).with(qy.Chain.MegaETH,()=>XT(n)).exhaustive()}async function EC(y,n){let o={...n,provider:n?.provider||await W0(y)};return S0(y,o)}var qy,pC;var x0=P(()=>{Gn();R0();l0();qy=require("@swapkit/helpers"),pC=require("ts-pattern");gn();R0();l0()});var bC;var uC=P(()=>{((o)=>{o.Test="goerli";o.Main="homestead"})(bC||={})});var vC={};My(vC,{validateEVMAddress:()=>Wn,validateAuthorizations:()=>M0,validateAuthorization:()=>YC,toHexString:()=>qn,toChecksumAddress:()=>OC,signAuthorization:()=>J0,parseEIP712FromEVMTx:()=>m5,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getProviderSync:()=>LC,getProvider:()=>W0,getNetworkParams:()=>Q0,getIsEIP1559Compatible:()=>Z0,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEvmApi:()=>An,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createCustomEvmApi:()=>j5,createContract:()=>Qn,buildEIP712DomainType:()=>BC,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>XT,MAX_APPROVAL:()=>Xn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,EthNetwork:()=>bC,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});module.exports=Ny(vC);var F0=P(()=>{mn();Gn();x0();uC()});async function I0(y,n){let o=await fetch(`${iC}${y}`,{...n,headers:{project_id:gC,...n?.headers}});if(!o.ok)throw Error(`Blockfrost API error: ${o.status} ${o.statusText}`);return o.json()}async function dC(y){try{return await I0(`/addresses/${y}/utxos`)}catch{return[]}}async function _U(){return(await I0("/blocks/latest")).slot}async function AU(){let y=await I0("/epochs/latest/parameters"),n={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new xy.default(y.collateral_percent),languageView:n,lovelacePerUtxoWord:new xy.default(0),maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new xy.default(y.min_fee_a),minFeeB:new xy.default(y.min_fee_b),minFeeRefScriptCostPerByte:new xy.default(15),priceMem:new xy.default(y.price_mem),priceSteps:new xy.default(y.price_step),stakeKeyDeposit:new xy.default(2000000),utxoCostPerByte:new xy.default(y.coins_per_utxo_size)}}async function KC(y){let n=await fetch(`${iC}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:gC},method:"POST"});if(!n.ok){let o=await n.text();throw Error(`Transaction submission failed: ${o}`)}return n.json()}function qU(y,n){return y.map((o)=>{let f=o.amount.find((H)=>H.unit==="lovelace"),T=f?new xy.default(f.quantity):new xy.default(0),C=o.amount.filter((H)=>H.unit!=="lovelace").map((H)=>({amount:new xy.default(H.quantity),assetName:H.unit.slice(56),policyId:H.unit.slice(0,56)}));return{address:n,amount:T,index:o.output_index,tokens:C,txId:o.tx_hash}})}async function GU(y){try{let n=await dC(y),o=0n,f=new Map;for(let H of n){if(!H.amount||!Array.isArray(H.amount))continue;for(let U of H.amount){let{unit:_,quantity:A}=U;if(_==="lovelace")o+=BigInt(A);else{let Z=f.get(_)||0n;f.set(_,Z+BigInt(A))}}}let T=[],{baseDecimal:C}=_y.getChainConfig(_y.Chain.Cardano);if(o>0n)T.push(_y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:C,value:o.toString()}));for(let[H,U]of f)T.push(_y.AssetValue.from({asset:`${_y.Chain.Cardano}.${H}`,value:U.toString()}));if(T.length===0)return[_y.AssetValue.from({chain:_y.Chain.Cardano})];return T}catch(n){let o=n instanceof Error?n.message:String(n);return console.error(`Cardano balance fetch error: ${o}`),[_y.AssetValue.from({chain:_y.Chain.Cardano})]}}function rC(y){if(!y||typeof y!=="string")return!1;try{let n=hC.bech32.decode(y,120);return n.prefix==="addr"||n.prefix==="addr_test"}catch{return!1}}async function XU(y,n=0,o=0){let f=await mC.mnemonicToSeed(y,""),C=(await cC.Bip32PrivateKey.fromEntropy(Buffer.from(f.slice(0,64)))).derive($0+1852).derive($0+1815).derive($0+n),H=C.derive(0).derive(o),U=H.toBip32PublicKey().toPublicKey().toBytes(),_=Dy.crypto.hash28(U),Z=C.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Dy.crypto.hash28(Z),W={hash:_,type:Dy.types.HashType.ADDRESS},G={hash:M,type:Dy.types.HashType.ADDRESS},Q=new Dy.address.BaseAddress(UU,W,G).getBech32(),B=H.toPrivateKey();return{getAddress:()=>Q,publicKey:U,publicKeyHash:_,signTransaction:async(D)=>{try{let L=await import("@stricahq/cbors"),w=Buffer.from(D,"hex"),N=L.Decoder.decode(w),[z,J,Y,R]=N.value,l=L.Encoder.encode(z),q=Dy.crypto.hash32(l),O=B.sign(q),k=J instanceof Map?J:new Map,x=k.get(jC)||[];x.push([U,O]),k.set(jC,x);let F=[z,k,Y,R];return L.Encoder.encode(F).toString("hex")}catch(L){throw new _y.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function WU(y){let n,o,f;async function T(){if(!f)f=await AU();return f}async function C(){if(n!==void 0)return n;if(y&&"phrase"in y&&y.phrase){let G=y.index??0;return n=await XU(y.phrase,0,G),n}if(y&&"signer"in y&&y.signer)return n=y.signer,n;return}async function H(){if(o)return o;let G=await C();if(!G)return"";if("getAddress"in G)return o=await G.getAddress(),o;return""}async function U(G){let X=G||await H();if(!X)throw new _y.SwapKitError("core_wallet_connection_not_found");return GU(X)}async function _(G){if(G)try{let{tx:D}=await A(G),L=D.getFee();return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let X=await T(),Q=400,B=X.minFeeB.plus(X.minFeeA.times(Q));return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:B.toString()})}async function A({sender:G="",recipient:X,assetValue:Q,memo:B,pureLovelaceOnly:D=!1}){let L=G||await H();if(!L)throw new _y.SwapKitError("core_wallet_connection_not_found");let[w,N,z]=await Promise.all([dC(L),_U(),T()]),J=w.filter((i)=>D?i.amount.every((fy)=>fy.unit==="lovelace"):i.amount.some((fy)=>fy.unit==="lovelace")).sort((i,fy)=>{let By=i.amount.some((Zy)=>Zy.unit!=="lovelace"),wy=fy.amount.some((Zy)=>Zy.unit!=="lovelace");if(By===wy)return 0;return By?1:-1}),Y=Dy.utils.getAddressFromString(L),R=Dy.utils.getAddressFromString(X),l=qU(J,Y),q=new xy.default(Q.getBaseValue("string")),O=[{address:R,amount:q,tokens:[]}],k;if(B){let i=new Map;i.set("msg",[B]),k={metadata:[{data:i,label:674}]}}let x={...z,minFeeB:z.minFeeB.plus(z.minFeeA.times(4))},u=new Dy.Transaction({protocolParams:x}).paymentTransaction({auxiliaryData:k,changeAddress:Y,inputs:l,outputs:O,ttl:N+3600}),{payload:h}=u.buildTransaction();return{tx:u,unsignedTx:h}}async function Z(G){let X=await C();if(!X||!("signTransaction"in X))throw new _y.SwapKitError("core_wallet_connection_not_found");return X.signTransaction(G)}async function M({recipient:G,assetValue:X,memo:Q}){let B=await C();if(!B||!("signTransaction"in B))throw new _y.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:D}=await A({assetValue:X,memo:Q,recipient:G,sender:await H()}),L=await Z(D);return await KC(L)}async function W(G){let X=await Z(G);return await KC(X)}return{createTransaction:A,estimateTransactionFee:_,getAddress:H,getBalance:U,signAndBroadcastTransaction:W,signTransaction:Z,transfer:M,validateAddress:rC}}var hC,mC,cC,Dy,_y,xy,gC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",iC="https://cardano-mainnet.blockfrost.io/api/v0",UU,$0=2147483648,jC=0;var aC=P(()=>{hC=require("@scure/base"),mC=require("@scure/bip39"),cC=require("@stricahq/bip32ed25519"),Dy=require("@stricahq/typhonjs"),_y=require("@swapkit/helpers"),xy=U0(require("bignumber.js")),UU=Dy.types.NetworkId.MAINNET});var P0={};My(P0,{validateCardanoAddress:()=>rC,getCardanoToolbox:()=>WU});module.exports=Ny(P0);var t0=P(()=>{aC()});function Ln(y){return hy.base64.encode(Uint8Array.from(hy.bech32.fromWords(hy.bech32.decode(y).words)))}function Yn(y,n="thor"){return hy.bech32.encode(n,hy.bech32.toWords(hy.base64.decode(y)))}function QU(y){return hy.base64.encode(y)}function ZU(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new sC.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hy.base64.decode(y)}var hy,sC;var p0=P(()=>{hy=require("@scure/base"),sC=require("@swapkit/helpers")});function dy(y){switch(y){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return f1;case b.Chain.Noble:return n1;default:return y1}}async function ry(y){let n=await import("@cosmjs/stargate"),o=n.StargateClient??n.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return o.connect({headers:f,url:y})}async function Rf(y,n,o={}){let f=await import("@cosmjs/stargate"),T=f.SigningStargateClient??f.default?.SigningStargateClient,C=f.GasPrice??f.default?.GasPrice,H=typeof o==="string"?o:"0.0003uatom",U=typeof o==="string"?{}:o;return T.connectWithSigner(y,n,{gasPrice:C.fromString(H),...U})}async function V0(y,n){let o=await import("@cosmjs/stargate");return(o.SigningStargateClient??o.default?.SigningStargateClient).offline(y,n)}async function b0({sender:y,recipient:n,assetValue:o,memo:f="",feeRate:T,sequence:C,accountNumber:H}){let{chain:U,chainId:_}=o,A=await b.getRPCUrl(U),M=await(await ry(A)).getAccount(y);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let W=b.AssetValue.from({chain:U}),G=Cf(W.symbol),X=dy(U),Q=G&&T?{amount:[{amount:T.toString(),denom:G}],gas:X.gas}:X,B={amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol)}],fromAddress:y,toAddress:n};return{accountNumber:H??M.accountNumber,chainId:_,fee:Q,memo:f,msgs:[{typeUrl:JU(U),value:B}],sequence:C??M.sequence}}var b,E0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",eC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",y1,f1,n1,Cf=(y,n=!1)=>{if(n)return y.toLowerCase();switch(y){case"uUSK":case"USK":return E0;case"uYUM":case"YUM":return eC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Bn=({symbol:y,chain:n})=>{if(n===b.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${b.Chain.Maya}.${y}`).toUpperCase();if(n===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${b.Chain.THORChain}.${y}`:y).toUpperCase();return Cf(y,!1)},JU=(y)=>{switch(y){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:y})}},MU,u0=(y,n)=>{let o=MU[y.toLowerCase()];if(!o)return b.AssetValue.from({asset:y,fromBaseDecimal:8,value:n});let{chain:f,asset:T,decimals:C}=o,H=f?{chain:f}:{asset:T};return b.AssetValue.from({...H,fromBaseDecimal:C,value:n})};var zn=P(()=>{b=require("@swapkit/helpers"),y1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},f1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},n1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};MU={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},[E0.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var T1={};My(T1,{$root:()=>I});var Ly,v,Py,E,I;var o1=P(()=>{Ly=U0(require("protobufjs/minimal.js")),v=Ly.default.Reader,Py=Ly.default.Writer,E=Ly.default.util,I=Ly.default.roots.default||(Ly.default.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))T.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))T.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))T.uint32(32).bool(f.synth);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Asset;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.chain=f.string();break;case 2:H.symbol=f.string();break;case 3:H.ticker=f.string();break;case 4:H.synth=f.bool();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!E.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!E.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Asset)return f;let T=new I.common.Asset;if(f.chain!=null)T.chain=String(f.chain);if(f.symbol!=null)T.symbol=String(f.symbol);if(f.ticker!=null)T.ticker=String(f.ticker);if(f.synth!=null)T.synth=Boolean(f.synth);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.chain="",C.symbol="",C.ticker="",C.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))C.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))C.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))C.synth=f.synth;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Coin=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))I.common.Asset.encode(f.asset,T.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))T.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))T.uint32(24).int64(f.decimals);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Coin;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.asset=I.common.Asset.decode(f,f.uint32());break;case 2:H.amount=f.string();break;case 3:H.decimals=f.int64();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let T=I.common.Asset.verify(f.asset);if(T)return"asset."+T}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!E.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!E.isInteger(f.decimals)&&!(f.decimals&&E.isInteger(f.decimals.low)&&E.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Coin)return f;let T=new I.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");T.asset=I.common.Asset.fromObject(f.asset)}if(f.amount!=null)T.amount=String(f.amount);if(f.decimals!=null){if(E.Long)(T.decimals=E.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")T.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")T.decimals=f.decimals;else if(typeof f.decimals==="object")T.decimals=new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)if(C.asset=null,C.amount="",E.Long){let H=new E.Long(0,0,!1);C.decimals=T.longs===String?H.toString():T.longs===Number?H.toNumber():H}else C.decimals=T.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))C.asset=I.common.Asset.toObject(f.asset,T);if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")C.decimals=T.longs===String?String(f.decimals):f.decimals;else C.decimals=T.longs===String?E.Long.prototype.toString.call(f.decimals):T.longs===Number?new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.PubKeySet=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))T.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))T.uint32(18).string(f.ed25519);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.PubKeySet;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.secp256k1=f.string();break;case 2:H.ed25519=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!E.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!E.isString(f.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.PubKeySet)return f;let T=new I.common.PubKeySet;if(f.secp256k1!=null)T.secp256k1=String(f.secp256k1);if(f.ed25519!=null)T.ed25519=String(f.ed25519);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.secp256k1="",C.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))C.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))C.ed25519=f.ed25519;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Tx=(()=>{function n(o){if(this.coins=[],this.gas=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=E.emptyArray,n.prototype.gas=E.emptyArray,n.prototype.memo="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))T.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(34).string(f.toAddress);if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(42).fork()).ldelim();if(f.gas?.length)for(let C=0;C<f.gas.length;++C)I.common.Coin.encode(f.gas[C],T.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(58).string(f.memo);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Tx;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.id=f.string();break;case 2:H.chain=f.string();break;case 3:H.fromAddress=f.string();break;case 4:H.toAddress=f.string();break;case 5:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 6:if(!H.gas?.length)H.gas=[];H.gas.push(I.common.Coin.decode(f,f.uint32()));break;case 7:H.memo=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!E.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!E.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!E.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let T=0;T<f.gas.length;++T){let C=I.common.Coin.verify(f.gas[T]);if(C)return"gas."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Tx)return f;let T=new I.common.Tx;if(f.id!=null)T.id=String(f.id);if(f.chain!=null)T.chain=String(f.chain);if(f.fromAddress!=null)T.fromAddress=String(f.fromAddress);if(f.toAddress!=null)T.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Tx.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");T.gas=[];for(let C=0;C<f.gas.length;++C){if(typeof f.gas[C]!=="object")throw TypeError(".common.Tx.gas: object expected");T.gas[C]=I.common.Coin.fromObject(f.gas[C])}}if(f.memo!=null)T.memo=String(f.memo);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[],C.gas=[];if(T.defaults)C.id="",C.chain="",C.fromAddress="",C.toAddress="",C.memo="";if(f.id!=null&&f.hasOwnProperty("id"))C.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=f.toAddress;if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.gas?.length){C.gas=[];for(let H=0;H<f.gas.length;++H)C.gas[H]=I.common.Coin.toObject(f.gas[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Fee=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.poolDeduct="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))T.uint32(18).string(f.poolDeduct);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Fee;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.poolDeduct=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!E.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Fee)return f;let T=new I.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Fee.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.poolDeduct!=null)T.poolDeduct=String(f.poolDeduct);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults)C.poolDeduct="";if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))C.poolDeduct=f.poolDeduct;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.ProtoUint=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.value="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))T.uint32(10).string(f.value);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.ProtoUint;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.value=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!E.isString(f.value))return"value: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.ProtoUint)return f;let T=new I.common.ProtoUint;if(f.value!=null)T.value=String(f.value);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.value="";if(f.value!=null&&f.hasOwnProperty("value"))C.value=f.value;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.memo="",n.prototype.signer=E.newBuffer([]),n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))T.uint32(26).bytes(f.signer);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgDeposit;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.memo=f.string();break;case 3:H.signer=f.bytes();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||E.isString(f.signer)))return"signer: buffer expected"}return null},n.fromObject=function(f){if(f instanceof I.types.MsgDeposit)return f;let T=new I.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.memo!=null)T.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")E.base64.decode(f.signer,T.signer=E.newBuffer(E.base64.length(f.signer)),0);else if(f.signer.length)T.signer=f.signer}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults){if(C.memo="",T.bytes===String)C.signer="";else if(C.signer=[],T.bytes!==Array)C.signer=E.newBuffer(C.signer)}if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))C.signer=T.bytes===String?E.base64.encode(f.signer,0,f.signer.length):T.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.MsgSend=(()=>{function n(o){if(this.amount=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.fromAddress=E.newBuffer([]),n.prototype.toAddress=E.newBuffer([]),n.prototype.amount=E.emptyArray,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let C=0;C<f.amount.length;++C)I.cosmos.base.v1beta1.Coin.encode(f.amount[C],T.uint32(26).fork()).ldelim();return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgSend;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.fromAddress=f.bytes();break;case 2:H.toAddress=f.bytes();break;case 3:if(!H.amount?.length)H.amount=[];H.amount.push(I.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||E.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||E.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let T=0;T<f.amount.length;++T){let C=I.cosmos.base.v1beta1.Coin.verify(f.amount[T]);if(C)return"amount."+C}}return null},n.fromObject=function(f){if(f instanceof I.types.MsgSend)return f;let T=new I.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")E.base64.decode(f.fromAddress,T.fromAddress=E.newBuffer(E.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)T.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")E.base64.decode(f.toAddress,T.toAddress=E.newBuffer(E.base64.length(f.toAddress)),0);else if(f.toAddress.length)T.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");T.amount=[];for(let C=0;C<f.amount.length;++C){if(typeof f.amount[C]!=="object")throw TypeError(".types.MsgSend.amount: object expected");T.amount[C]=I.cosmos.base.v1beta1.Coin.fromObject(f.amount[C])}}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.amount=[];if(T.defaults){if(T.bytes===String)C.fromAddress="";else if(C.fromAddress=[],T.bytes!==Array)C.fromAddress=E.newBuffer(C.fromAddress);if(T.bytes===String)C.toAddress="";else if(C.toAddress=[],T.bytes!==Array)C.toAddress=E.newBuffer(C.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=T.bytes===String?E.base64.encode(f.fromAddress,0,f.fromAddress.length):T.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=T.bytes===String?E.base64.encode(f.toAddress,0,f.toAddress.length):T.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){C.amount=[];for(let H=0;H<f.amount.length;++H)C.amount[H]=I.cosmos.base.v1beta1.Coin.toObject(f.amount[H],T)}return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let n={};return n.v1beta1=(()=>{let o={};return o.Coin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.Coin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.Coin)return C;let H=new I.cosmos.base.v1beta1.Coin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecCoin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecCoin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecCoin)return C;let H=new I.cosmos.base.v1beta1.DecCoin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.IntProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.int="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.int!=null&&Object.hasOwnProperty.call(C,"int"))H.uint32(10).string(C.int);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.IntProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.int=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.int!=null&&C.hasOwnProperty("int")){if(!E.isString(C.int))return"int: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.IntProto)return C;let H=new I.cosmos.base.v1beta1.IntProto;if(C.int!=null)H.int=String(C.int);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.int="";if(C.int!=null&&C.hasOwnProperty("int"))U.int=C.int;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.dec="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.dec!=null&&Object.hasOwnProperty.call(C,"dec"))H.uint32(10).string(C.dec);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.dec=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.dec!=null&&C.hasOwnProperty("dec")){if(!E.isString(C.dec))return"dec: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecProto)return C;let H=new I.cosmos.base.v1beta1.DecProto;if(C.dec!=null)H.dec=String(C.dec);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.dec="";if(C.dec!=null&&C.hasOwnProperty("dec"))U.dec=C.dec;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o})(),n})(),y})()});async function kf(){let{$root:y}=await Promise.resolve().then(() => (o1(),T1)),n=await import("@cosmjs/proto-signing"),o=n.Registry??n.default?.Registry,f=await import("@cosmjs/stargate"),T=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new o([...T,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function Hf(y){let n=await import("@cosmjs/stargate"),o=n.AminoTypes??n.default?.AminoTypes,f=y===C1.Chain.THORChain?"thorchain":"mayachain";return new o({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:T,...C})=>({...C,signer:Ln(T)}),toAmino:({signer:T,...C})=>({...C,signer:Yn(T)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:T,to_address:C,...H})=>({...H,fromAddress:Ln(T),toAddress:Ln(C)}),toAmino:({fromAddress:T,toAddress:C,...H})=>({...H,from_address:Yn(T),to_address:Yn(C)})}})}var C1;var v0=P(()=>{p0();C1=require("@swapkit/helpers")});function h0(y){let{assetValue:n,recipient:o,memo:f,sender:T,asSignable:C,asAminoMessage:H}=y;if(o)return U1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,recipient:o,sender:T});return _1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,sender:T})}async function U1({sender:y,recipient:n,assetValue:o,memo:f="",asSignable:T=!0,asAminoMessage:C=!1,sequence:H,accountNumber:U}){let _=o.chain,A=await Ry.getRPCUrl(_),Z=await H1({rpcUrl:A,sender:y}),{chainId:M}=Ry.getChainConfig(_),W=j0({assetValue:o,recipient:n,sender:y}),G=T?await Uf(C?W:_f(W),_):W;return{accountNumber:U||Z.accountNumber,chainId:M,fee:dy(_),memo:f,msgs:[G],sequence:H||Z.sequence}}async function _1({sender:y,assetValue:n,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let U=n.chain,_=await Ry.getRPCUrl(U),A=await H1({rpcUrl:_,sender:y}),{chainId:Z}=Ry.getChainConfig(U),M=K0({assetValue:n,memo:o,sender:y}),W=f?await Uf(T?M:_f(M),U):M;return{accountNumber:H||A.accountNumber,chainId:Z,fee:dy(U),memo:o,msgs:[W],sequence:C||A.sequence}}function _f(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((n)=>{let o=Ry.AssetValue.from({asset:n.asset}),f=(o.isSynthetic?o.symbol.split("/")?.[1]:o.symbol)?.toUpperCase(),T=(o.isSynthetic?o.symbol.split("/")?.[0]:o.chain)?.toUpperCase();return{...n,asset:{chain:T,symbol:f,synth:o.isSynthetic,ticker:o.ticker}}})}}}async function Nn({chain:y,memo:n,msgs:o}){let f=await kf(),T=await Hf(y),C={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:o.map((H)=>T.fromAmino(H))}};return f.encode(C)}var Ry,LU,YU,j0=({sender:y,recipient:n,assetValue:o})=>{return{type:`${o.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol,!0)}],from_address:y,to_address:n}}},K0=({sender:y,assetValue:n,memo:o=""})=>{return{type:`${n.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:Bn(n)}],memo:o,signer:y}}},ZT=({sender:y,recipient:n,assetValue:o,memo:f})=>{return!n?K0({assetValue:o,memo:f,sender:y}):j0({assetValue:o,recipient:n,sender:y})},Uf=async(y,n)=>{return(await Hf(n)).fromAmino(y)},H1=async({rpcUrl:y,sender:n})=>{let f=await(await ry(y)).getAccount(n);if(!f)throw new Ry.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return f};var A1=P(()=>{zn();v0();Ry=require("@swapkit/helpers"),LU=dy(Ry.Chain.THORChain).gas,YU=dy(Ry.Chain.Maya).gas});var q1=()=>{};var G1=P(()=>{q1()});var m0=P(()=>{p0();A1();v0();G1()});async function i0(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}async function c0({phrase:y,prefix:n,...o}){let f="derivationPath"in o?o.derivationPath:`${t.DerivationPath[o.chain]}/${o.index}`;return await J1.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[Z1.stringToPath(f)],prefix:n})}async function BU({privateKey:y,prefix:n}){let o=await import("@cosmjs/proto-signing");return(o.DirectSecp256k1Wallet??o.default?.DirectSecp256k1Wallet).fromKey(y,n)}function M1(y){return async function({signature:o,message:f,address:T}){let C=await y(T);if(!C?.pubkey)throw new t.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let H=await import("@cosmjs/crypto"),U=H.Secp256k1Signature??H.default?.Secp256k1Signature,_=H.Secp256k1??H.default?.Secp256k1,A=U.fromFixedLength(Af.base64.decode(o));return _.verifySignature(A,Af.base64.decode(f),C.pubkey.value)}}function wn({chain:y,...n}){let o=t.CosmosChainPrefixes[y],f="index"in n?n.index||0:0,T=t.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:t.updateDerivationPath(t.NetworkDerivationPath[y],{index:f})),C;async function H(){if(C)return C;return C=await On.match(n).with({phrase:On.P.string},({phrase:G})=>c0({derivationPath:T,phrase:G,prefix:o})).with({signer:On.P.any},({signer:G})=>G).otherwise(()=>{return}),C}async function U(G){let X=await t.getRPCUrl(y);return(await ry(X)).getAccount(G)}async function _(){let G=await H(),[X]=await G?.getAccounts()||[];return X?.address}async function A(){let G=await H(),[X]=await G?.getAccounts()||[];if(!X?.pubkey)throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return Af.base64.encode(X?.pubkey)}async function Z(G){let X=await H(),Q=await _(),B=await t.getRPCUrl(y);if(!(X&&Q))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Rf(B,X)).sign(Q,G.msgs,G.fee,G.memo,{accountNumber:G.accountNumber,chainId:G.chainId,sequence:G.sequence})}async function M(G){let X=await H(),Q=await _(),B=await t.getRPCUrl(y);if(!(X&&Q))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await Rf(B,X)).signAndBroadcast(Q,G.msgs,G.fee,G.memo);if(L.code!==0)throw new t.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function W({recipient:G,assetValue:X,memo:Q="",feeRate:B,feeOptionKey:D=t.FeeOption.Fast}){let L=await H(),w=await _();if(!(L&&w))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await t.getRPCUrl(y),z=t.AssetValue.from({chain:y}),J=Bn(z),Y=B||OU((await W1(y,X1[y]))[D],J),R=await Rf(N,L),l=Cf(X.symbol),q=[{amount:X.getBaseValue("string"),denom:l}],{transactionHash:O}=await R.sendTokens(w,G,q,Y,Q);return O}return{createPrivateKeyFromPhrase:DU(T),createTransaction:b0,fetchFeeRateFromSwapKit:i0,getAccount:U,getAddress:_,getBalance:async(G,X)=>{let Q=await Q1(y)(G),B=await Promise.all(Q.filter(({denom:D})=>D&&!D.includes("IBC/")&&!([t.Chain.THORChain,t.Chain.Maya].includes(y)&&D.split("-").length>2)).map(({denom:D,amount:L})=>{let w=[t.Chain.THORChain,t.Chain.Maya].includes(y)&&(D.includes("/")||D.includes("˜"))?`${y}.${D}`:D;return u0(w,L)}));if(B.length===0)return[t.AssetValue.from({chain:y})];return B},getBalanceAsDenoms:Q1(y),getFees:()=>W1(y,X1[y]),getPubKey:A,getSignerFromPhrase:({phrase:G,derivationPath:X})=>c0({derivationPath:t.derivationPathToString(X),index:f,phrase:G,prefix:o}),getSignerFromPrivateKey:async(G)=>{let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(G,o)},signAndBroadcastTransaction:M,signTransaction:Z,transfer:W,validateAddress:L1(y),verifySignature:M1(U)}}async function zU(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}function NU({assetValue:{chain:y}}){return t.AssetValue.from({chain:y,value:wU(y)})}async function W1(y,n){let{chainId:o,baseDecimal:f}=t.getChainConfig(y),T=await i0(o,n);return{average:t.SwapKitNumber.fromBigInt(BigInt(T),f),fast:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fast,!0)),f),fastest:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fastest,!0)),f)}}function OU(y,n){return{amount:[{amount:y.getBaseValue("string"),denom:n}],gas:"200000"}}function wU(y){return{[t.Chain.Cosmos]:0.007,[t.Chain.Kujira]:0.02,[t.Chain.Noble]:0.01,[t.Chain.THORChain]:0.02,[t.Chain.Maya]:0.02,[t.Chain.Harbor]:0.02}[y]||0}function L1(y){let n=t.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(n))return!1;try{let{prefix:T,words:C}=Af.bech32.decode(f);return Af.bech32.encode(T,C)===f.toLocaleLowerCase()}catch{return!1}}}function Q1(y){return async function(o){let f=await t.getRPCUrl(y);return(await(await ry(f)).getAllBalances(o)).map((U)=>({...U,denom:U.denom.includes("/")?U.denom.toUpperCase():U.denom}))}}function DU(y){return async function(o){let f=await import("@cosmjs/crypto"),T=f.stringToPath??f.default?.stringToPath,C=f.Slip10Curve??f.default?.Slip10Curve,H=f.Slip10??f.default?.Slip10,U=f.EnglishMnemonic??f.default?.EnglishMnemonic,_=f.Bip39??f.default?.Bip39,A=new U(o),Z=await _.mnemonicToSeed(A),{privkey:M}=H.derivePath(C.Secp256k1,Z,T(y));return M}}var Z1,J1,Af,t,g0,On,X1;var JT=P(()=>{zn();Z1=require("@cosmjs/crypto"),J1=require("@cosmjs/proto-signing"),Af=require("@scure/base"),t=require("@swapkit/helpers"),g0=require("@swapkit/helpers/api"),On=require("ts-pattern");X1={[t.Chain.Cosmos]:1000,[t.Chain.Kujira]:1000,[t.Chain.Noble]:1000,[t.Chain.THORChain]:5000000,[t.Chain.Maya]:5000000,[t.Chain.Harbor]:5000000}});function RU({prefix:y,derivationPath:n}){return async function(f,T=0){let C=await import("@cosmjs/amino"),H=C.Secp256k1HdWallet??C.default?.Secp256k1HdWallet,U=await import("@cosmjs/crypto"),_=U.stringToPath??U.default?.stringToPath;return H.fromMnemonic(f,{hdPaths:[_(`${n}/${T}`)],prefix:y})}}function kU(y){return qf.base64.encode(y)}function lU(y){return async function({wallet:o,tx:f}){let{msgs:T,accountNumber:C,sequence:H,chainId:U,fee:_,memo:A}=typeof f==="string"?JSON.parse(f):f,Z=(await o.getAccounts())?.[0]?.address||"",M=await Hf(y),W=await kf(),G=await V0(o,{aminoTypes:M,registry:W}),X=[];for(let D of T){let L=await Uf(D,y);X.push(L)}let{signatures:[Q]}=await G.sign(Z,X,_,A,{accountNumber:C,chainId:U,sequence:H});return{bodyBytes:await Nn({chain:y,memo:A,msgs:T.map(_f)}),signature:kU(Q)}}}function SU({prefix:y,chain:n}){return async function(f,T,C,H,U){let _=await s.getRPCUrl(n),{encodeSecp256k1Pubkey:A,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:W,fee:G}=JSON.parse(f),X=await Y1(C,H),Q=T.map((L)=>[Z(A(qf.base64.decode(L.pubKey)),y),qf.base64.decode(L.signature)]),B=await ry(_),{transactionHash:D}=await B.broadcastTx(M(X,W,G,U,new Map(Q)));return D}}async function Y1(y,n,o=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:T}=(await import("@cosmjs/amino")).default;return f(y.map((C)=>T(qf.base64.decode(C))),n,o)}function xU(y){return qf.base64.decode(y)}async function FU({privateKey:y,message:n}){let{Secp256k1:o}=(await import("@cosmjs/crypto")).default,f=await o.createSignature(qf.base64.decode(n),y);return qf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function d0({chain:y,...n}){let{isStagenet:o}=s.SKConfig.get("envs"),f=s.SKConfig.get("thornodeUrls"),T=y===s.Chain.Maya,C=Kf.match({isMayachain:T,isStagenet:o}).with({isMayachain:!0},({isStagenet:L})=>L?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:L})=>L?f.THOR_STAGENET:f.THOR),H=`${o?"s":""}${s.CosmosChainPrefixes[y]}`,U="index"in n?n.index||0:0,_="derivationPath"in n&&n.derivationPath?n.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[y],{index:U}),A=wn({chain:y,...n}),Z=dy(y),M;function W(){return M??=Kf.match(n).with({phrase:Kf.P.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:Kf.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function G(){let L=await s.getRPCUrl(y),w=await W();if(!w)throw new s.SwapKitError("toolbox_cosmos_no_signer");let N=await kf(),z=await Hf(y),J=await Rf(L,w,{aminoTypes:z,registry:N});return{signer:w,signingClient:J}}async function X({fee:L,memo:w,msgs:N}){let{signer:z,signingClient:J}=await G(),Y=(await z.getAccounts())?.[0]?.address;if(!Y)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");let R=await J.signAndBroadcast(Y,N,L,w);if(R.code!==0)throw new s.SwapKitError("core_swap_transaction_error",{code:R.code,message:R.rawLog});return R.transactionHash}async function Q(){let L,w=`${C}/${T?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await s.RequestClient.get(w);if(!N||Number.isNaN(N)||N<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});L=new s.SwapKitNumber(N)}catch{L=new s.SwapKitNumber({decimal:s.getChainConfig(y).baseDecimal,value:T?1:0.02})}return{[s.FeeOption.Average]:L,[s.FeeOption.Fast]:L,[s.FeeOption.Fastest]:L}}async function B({assetValue:L,memo:w="",recipient:N}){let{TxRaw:z}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:J,signingClient:Y}=await G(),R=(await J.getAccounts())?.[0]?.address;if(!R)throw new s.SwapKitError("toolbox_cosmos_no_signer");let l="signAmino"in J,q=ZT({assetValue:L,memo:w,recipient:N,sender:R});if(l){let x=await Uf(q,y),{signatures:F,authInfoBytes:u}=await Y.sign(R,[x],Z,w),h=z.encode({authInfoBytes:u,bodyBytes:await Nn({chain:y,memo:w,msgs:[q].map(_f)}),signatures:F}).finish();return(await Y.broadcastTx(h)).transactionHash}let O=_f(q),k=await Uf(O,y);return X({fee:Z,memo:w,msgs:[k]})}async function D(L){let{signer:w,signingClient:N}=await G(),z=(await w.getAccounts())?.[0]?.address;if(!z)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");return N.sign(z,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:SU({chain:y,prefix:H}),buildAminoMsg:ZT,buildEncodedTxBody:Nn,convertToSignable:Uf,createDefaultAminoTypes:()=>Hf(y),createDefaultRegistry:kf,createMultisig:Y1,createTransaction:h0,deposit:B,getFees:Q,importSignature:xU,parseAminoMessageForDirectSigning:_f,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:w}=(await import("@cosmjs/amino")).default;return w(L,H)},secp256k1HdWalletFromMnemonic:RU({derivationPath:s.derivationPathToString(_),prefix:H}),signAndBroadcastTransaction:X,signMultisigTx:lU(y),signTransaction:D,signWithPrivateKey:FU,transfer:B}}var qf,s,Kf;var r0=P(()=>{m0();zn();JT();qf=require("@scure/base"),s=require("@swapkit/helpers"),Kf=require("ts-pattern")});var Gf,$U=(y,n)=>{switch(y){case Gf.Chain.Cosmos:case Gf.Chain.Kujira:case Gf.Chain.Noble:return wn({chain:y,...n});case Gf.Chain.Maya:case Gf.Chain.THORChain:return d0({chain:y,...n});default:throw new Gf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var B1=P(()=>{JT();r0();Gf=require("@swapkit/helpers");JT();r0()});var MT={};My(MT,{verifySignature:()=>M1,transferMsgAmino:()=>j0,toBase64:()=>QU,parseAminoMessageForDirectSigning:()=>_f,getSignerFromPrivateKey:()=>BU,getSignerFromPhrase:()=>c0,getMsgSendDenom:()=>Cf,getFeeRateFromSwapKit:()=>zU,getDenomWithChain:()=>Bn,getDefaultChainFee:()=>dy,getCosmosToolbox:()=>$U,getCosmosAddressValidator:()=>L1,getAssetFromDenom:()=>u0,fromBase64:()=>ZU,fetchFeeRateFromSwapKit:()=>i0,estimateTransactionFee:()=>NU,depositMsgAmino:()=>K0,createTransaction:()=>h0,createThorchainToolbox:()=>d0,createStargateClient:()=>ry,createSigningStargateClient:()=>Rf,createOfflineStargateClient:()=>V0,createDefaultRegistry:()=>kf,createDefaultAminoTypes:()=>Hf,createCosmosToolbox:()=>wn,cosmosCreateTransaction:()=>b0,convertToSignable:()=>Uf,buildTransferTx:()=>U1,buildEncodedTxBody:()=>Nn,buildDepositTx:()=>_1,buildAminoMsg:()=>ZT,bech32ToBase64:()=>Ln,base64ToBech32:()=>Yn,YUM_KUJIRA_FACTORY_DENOM:()=>eC,USK_KUJIRA_FACTORY_DENOM:()=>E0,THORCHAIN_GAS_VALUE:()=>LU,MAYA_GAS_VALUE:()=>YU,DEFAULT_NOBLE_FEE_MAINNET:()=>n1,DEFAULT_KUJI_FEE_MAINNET:()=>f1,DEFAULT_COSMOS_FEE_MAINNET:()=>y1});module.exports=Ny(MT);var LT=P(()=>{m0();B1();zn()});function IU({builder:y,grouping:n="na",orders:o}){return{builder:y,grouping:n,orders:o,type:"order"}}function PU({cancels:y}){return{cancels:y,type:"cancel"}}function tU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function pU({oid:y,order:n}){return{oid:y,order:n,type:"modify"}}function EU({modifies:y}){return{modifies:y,type:"batchModify"}}function VU({asset:y,isCross:n,leverage:o}){return{asset:y,isCross:n,leverage:o,type:"updateLeverage"}}function bU({asset:y,isBuy:n,ntli:o}){return{asset:y,isBuy:n,ntli:o,type:"updateIsolatedMargin"}}function uU({asset:y,leverage:n}){return{asset:y,leverage:n,type:"topUpIsolatedOnlyMargin"}}function vU({time:y}){return{time:y,type:"scheduleCancel"}}function jU({amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T}){return{amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T,type:"usdClassTransfer"}}function KU({amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_}){return{amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_,type:"sendAsset"}}function hU({agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T}){return{agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T,type:"approveAgent"}}function mU({builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T}){return{builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T,type:"approveBuilderFee"}}function cU({hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,validator:T,wei:C}){return{hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,type:"tokenDelegate",validator:T,wei:C}}function Fy(...y){let n=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(n),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function sU(y,n,o){if(o<n)return new Uint8Array([y+o]);if(o<=255)return new Uint8Array([y+n,o]);if(o<=65535)return new Uint8Array([y+n+1,o>>8,o&255]);return new Uint8Array([y+n+2,o>>>24&255,o>>>16&255,o>>>8&255,o&255])}function Xf(y,n){let o=new Uint8Array(n),f=y;for(let T=n-1;T>=0;T-=1)o[T]=Number(f&0xffn),f>>=8n;return o}function z1(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return Fy(new Uint8Array([205]),Xf(y,2));if(y<=0xffffffffn)return Fy(new Uint8Array([206]),Xf(y,4));return Fy(new Uint8Array([207]),Xf(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return Fy(new Uint8Array([209]),Xf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return Fy(new Uint8Array([210]),Xf(BigInt.asUintN(32,y),4));return Fy(new Uint8Array([211]),Xf(BigInt.asUintN(64,y),8))}function w1(y){let n=aU.encode(y);if(n.length<32)return Fy(new Uint8Array([160+n.length]),n);return Fy(sU(217,0,n.length),n)}function eU(y){let n=y.map((f)=>a0(f)),o=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Fy(o,...n)}function y2(y){let n=Object.entries(y).filter(([,f])=>typeof f<"u"),o=n.length<16?new Uint8Array([128+n.length]):n.length<=65535?new Uint8Array([222,n.length>>8,n.length&255]):new Uint8Array([223,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return Fy(o,...n.flatMap(([f,T])=>[w1(f),a0(T)]))}function a0(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return w1(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new YT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return z1(BigInt(y))}if(typeof y==="bigint")return z1(y);if(y instanceof Uint8Array){let n=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Fy(n,y)}if(Array.isArray(y))return eU(y);if(typeof y==="object")return y2(y);throw new YT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function f2(y){let n=y.startsWith("0x")?y.slice(2):y;if(n.length%2!==0||/[^a-fA-F0-9]/u.test(n))throw new YT.SwapKitError("helpers_invalid_params",{hexValue:y});let o=new Uint8Array(n.length/2);for(let f=0;f<n.length;f+=2)o[f/2]=Number.parseInt(n.slice(f,f+2),16);return o}function D1(y){return{domain:gU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...iU.Agent]}}}function R1(y){let n=rU[y.type],o=dU[y.type],{type:f,...T}=y;return{domain:{chainId:Number.parseInt(T.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:N1,version:"1"},message:{...T,hyperliquidChain:T.hyperliquidChain||O1},primaryType:n,types:{[n]:o}}}function k1(y){let n=BT.Signature.from(y);return{r:n.r,s:n.s,v:n.v}}function l1(y,n,{expiresAfter:o,vaultAddress:f}={}){let T=a0(y),C=Xf(BigInt(n),8),H=f?Fy(new Uint8Array([1]),f2(f.toLowerCase())):new Uint8Array([0]),U=typeof o==="number"?Fy(new Uint8Array([0]),Xf(BigInt(o),8)):new Uint8Array;return BT.keccak256(Fy(T,C,H,U))}function S1(y){let n=y.hyperliquidChain||O1;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:n};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:n};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:n};case"tokenDelegate":return{...y,hyperliquidChain:n,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:n};default:return y}}var YT,BT,N1="0x0000000000000000000000000000000000000000",gU,iU,O1="Mainnet",dU,rU,aU;var x1=P(()=>{YT=require("@swapkit/helpers"),BT=require("ethers"),gU={chainId:1337,name:"Exchange",verifyingContract:N1,version:"1"},iU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},dU={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"}]},rU={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},aU=new TextEncoder});function Ey(y,n){if(!yo(y))throw new yy.SwapKitError(n,{address:y});return y.toLowerCase()}async function lf(y){let n=await zT();return yy.RequestClient.post(`${n}/info`,{json:y})}function _2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"clearinghouseState",user:Ey(n,"helpers_invalid_params")})}function A2({user:y}){return lf({type:"spotClearinghouseState",user:Ey(y,"helpers_invalid_params")})}function q2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"openOrders",user:Ey(n,"helpers_invalid_params")})}function G2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"frontendOpenOrders",user:Ey(n,"helpers_invalid_params")})}function X2({oidOrCloid:y,user:n}){return lf({oid:y,type:"orderStatus",user:Ey(n,"helpers_invalid_params")})}function W2({aggregateByTime:y,user:n}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:Ey(n,"helpers_invalid_params")})}function Q2({aggregateByTime:y,endTime:n,startTime:o,user:f}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof n==="number"?{endTime:n}:{},startTime:o,type:"userFillsByTime",user:Ey(f,"helpers_invalid_params")})}function F1({coin:y,token:n,value:o,spotMeta:f}){if(!o||Number(o)<=0)return null;let T=y?.toUpperCase()||`TOKEN-${n||"UNKNOWN"}`,C=n2[T]||P1,H=f?.tokens?.find((_)=>_.name===y||n!==void 0&&_.index===Number(n)),U=H?`${my}.${T}-${H.name}:${H.tokenId}`:`${my}.${T}`;return new yy.AssetValue({decimal:C,identifier:U,value:o})}function Z2(y){let n=new Map;for(let o of y){let f=o.toString({includeSynthProtocol:!0}),T=n.get(f);n.set(f,T?T.add(o):o)}if(![...n.values()].some((o)=>o.isGasAsset||o.ticker==="HYPE")){let o=yy.AssetValue.from({chain:my,value:0});n.set(o.toString({includeSynthProtocol:!0}),o)}return[...n.values()]}async function zT(){try{return await yy.getRPCUrl(my)}catch{let[y]=yy.getChainConfig(my).rpcUrls;if(!y)throw new yy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:my});return y}}async function e0(){return`${await zT()}/exchange`}function J2(y){let n=U2[y.type],{type:o,...f}=y,T=H2[o];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:C2,version:"1"},message:f,primaryType:n,types:{[n]:T}}}async function t1({action:y,expiresAfter:n,nonce:o,vaultAddress:f}){let T=o||Date.now(),C=f?Ey(f,"helpers_invalid_params"):void 0,H=await e0(),U=l1(y,T,{expiresAfter:n,vaultAddress:C});return{action:y,endpoint:H,expiresAfter:n,nonce:T,typedData:D1(U),vaultAddress:C}}async function p1({action:y,nonce:n,signatureChainId:o}){let f=n||y.nonce||Date.now(),T=o||y.signatureChainId||"0xa4b1",C=S1({...y,nonce:f,signatureChainId:T});return{action:C,endpoint:await e0(),nonce:f,typedData:R1(C)}}async function s0({assetValue:y,recipient:n,sender:o,signatureChainId:f,time:T}){let C=Ey(n,"core_transaction_invalid_recipient_address"),H=Ey(o,"core_transaction_invalid_sender_address"),U=await e0(),_=y.getValue("string"),A=T||Date.now(),Z=y.address;if(!Z)throw new yy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:H});let M={amount:_,destination:C,hyperliquidChain:T2,signatureChainId:f||o2,time:A,token:Z,type:"spotSend"};return{action:M,endpoint:U,nonce:A,typedData:J2(M)}}async function $1(y){let n=await yy.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(n.status!=="ok")throw new yy.SwapKitError("core_transaction_failed",{response:n});return n}async function M2(y,n){let o=await zT(),f=n-5000;for(let T=0;T<5;T++){if(T>0)await new Promise((C)=>setTimeout(C,1000));try{let C=await yy.RequestClient.post(`${o}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),H=Array.isArray(C)?C.find((U)=>U.time&&U.time>=n&&(U.delta?.type==="spotTransfer"||U.delta?.type==="internalTransfer")):void 0;if(H?.hash)return H.hash}catch{}}return""}function yo(y){return y.startsWith("0x")&&Wn(y)}function L2(y){let n=Sy(my),o=y&&"index"in y?y.index||0:0,f=yy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[my],{index:o})),T,C=!1;function H(){if(C)return T;return T=hf.match(y).with({phrase:hf.P.string},({phrase:W})=>{return I1.HDNodeWallet.fromPhrase(W,void 0,f)}).with({signer:hf.P.not(hf.P.nullish)},({signer:W})=>W).otherwise(()=>{return}),C=!0,T}async function U(){let W=H();return W?await W.getAddress():""}async function _(W){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let X=await G.signTypedData(W.typedData.domain,W.typedData.types,W.typedData.message);return{action:W.action,endpoint:W.endpoint,nonce:W.nonce,signature:k1(X),..."expiresAfter"in W?{expiresAfter:W.expiresAfter}:{},..."vaultAddress"in W?{vaultAddress:W.vaultAddress}:{}}}async function A(W){let G=Ey(W,"helpers_invalid_params");try{let X=await zT(),[Q,B,D]=await Promise.all([yy.RequestClient.post(`${X}/info`,{json:{type:"spotClearinghouseState",user:G}}),yy.RequestClient.post(`${X}/info`,{json:{type:"clearinghouseState",user:G}}),yy.RequestClient.post(`${X}/info`,{json:{type:"spotMeta"}})]),L=(Q.spotState?.balances||Q.balances||[]).map(({coin:N,token:z,total:J})=>F1({coin:N,spotMeta:D,token:z,value:J})).filter((N)=>!!N),w=F1({coin:"USDC",spotMeta:D,value:B.withdrawable||B.marginSummary?.accountValue||B.marginSummary?.totalRawUsd});return Z2(w?[...L,w]:L)}catch{return n(G)}}async function Z(W){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let X=W.sender||await G.getAddress(),Q=await s0({...W,feeRate:0,sender:X}),B=await _(Q);return await $1(B),M2(X,Q.nonce)}function M(){return yy.AssetValue.from({chain:my,value:0})}return{broadcastTransaction:$1,createL1ActionRequest:t1,createTransaction:s0,createUserSignedActionRequest:p1,estimateTransactionFee:M,getAddress:U,getBalance:A,getState:{clearinghouse:_2,frontendOpenOrders:G2,openOrders:q2,orderStatus:X2,spotClearinghouse:A2,userFills:W2,userFillsByTime:Q2},signTransaction:_,transfer:Z,validateAddress:yo}}var yy,I1,hf,my,P1,n2,T2="Mainnet",o2="0xa4b1",C2="0x0000000000000000000000000000000000000000",H2,U2;var E1=P(()=>{F0();iy();x1();yy=require("@swapkit/helpers"),I1=require("ethers"),hf=require("ts-pattern"),my=yy.Chain.HyperCore,{baseDecimal:P1}=yy.getChainConfig(my),n2={HYPE:P1,USDC:6,USDT:6},H2={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},U2={spotSend:"HyperliquidTransaction:SpotSend"}});var fo={};My(fo,{validateHyperCoreAddress:()=>yo,getHyperCoreToolbox:()=>L2,createUserSignedActionRequest:()=>p1,createTransaction:()=>s0,createL1ActionRequest:()=>t1,buildUsdClassTransferAction:()=>jU,buildUpdateLeverageAction:()=>VU,buildUpdateIsolatedMarginAction:()=>bU,buildTopUpIsolatedOnlyMarginAction:()=>uU,buildTokenDelegateAction:()=>cU,buildSendAssetAction:()=>KU,buildScheduleCancelAction:()=>vU,buildOrderAction:()=>IU,buildModifyAction:()=>pU,buildCancelByCloidAction:()=>tU,buildCancelAction:()=>PU,buildBatchModifyAction:()=>EU,buildApproveBuilderFeeAction:()=>mU,buildApproveAgentAction:()=>hU});module.exports=Ny(fo);var no=P(()=>{E1()});async function u1(y){let n=r.AssetValue.from({address:y,chain:r.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:y,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let o=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(o);if(!f.ok)return null;let T=await f.json();if(!Array.isArray(T)||T.length===0)return null;return T.find((H)=>H.id===y)||null}catch{return null}}async function Y2(y){let n=await ay(),{PublicKey:o}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),T=new o(y),{baseDecimal:C}=r.getChainConfig(r.Chain.Solana),H=await n.getBalance(T),U=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:C,value:H||0})],_=await n.getParsedTokenAccountsByOwner(T,{programId:f});for(let{account:A}of _.value){let Z=A.data.parsed.info,M=Z.mint,W=Z.tokenAmount.amount;if(Number(W)===0)continue;let G=await u1(M),X=G?.symbol||"UNKNOWN",Q=G?.decimals||Z.tokenAmount.decimals;U.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${X}-${M}`,fromBaseDecimal:Q,value:W}))}return U}function oo(y){try{let n=new sy.PublicKey(y);return sy.PublicKey.isOnCurve(n.toBytes())}catch{return!1}}function B2(y){let n=y&&"index"in y?y.index||0:0,o=r.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:n})),f;async function T(){if(f)return f;return f=await Dn.match(y).with({phrase:Dn.P.string},({phrase:H})=>To({derivationPath:o,phrase:H})).with({signer:Dn.P.any},({signer:H})=>H).otherwise(()=>{return}),f}async function C(){let H=await T();return H?.publicKey?b1(H.publicKey):""}return{broadcastTransaction:NT(ay),createKeysForPath:To,createTransaction:Co(ay),createTransactionFromInstructions:w2,estimateTransactionFee:z2(ay),getAddress:C,getAddressFromPubKey:b1,getBalance:Sy(r.Chain.Solana),getBalanceFromRPC:Y2,getConnection:ay,getPubkeyFromAddress:(H)=>new sy.PublicKey(H),signAndBroadcastTransaction:async(H)=>{let U=await V1(ay,T)(H);return NT(ay)(U)},signTransaction:V1(ay,T),transfer:D2(ay,T),validateAddress:oo}}function z2(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let H=await y(),_=(await Co(y)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:n,sender:C})).compileMessage(),A=await H.getFeeForMessage(_);if(A.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Z}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:Z,value:A.value})}}async function ay(){let{Connection:y}=await import("@solana/web3.js"),n=await r.getRPCUrl(r.Chain.Solana);return new y(n,{commitment:"confirmed",fetchMiddleware:(o,f,T)=>{let C={};for(let[H,U]of Object.entries(f?.headers??{})){let _=H.toLowerCase();if(_!=="pragma"&&_!=="solana-client")C[H]=U}T(o,{...f,headers:C})}})}function N2(y){return async({assetValue:n,recipient:o,sender:f,isProgramDerivedAddress:T})=>{let C=await y(),H=new sy.PublicKey(f);if(n.isGasAsset){let{Transaction:U,SystemProgram:_}=await import("@solana/web3.js");return new U().add(_.transfer({fromPubkey:H,lamports:n.getBaseValue("number"),toPubkey:new sy.PublicKey(o)}))}if(n.address)return O2({amount:n.getBaseValue("number"),connection:C,decimals:n.decimal,from:H,isProgramDerivedAddress:T,recipient:o,tokenAddress:n.address});return}}async function O2({tokenAddress:y,recipient:n,from:o,connection:f,amount:T,decimals:C,isProgramDerivedAddress:H}){let{getAssociatedTokenAddress:U,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:Z}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),W=new M,G=new sy.PublicKey(y),X=await U(G,o),Q=new sy.PublicKey(n),B=await U(G,Q,H),D=!1;try{await _(f,B),D=!0}catch{}if(!D)W.add(A(o,B,Q,G));return W.add(Z(X,G,B,o,T,C)),W}function Co(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let{createMemoInstruction:H}=await import("@solana/spl-memo"),U=new sy.PublicKey(C);if(!(T||oo(n)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let _=await y(),A=await N2(y)({assetValue:o,isProgramDerivedAddress:T,recipient:n,sender:C});if(!A)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(f)A.add(H(f));let Z=await _.getLatestBlockhash();return A.recentBlockhash=Z.blockhash,A.feePayer=U,A}}async function w2({instructions:y}){let{Transaction:n}=await import("@solana/web3.js"),o=new n().add(...y);if(!o)throw new r.SwapKitError("core_transaction_invalid_sender_address");return o}function D2(y,n){return async({recipient:o,assetValue:f,memo:T,isProgramDerivedAddress:C})=>{let H=await n();if(!H)throw new r.SwapKitError("core_transaction_invalid_sender_address");let U=H.publicKey?.toString()??(await H.connect()).publicKey.toString(),_=await Co(y)({assetValue:f,isProgramDerivedAddress:C,memo:T,recipient:o,sender:U});if("signTransaction"in H){let A=await H.signTransaction(_);return NT(y)(A)}return _.sign(H),NT(y)(_)}}function NT(y){return async(n)=>{return(await y()).sendRawTransaction(n.serialize())}}function V1(y,n){return async(o)=>{let f=await n();if(!f)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:T}=await import("@solana/web3.js");if(!(o instanceof T)){let H=await(await y()).getLatestBlockhash();o.recentBlockhash=H.blockhash,o.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(o);return o.sign([f]),o}}async function To({phrase:y,derivationPath:n=r.DerivationPath.SOL}){let{HDKey:o}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:T}=await import("@solana/web3.js"),C=f(y),H=o.fromMasterSeed(C);return T.fromSeed(H.derive(n,!0).privateKey)}function b1(y){return y.toString()}var sy,r,Dn;var v1=P(()=>{iy();sy=require("@solana/web3.js"),r=require("@swapkit/helpers"),Dn=require("ts-pattern")});var Ho={};My(Ho,{validateSolanaAddress:()=>oo,getSolanaToolbox:()=>B2,fetchTokenMetaData:()=>u1,createKeysForPath:()=>To});module.exports=Ny(Ho);var Uo=P(()=>{v1()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function wT({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:T,hash:C,encode:H,CallData:U}=await import("starknet"),_=f(y),Z=o.fromMasterSeed(_).derive(n);if(!Z.privateKey)throw new m.SwapKitError("toolbox_starknet_no_signer");let M=H.addHexPrefix(Buffer.from(Z.privateKey).toString("hex")),W=T.starkCurve.grindKey(M),G=H.addHexPrefix(W),X=T.starkCurve.getStarkKey(G),Q=U.compile([X,0]);return{address:C.calculateContractAddressFromHash(X,Ao,Q,0),privateKey:G,publicKey:X}}async function qo({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{Account:o,RpcProvider:f}=await import("starknet"),{privateKey:T,address:C}=await wT({derivationPath:n,phrase:y}),H=await m.getRPCUrl(m.Chain.Starknet),U=new f({nodeUrl:H});return new o({address:C,provider:U,signer:T})}function K1(y){let n=m.Chain.Starknet,o=y&&"index"in y?y.index||0:0,f=m.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[n],{index:o})),T,C,H;async function U(){if(C)return C;let{RpcProvider:z}=await import("starknet"),J=await m.getRPCUrl(n);return C=new z({nodeUrl:J}),C}async function _(z){let J=await U(),Y=z||await W();if(!Y)return!1;try{return await J.getClassHashAt(Y),!0}catch(R){if(R instanceof Error&&R.message.includes("Contract not found"))return!1;let l=R;if(l?.code===20||l?.code===19)return!1;throw R}}async function A(){let{CallData:z,hash:J}=await import("starknet"),Y=await U(),R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");if(!H)throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return R.address;let q=z.compile([H,0]);if(J.calculateContractAddressFromHash(H,Ao,q,0).toLowerCase()!==R.address.toLowerCase())throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let k={addressSalt:H,classHash:Ao,constructorCalldata:q},{transaction_hash:x}=await R.deployAccount(k);return await Y.waitForTransaction(x),x}async function Z(){if(!await _()){if(!H)throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await A()}}async function M(){if(T)return T;return T=await Vy.match(y).with({phrase:Vy.P.string},async({phrase:z})=>{let{Account:J,RpcProvider:Y}=await import("starknet"),{privateKey:R,address:l,publicKey:q}=await wT({derivationPath:f,phrase:z});H=q;let O=await m.getRPCUrl(m.Chain.Starknet),k=new Y({nodeUrl:O});return new J({address:l,provider:k,signer:R})}).with({address:Vy.P.string,privateKey:Vy.P.string},async({privateKey:z,address:J})=>{let{Account:Y}=await import("starknet"),R=await U();return new Y({address:J,provider:R,signer:z})}).with({signer:Vy.P.instanceOf(Object)},({signer:z})=>z).otherwise(()=>{return}),T}async function W(){return(await M())?.address??""}async function G(z){let J=await U(),{uint256:Y,CallData:R}=await import("starknet"),l=[],q=[_o,j1];for(let O of q)try{let[k="0",x="0"]=await J.callContract({calldata:R.compile({account:z}),contractAddress:O,entrypoint:"balanceOf"}),F=Y.uint256ToBN({high:k,low:x});Vy.match(O).with(_o,()=>{l.push(m.AssetValue.from({chain:n,value:F}))}).with(j1,()=>{if(F>0n)l.push(m.AssetValue.from({asset:`${n}.ETH-${O}`,value:F}))}).otherwise(()=>{})}catch{}return l}async function X({recipient:z,assetValue:J}){let{CallData:Y,uint256:R}=await import("starknet");if(!OT(z))throw new m.SwapKitError("core_transaction_invalid_recipient_address",{address:z});let l=J.isGasAsset?_o:J.address;if(!l)throw new m.SwapKitError("toolbox_starknet_invalid_address",{address:l,assetValue:J});let q=R.bnToUint256(J.getBaseValue("bigint"));return[{calldata:Y.compile([z,q]),contractAddress:l,entrypoint:"transfer"}]}async function Q({recipient:z,assetValue:J,sender:Y}){let{baseDecimal:R}=m.getChainConfig(m.Chain.Starknet),l=await M(),q=await Vy.match({sender:Y,signer:l}).with({sender:Vy.P.string},async({sender:O})=>{let{Account:k}=await import("starknet"),x=await U();return new k({address:O,provider:x,signer:"0x0"})}).with({signer:Vy.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new m.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await X({assetValue:J,recipient:z}),k=await q.estimateInvokeFee(O);if(k?.overall_fee)return m.AssetValue.from({chain:n,fromBaseDecimal:R,value:k.overall_fee})}catch(O){throw new m.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return m.AssetValue.from({chain:n,value:"0.00001"})}async function B({recipient:z,assetValue:J,memo:Y}){let R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");await Z();let l=await X({assetValue:J,memo:Y,recipient:z});return(await R.execute(l)).transaction_hash}async function D(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");let Y=await J.signMessage(z);return Array.isArray(Y)?Y:[Y.r.toString(),Y.s.toString()]}async function L(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");return await Z(),(await J.execute(z)).transaction_hash}function w(z){return L(z)}function N(z,J=!0){try{return Sy(n)(z,J)}catch{return G(z)}}return{broadcastTransaction:L,createKeysForPath:qo,createTransaction:X,deployAccount:A,estimateTransactionFee:Q,getAddress:W,getBalance:N,getProvider:U,isAccountDeployed:_,signAndBroadcastTransaction:w,signMessage:D,transfer:B,validateAddress:OT}}var m,Vy,_o="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",j1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ao="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var h1=P(()=>{iy();m=require("@swapkit/helpers"),Vy=require("ts-pattern")});var DT={};My(DT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>qo,getStarknetToolbox:()=>K1,deriveStarknetKeys:()=>wT});module.exports=Ny(DT);var RT=P(()=>{h1()});async function g1(y,n,o,f=[],T){let C=await y.getCoins({coinType:o,cursor:T,owner:n}),H=[...f,...C.data];return C.hasNextPage?g1(y,n,o,H,C.nextCursor):H}function R2(y,n,o){let f=n.reduce((_,A)=>_+BigInt(A.balance),0n);if(f<o)throw new Ty.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:o.toString()});let{ids:T}=n.reduce((_,A)=>{if(_.total>=o)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),C=T[0],H=T.slice(1);if(H.length>0)y.mergeCoins(C,H);let[U]=y.splitCoins(C,[o]);return U}function i1(y){try{return c1.isValidSuiAddress(y)}catch{return!1}}function m1(y){return"signWithIntent"in y}function k2({provider:y,...n}={}){let o;async function f(){if(o)return o;return o=await Rn.match(n).with({phrase:Rn.P.string},async({phrase:X})=>{let{Ed25519Keypair:Q}=await import("@mysten/sui/keypairs/ed25519");return Q.deriveKeypair(X)}).with({signer:Rn.P.any},({signer:X})=>X).otherwise(()=>{return}),o}async function T(X=y){let{SuiClient:Q,getFullnodeUrl:B}=await import("@mysten/sui/client");return new Q({url:X||B("mainnet")})}async function C(){return(await f())?.toSuiAddress()||""}function H(X){try{let Q=Ty.AssetValue.from({address:X,chain:Ty.Chain.Sui});return{asset:Q.toString(),decimals:Q.decimal}}catch{}return null}async function U(X){let Q=X||await C();if(!Q)throw new Ty.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:D}=Ty.getChainConfig(Ty.Chain.Sui);try{let L=await T(),{totalBalance:w}=await L.getBalance({owner:Q}),N=[Ty.AssetValue.from({chain:D,fromBaseDecimal:B,value:w})],z=await L.getAllBalances({owner:Q});for(let{coinType:J,totalBalance:Y}of z){if(J==="0x2::sui::SUI"||Number(Y)<=0)continue;let R=H(J);if(R)N.push(Ty.AssetValue.from({asset:R.asset,fromBaseDecimal:R.decimals,value:Y}))}return N}catch{return[Ty.AssetValue.from({chain:D})]}}async function _(X){let Q=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!X)return Q;try{let B=await T(),{txBytes:D}=await A(X),{effects:{status:L,gasUsed:w}}=await B.dryRunTransactionBlock({transactionBlock:D});if(L.status!=="success")return Q;let N=Number(w.computationCost)+Number(w.storageCost)-Number(w.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,value:N.toString()})}catch{return Q}}async function A({recipient:X,assetValue:Q,gasBudget:B,sender:D}){let{Transaction:L}=await import("@mysten/sui/transactions"),w=D||await C();if(!w)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let N=new L;if(N.setSender(w),Q.isGasAsset||Q.symbol==="SUI"){let[Y]=N.splitCoins(N.gas,[Q.getBaseValue("string")]);N.transferObjects([Y],X)}else{let Y=Q.address;if(!Y)throw new Ty.SwapKitError("toolbox_sui_missing_coin_type");let R=await T(),l=Q.getBaseValue("bigint"),q=await g1(R,w,Y);if(!q.length)throw new Ty.SwapKitError("toolbox_sui_no_coins_found",{coinType:Y});let O=R2(N,q,l);N.transferObjects([O],X)}if(B)N.setGasBudget(B);let z=await T(),J=await N.build({client:z});return{tx:N,txBytes:J}}catch(N){if(N instanceof Ty.SwapKitError)throw N;throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:N})}}async function Z(X){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(X instanceof Uint8Array)return Q.signTransaction(X);let{txBytes:B}="tx"in X?X:await A(X);return Q.signTransaction(B)}async function M({assetValue:X,gasBudget:Q,recipient:B}){let D=await f();if(!D)throw new Ty.SwapKitError("toolbox_sui_no_signer");let L=D.toSuiAddress()||await C();if(!L)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:w}=await A({assetValue:X,gasBudget:Q,recipient:B,sender:L}),N=await T();if(!m1(D)){let J=await D.signTransaction(w),{digest:Y}=await N.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return Y}let{digest:z}=await N.signAndExecuteTransaction({signer:D,transaction:w});return z}async function W(X){let Q=await T(),{digest:B}=await Q.executeTransactionBlock({signature:X.signature,transactionBlock:X.bytes});return B}async function G(X){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");let B=await T(),D;if(typeof X==="string")D=Uint8Array.from(Buffer.from(X,"base64"));else if(X instanceof Uint8Array)D=X;else D=await X.build({client:B});if(!m1(Q)){let w=await Q.signTransaction(D),{digest:N}=await B.executeTransactionBlock({signature:w.signature,transactionBlock:w.bytes});return N}let{digest:L}=await B.signAndExecuteTransaction({signer:Q,transaction:D});return L}return{broadcastTransaction:W,createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:U,signAndBroadcastTransaction:G,signTransaction:Z,transfer:M,validateAddress:i1}}var c1,Ty,Rn;var d1=P(()=>{c1=require("@mysten/sui/utils"),Ty=require("@swapkit/helpers"),Rn=require("ts-pattern")});var kT={};My(kT,{validateSuiAddress:()=>i1,getSuiToolbox:()=>k2});module.exports=Ny(kT);var lT=P(()=>{d1()});async function $2(){let y=Date.now();if(ST&&y-a1<F2)return ST;try{return ST=await s1.getHttpEndpoint(),a1=y,ST}catch{return Wy.getRPCUrl(Wy.Chain.Ton)}}function I2(y={}){let n,o,f;async function T(){if(!n){let N=y.provider??await $2();n=new g.TonClient({endpoint:N})}return n}async function C(){return(await U()).address.toString()}async function H(){if(f)return f;return f=await Sf.match(y).with({phrase:Sf.P.string},async({phrase:N})=>e1.mnemonicToWalletKey(N.split(" "))).with({signer:Sf.P.any},({signer:N})=>N).otherwise(()=>{return}),f}async function U(N){if(!o||N){let z=await H(),J=await T(),Y=N||z;if(!Y)throw new Wy.SwapKitError("core_wallet_connection_not_found");let R=g.WalletContractV4.create({publicKey:Y.publicKey,workchain:0});o=J.open(R)}return o}let _=Sy(Wy.Chain.Ton);async function A({assetValue:N,recipient:z,memo:J,sender:Y}){if(N.isGasAsset){let h=J?w(J).toBoc().toString("base64"):void 0;return[{address:z,amount:N.getBaseValue("string"),payload:h}]}let R=N.address;if(!R)throw new Wy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:N.toString()}});let l=Y??await C(),q=await D({jettonMasterAddress:R,ownerAddress:l}),O=g.Address.parse(z),k=g.Address.parse(l),x=N.getBaseValue("bigint"),F=J?w(J):void 0,u=L({destinationAddress:O,forwardPayload:F,jettonAmount:x,responseAddress:k});return[{address:q.toString(),amount:x2.toString(),payload:u.toBoc().toString("base64")}]}function Z({sender:N,...z}){return A({...z,sender:N})}function M(N){return N.map((z)=>{let J=z.payload?g.Cell.fromBase64(z.payload):void 0,Y=z.stateInit?g.loadStateInit(g.Cell.fromBase64(z.stateInit).asSlice()):void 0,R=g.Address.parse(z.address),l=g.Address.isFriendly(z.address)?g.Address.parseFriendly(z.address).isBounceable:!0;return g.internal({body:J,bounce:l,init:Y,to:R,value:BigInt(z.amount)})})}async function W(N){let z=await H(),J=await U();if(!J||!z)throw new Wy.SwapKitError("core_wallet_connection_not_found");let Y=await T(),{state:R}=await Y.getContractState(J.address),l=R==="active",q=l?await J.getSeqno():0,O=J.createTransfer({messages:M(N),secretKey:z.secretKey,sendMode:r1,seqno:q}),k=g.external({body:O,init:l?void 0:J.init,to:J.address});return g.beginCell().store(g.storeMessage(k)).endCell()}async function G(N){return await(await T()).sendFile(N.toBoc()),N.hash().toString("hex")}async function X(N){let z=await W(N);return G(z)}async function Q({assetValue:N,recipient:z,memo:J}){let Y=await Z({assetValue:N,memo:J,recipient:z});return X(Y)}async function B({sender:N,...z}){let{baseDecimal:J}=Wy.getChainConfig(Wy.Chain.Ton),Y=await Sf.match(N).with(Sf.P.string,(q)=>{return g.Address.parseFriendly(q).address}).otherwise(async()=>{return(await U()).address});if(!Y)throw new Wy.SwapKitError("toolbox_fee_estimation_failed",{chain:Wy.Chain.Ton});let R=Wy.AssetValue.from({chain:Wy.Chain.Ton,value:"0.01"}),l=await T();try{let q=await Z({sender:N,...z}),O=await H(),k=await U();if(!k||!O)return R;let x=await k.getSeqno(),F=k.createTransfer({messages:M(q),secretKey:O.secretKey,sendMode:r1,seqno:x}),{source_fees:u}=await l.estimateExternalMessageFee(Y,{body:F,ignoreSignature:!0,initCode:null,initData:null}),h=u.in_fwd_fee+u.storage_fee+u.gas_fee+u.fwd_fee;return R.set(Wy.SwapKitNumber.fromBigInt(BigInt(h),J))}catch{return R}}async function D({jettonMasterAddress:N,ownerAddress:z}){try{let J=await T(),Y=g.Address.parse(N),R=g.Address.parse(z);return await J.open(g.JettonMaster.create(Y)).getWalletAddress(R)}catch{throw new Wy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:N,ownerAddress:z}})}}function L({jettonAmount:N,destinationAddress:z,responseAddress:J,forwardAmount:Y=S2,forwardPayload:R}){let l=g.beginCell().storeUint(l2,32).storeUint(0,64).storeCoins(N).storeAddress(z).storeAddress(J).storeBit(0).storeCoins(Y);if(R)l.storeBit(1).storeRef(R);else l.storeBit(0);return l.endCell()}function w(N){return g.beginCell().storeUint(0,32).storeStringTail(N).endCell()}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:B,getAddress:C,getBalance:_,getJettonWalletAddress:D,sign:W,signAndBroadcastTransaction:X,transfer:Q,validateAddress:yH}}function yH(y){try{return g.Address.parse(y),!0}catch{return!1}}var s1,Wy,e1,g,Sf,l2=260734629,S2,x2,r1,F2=60000,ST,a1=0;var fH=P(()=>{iy();s1=require("@orbs-network/ton-access"),Wy=require("@swapkit/helpers"),e1=require("@ton/crypto"),g=require("@ton/ton"),Sf=require("ts-pattern"),S2=g.toNano("0.01"),x2=g.toNano("0.05"),r1=g.SendMode.PAY_GAS_SEPARATELY+g.SendMode.IGNORE_ERRORS});var xT={};My(xT,{validateTonAddress:()=>yH,getTONToolbox:()=>I2});module.exports=Ny(xT);var FT=P(()=>{fH()});function by(y,n){if(!Number.isInteger(n)||n<0)throw RangeError(`${y} must be a non-negative integer, got: ${n}`)}function Wf({accountIndex:y,chain:n,derivationPath:o}){if(y!==void 0)by("accountIndex",y);let f=[...o?.slice(0,3)??nH.NetworkDerivationPath[n].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({accountIndex:y,change:n=!1,chain:o,derivationPath:f,index:T}){return by("index",T),[...Wf({accountIndex:y,chain:o,derivationPath:f}),Number(n),T]}function xf(y){return y[2]??0}function TH({deriveAddress:y,getBalance:n,getUtxos:o}){async function f(U){let{accountIndex:_,count:A,startIndex:Z=0,change:M=!1}=U;if(by("count",A),A<1)throw RangeError("count must be at least 1");by("startIndex",Z);let W=[];for(let G=0;G<A;G++){let X=await y({accountIndex:_,change:M,index:Z+G});if(X)W.push(X)}return W}async function T(U){let{gapLimit:_=20,change:A=!1}=U??{},Z=[],M=0,W=0;while(M<_){let G=await y({change:A,index:W});if(!G)break;if((await n(G.address)).some((B)=>B.getValue("number")>0))Z.push(G),M=0;else M++;W++}return Z}async function C(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A],M=await Promise.all(Z.map(async(G)=>{let Q=(await n(G.address)).reduce((B,D)=>B+D.getValue("number"),0);return{...G,balance:Q}})),W=M.reduce((G,X)=>G+X.balance,0);return{addresses:M,total:W}}async function H(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A];return(await Promise.all(Z.map(async(W)=>{return(await o(W.address)).map((X)=>({...X,address:W.address,derivationIndex:W.index,isChange:W.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:C,getAggregatedUtxos:H,scanForAddresses:T}}var nH;var kn=P(()=>{nH=require("@swapkit/helpers")});async function P2({chain:y,txHash:n}){let o=`${ln(y)}/push/transaction`,f=JSON.stringify({data:n});try{let T=await K.RequestClient.post(o,{body:f,headers:{"Content-Type":"application/json"}});if(T.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:T.context.error||"Transaction broadcast failed"});return T.data?.transaction_hash||n}catch(T){let C=await K.getRPCUrl(y);if(C){let H=JSON.stringify({id:JC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),U=await K.RequestClient.post(C,{body:H,headers:{"Content-Type":"application/json"}});if(U.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:U.error?.message});if(U.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return U.result}throw T}}function ln(y){return`https://api.blockchair.com/${t2(y)}`}function oH(y){switch(y){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function t2(y){switch(y){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function p2(y){try{let{feePerKb:n}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),o=n/1000;return Math.max(o,oH(y))}catch{return oH(y)}}async function $T(y,n){let o=await K.RequestClient.get(`${y}${n?`${y.includes("?")?"&":"?"}key=${n}`:""}`);if(!o||o.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return o.data}async function HH({address:y,chain:n,apiKey:o}){if(!y)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await $T(`${ln(n)}/dashboards/address/${y}?transaction_details=true`,o))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function E2({address:y,chain:n,apiKey:o}){return(await HH({address:y,apiKey:o,chain:n}))?.address.balance||0}async function UH({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await $T(`${ln(y)}/raw/transaction/${o}`,n))?.[o]?.raw_transaction||""}catch(f){let T=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${T}`),""}}async function b2({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let T=(await $T(`${ln(y)}/dashboards/transaction/${o}`,n))?.[o];if(!T)throw new K.SwapKitError("toolbox_utxo_tx_not_found",{txHash:o});let{transaction:C,inputs:H,outputs:U}=T,_=H.map((Z)=>Z.spending_sequence),A=C.is_rbf===!0||_.some((Z)=>Z<V2);return{blockId:C.block_id,confirmed:C.block_id!==-1,fee:C.fee,inputs:H,isRBF:A,outputs:U,sequences:_,size:C.size,txid:C.hash,weight:C.weight}}async function u2({chain:y,address:n,apiKey:o,offset:f=0,limit:T=30}){return(await $T(`${ln(y)}/outputs?q=recipient(${n}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${T}&offset=${f}`,o)).map(({is_spent:_,script_hex:A,block_id:Z,transaction_hash:M,index:W,value:G,spending_signature_hex:X})=>({hash:M,index:W,is_confirmed:Z!==-1,is_spent:_,script_hex:A,txHex:X,value:G}))}function v2(y){return y.reduce((n,o)=>n+o.value,0)}function CH(y,n){let o=[...y].sort((f,T)=>T.value-f.value);if(n){let f=[],T=0;for(let C of o)if(f.push(C),T+=C.value,T>=n)break;return f}return o}async function _H({chain:y,address:n,apiKey:o,targetValue:f,accumulativeValue:T=0,offset:C=0,limit:H=30}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let U=await u2({address:n,apiKey:o,chain:y,limit:H,offset:C,targetValue:f}),A=U.length<H,Z=U.filter(({is_spent:B})=>!B),M=v2(Z),W=T+M,G=f&&W>=f;if(A||G)return CH(Z,f);let X=await _H({accumulativeValue:W,address:n,apiKey:o,chain:y,limit:H,offset:C+H,targetValue:f}),Q=[...Z,...X];return CH(Q,f)}catch(U){let _=U instanceof Error?U.message:String(U);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function j2({address:y,chain:n,apiKey:o,fetchTxHex:f=!0,targetValue:T}){let C=await _H({address:y,apiKey:o,chain:n,targetValue:T}),H=[];for(let{hash:U,index:_,script_hex:A,value:Z}of C){let M;if(f)M=await UH({apiKey:o,chain:n,txHash:U});H.push({address:y,hash:U,index:_,txHex:M,value:Z,witnessUtxo:{script:Buffer.from(A,"hex"),value:Z}})}return H}function Yy(y){let n=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(o)=>P2({chain:y,txHash:o}),getAddressData:(o)=>HH({address:o,apiKey:n,chain:y}),getBalance:(o)=>E2({address:o,apiKey:n,chain:y}),getRawTx:(o)=>UH({apiKey:n,chain:y,txHash:o}),getSuggestedTxFee:()=>p2(y),getTransactionDetails:(o)=>b2({apiKey:n,chain:y,txHash:o}),getUtxos:(o)=>j2({...o,apiKey:n,chain:y})}}function K2(y){return y}function h2(){return function(n){switch(n){case K.Chain.Bitcoin:return Ff.NETWORKS.bitcoin;case K.Chain.BitcoinCash:return Ff.NETWORKS.bitcoinCash;case K.Chain.Dash:return Ff.NETWORKS.dash;case K.Chain.Litecoin:return Ff.NETWORKS.litecoin;case K.Chain.Dogecoin:return Ff.NETWORKS.dogecoin;case K.Chain.Zcash:return Ff.NETWORKS.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var K,Ff,V2=4294967294;var AH=P(()=>{iy();K=require("@swapkit/helpers"),Ff=require("@swapkit/utxo-signer")});function g2(y,n,o){return ey.encodeCashAddr({hash:o,prefix:y,type:m2[n]})}function i2(y){let n=ey.decodeCashAddr(y),o=c2[n.type];if(!o)throw Error(`Unknown CashAddr type: ${n.type}`);return{hash:n.hash,prefix:n.prefix,type:o}}var ey,m2,c2,Go;var qH=P(()=>{ey=require("@swapkit/utxo-signer"),m2={P2PKH:ey.CashAddrType.P2PKH,P2SH:ey.CashAddrType.P2SH},c2={[ey.CashAddrType.P2PKH]:"P2PKH",[ey.CashAddrType.P2SH]:"P2SH"};Go={decode:i2,encode:g2}});function Qo(y){try{return IT(y),!0}catch{return!1}}function Zo(y){return IT(y)?.network}function yf(y){let n=IT(y);if(n?.format==="legacy")return y;return a2(n)}function Sn(y){let n=IT(y);return s2(n)}function IT(y){try{let n=d2(y);if(n)return n}catch{}try{let n=r2(y);if(n)return n}catch{}throw new Xo.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function d2(y){try{let n=QH.decode(y);if(n.length!==21)throw new Xo.SwapKitError("toolbox_utxo_invalid_address",{address:y});let o=n[0],f=Array.prototype.slice.call(n,1);switch(o){case $f.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case $f.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case $f.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case $f.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case $f.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case $f.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function r2(y){if(y.indexOf(":")!==-1)try{return GH(y)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let o of n)try{return GH(`${o}:${y}`)}catch{}}return}function GH(y){try{let{hash:n,prefix:o,type:f}=Go.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:o==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function a2(y){let n=$f.legacy[y.network][y.type],o=Buffer.alloc(1+y.hash.length);return o[0]=n,o.set(y.hash,1),QH.encode(o)}function s2(y){let n=y.network==="mainnet"?"bitcoincash":"bchtest",o=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return Go.encode(n,o,f)}var XH,WH,Xo,QH,Wo,$f;var ZH=P(()=>{qH();XH=require("@noble/hashes/sha2.js"),WH=require("@scure/base"),Xo=require("@swapkit/helpers"),QH=WH.createBase58check(XH.sha256);((o)=>{o.Mainnet="mainnet";o.Testnet="testnet"})(Wo||={});$f={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Iy(y){let n=new Uint8Array(Buffer.from(y,"utf8"));return MH.Script.encode(["RETURN",n])}var JH,MH,e2=1000,tT=10,pT=2,LH=10,y_=41,f_=107,ET,PT,xn,cf=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new JH.SwapKitError("toolbox_utxo_invalid_address",{address:y})},If=({inputs:y,outputs:n,feeRate:o})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",C=(o?y.filter((A)=>A.value>=PT["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(o)):y).reduce((A,Z)=>A+Qf(Z),0),H=n?.reduce((A,Z)=>A+Fn(Z),0)||xn[f],U=tT+C+H;return f==="P2WPKH"?Math.ceil(U+pT/4):U},Qf=(y)=>{if("type"in y&&y.type)return PT[y.type];if("address"in y&&y.address)return PT[cf(y.address)];return y_+f_},Fn=(y,n)=>{if(y?.script)return LH+y.script.length+(y.script.length>=74?2:1);if(n)return xn[n];if("address"in y&&y.address)return xn[cf(y.address)];return xn.P2PKH};var Jo=P(()=>{JH=require("@swapkit/helpers"),MH=require("@swapkit/utxo-signer");((o)=>{o.P2PKH="P2PKH";o.P2WPKH="P2WPKH"})(ET||={});PT={["P2PKH"]:148,["P2WPKH"]:68},xn={["P2PKH"]:34,["P2WPKH"]:31}});function $n(y){switch(y){case cy.Chain.Bitcoin:case cy.Chain.BitcoinCash:return 550;case cy.Chain.Dash:case cy.Chain.Litecoin:return 5500;case cy.Chain.Dogecoin:return 1e5;case cy.Chain.Zcash:return 546;default:throw new cy.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function uy({inputs:y,outputs:n,feeRate:o=1,chain:f=cy.Chain.Bitcoin,changeAddress:T=""}){let C=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",H=y.filter((X)=>Qf(X)*o<=X.value),_=C==="P2WPKH"?Math.ceil(pT/4):0,A=tT+_+n.reduce((X,Q)=>X+Fn(Q),0),Z=n.reduce((X,Q)=>X+Q.value,0),M=A*o,W=0,G=[];for(let X of H){let Q=Qf(X),B=o*Q;M+=B,W+=X.value,G.push(X);let D=M+Z;if(W<D)continue;let L=W-D,w=o*Fn({address:T,value:0});if(L>w){let N=w+M,z=W-(Z+Math.ceil(N));if(z>Math.max(Qf({value:0})*o,$n(f)))return{fee:Math.ceil(N),inputs:G,outputs:n.concat({address:T,value:z})}}return{fee:Math.ceil(M),inputs:G,outputs:n}}return{fee:Math.ceil(o*If({inputs:y,outputs:n}))}}var cy;var YH=P(()=>{Jo();cy=require("@swapkit/helpers")});var gf=P(()=>{AH();ZH();YH();Jo()});function Pf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Zf(y){let n=Pf(y);return Qo(n)&&Zo(n)==="mainnet"}function df(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let o=VT.Address(VT.ZCASH_NETWORK).decode(y);return o.type==="pkh"||o.type==="sh"}catch{return!1}}var VT;var In=P(()=>{gf();VT=require("@swapkit/utxo-signer")});function Yo({address:y,chain:n}){return Lo.match(n).with($.Chain.BitcoinCash,()=>Zf(y)).with($.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return d.Address(ky(n)).decode(y),!0}catch{return!1}})}function ky(y){return Lo.match(y).with($.Chain.Bitcoin,()=>d.NETWORKS.bitcoin).with($.Chain.BitcoinCash,()=>d.NETWORKS.bitcoinCash).with($.Chain.Dash,()=>d.NETWORKS.dash).with($.Chain.Dogecoin,()=>d.NETWORKS.dogecoin).with($.Chain.Litecoin,()=>d.NETWORKS.litecoin).with($.Chain.Zcash,()=>d.NETWORKS.zcash).exhaustive()}function n_({phrase:y,derivationPath:n,network:o,seed:f}){let T=f??uT.mnemonicToSeedSync(y),H=Mo.HDKey.fromMasterSeed(T,o.bip32).derive(n);if(!H.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return H.privateKey}function BH(y){return zH.secp256k1.getPublicKey(y,!0)}function tn({publicKey:y,chain:n,network:o}){if(n===$.Chain.BitcoinCash){let C=d.p2pkh(y,o);if(!C.hash)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return d.encodeCashAddr({hash:C.hash,prefix:d.CashAddrPrefix.MAINNET,type:d.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let T=!Pn.includes(n)?d.p2wpkh(y,o):d.p2pkh(y,o);if(!T.address)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return T.address}function rf({phrase:y,derivationPath:n,chain:o,wif:f,seed:T}){let C=ky(o);if(f){let A=d.WIF(C).decode(f),Z=BH(A);return{privateKey:A,publicKey:Z}}if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let H=n||$.derivationPathToString($.NetworkDerivationPath[o]),U=n_({derivationPath:H,network:C,phrase:y,seed:T}),_=BH(U);return{privateKey:U,publicKey:_}}function T_(y,n){return d.WIF(ky(n)).encode(y)}function o_({phrase:y,derivationPath:n,chain:o,seed:f}){let T=n.split("/");if(T.length<4)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${T.length}): ${n}`});let C=ky(o),H=f??uT.mnemonicToSeedSync(y),U=Mo.HDKey.fromMasterSeed(H,C.bip32),_=T.slice(0,4).join("/");return U.derive(_)}function Mf({inputs:y,outputs:n,chain:o,tx:f,sender:T,compiledMemo:C,enableRBF:H=!1}){let U=ky(o),_=!Pn.includes(o),A=H?d.RBF_SEQUENCE:void 0,Z=new Set;for(let M of y){let W=`${M.hash}:${M.index}`;if(Z.has(W))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Z.add(W);let G=typeof M.hash==="string"?Jf.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)f.addInput({index:M.index,sequence:A,txid:G,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)f.addInput({index:M.index,nonWitnessUtxo:Jf.hex.decode(M.txHex),sequence:A,txid:G,...o===$.Chain.BitcoinCash?{sighashType:d.BCHSigHash.ALL}:{}});else throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of n){let W="address"in M&&M.address?M.address:T;if(o===$.Chain.BitcoinCash)W=yf(W);if(M.script){if(C)f.addOutput({amount:0n,script:C})}else f.addOutputAddress(W,BigInt(M.value),U)}return{inputs:y,tx:f}}async function af(y){let n=await Yy(y).getSuggestedTxFee();return{[$.FeeOption.Average]:n,[$.FeeOption.Fast]:$.applyFeeMultiplier(n,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(n,$.FeeOption.Fastest)}}async function NH({assetValue:y,recipient:n,memo:o,sender:f,fetchTxHex:T=!1}){let C=y.chain,H=(await af(C))[$.FeeOption.Fastest],U=T||Pn.includes(C),_=y.getBaseValue("number"),A=Math.ceil(_+H*5000);return{inputs:await Yy(C).getUtxos({address:f,fetchTxHex:U,targetValue:A}),outputs:[{address:n,value:_},...o?[{address:"",script:Iy(o),value:0}]:[]]}}async function OH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T,fetchTxHex:C=!1,enableRBF:H=!1}){let U=y.chain,_=o?Iy(o):null,A=await NH({assetValue:y,fetchTxHex:C,memo:o,recipient:n,sender:T}),{inputs:Z,outputs:M}=uy({...A,chain:U,feeRate:f});if(!(Z&&M))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let W=new d.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:G,tx:X}=Mf({chain:U,compiledMemo:_,enableRBF:H,inputs:Z,outputs:M,sender:T,tx:W});return{inputs:G,tx:X,utxos:A.inputs}}async function wH({assetValue:y,feeOptionKey:n=$.FeeOption.Fast,feeRate:o,memo:f,sender:T,recipient:C}){let H=y.chain,U=await NH({assetValue:y,memo:f,recipient:C,sender:T}),_=o?Math.floor(o):(await af(H))[n];return uy({...U,chain:H,feeRate:_})}function C_(y){return async function({from:o,memo:f,feeRate:T,feeOptionKey:C=$.FeeOption.Fast,recipients:H=1}){let U=await Yy(y).getAddressData(o),_=T?Math.ceil(T):(await af(y))[C],A=U?.utxo.map((Q)=>({...Q,hash:"",type:"P2PKH"})).filter((Q)=>Q.value>Math.max($n(y),Qf(Q)*_));if(!A?.length)return $.AssetValue.from({chain:y});let Z=BigInt(A.reduce((Q,B)=>Q+B.value,0)),M=$.AssetValue.from({chain:y,value:Z}),W=typeof H==="number"?Array.from({length:H},()=>({address:o,value:0})):H;if(f)W.push({address:o,script:Iy(f),value:0});let G=If({inputs:A,outputs:W}),X=$.AssetValue.from({chain:y,value:BigInt(G*_)});return M.sub(X)}}function H_(y){return async function(o){let{fee:f}=await wH(o);return $.AssetValue.from({chain:y,value:$.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function U_({chain:y,phrase:n,derivationPath:o,seed:f}){let T=ky(y),{privateKey:C,publicKey:H}=rf({chain:y,derivationPath:o,phrase:n,seed:f}),U=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];return{getAddress:()=>tn({chain:y,network:T,publicKey:H}),privateKey:C,publicKey:H,signTransaction:(_)=>{return _.sign(C,U),_}}}function __(y,n){return async function({memo:f,recipient:T,feeOptionKey:C,feeRate:H,assetValue:U,enableRBF:_=!1}){let A=await n?.getAddress();if(!(n&&A))throw new $.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});$.warnOnce({condition:_&&!bT.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let Z=_&&bT.includes(y),M=H||(await af(y))[C||$.FeeOption.Fast],{tx:W}=await OH({assetValue:U,enableRBF:Z,feeRate:M,memo:f,recipient:T,sender:A}),G=await n.signTransaction(W);return G.finalize(),Yy(y).broadcastTx(Jf.hex.encode(G.extract()))}}function Bo(y){return(n)=>Yo({address:n,chain:y})}function zo(y){let n=ky(y);return function(f){if(!f)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return tn({chain:y,network:n,publicKey:f.publicKey})}}function Lf({chain:y,...n}){let o="phrase"in n?n.phrase:void 0,f="index"in n?n.index||0:0,T=o?uT.mnemonicToSeedSync(o):void 0,C="derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[y],{index:f}),H=$.derivationPathToString(C),U=o?U_({chain:y,derivationPath:H,phrase:o,seed:T}):void 0,_="signer"in n?n.signer:void 0,A=U||_,Z=o?rf({chain:y,derivationPath:H,phrase:o,seed:T}):void 0;function M(){if(A)return A.getAddress();return Promise.resolve(void 0)}function W(q){if(!o)return;let O=Wf({accountIndex:q,chain:y,derivationPath:C});return o_({chain:y,derivationPath:$.derivationPathToString(O),phrase:o,seed:T})}let G=W();function X(){if(!G)return;return G.publicExtendedKey}function Q({accountIndex:q}={}){let O=q===void 0?G:W(q);if(!O)return;let k=Wf({accountIndex:q,chain:y,derivationPath:C});return{accountIndex:xf(k),path:$.derivationPathToString(k),xpub:O.publicExtendedKey}}function B({accountIndex:q,index:O,change:k=!1}){let x=q===void 0?G:W(q);if(!x)return;let F=mf({accountIndex:q,chain:y,change:k,derivationPath:C,index:O}),u=ky(y),h=x.deriveChild(Number(k)).deriveChild(O);if(!h.publicKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let i=tn({chain:y,network:u,publicKey:h.publicKey}),fy=Jf.hex.encode(h.publicKey);return{accountIndex:xf(F),address:i,change:k,index:O,path:$.derivationPathToString(F),pubkey:fy}}async function D(q){if(!bT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let O=await Yy(y).getTransactionDetails(q);return{canReplace:O.isRBF&&!O.confirmed,confirmed:O.confirmed,enabled:O.isRBF,fee:O.fee,sequences:O.sequences,supported:!0}}async function L({txid:q,newFeeRate:O,recipient:k,memo:x}){if(!bT.includes(y))throw new $.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let F=await Yy(y).getTransactionDetails(q);if(!F.isRBF)throw new $.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(F.confirmed)throw new $.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:F.blockId,txid:q});let u=F.inputs.reduce((zy,of)=>zy+of.value,0),i=F.outputs.find((zy)=>zy.recipient===k)?.value||0;if(i===0)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let fy=await Promise.all(F.inputs.map(async(zy)=>{let of=await Yy(y).getRawTx(zy.transaction_hash);return{hash:zy.transaction_hash,index:zy.index,txHex:of,value:zy.value,witnessUtxo:void 0}})),By=x?Iy(x):null,wy=If({feeRate:O,inputs:fy.map((zy)=>({...zy,type:"P2WPKH"})),outputs:[{address:k,value:i}]}),Zy=Math.ceil(wy*O);if(Zy<=F.fee)throw new $.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Zy,originalFee:F.fee});let py=Zy-F.fee,ly=i-py;if(ly<=0)throw new $.SwapKitError("toolbox_utxo_rbf_insufficient_change");let Ky=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Yf=[{address:k,value:ly},...x?[{address:"",script:Iy(x),value:0}]:[]],Bf=u-ly-Zy,Tf=await M();if(Bf>$n(y)&&Tf)Yf.push({address:Tf,value:Bf});return Mf({chain:y,compiledMemo:By,inputs:fy,outputs:Yf,sender:Tf||k,tx:Ky}),{feeDelta:py,newFee:Zy,originalFee:F.fee,tx:Ky}}async function w({txid:q,newFeeRate:O,recipient:k,memo:x}){let{tx:F,originalFee:u,newFee:h}=await L({memo:x,newFeeRate:O,recipient:k,txid:q}),i=await R(F);i.finalize();let fy=await Yy(y).broadcastTx(Jf.hex.encode(i.extract()));return{newFee:h,originalFee:u,txid:fy}}function N({accountIndex:q,index:O,change:k=!1}){by("index",O);let x=q===void 0?G:W(q);if(!x)return;return x.deriveChild(Number(k)).deriveChild(O).privateKey||void 0}function z({tx:q,inputDerivations:O}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let k=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];for(let x=0;x<O.length;x++){let F=O[x];if(!F)continue;let{derivationIndex:u,isChange:h}=F,i=N({change:h,index:u});if(!i)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${x} at index ${u}`});q.signIdx(i,x,k)}return q}async function J({utxos:q,recipient:O,assetValue:k,memo:x,feeRate:F,feeOptionKey:u,changeAddress:h}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let i=F||(await af(y))[u||$.FeeOption.Fast],fy=x?Iy(x):null,By=[{address:O,value:k.getBaseValue("number")}];if(fy)By.push({address:"",script:fy,value:0});let wy=q.map(({hash:Tf,index:zy,value:of,txHex:$5,witnessUtxo:H0})=>({hash:Tf,index:zy,txHex:$5,value:of,witnessUtxo:H0?{script:H0.script,value:H0.value}:void 0})),{inputs:Zy,outputs:py}=uy({chain:y,feeRate:i,inputs:wy,outputs:By});if(!(Zy&&py))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:k,sender:"multiple addresses"});let ly=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Ky=q[0]?.address,Yf=h||await M()||Ky||O;Mf({chain:y,compiledMemo:fy,inputs:Zy,outputs:py,sender:Yf,tx:ly});let Bf=Zy.map((Tf)=>{let zy=q.find((of)=>of.hash===Tf.hash&&of.index===Tf.index);return zy?{derivationIndex:zy.derivationIndex,isChange:zy.isChange}:{derivationIndex:0,isChange:!1}});return z({inputDerivations:Bf,tx:ly}),ly.finalize(),Yy(y).broadcastTx(Jf.hex.encode(ly.extract()))}function Y({address:q,gapLimit:O=20}){if(!G)return;for(let k=0;k<O;k++){let x=B({change:!1,index:k}),F=B({change:!0,index:k}),u=x?.address===q?!1:F?.address===q;if(x?.address===q||F?.address===q)return{change:u,index:k}}return}function R(q){if(!A)throw new $.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(q)}async function l(q){let O=await R(q);return O.finalize(),await Yy(y).broadcastTx(Jf.hex.encode(O.extract()))}return{accumulative:uy,broadcastTx:(q)=>Yy(y).broadcastTx(q),bumpFee:w,calculateTxSize:If,createKeysForPath:(q)=>rf({...q,chain:y}),createReplacementTransaction:L,createTransaction:OH,deriveAddressAtIndex:B,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:C_(y),estimateTransactionFee:H_(y),getAddress:M,getAddressFromKeys:zo(y),getBalance:Sy(y),getExtendedPublicKey:X,getExtendedPublicKeyInfo:Q,getFeeRates:()=>af(y),getInputsOutputsFee:wH,getNetworkForChain:()=>ky(y),getPrivateKeyFromMnemonic:(q)=>T_(rf({...q,chain:y}).privateKey,y),isRBFEnabled:D,keys:Z,resolveDerivationIndex:Y,signAndBroadcastTransaction:l,signTransaction:R,signTransactionWithMultipleKeys:z,transfer:__(y,A),transferFromMultipleAddresses:J,validateAddress:Bo(y)}}var zH,Jf,Mo,uT,$,d,Lo,Pn,bT;var sf=P(()=>{iy();kn();gf();In();zH=require("@noble/curves/secp256k1.js"),Jf=require("@scure/base"),Mo=require("@scure/bip32"),uT=require("@scure/bip39"),$=require("@swapkit/helpers"),d=require("@swapkit/utxo-signer"),Lo=require("ts-pattern"),Pn=[$.Chain.Dash,$.Chain.Dogecoin,$.Chain.Zcash,$.Chain.BitcoinCash],bT=[$.Chain.Bitcoin]});function pn(y){return Pf(Sn(y))}function A_(y){let n=ky(gy);function o(T){return T.sign(y.privateKey,[Jy.BCHSigHash.ALL]),T}function f(){let T=Jy.p2pkh(y.publicKey,n);if(!T.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let C=Jy.encodeCashAddr({hash:T.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH});return Promise.resolve(C.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:o}}function Oo(y){let n="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=Qy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Qy.updateDerivationPath(Qy.NetworkDerivationPath[gy],{index:o})),T=n?rf({chain:gy,derivationPath:f,phrase:n}):void 0,C=T?A_(T):("signer"in y)?y.signer:void 0;function H(){return Promise.resolve(C?.getAddress())}let{getBalance:U,getFeeRates:_,broadcastTx:A,...Z}=Lf({chain:gy});function M(X,Q=!0){return U(Pf(Sn(X)))}function W(X){if(!C)throw new Qy.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(X)}async function G(X){let Q=await W(X);return Q.finalize(),await A(No.hex.encode(Q.extract()))}return{...Z,broadcastTx:A,buildTx:G_,createTransaction:DH,getAddress:H,getAddressFromKeys:X_,getBalance:M,getFeeRates:_,signAndBroadcastTransaction:G,signTransaction:W,stripPrefix:Pf,stripToCashAddress:pn,transfer:q_({broadcastTx:A,getFeeRates:_,signer:C}),validateAddress:Zf}}async function DH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){if(!Zf(n))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let C=Math.ceil(y.getBaseValue("number")+f*7500),H=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:C}),U=o?Iy(o):null,_=[],A=yf(n);if(_.push({address:A,value:y.getBaseValue("number")}),U)_.push({script:U,value:0});let{inputs:Z,outputs:M}=uy({chain:gy,feeRate:f,inputs:H,outputs:_});if(!(Z&&M))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let W=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!U,version:1}),G=yf(T),{inputs:X,tx:Q}=Mf({chain:gy,compiledMemo:U,inputs:Z,outputs:M.map((B)=>("address"in B)&&B.address?{...B,address:yf(B.address)}:B),sender:G,tx:W});return{inputs:X,tx:Q,utxos:Z}}function q_({broadcastTx:y,getFeeRates:n,signer:o}){return async function({recipient:T,assetValue:C,feeOptionKey:H=Qy.FeeOption.Fast,...U}){let _=await o?.getAddress();if(!(o&&_))throw new Qy.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new Qy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=U.feeRate||(await n())[H],{tx:Z}=await DH({...U,assetValue:C,feeRate:A,recipient:T,sender:_}),M=await o.signTransaction(Z);return M.finalize(),y(No.hex.encode(M.extract()))}}async function G_({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){let C=Sn(n);if(!Zf(C))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:C});let H=Math.ceil(y.getBaseValue("number")+f*7500),U=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:H}),_=Number(f.toFixed(0)),A=o?Iy(o):null,Z=[];if(Z.push({address:yf(n),value:y.getBaseValue("number")}),A)Z.push({script:A,value:0});let{inputs:M,outputs:W}=uy({chain:gy,feeRate:_,inputs:U,outputs:Z});if(!(M&&W))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:X,tx:Q}=Mf({chain:gy,compiledMemo:A,inputs:M,outputs:W,sender:yf(T),tx:G});return{inputs:X,tx:Q,utxos:U}}function X_(y){let n=Jy.NETWORKS.bitcoinCash,o=Jy.p2pkh(y.publicKey,n);if(!o.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Jy.encodeCashAddr({hash:o.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var No,Qy,Jy,gy;var vT=P(()=>{gf();sf();In();No=require("@scure/base"),Qy=require("@swapkit/helpers"),Jy=require("@swapkit/utxo-signer"),gy=Qy.Chain.BitcoinCash});function kH(){let{isStagenet:y}=Gy.SKConfig.get("envs");return y?Cy.ZCASH_TEST_NETWORK:Cy.ZCASH_NETWORK}function Q_(y){return W_.encode(y)}function Z_({phrase:y,derivationPath:n}){let o=Do.mnemonicToSeedSync(y),T=wo.HDKey.fromMasterSeed(o).derive(n);if(!T.privateKey||!T.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:C,publicKey:H}=T,U=Cy.utils.hash160(H),{isStagenet:_}=Gy.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),Z=new Uint8Array(A.length+U.length);Z.set(A,0),Z.set(U,A.length);let M=Q_(Z);return{getAddress:()=>Promise.resolve(M),signTransaction:(W)=>{if(W instanceof Cy.PCZT)return W.signAllInputs(C,H,Cy.ZcashSigHash.ALL),W.finalizeAllInputs(),Promise.resolve(W.extract());return W.signAllInputs(C,H,Cy.ZcashSigHash.ALL),Promise.resolve(W)}}}function J_({inputs:y,outputs:n,tx:o,sender:f,compiledMemo:T}){let C=kH();for(let H of y){let U=Cy.Address(C).decode(f),_=Cy.OutScript.encode(U);o.addInput({index:H.index,script:_,sequence:4294967295,txid:jT.hex.decode(H.hash),value:BigInt(H.value)})}for(let H of n){let U="address"in H&&H.address?H.address:f,_=H.script;if(_&&!T)continue;if(_&&T)o.addOutput({amount:0n,script:T});else o.addOutputAddress(U,BigInt(H.value),C)}return{inputs:y,tx:o}}async function RH(y){let{assetValue:n,recipient:o,memo:f,feeRate:T,sender:C,fetchTxHex:H}=y,U=f?Iy(f):null,_=await Yy(Gy.Chain.Zcash).getUtxos({address:C,fetchTxHex:H!==!1}),A=[{address:o,value:Number(n.getBaseValue("string"))},...U?[{script:U,value:0}]:[]],{inputs:Z,outputs:M}=uy({chain:Gy.Chain.Zcash,changeAddress:C,feeRate:T,inputs:_,outputs:A});if(!(Z&&M))throw new Gy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:C});let W=Cy.createZcashTransaction({consensusBranchId:Cy.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:Cy.ZcashVersionGroupId.SAPLING}),{tx:G,inputs:X}=J_({compiledMemo:U,inputs:Z,outputs:M,sender:C,tx:W});return{inputs:X,outputs:M,tx:G}}function Ro(y){let n=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:_})=>_).with({phrase:ef.P.string},({phrase:_,derivationPath:A,index:Z=0})=>{let M=A||Gy.NetworkDerivationPath[Gy.Chain.Zcash]||[44,133,0,0,0],W=Gy.updateDerivationPath(M,{index:Z}),G=Gy.derivationPathToString(W);return Z_({derivationPath:G,phrase:_})}).otherwise(()=>{return}),o=Lf({chain:Gy.Chain.Zcash,signer:n});async function f(_){if(!n)throw new Gy.SwapKitError("toolbox_utxo_no_signer");return await n.signTransaction(_)}async function T(_){let A=await f(_);return o.broadcastTx(A.toHex())}async function C({recipient:_,assetValue:A,feeOptionKey:Z=Gy.FeeOption.Fast,...M}){let W=await n?.getAddress();if(!(n&&W))throw new Gy.SwapKitError("toolbox_utxo_no_signer");let G=M.feeRate||(await o.getFeeRates())[Z],{tx:X}=await RH({...M,assetValue:A,feeRate:G,recipient:_,sender:W}),B=(await n.signTransaction(X)).toHex();return o.broadcastTx(B)}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=Do.mnemonicToSeedSync(_),W=wo.HDKey.fromMasterSeed(Z).derive(A);if(!W.privateKey||!W.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:W.privateKey,publicKey:W.publicKey}}function U({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=H({derivationPath:A,phrase:_}),M=kH();return Cy.WIF(M).encode(Z.privateKey)}return{...o,createKeysForPath:H,createTransaction:RH,getPrivateKeyFromMnemonic:U,signAndBroadcastTransaction:T,signTransaction:f,transfer:C,validateAddress:df}}var jT,wo,Do,Gy,Cy,ef,W_;var ko=P(()=>{gf();sf();In();jT=require("@scure/base"),wo=require("@scure/bip32"),Do=require("@scure/bip39"),Gy=require("@swapkit/helpers"),Cy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");W_=jT.createBase58check(Cy.utils.sha256)});function FH({xpub:y,chain:n,count:o,startIndex:f=0,accountIndex:T}){if(by("count",o),o<1)throw RangeError("count must be at least 1");by("startIndex",f);let C=ky(n),H=SH.HDKey.fromExtendedKey(y,C.bip32),U=Wf({accountIndex:T,chain:n}),_=xf(U),A=[];for(let Z of[!1,!0]){let M=H.deriveChild(Number(Z));for(let W=0;W<o;W++){let G=f+W,X=M.deriveChild(G);if(!X.publicKey)continue;let Q=mf({accountIndex:T,chain:n,change:Z,index:G});A.push({accountIndex:_,address:tn({chain:n,network:C,publicKey:X.publicKey}),change:Z,index:G,path:xH.derivationPathToString(Q),pubkey:lH.hex.encode(X.publicKey)})}}return A}var lH,SH,xH;var $H=P(()=>{kn();sf();lH=require("@scure/base"),SH=require("@scure/bip32"),xH=require("@swapkit/helpers")});function M_(y,n){switch(y){case ff.Chain.BitcoinCash:return Oo(n||{});case ff.Chain.Zcash:return Ro(n);case ff.Chain.Bitcoin:case ff.Chain.Dogecoin:case ff.Chain.Litecoin:case ff.Chain.Dash:return Lf({chain:y,...n});default:throw new ff.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var ff;var IH=P(()=>{vT();sf();ko();kn();$H();vT();In();ff=require("@swapkit/helpers")});var lo={};My(lo,{validateZcashAddress:()=>df,validateUtxoAddress:()=>Yo,validateBchAddress:()=>Zf,toLegacyAddress:()=>yf,toCashAddress:()=>Sn,stripToCashAddress:()=>pn,stripPrefix:()=>Pf,nonSegwitChains:()=>Pn,isValidAddress:()=>Qo,getUtxoToolbox:()=>M_,getUtxoNetwork:()=>h2,getUtxoApi:()=>Yy,getUTXOAddressValidator:()=>Bo,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Wf,getUTXOAccountIndexFromPath:()=>xf,getScriptTypeForAddress:()=>cf,getOutputSize:()=>Fn,getNetworkForChain:()=>ky,getInputSize:()=>Qf,getDustThreshold:()=>$n,detectAddressNetwork:()=>Zo,deriveAddressesFromXpub:()=>FH,createZcashToolbox:()=>Ro,createUTXOToolbox:()=>Lf,createHDWalletHelpers:()=>TH,createCustomUtxoApi:()=>K2,createBCHToolbox:()=>Oo,compileMemo:()=>Iy,calculateTxSize:()=>If,assertDerivationIndex:()=>by,addressFromKeysGetter:()=>zo,addInputsAndOutputs:()=>Mf,accumulative:()=>uy,UtxoNetwork:()=>Wo,UTXOScriptType:()=>ET,TX_OVERHEAD:()=>tT,SEGWIT_MARKER_FLAG_WEIGHT:()=>pT,OutputSizes:()=>xn,OP_RETURN_OVERHEAD:()=>LH,MIN_TX_FEE:()=>e2,InputSizes:()=>PT});module.exports=Ny(lo);var So=P(()=>{sf();kn();gf();IH();vT();ko()});function En(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function hT(y){let{KeyPair:n}=await import("@near-js/crypto"),o=y.index||0,f=y.derivationPath?KT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=tH.parseSeedPhrase(y.phrase,f),C=n.fromString(T);return EH(C)}async function xo(y){let{KeyPair:n}=await import("@near-js/crypto"),o=n.fromString(y);return EH(o)}function EH(y){return new pH(y)}async function mT(y,n){let f=(await y.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((U)=>U.access_key.permission==="FullAccess");if(!f)throw new KT.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:T}=await import("@near-js/crypto"),C=T.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:C}}var PH,KT,tH,pH;var Fo=P(()=>{PH=require("@near-js/signers"),KT=require("@swapkit/helpers"),tH=U0(require("near-seed-phrase"));pH=class pH extends PH.KeyPairSigner{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),n=Buffer.from(y.data).toString("hex");return Promise.resolve(n)}}});function $o(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function Io(y){return"contractId"in y&&"methodName"in y}function Po(y){return"actions"in y}function to(y){return"newAccountId"in y}function po(y){return"contractCode"in y}function Eo(y){return"customEstimator"in y}function Vo(y){let n=0;for(let o of y)switch(o.enum){case"transfer":n+=Number(Oy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Oy.CONTRACT_CALL);break;case"createAccount":n+=Number(Oy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Oy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Oy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Oy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Oy.STAKE);break;default:n+=Number(Oy.CONTRACT_CALL)}return n.toString()}function bo(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Oy.TOKEN_TRANSFER;if(y==="storage_deposit")return Oy.STORAGE_DEPOSIT;return Oy.CONTRACT_CALL}function L_(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function Y_(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Oy;var uo=P(()=>{Oy={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 vo({account:y,contractId:n,viewMethods:o,changeMethods:f}){let{Contract:T}=await import("@near-js/accounts");return new T(y,n,{changeMethods:f,useLocalViewExecution:!0,viewMethods:o})}function B_(y){let n;async function o(){if(n)return n;return n=await yn.match(y).with({phrase:yn.P.string},async(q)=>{return await hT(q)}).with({signer:yn.P.any},({signer:q})=>q).otherwise(()=>{return}),n}async function f(){let q=await ny.getRPCUrl(ny.Chain.Near);return new VH.JsonRpcProvider({url:q})}async function T(q){let{Account:O}=await import("@near-js/accounts"),k=await f(),x=await o(),F=q||await C();return new O(F,k,x)}async function C(){let q=await o();if(!q)throw new ny.SwapKitError("toolbox_near_no_signer");return await q.getAddress()}async function H(q){return(await N({changeMethods:[],contractId:q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:q.accountId})}async function U(q){let k=[await W({args:{account_id:q.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await W({args:{amount:q.assetValue.getBaseValue("string"),memo:q.memo||null,receiver_id:q.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return z({actions:k,receiverId:q.contractId})}async function _(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let{assetValue:k,recipient:x,memo:F}=q,u=await C();if(!k.isGasAsset&&k.address){if(!await H({accountId:x,contractId:k.address}))return U({assetValue:k,contractId:k.address,memo:F,recipient:x})}let h=await A({...q,sender:u});return Q(h)}async function A({recipient:q,assetValue:O,memo:k,attachedDeposit:x,sender:F,functionCall:u}){let h=await f();if(!En(q))throw new ny.SwapKitError("toolbox_near_invalid_address",{recipient:q});if(!En(F))throw new ny.SwapKitError("toolbox_near_invalid_address",{sender:F});if(u)return M({...u,sender:F});if(!O.isGasAsset){let Bf=O.address;if(!Bf)throw new ny.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:k||null,receiver_id:q},attachedDeposit:x||"1",contractId:Bf,gas:"250000000000000",methodName:"ft_transfer",sender:F})}let{publicKey:i,nonce:fy}=await mT(h,F),By=O.getBaseValue("bigint"),{actionCreators:wy,createTransaction:Zy}=await import("@near-js/transactions"),{baseDecode:py}=await import("@near-js/utils"),ly=[wy.transfer(By)];if(k&&x)ly.push(wy.functionCall("memo",{memo:k},BigInt("250000000000000"),BigInt(x)));let Ky=await h.block({finality:"final"}),Yf=py(Ky.header.hash);return Zy(F,i,q,fy+1,ly,Yf)}function Z(q){let O=q.encode();return Buffer.from(O).toString("base64")}async function M({args:q,attachedDeposit:O,contractId:k,gas:x,methodName:F,sender:u}){let h=await f(),{publicKey:i,nonce:fy}=await mT(h,u),{createTransaction:By,actionCreators:wy}=await import("@near-js/transactions"),{baseDecode:Zy}=await import("@near-js/utils"),py=await h.block({finality:"final"}),ly=Zy(py.header.hash),Ky=[wy.functionCall(F,Buffer.from(JSON.stringify(q)),BigInt(x),BigInt(O))];return By(u,i,k,fy+1,Ky,ly)}async function W(q){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(q.methodName,Buffer.from(JSON.stringify(q.args)),BigInt(q.gas),BigInt(q.attachedDeposit))}async function G(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let[k,x]=await O.signTransaction(q);return x}async function X(q){return(await(await f()).sendTransaction(q)).transaction.hash}async function Q(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");try{let k=await G(q);return await X(k)}catch{return O.signAndSendTransactions?.({transactions:[q]})}}async function B(q){let O=await o();if("assetValue"in q){let x=await D();try{let F=await ny.getRPCUrl(ny.Chain.Near),u=await fetch(F,{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:h}}=await u.json(),{execution:i,send_sir:fy}=h.transaction_costs.action_receipt_creation_config,{execution:By,send_sir:wy}=h.transaction_costs.action_creation_config.transfer_cost,Zy=BigInt(wy)+BigInt(By),py=BigInt(fy)+BigInt(i),Ky=(Zy+py)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Ky})}catch(F){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",F);let u=BigInt("115123062500"),h=BigInt("108059500000"),fy=(u+h)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:fy})}}let k=O?await T():void 0;return J(q,k)}async function D(){let q=await f();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 L(q,O,k){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let F=await T(),{formatNearAmount:u}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),i=u(k)||"0";return(await F.createAccount(q,h.fromString(O),BigInt(i))).transaction.hash}async function w(q){let O=await o();try{if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let{actionCreators:k}=await import("@near-js/transactions"),{contractId:x,methodName:F,args:u,deposit:h}=q,i=await T(),fy=await J({args:u||{},contractId:x,methodName:F}),By=k.functionCall(F,u||{},fy.getBaseValue("bigint"),BigInt(h||"1"));return(await i.signAndSendTransaction({actions:[By],receiverId:x})).transaction_outcome.id}catch(k){throw new ny.SwapKitError("toolbox_near_transfer_failed",{error:k})}}async function N(q){let O=await T();return vo({account:O,changeMethods:q.changeMethods,contractId:q.contractId,viewMethods:q.viewMethods})}async function z(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");if(q.actions.length===0)throw new ny.SwapKitError("toolbox_near_empty_batch");return(await(await T()).signAndSendTransaction({actions:q.actions,receiverId:q.receiverId})).transaction.hash}async function J(q,O){let k=await yn.match(q).when($o,()=>Oy.SIMPLE_TRANSFER).when(Io,(F)=>bo(F.methodName)).when(Po,(F)=>Vo(F.actions)).when(to,()=>Oy.ACCOUNT_CREATION).when(po,()=>Oy.CONTRACT_DEPLOYMENT).when(Eo,(F)=>{if(!O)throw new ny.SwapKitError("toolbox_near_no_account");return F.customEstimator(O)}).otherwise(()=>{throw new ny.SwapKitError("toolbox_near_invalid_gas_params")}),x=BigInt(k)*BigInt(1000000000000);return ny.AssetValue.from({chain:ny.Chain.Near,value:x})}function Y(q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),J(q,O)}async function R(){let q=await f();try{return(await q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function l(){let q=await o();return q?(await q.getPublicKey()).toString():""}return{broadcastTransaction:X,callFunction:w,createAction:W,createContract:N,createContractFunctionCall:M,createSubAccount:L,createTransaction:A,estimateGas:Y,estimateGasLimit:J,estimateTransactionFee:B,executeBatchTransaction:z,getAddress:C,getBalance:Sy(ny.Chain.Near),getGasPrice:R,getNearProvider:f,getPublicKey:l,getSignerFromPhrase:hT,getSignerFromPrivateKey:xo,serializeTransaction:Z,signAndBroadcastTransaction:Q,signTransaction:G,transfer:_,validateAddress:En}}var VH,ny,yn;var jo=P(()=>{iy();Fo();uo();VH=require("@near-js/providers"),ny=require("@swapkit/helpers"),yn=require("ts-pattern")});var bH=P(()=>{jo()});var Ko={};My(Ko,{validateNearAddress:()=>En,tgasToGas:()=>L_,isSimpleTransfer:()=>$o,isCustomEstimator:()=>Eo,isContractDeployment:()=>po,isContractCall:()=>Io,isBatchTransaction:()=>Po,isAccountCreation:()=>to,getNearToolbox:()=>B_,getNearSignerFromPrivateKey:()=>xo,getNearSignerFromPhrase:()=>hT,getFullAccessPublicKey:()=>mT,getContractMethodGas:()=>bo,gasToTGas:()=>Y_,estimateBatchGas:()=>Vo,createNearContract:()=>vo,GAS_COSTS:()=>Oy});module.exports=Ny(Ko);var ho=P(()=>{Fo();uo();jo();bH()});var mo={};My(mo,{validateRadixAddress:()=>jH,getRadixToolbox:()=>D_});module.exports=Ny(mo);function jH(y){return y.startsWith("account_rdx1")&&y.length===66}function z_({networkApi:y}){return async function(o){let f=await N_({address:o,networkApi:y}),T=await O_({networkApi:y,resources:f});if(!T.some((H)=>H.isGasAsset))return[vy.AssetValue.from({chain:vy.Chain.Radix}),...T];return T}}async function N_({address:y,networkApi:n}){let o=!0,f,T=[],C=await w_(n);while(o){let H={address:y,at_ledger_state:{state_version:C},cursor:f,limit_per_page:100},U=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:H});if(T=T.concat(U.items),U.next_cursor)f=U.next_cursor;else o=!1}return T}async function O_({resources:y,networkApi:n}){let o=[],f=50,T=[];for(let C=0;C<y.length;C+=50)T.push(y.slice(C,C+50));for(let C of T){let H=C.map((A)=>A.resource_address),U=await n.state.getEntityDetailsVaultAggregated(H),_=new Map;for(let A of U)if(A.details!==void 0){let Z=A.metadata?.items.find((W)=>W.key==="symbol"),M=Z?.value.typed.type==="String"?Z.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of C)if(A.aggregation_level==="Global"){let Z=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=vy.AssetValue.from({asset:Z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${Z.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});o.push(M)}}return o}async function w_(y){return(await y.status.getCurrent()).ledger_state.state_version}function D_({dappConfig:y}={}){let n=y||vy.SKConfig.get("integrations").radix,o=vH.RadixDappToolkit({...n,networkId:n.network?.networkId||1}),f=uH.GatewayApiClient.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:z_({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:jH}}var uH,vH,vy;var co=P(()=>{uH=require("@radixdlt/babylon-gateway-api-sdk"),vH=require("@radixdlt/radix-dapp-toolkit"),vy=require("@swapkit/helpers")});function cT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function Vn(y){if(cT(y))return y.toUpperCase();if(y.length<=3){let o=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${o}${"0".repeat(10)}`.toUpperCase()}let n=Buffer.from(y).toString("hex").toUpperCase();if(n.length>40)throw new KH.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return n.padEnd(40,"0")}function R_(y){if(!cT(y))return y;if(y.toUpperCase().startsWith("00")){let n=y.slice(24,30);try{let o=Buffer.from(n,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(o)&&o.length>0)return o}catch{}return y.toUpperCase()}try{let n=y.replace(/0+$/,""),o=n.length%2===0?n:`${n}0`,f=Buffer.from(o,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function fn(y){if(cT(y))return y.toUpperCase();if(y.length<=3)return y;return Vn(y)}var KH;var gT=P(()=>{KH=require("@swapkit/helpers")});async function k_(y,n){let o=fn(y),f=dT.find((T)=>fn(T.currency)===o&&T.issuer===n);if(f)return f;try{let T=await iT.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${n}`);if(T)return{currency:y,decimals:15,description:T.desc,domain:T.domain,icon:T.icon,issuer:n,name:T.name,verified:T.self_assessment?.is_regulated||T.self_assessment?.is_licensed}}catch(T){iT.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${n}`,warning:`Failed to fetch XRPL token info for ${y}:${n}: ${T}`})}return{currency:y,decimals:15,issuer:n,verified:!1}}function l_(y){return dT.filter((n)=>n.issuer===y)}function S_(y,n){let o=fn(y);return dT.some((f)=>fn(f.currency)===o&&f.issuer===n)}var iT,dT;var hH=P(()=>{gT();iT=require("@swapkit/helpers"),dT=[{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 go={};My(go,{validateRippleAddress:()=>aT,parseXrplTokenIdentifier:()=>gH,normalizeCurrency:()=>fn,isKnownToken:()=>S_,isHexCurrency:()=>cT,hexToCurrency:()=>R_,hashes:()=>dH.hashes,getXrplTokenInfo:()=>k_,getRippleToolbox:()=>F_,getKnownTokensByIssuer:()=>l_,formatXrplTokenIdentifier:()=>iH,currencyToHex:()=>Vn,XRPL_TOKEN_ERROR_CODES:()=>rT,XRPL_KNOWN_TOKENS:()=>dT});module.exports=Ny(go);function gH(y){let n=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!n?.[1]||!n?.[2])return null;if(!nf.isValidAddress(n[2]))return null;return{currency:n[1],issuer:n[2]}}function iH(y,n){return`${c.Chain.Ripple}.${y}-${n}`}function x_(y){if(y.isGasAsset)return nf.xrpToDrops(y.getValue("string"));let n=gH(y.toString());if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:n.currency,issuer:n.issuer,value:y.getValue("string")}}function cH(y){let n=nf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(o)=>Promise.resolve(n.sign(o))}}function aT(y){return nf.isValidAddress(y)}function F_(y={}){let n=nn.match(y).with({phrase:nn.P.string},({phrase:L})=>cH(L)).with({signer:nn.P.any},({signer:L})=>L).otherwise(()=>{return}),o;async function f(){let L=await c.getRPCUrl(c.Chain.Ripple);if(!L)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let w=new nf.Client(L);return await w.connect(),w}async function T(){if(o){let L=await o.catch(()=>null);if(L?.isConnected())return L}return o=f(),o}let C=()=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},H=async(L)=>{let w=L||await C(),{baseDecimal:N}=c.getChainConfig(c.Chain.Ripple),z=await T();try{let[J,Y]=await Promise.all([z.request({account:w,command:"account_info"}),z.request({account:w,command:"account_lines"})]),R=J.result.account_data.Balance,l=[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:N,value:R})];for(let q of Y.result.lines){let O=iH(q.currency,q.account);if(Number.parseFloat(q.balance)!==0)l.push(c.AssetValue.from({asset:O,asyncTokenLookup:!1,value:q.balance}))}return l}catch(J){if(J.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:w,error:J}})}},U=async()=>{let{baseDecimal:L}=c.getChainConfig(c.Chain.Ripple),z=(await(await T()).request({command:"fee"})).result.drops.open_ledger_fee;return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:L,value:z})};async function _(L){let w=L||await C(),N=await T();try{return(await N.request({account:w,command:"account_lines"})).result.lines.map((J)=>({account:J.account,authorized:J.authorized??!1,balance:J.balance,currency:J.currency,freeze:J.freeze??!1,freezePeer:J.freeze_peer??!1,limit:J.limit,limitPeer:J.limit_peer,noRipple:J.no_ripple??!1,noRipplePeer:J.no_ripple_peer??!1,peerAuthorized:J.peer_authorized??!1,qualityIn:J.quality_in??0,qualityOut:J.quality_out??0}))}catch(z){if(z.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:w,error:z}})}}async function A({address:L,currency:w,issuer:N}){let z=await _(L),J=Vn(w);return z.some((Y)=>{return Vn(Y.currency)===J&&Y.account===N})}async function Z({currency:L,issuer:w,limit:N,sender:z}){let J=z||await C();if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:w}});let Y=Number.parseFloat(N);if(Number.isNaN(Y)||Y<0)throw new c.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:N}});let R=await T(),l={Account:J,LimitAmount:{currency:L,issuer:w,value:N},TransactionType:"TrustSet"};return R.autofill(l)}async function M({assetValue:L,recipient:w,memo:N,sender:z,destinationTag:J,extendBySeconds:Y=150}){if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let R=z||await C();if(L.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let l=x_(L),q={Account:R,Amount:l,Destination:w,TransactionType:"Payment",...J!==void 0&&{DestinationTag:J}};if(N)q.Memos=[{Memo:{MemoData:Buffer.from(N).toString("hex")}}];let k=await(await T()).autofill(q);if(k.LastLedgerSequence&&Y>0)k.LastLedgerSequence+=Math.ceil(Y/4);return k}function W(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)}async function G(L){let N=await(await T()).submitAndWait(L),{result:z}=N;if(z.validated)return z.hash;let J=z.meta?.TransactionResult,Y=nn.match(J).with(rT.tecNO_LINE,()=>"No trust line exists for this token").with(rT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(rT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,...Y?{reason:Y}:{txResult:J}}})}let X=async(L)=>{try{let w=await W(L);return G(w.tx_blob)}catch(w){if(w instanceof c.SwapKitError)throw w;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,error:w}})}};async function Q(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await M({...L,sender:w}),z=await W(N);return G(z.tx_blob)}async function B(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await Z({...L,sender:w}),z=await W(N);return G(z.tx_blob)}function D(){let L=o;if(o=null,L)L.then((w)=>{if(w?.isConnected())return w.disconnect();return}).catch((w)=>{console.warn("XRPL Cleanup failed silently:",w)})}return{broadcastTransaction:G,createSigner:cH,createTransaction:M,disconnect:D,estimateTransactionFee:U,getAddress:C,getBalance:H,getTrustLines:_,hasTrustLine:A,setTrustLine:Z,setTrustLineAndBroadcast:B,signAndBroadcastTransaction:X,signTransaction:W,transfer:Q,validateAddress:aT}}var c,nn,nf,dH,mH,rT;var io=P(()=>{gT();c=require("@swapkit/helpers"),nn=require("ts-pattern"),nf=require("xrpl");gT();hH();dH=require("xrpl"),mH={ACCOUNT_NOT_FOUND:19},rT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ro(y,n){let o=0n,f=0n,T=n;while(T<y.length&&T-n<10){let C=y[T++];if(C===void 0)break;if(o|=BigInt(C&127)<<f,f+=7n,(C&128)===0)return[o,T]}throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed")}function bn(y){let n=[],o=y<0n?y+2n**64n:y;while(o>=128n)n.push(Number(o&0x7fn)|128),o>>=7n;return n.push(Number(o)),n}function sT(y,n,o){let f=y.get(n);if(f)f.push(o);else y.set(n,[o])}function t_(y){let n=new Map,o=0;while(o<y.length){let[f,T]=ro(y,o);o=T;let C=Number(f>>3n),H=Number(f&7n);if(H===eT){let[U,_]=ro(y,o);o=_,sT(n,C,{data:new Uint8Array(bn(U)),wireType:eT})}else if(H===y0){let[U,_]=ro(y,o);o=_;let A=Number(U);if(A<0||o+A>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=y.slice(o,o+A);o+=A,sT(n,C,{data:Z,wireType:y0})}else if(H===rH){if(o+8>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+8);o+=8,sT(n,C,{data:U,wireType:rH})}else if(H===aH){if(o+4>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+4);o+=4,sT(n,C,{data:U,wireType:aH})}else throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed")}return n}function p_(y){let n=[];for(let[C,H]of[...y.entries()].sort(([U],[_])=>U-_))for(let{wireType:U,data:_}of H){let A=BigInt(C<<3|U);if(n.push(new Uint8Array(bn(A))),U===y0)n.push(new Uint8Array(bn(BigInt(_.length))));n.push(_)}let o=n.reduce((C,H)=>C+H.length,0),f=new Uint8Array(o),T=0;for(let C of n)f.set(C,T),T+=C.length;return f}function eH(y,n){if(!y||y.length%2!==0)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let o=Tn.hexToBytes(y),f=t_(o);if(n.expiration!==void 0)f.set($_,[{data:new Uint8Array(bn(BigInt(n.expiration))),wireType:eT}]);if(n.data!==void 0)f.set(I_,[{data:Tn.hexToBytes(n.data),wireType:y0}]);if(n.fee_limit!==void 0)f.set(P_,[{data:new Uint8Array(bn(BigInt(n.fee_limit))),wireType:eT}]);let T=p_(f),C=Tn.bytesToHex(T),H=Tn.bytesToHex(sH.sha256(T));return{raw_data_hex:C,txID:H}}var sH,Tn,tf,eT=0,rH=1,y0=2,aH=5,$_=8,I_=10,P_=18;var y5=P(()=>{sH=require("@noble/hashes/sha2.js"),Tn=require("@noble/hashes/utils.js"),tf=require("@swapkit/helpers")});function jy(y){if(typeof y!=="string")return!1;try{let n=f0.decode(y);return n.length===21&&n[0]===T5}catch{return!1}}function o5(y){return ty.bytesToHex(f0.decode(y))}function V_(y){return f0.decode(y).slice(1)}function C5(y){let n=ao.secp256k1.getPublicKey(ty.hexToBytes(y),!1),o=f5.keccak_256(n.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T5,f.set(o,1),f0.encode(f)}function H5({txID:y,privateKey:n}){let o=ao.secp256k1.sign(ty.hexToBytes(y),ty.hexToBytes(n),{format:"recovered",prehash:!1}),f=o[0]??0,T=ty.bytesToHex(o.slice(1,33)),C=ty.bytesToHex(o.slice(33,65)),H=(f+27).toString(16).padStart(2,"0");return T+C+H}function on({txID:y,raw_data_hex:n}){let o=ty.bytesToHex(so.sha256(ty.hexToBytes(n)));if(y!==o)throw new eo.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:o,txID:y})}function b_(y){return`000000000000000000000000${ty.bytesToHex(V_(y))}`}function u_(y){let n=typeof y==="bigint"?y:BigInt(y);if(n<0n||n>=E_)throw new eo.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:n.toString()});return n.toString(16).padStart(64,"0")}function Cn(y){return y.map(({type:n,value:o})=>n==="address"?b_(o):u_(BigInt(o))).join("")}function U5(y){return ty.bytesToHex(new TextEncoder().encode(y))}var ao,so,f5,ty,n5,eo,f0,T5=65,E_;var yC=P(()=>{ao=require("@noble/curves/secp256k1.js"),so=require("@noble/hashes/sha2.js"),f5=require("@noble/hashes/sha3.js"),ty=require("@noble/hashes/utils.js"),n5=require("@scure/base"),eo=require("@swapkit/helpers"),f0=n5.createBase58check(so.sha256),E_=2n**256n});function A5(){try{return Ay.getRPCUrlSync(Ay.Chain.Tron)}catch{return _5}}function q5(){let y=new AbortController,n=setTimeout(()=>y.abort(),m_);return{cleanup:()=>clearTimeout(n),signal:y.signal}}async function pf(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${A5()}${y}`,{body:JSON.stringify(n),headers:{"Content-Type":"application/json"},method:"POST",signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function G5(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${n??A5()}${y}`,{headers:{"Content-Type":"application/json"},signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function X5(y){if(!jy(y))throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let n=await G5(`/v1/accounts/${y}`,_5);if(!(n.success&&n.data)||n.data.length===0)return;let o;try{o=o5(y).toLowerCase()}catch{o=y.toLowerCase()}let f=n.data.find((T)=>T.address.toLowerCase()===o);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(n){if(n instanceof Ay.SwapKitError)throw n;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:n instanceof Error?n.message:"Unknown error"})}}async function W5({from:y,to:n,amount:o}){let T=await pf("/wallet/createtransaction",{amount:o,owner_address:y,to_address:n,visible:!0});if(!T.txID||!T.raw_data_hex||!T.raw_data)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let H=T.raw_data?.contract?.[0]?.parameter?.value;if(H?.to_address!==n||H?.owner_address!==y||H?.amount!==o)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(T),T}async function Q5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f,feeLimit:T,callValue:C=0}){let H=await pf("/wallet/triggersmartcontract",{call_value:C,contract_address:n,fee_limit:T,function_selector:o,owner_address:y,parameter:f,visible:!0});if(!H.result.result||!H.transaction?.txID||!H.transaction?.raw_data_hex)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let _=H.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==n||_?.owner_address!==y)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(H.transaction),H.transaction}function Z5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/triggerconstantcontract",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}function c_({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/estimateenergy",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}async function un(y){try{let{result:n,txid:o}=await pf("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!n||!o)throw new Ay.SwapKitError("toolbox_tron_token_transfer_failed");return o}catch(n){throw new Ay.SwapKitError("toolbox_tron_broadcast_failed",{error:n})}}async function vn(){let y={};try{let{chainParameter:n}=await G5("/wallet/getchainparameters");for(let o of n)y[o.key]=o.value}catch(n){Ay.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${n instanceof Error?n.message:n}`})}return{bandwidthFee:y.getTransactionFee??v_,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??j_,energyFee:y.getEnergyFee??K_,memoFee:y.getMemoFee??h_}}async function fC(y){try{let n=await pf("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(n.freeNetLimit??600)-(n.freeNetUsed??0),total:n.NetLimit??0,used:n.NetUsed??0},energy:{total:n.EnergyLimit??0,used:n.EnergyUsed??0}}}catch(n){return Ay.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${n instanceof Error?n.message:n}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jn(y){try{let n=await pf("/wallet/getaccount",{address:y,visible:!0});return n&&Object.keys(n).length>0}catch{return!1}}async function nC(y){try{let n=await c_({...y,ownerAddress:y.sender}),o=n.energy_required??n.energyRequired;if(n.result&&!n.result.result)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:n.result.message||"estimateenergy failed"});if(o!==void 0){if(Number.isFinite(o)&&o>0)return o;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(n){Ay.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${n instanceof Error?n.message:n}`})}try{let{energy_used:n}=await Z5({...y,ownerAddress:y.sender});return n}catch(n){return Ay.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${n instanceof Error?n.message:n}`}),65000}}async function J5({assetAddress:y,owner:n,spender:o}){let f=Cn([{type:"address",value:n},{type:"address",value:o}]),C=(await Z5({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:o,parameter:f})).constant_result?.[0];if(!C)return 0n;try{return BigInt(`0x${C}`)}catch{return 0n}}var Ay,_5="https://api.trongrid.io",v_=1000,j_=1e6,K_=420,h_=1e6,m_=30000;var M5=P(()=>{yC();Ay=require("@swapkit/helpers")});function R5({phrase:y,derivationPath:n}){let o=O5.HDKey.fromMasterSeed(w5.mnemonicToSeedSync(y)).derive(n);if(!o.privateKey)throw new p.SwapKitError("toolbox_tron_no_signer");return N5.bytesToHex(o.privateKey)}function k5({phrase:y,derivationPath:n,index:o}){let f=n||p.derivationPathToString(p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:o||0}));return R5({derivationPath:f,phrase:y})}function i_({phrase:y,derivationPath:n}){let o=R5({derivationPath:n,phrase:y}),f=C5(o);return{getAddress:()=>Promise.resolve(f),signTransaction:(T)=>{on(T);let C=H5({privateKey:o,txID:T.txID});return Promise.resolve({...T,signature:[C]})}}}function z5({transaction:y,memo:n,expiration:o,feeLimit:f}){let T={},C={};if(f!==void 0&&y.raw_data)T.fee_limit=f,C.fee_limit=f;if(n){let _=U5(n);T.data=_,C.data=_}if(o){let _=y.raw_data.expiration+o*1000;T.expiration=_,C.expiration=_}if(Object.keys(T).length===0)return y;let{raw_data_hex:H,txID:U}=eH(y.raw_data_hex,T);return{...y,raw_data:{...y.raw_data,...C},raw_data_hex:H,txID:U}}function l5(y={}){let n="index"in y?y.index||0:0,o=p.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:n})),f,T=!1;function C(){if(T)return Promise.resolve(f);return f=Hn.match(y).with({phrase:Hn.P.string},({phrase:J})=>i_({derivationPath:o,phrase:J})).with({signer:Hn.P.not(Hn.P.nullish)},({signer:J})=>J).otherwise(()=>{return}),T=!0,Promise.resolve(f)}async function H(){let J=await C();if(!J)throw new p.SwapKitError("toolbox_tron_no_signer");return J.getAddress()}async function U(J,Y){let R=J||Y5,l=Y??(await vn()).energyFee,q=R*l,O=Math.ceil(q*1.5);return Math.min(Math.max(O,1e7),150000000)}async function _({contractAddress:J,functionSelector:Y,parameter:R,sender:l,memo:q,expiration:O,extraEnergy:k=0}){let x=await nC({contractAddress:J,functionSelector:Y,parameter:R,sender:l}),F=await U(x+k),u=await Q5({contractAddress:J,feeLimit:F,functionSelector:Y,ownerAddress:l,parameter:R});return z5({expiration:O,feeLimit:F,memo:q,transaction:u})}async function A(J){if(!jy(J))return[p.AssetValue.from({chain:p.Chain.Tron})];try{let Y=await X5(J);if(!Y)return[p.AssetValue.from({chain:p.Chain.Tron})];let R=[p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:6,value:String(Y.balance)})],l=Y.trc20?.find((q)=>(oC in q));if(l){let q=l[oC];R.push(p.AssetValue.from({asset:`TRON.USDT-${oC}`,fromBaseDecimal:6,value:q}))}return R}catch(Y){return p.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${Y instanceof Error?Y.message:Y}`}),[p.AssetValue.from({chain:p.Chain.Tron})]}}async function Z({recipient:J,assetValue:Y,memo:R,expiration:l}){if(!jy(J))throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");try{let O=await H(),k=await B({assetValue:Y,expiration:l,memo:R,recipient:J,sender:O}),x=await q.signTransaction(k),F=await un(x);if(!F)throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(O){throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:O instanceof Error?O.message:String(O)})}}function M({requiredBandwidth:J,resources:Y,feePerUnit:R}){let l=Math.max(0,Y.free+Y.total-Y.used);return J>l?(J-l)*R:0}async function W({memo:J,recipient:Y,senderAddress:R}){let[l,q,O]=await Promise.all([vn(),jn(Y),fC(R)]),k=q?0:l.createAccountFee,x=M({feePerUnit:l.bandwidthFee,requiredBandwidth:L5,resources:O.bandwidth}),F=J?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+x+F})}async function G({assetValue:J,memo:Y,recipient:R,senderAddress:l}){let q=J.address;if(!q)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:J.toString()});let[O,k,x,F]=await Promise.all([vn(),jn(R),fC(l),nC({contractAddress:q,functionSelector:"transfer(address,uint256)",parameter:Cn([{type:"address",value:R},{type:"uint256",value:J.getBaseValue("string")}]),sender:l})]),h=F+(k?0:TC),i=M({feePerUnit:O.bandwidthFee,requiredBandwidth:B5,resources:x.bandwidth}),fy=Math.max(0,x.energy.total-x.energy.used),By=h>fy?(h-fy)*O.energyFee:0,wy=Y?O.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:i+By+wy})}async function X({assetValue:J,memo:Y,recipient:R}){let[l,q]=await Promise.all([vn(),jn(R)]);if(J.isGasAsset){let F=q?0:l.createAccountFee,u=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:F+L5*l.bandwidthFee+u})}let k=await U(Y5+(q?0:TC),l.energyFee),x=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+B5*l.bandwidthFee+x})}async function Q({assetValue:J,memo:Y,recipient:R,sender:l}){let q=await C();try{let O=l?l:q?await H():void 0;if(!O)return X({assetValue:J,memo:Y,recipient:R});return J.isGasAsset?W({memo:Y,recipient:R,senderAddress:O}):G({assetValue:J,memo:Y,recipient:R,senderAddress:O})}catch(O){throw p.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${O instanceof Error?O.message:O}`}),new p.SwapKitError("toolbox_fee_estimation_failed",{chain:p.Chain.Tron,error:O})}}async function B({recipient:J,assetValue:Y,memo:R,sender:l,expiration:q}){if(!jy(J)||!jy(l))throw new p.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(Y.isGasAsset){let x=await W5({amount:Y.getBaseValue("number"),from:l,to:J});return z5({expiration:q,memo:R,transaction:x})}let O=Y.address;if(!O)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});let k=await jn(J);return _({contractAddress:O,expiration:q,extraEnergy:k?0:TC,functionSelector:"transfer(address,uint256)",memo:R,parameter:Cn([{type:"address",value:J},{type:"uint256",value:Y.getBaseValue("string")}]),sender:l})}async function D(J){on(J);let Y=await C();if(!Y)throw new p.SwapKitError("toolbox_tron_no_signer");return Y.signTransaction(J)}async function L(J){let Y=await D(J);return un(Y)}function w({assetAddress:J,spenderAddress:Y,from:R}){return J5({assetAddress:J,owner:R,spender:Y})}async function N({assetAddress:J,spenderAddress:Y,from:R,amount:l}){let q=await w({assetAddress:J,from:R,spenderAddress:Y});if(!l)return q>0n;return q>=BigInt(l)}async function z({assetAddress:J,spenderAddress:Y,amount:R,from:l}){if(!jy(J)||!jy(Y))throw new p.SwapKitError("toolbox_tron_approve_failed");let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");let O=l||await H(),k=R!==void 0?BigInt(R).toString():g_;try{let x=await _({contractAddress:J,functionSelector:"approve(address,uint256)",parameter:Cn([{type:"address",value:Y},{type:"uint256",value:k}]),sender:O}),F=await q.signTransaction(x),u=await un(F);if(!u)throw new p.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof p.SwapKitError)throw x;throw new p.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:z,broadcastTransaction:un,createTransaction:B,estimateTransactionFee:Q,getAddress:H,getApprovedAmount:w,getBalance:A,getRpcUrl:()=>p.getRPCUrl(p.Chain.Tron),isApproved:N,signAndBroadcastTransaction:L,signTransaction:D,transfer:Z,validateAddress:jy}}var N5,O5,w5,p,Hn,D5,L5=268,Y5=65000,TC=25000,B5=345,oC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",g_="115792089237316195423570985008687907853269984665640564039457584007913129639935";var S5=P(()=>{y5();M5();yC();N5=require("@noble/hashes/utils.js"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),p=require("@swapkit/helpers"),Hn=require("ts-pattern"),D5=jy});var CC={};My(CC,{validateTronAddress:()=>D5,getTronToolbox:()=>l5,getTronPrivateKeyFromMnemonic:()=>k5});module.exports=Ny(CC);var HC=P(()=>{S5()});function T0(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return d_.test(y)}async function r_(y){if(!T0(y))return!1;try{let{StrKey:n}=await import("@stellar/stellar-sdk");return n.isValidEd25519PublicKey(y)}catch{return!1}}function x5(y={}){let n,o=y.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],f=e.derivationPathToString(o.slice(0,3));async function T({phrase:Q,path:B}){let{HDKey:D}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:w}=await import("@stellar/stellar-sdk"),N=L(Q),J=D.fromMasterSeed(N).derive(B,!0);return w.fromRawEd25519Seed(Buffer.from(J.privateKey))}async function C(){if(n)return n;let Q=n0.match(y).with({phrase:n0.P.string},({phrase:B})=>B).otherwise(()=>{return});if(!Q)throw new e.SwapKitError("toolbox_stellar_no_signer");return n=await T({path:f,phrase:Q}),n}async function H(){let{Horizon:Q}=await import("@stellar/stellar-sdk"),B=await e.getRPCUrl(e.Chain.Stellar);return new Q.Server(B)}async function U(){try{return(await C()).publicKey()}catch{return""}}async function _(Q){let B=Q||await U();if(!B)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await H()).loadAccount(B)).balances.map((w)=>{if(w.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:w.balance});let N="asset_code"in w?w.asset_code:"",z="asset_issuer"in w?w.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${N}-${z}`,asyncTokenLookup:!1,value:w.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function A({recipient:Q,assetValue:B,memo:D,sender:L}){if(D){if(new TextEncoder().encode(D).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await r_(Q))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await U();if(!N)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:z,Memo:J,Networks:Y,Operation:R,TransactionBuilder:l}=await import("@stellar/stellar-sdk"),q=await H(),O=await q.fetchBaseFee(),k=await q.loadAccount(N),x=new l(k,{fee:String(O),networkPassphrase:Y.PUBLIC});if(B.isGasAsset)try{await q.loadAccount(Q),x.addOperation(R.payment({amount:B.getValue("string"),asset:z.native(),destination:Q}))}catch{x.addOperation(R.createAccount({destination:Q,startingBalance:B.getValue("string")}))}else x.addOperation(R.payment({amount:B.getValue("string"),asset:new z(B.symbol,B.address),destination:Q}));if(D)x.addMemo(J.text(D));return x.setTimeout(30).build()}async function Z(Q){let{TransactionBuilder:B,Networks:D}=await import("@stellar/stellar-sdk"),L=await C(),w=B.fromXDR(Q.toXDR(),D.PUBLIC);return w.sign(L),w}async function M(Q){try{let B=await H(),{hash:D}=await B.submitTransaction(Q);return D}catch(B){throw new e.SwapKitError("toolbox_stellar_broadcast_error",B)}}async function W({recipient:Q,assetValue:B,memo:D}){let L=await C(),w=L.publicKey(),N=await A({assetValue:B,memo:D,recipient:Q,sender:w});N.sign(L);try{return(await(await H()).submitTransaction(N)).hash}catch(z){if(z instanceof e.SwapKitError)throw z;throw new e.SwapKitError("toolbox_stellar_transaction_failed",z)}}async function G(Q){let B=await Z(Q);return M(B)}async function X(){let{baseDecimal:Q}=e.getChainConfig(e.Chain.Stellar);try{let L=(await(await H()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:L})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:X,getAddress:U,getBalance:_,signAndBroadcastTransaction:G,signTransaction:Z,transfer:W,validateAddress:T0}}var e,n0,d_;var F5=P(()=>{e=require("@swapkit/helpers"),n0=require("ts-pattern"),d_=/^G[A-Z2-7]{55}$/});var o0={};My(o0,{validateStellarAddress:()=>T0,getStellarToolbox:()=>x5});module.exports=Ny(o0);var C0=P(()=>{F5()});var e_={};My(e_,{getToolbox:()=>UC,getFeeEstimator:()=>s_,getAddressValidator:()=>a_});module.exports=Ny(e_);var V=require("@swapkit/helpers");async function a_(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:n}=await Promise.resolve().then(() => (hn(),Kn)),{validateEVMAddress:o}=await Promise.resolve().then(() => (F0(),vC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (t0(),P0)),{getCosmosAddressValidator:T}=await Promise.resolve().then(() => (LT(),MT)),{validateHyperCoreAddress:C}=await Promise.resolve().then(() => (no(),fo)),{validateSolanaAddress:H}=await Promise.resolve().then(() => (Uo(),Ho)),{validateStarknetAddress:U}=await Promise.resolve().then(() => (RT(),DT)),{validateSuiAddress:_}=await Promise.resolve().then(() => (lT(),kT)),{validateTonAddress:A}=await Promise.resolve().then(() => (FT(),xT)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (So(),lo)),{validateNearAddress:M}=await Promise.resolve().then(() => (ho(),Ko)),{validateRadixAddress:W}=await Promise.resolve().then(() => (co(),mo)),{validateRippleAddress:G}=await Promise.resolve().then(() => (io(),go)),{validateTronAddress:X}=await Promise.resolve().then(() => (HC(),CC)),{validateStellarAddress:Q}=await Promise.resolve().then(() => (C0(),o0));return function({address:D,chain:L}){return y(L).with(...V.EVMChains,()=>o(D)).with(...V.UTXOChains,(N)=>{return Z(N)(D)}).with(...V.CosmosChains,(N)=>{return T(N)(D)}).with(V.Chain.Aptos,()=>n(D)).with(V.Chain.Radix,()=>W(D)).with(V.Chain.HyperCore,()=>C(D)).with(V.Chain.Near,()=>M(D)).with(V.Chain.Ripple,()=>G(D)).with(V.Chain.Solana,()=>H(D)).with(V.Chain.Stellar,()=>Q(D)).with(V.Chain.Starknet,()=>U(D)).with(V.Chain.Sui,()=>_(D)).with(V.Chain.Ton,()=>A(D)).with(V.Chain.Tron,()=>X(D)).with(V.Chain.Cardano,()=>f(D)).otherwise(()=>!1)}}function s_(y){return async function(o){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...V.EVMChains,async(T)=>{let C=await UC(T),H=await C.createTransaction(o),U="feeOptionKey"in o?o.feeOptionKey:V.FeeOption.Fast;return C.estimateTransactionFee({...H,feeOption:U})}).with(V.Chain.Bitcoin,V.Chain.BitcoinCash,V.Chain.Dogecoin,V.Chain.Dash,V.Chain.Litecoin,V.Chain.Solana,V.Chain.Ripple,V.Chain.Tron,V.Chain.Near,V.Chain.Cardano,V.Chain.HyperCore,async(T)=>{return(await UC(T)).estimateTransactionFee(o)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (hn(),Kn));return T().estimateTransactionFee(o)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (RT(),DT));return(await T()).estimateTransactionFee(o)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (C0(),o0));return T().estimateTransactionFee()}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (lT(),kT));return T().estimateTransactionFee(o)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (FT(),xT));return T().estimateTransactionFee(o)}).with(...V.CosmosChains,async()=>{let{estimateTransactionFee:T}=await Promise.resolve().then(() => (LT(),MT));return T(o)}).otherwise(async()=>V.AssetValue.from({chain:y}))}}async function UC(y,n){let{match:o}=await import("ts-pattern");return o(y).returnType().with(...V.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (x0(),VC));return await f(y,n)}).with(...V.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (So(),lo));return f(y,n)}).with(...V.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (LT(),MT));return f(y,n)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (hn(),Kn));return f(n)}).with(V.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (no(),fo));return f(n)}).with(V.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (co(),mo));return f(n)}).with(V.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (io(),go));return f(n)}).with(V.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (Uo(),Ho));return f(n)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (C0(),o0));return f(n)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (RT(),DT));return f(n)}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (lT(),kT));return f(n)}).with(V.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (HC(),CC));return f(n)}).with(V.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (ho(),Ko));return f(n)}).with(V.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (t0(),P0));return f(n)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (FT(),xT));return f(n)}).otherwise(()=>{throw new V.SwapKitError("toolbox_not_supported",{chain:y})})}