@swapkit/toolboxes 4.15.7 → 4.15.9

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 DH=Object.create;var{getPrototypeOf:OH,defineProperty:ty,getOwnPropertyNames:T0,getOwnPropertyDescriptor:RH}=Object,t0=Object.prototype.hasOwnProperty;function C0(n){return this[n]}var xH,FH,TT=(n,y,T)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?xH??=new WeakMap:FH??=new WeakMap,t=f.get(n);if(t)return t}T=n!=null?DH(OH(n)):{};let C=y||!n||!n.__esModule?ty(T,"default",{value:n,enumerable:!0}):T;for(let H of T0(n))if(!t0.call(C,H))ty(C,H,{get:C0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Jn=(n)=>{var y=(f0??=new WeakMap).get(n),T;if(y)return y;if(y=ty({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of T0(n))if(!t0.call(y,o))ty(y,o,{get:C0.bind(n,o),enumerable:!(T=RH(n,o))||T.enumerable})}return f0.set(n,y),y},f0;var pH=(n)=>n;function SH(n,y){this[n]=pH.bind(null,y)}var Mn=(n,y)=>{for(var T in y)ty(n,T,{get:y[T],enumerable:!0,configurable:!0,set:SH.bind(y,T)})};var S=(n,y)=>()=>(n&&(y=n(n=0)),y);function uo(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return kH.test(y)}function H0({derivationPath:n,provider:y,...T}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await Qo.match(T).with({phrase:Qo.P.string},async({phrase:l})=>{let{Ed25519Account:Z}=await import("@aptos-labs/ts-sdk");return Z.fromDerivationPath({mnemonic:l,path:f})}).with({signer:Qo.P.any},({signer:l})=>l).otherwise(()=>{return}),o}async function C(){let{Aptos:l,AptosConfig:Z}=await import("@aptos-labs/ts-sdk"),z=new Z({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new l(z)}async function H(){return(await t())?.accountAddress.toString()||""}async function A(l){let Z=l||await H();if(!Z)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=V.getChainConfig(V.Chain.Aptos);try{let N=await C(),J=await N.getAccountAPTAmount({accountAddress:Z}),U=[V.AssetValue.from({chain:L,fromBaseDecimal:z,value:J.toString()})],B=await N.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Z}}}});for(let q of B){if(q.asset_type===Lo.COIN_TYPE||Number(q.amount)<=0)continue;let Y=q.asset_type;if(Y){let Q=("metadata"in q&&typeof q.metadata==="object"&&q.metadata!==null?q.metadata:void 0)?.decimals??z;U.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Y}`,fromBaseDecimal:Q,value:String(q.amount)}))}}return U}catch{return[V.AssetValue.from({chain:L})]}}async function _(l){if(!l){let{baseDecimal:B}=V.getChainConfig(V.Chain.Aptos),q=y||V.getRPCUrlSync(V.Chain.Aptos),Y=await fetch(`${q}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:B,value:String(D)})}let Z=await t();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");let z=await G(l),L=await C(),[N]=await L.transaction.simulate.simple({signerPublicKey:Z.publicKey,transaction:z});if(!N)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let J=BigInt(N.gas_used)*BigInt(N.gas_unit_price),{baseDecimal:U}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:U,value:J.toString()})}async function G({recipient:l,assetValue:Z,maxGasAmount:z,sender:L}){if(!uo(l))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await H();if(!N)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:J}=await import("@aptos-labs/ts-sdk"),U=await C(),B=J.from(N);try{let q=Z.isGasAsset?Lo.TRANSFER:Lo.FUNGIBLE_STORE_TRANSFER,Y=Qo.match({address:Z?.address,isGasAsset:Z.isGasAsset}).with({isGasAsset:!0},()=>[J.from(l),Z.getBaseValue("bigint")]).with({address:Qo.P.string},({address:D})=>[J.from(D),J.from(l),Z.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:q,functionArguments:Y,typeArguments:Z.isGasAsset?[]:[Lo.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(q){if(q instanceof V.SwapKitError)throw q;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",q)}}async function M(l){let Z=await t();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Z,transaction:l})}async function w({assetValue:l,maxGasAmount:Z,recipient:z}){let L=await t();if(!L)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!uo(z))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let N=L.accountAddress.toString(),J=await G({assetValue:l,maxGasAmount:Z,recipient:z,sender:N});return(await(await C()).signAndSubmitTransaction({signer:L,transaction:J})).hash}catch(N){if(N instanceof V.SwapKitError)throw N;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",N)}}async function W({senderAuthenticator:l,transaction:Z}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:l,transaction:Z})).hash}catch(z){throw new V.SwapKitError("toolbox_aptos_broadcast_error",z)}}async function X(l){let Z=await M(l);return W({senderAuthenticator:Z,transaction:l})}return{broadcastTransaction:W,createTransaction:G,estimateTransactionFee:_,getAddress:H,getBalance:A,signAndBroadcastTransaction:X,signTransaction:M,transfer:w,validateAddress:uo}}function A0({provider:n}){return async function({assetValue:T,recipient:o}){if(!uo(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(T.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),T.getBaseValue("string")],function:Lo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:Lo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Lo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Qo,Lo,kH;var _0=S(()=>{V=require("@swapkit/helpers"),Qo=require("ts-pattern"),Lo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},kH=/^[0-9a-fA-F]+$/});var by={};Mn(by,{validateAptosAddress:()=>uo,getAptosToolbox:()=>H0,createAptosExtensionTransfer:()=>A0});module.exports=Jn(by);var vy=S(()=>{_0()});function w0(){function n(){let y=Date.now(),T=tT||y;return tT=T,y>tT?y:T+1}return uH+n().toString(36)}function xn(n){return async function(T,o=!0){let f=await U0.SwapKitApi.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=Cy.getChainConfig(n),C=f.map(({identifier:A,value:_,decimal:G})=>{return new Cy.AssetValue({decimal:G||t,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[Cy.AssetValue.from({chain:n}),...C];return C}}var Cy,U0,uH,tT=0;var dn=S(()=>{Cy=require("@swapkit/helpers"),U0=require("@swapkit/helpers/api"),uH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Hy(n){return{getBalance:xn(n)}}function PH(n){return n}var Vy=S(()=>{dn()});function G0(n){return new Zo.JsonRpcProvider(n)}async function UT(n,y){return G0(y||await g.getRPCUrl(n))}function Ay(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function wT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...IH({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function qT(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function IH({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=g.getChainConfig(n);return _T.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function GT(n,y){if(!("authorize"in n))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let T={...y,nonce:y.nonce!==void 0?BigInt(y.nonce):void 0};return await n.authorize(T)}function l0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};_T.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!$H(f),()=>o("address","address must be a valid checksummed address")).when(({nonce:f})=>typeof f!=="bigint"||f<0n,()=>o("nonce","nonce must be a non-negative bigint")).when(({signature:f})=>!f,()=>o("signature","signature is required")).when(({signature:f})=>typeof f?.yParity!=="number"||![0,1].includes(f.yParity),()=>o("signature.yParity","yParity must be 0 or 1")).when(({signature:f})=>!q0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!q0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function X0(n){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:y})=>n[y]!=null).map(({key:y,type:T})=>({name:y,type:T}))}function CT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function HT(n,y){if(n.isTuple()&&n.components){let T=CT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:HT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=CT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:HT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function AT(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]=AT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>AT(o,T??void 0))}return n}function EH({chain:n,abi:y,data:T,to:o}){let t=new Zo.Interface(y).parseTransaction({data:T});if(!t)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=CT(t.name);C[H]=t.fragment.inputs.map((w)=>({name:w.name,type:HT(w,C)}));let A={};for(let[w,W]of t.fragment.inputs.entries())A[W.name]=AT(t.args[w],W);let{chainId:_}=g.getChainConfig(n),G={chainId:Number(_),verifyingContract:Zo.getAddress(o)},M=X0(G);return{domain:G,message:A,primaryType:H,types:{EIP712Domain:M,...C}}}function lT(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[T,o]of n.entries())if(l0(o,T),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Zo,_T,q0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),$H=(n)=>{try{return typeof n==="string"&&!!Zo.getAddress(n)}catch{return!1}};var _y=S(()=>{g=require("@swapkit/helpers"),Zo=require("ethers"),_T=require("ts-pattern")});var W0;var B0=S(()=>{W0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function Io({chain:n=R.Chain.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:jH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:Q0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:QT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:mH({chain:n,provider:y,signer:T}),createContract:BT({chain:n,provider:y}),createContractTxObject:Jo({chain:n,provider:y}),createTransaction:XT({chain:n,provider:y,signer:T}),createTransferTx:XT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Eo(y),estimateCall:Z0({provider:y,signer:T}),estimateGasLimit:iH({chain:n,provider:y,signer:T}),estimateGasPrices:Yo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:rH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Hy(n).getBalance,getNetworkParams:wT(n),isApproved:KH({chain:n,provider:y}),sendTransaction:J0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:hH({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:cH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:wy}}function wy(n){try{return Sn.getAddress(n),!0}catch{return!1}}function $o(n){return n instanceof Sn.BrowserProvider}function qy(n,y,T){return new Sn.Contract(n,Sn.Interface.from(y),T)}function BT({provider:n}){return function(T,o){return new Sn.Contract(T,Sn.Interface.from(o),n)}}function MT({abi:n,funcName:y}){let T=n.find((o)=>o.name===y);if(!T)throw new R.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return T.stateMutability&&bH.includes(T.stateMutability)}function M0(n){return Sn.getAddress(n)}function Eo(n){return function({value:T,...o}){if(!$o(n))throw new R.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:Ay(BigInt(T||0))}])}}function L0(n,y){let T=bo(n,y);if(T)return Sn.getAddress(T.toLowerCase());throw new R.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function bo({chain:n,symbol:y,ticker:T},o){try{let f=n===R.Chain.BinanceSmartChain&&y==="BNB"&&T==="BNB",t=n===R.Chain.Hyperevm&&y==="HYPE"&&T==="HYPE",C=n===o&&y===o&&T===o,H=VH.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return LT[o];return Sn.getAddress(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function Jo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>qy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Yo({chain:n,provider:y,isEIP1559Compatible:T=!0}){return WT.match(n).with(R.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:t}=await y.getFeeData();if(!f||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Average),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Average)},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(R.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new R.SwapKitError("toolbox_evm_no_fee_data");let t=f*12n/10n;return{[R.FeeOption.Average]:{gasPrice:t},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:t,gasPrice:C}=await y.getFeeData();if(T){if(f===null||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:t},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}if(!C)throw new R.SwapKitError("toolbox_evm_no_gas_price");return{[R.FeeOption.Average]:{gasPrice:C},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function QT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:G={},feeOption:M=R.FeeOption.Fast}){let w=t||n;if(!C)throw new R.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let W=MT({abi:H,funcName:A});if(W&&$o(w)&&T){let Z=Jo({chain:o,provider:w}),z=G?.from||await T?.getAddress(),L=await Z({abi:H,contractAddress:C,funcName:A,funcParams:_,txOverrides:{...G,from:z}});return Eo(w)(L)}let X=qy(C,H,w);if(W){if(!T)throw new R.SwapKitError("toolbox_evm_no_signer");let Z=G?.from||await T.getAddress();if(!Z)throw new R.SwapKitError("toolbox_evm_no_signer_address");let z=X.connect(T),L=Yo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:N,maxPriorityFeePerGas:J,gasPrice:U}=(await L())[M],B=await X.getFunction(A).estimateGas(..._,G),q=await z[A](..._,{...G,gasLimit:B,gasPrice:U,maxFeePerGas:N,maxPriorityFeePerGas:J,nonce:G?.nonce||await w.getTransactionCount(Z)});return typeof q?.hash==="string"?q?.hash:q}let l=await X[A]?.(..._);return typeof l?.hash==="string"?l?.hash:l}}function Q0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return QT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Po.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function KH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Uy}){let H=await Q0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return R.SwapKitNumber.fromBigInt(H).gte(R.SwapKitNumber.fromBigInt(BigInt(C)))}}function jH({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=R.FeeOption.Fast,amount:A,gasLimitFallback:_,from:G,nonce:M}){let w=[C,BigInt(A||Uy)],W=await n?.getAddress()||G,X={abi:Po.erc20ABI,contractAddress:t,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:W}};if($o(T)){let Z=Jo({chain:o,provider:T}),z=Eo(T),L=await Z(X);return z(L)}return QT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...X,feeOption:H,funcParams:w,txOverrides:{from:W,gasLimit:_?BigInt(_.toString()):void 0,nonce:M}})}}function cH({signer:n,isEIP1559Compatible:y=!0,provider:T}){return async function({assetValue:f,memo:t,recipient:C,feeOptionKey:H=R.FeeOption.Fast,sender:A,..._}){let{hexlify:G,toUtf8Bytes:M}=await import("ethers"),w=f.getBaseValue("bigint"),W=f.chain,X=A||await n?.getAddress(),l=J0({chain:W,isEIP1559Compatible:y,provider:T,signer:n});if(!X)throw new R.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={..._,data:G(M(t||"")),feeOptionKey:H,from:X,to:C,value:w};return l(U)}if(!bo(f,W))throw new R.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:N}=(await Yo({chain:W,isEIP1559Compatible:y,provider:T})())[H],J=await XT({chain:W,provider:T,signer:n})({assetValue:f,data:G(M(t||"")),gasPrice:N,maxFeePerGas:z,maxPriorityFeePerGas:L,memo:t,recipient:C,sender:X});return l(J)}}function Z0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:t,funcParams:C=[],txOverrides:H}){if(!o)throw new R.SwapKitError("toolbox_evm_no_contract_address");let A=qy(o,f,n);return y?A.connect(y).getFunction(t).estimateGas(...C,H):A.getFunction(t).estimateGas(...C,H)}}function iH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:A,funcParams:_,txOverrides:G}){let M=o.bigIntValue,w=o.isGasAsset?null:bo(o,o.chain);if(w&&A)return Z0({provider:n,signer:y})({abi:Po.erc20ABI,contractAddress:w,funcName:A,funcParams:_,txOverrides:G});let{hexlify:W,toUtf8Bytes:X}=await import("ethers");return n.estimateGas({data:C?C:t?W(X(t)):void 0,from:H,to:f,value:M})}}function hH({signer:n}){if(!n)return;return(y)=>GT(n,y)}function J0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=R.FeeOption.Fast,...C}){let{from:H,to:A,data:_,value:G,...M}=C;if(!y)throw new R.SwapKitError("toolbox_evm_no_signer");if(!A)throw new R.SwapKitError("toolbox_evm_no_to_address");let w={...M,data:_||"0x",from:H,to:A,value:BigInt(G||0)};if($o(n))return Eo(n)(w);let W=H||await y.getAddress(),X=C.nonce||await n.getTransactionCount(W),l=(await n.getNetwork()).chainId,Z=JT(w,T);if(Z==="eip7702")lT(w.authorizations||[],l);let z=WT.match(Z).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...w,chainId:l,nonce:X,type:z,...Z==="eip7702"&&{authorizationList:w.authorizations}},N=Yo({chain:o,isEIP1559Compatible:T,provider:n}),U=Z!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await N())[t]).reduce((q,[Y,D])=>({...q,[Y]:Ay(BigInt(D))}),{}):{},B;try{B=Ay(w.gasLimit||await n.estimateGas(L)*11n/10n)}catch(q){throw new R.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:q})}try{let q={...L,gasLimit:B,...U};try{return(await y.sendTransaction(q)).hash}catch{let Y=await y.signTransaction({...q,from:W});return(await n.broadcastTransaction(Y)).hash}}catch(q){throw new R.SwapKitError("toolbox_evm_error_sending_transaction",{error:q})}}}function XT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:A,maxPriorityFeePerGas:_,gasPrice:G,...M}){let w=o.getBaseValue("bigint"),W=o.chain,X=H||await y?.getAddress();if(!X)throw new R.SwapKitError("toolbox_evm_no_from_address");if(R.isGasAsset(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:X,to:t,value:w}}let l=bo(o,W);if(!l)throw new R.SwapKitError("toolbox_evm_no_contract_address");return Jo({chain:o.chain,provider:n})({abi:Po.erc20ABI,contractAddress:l,funcName:"transfer",funcParams:[t,w],txOverrides:{from:X,gasPrice:G,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function mH({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let A=await y?.getAddress()||H,_=Jo({chain:T,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||Uy;return await _({abi:Po.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(G)],txOverrides:{from:A}})}}function rH({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=R.FeeOption.Fast,...t}){let H=await Yo({chain:T,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(t),_=R.AssetValue.from({chain:T}),{gasPrice:G,maxFeePerGas:M,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return _.set(R.SwapKitNumber.fromBigInt(G*A,_.decimal));if(M&&w){let W=(M+w)*A;return _.set(R.SwapKitNumber.fromBigInt(W,_.decimal))}throw new R.SwapKitError("toolbox_evm_no_gas_price")}}var R,Po,Sn,WT,Uy,bH,vH,LT,VH,Ky=(n)=>n.type===4||(n.authorizations?.length??0)>0,ZT=(n)=>!Ky(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),JT=(n,y=!0)=>{if(Ky(n))return"eip7702";if(ZT(n)||y)return"eip1559";return"legacy"};var jy=S(()=>{Vy();_y();R=require("@swapkit/helpers"),Po=require("@swapkit/helpers/contracts"),Sn=require("ethers"),WT=require("ts-pattern"),Uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");bH=["payable","nonpayable"];vH=R.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),LT={...vH,[R.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[R.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},VH=[R.Chain.Arbitrum,R.Chain.Aurora,R.Chain.Base,R.Chain.Optimism]});function cy(n){let y=wn(Cn.Chain.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:W0,contractAddress:f,funcName:t,funcParams:[o]});return y.sendTransaction({...H,feeOptionKey:C})}return{...y,multicall:T}}function wn(n){return function({provider:T,...o}){let f=qT(n),t=Gy.match(o).with({phrase:Gy.P.string},({phrase:H})=>Y0.HDNodeWallet.fromPhrase(H).connect(T)).with({signer:Gy.P.any},({signer:H})=>H).otherwise(()=>{return});return Io({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var Cn,Y0,Gy,iy,hy,my,ry,gy,dy,ay,N0,sy,ey,nf,of,yf,ff,ly,Tf,tf,Cf,Hf;var YT=S(()=>{B0();_y();jy();Cn=require("@swapkit/helpers"),Y0=require("ethers"),Gy=require("ts-pattern");iy=wn(Cn.Chain.Adi),hy=wn(Cn.Chain.Arbitrum),my=wn(Cn.Chain.Aurora),ry=wn(Cn.Chain.Avalanche),gy=wn(Cn.Chain.Base),dy=wn(Cn.Chain.Berachain),ay=wn(Cn.Chain.BinanceSmartChain),N0=wn(Cn.Chain.Botanix),sy=wn(Cn.Chain.Core),ey=wn(Cn.Chain.Corn),nf=wn(Cn.Chain.Cronos),of=wn(Cn.Chain.Gnosis),yf=wn(Cn.Chain.Hyperevm),ff=wn(Cn.Chain.Polygon),ly=wn(Cn.Chain.Sonic),Tf=wn(Cn.Chain.Unichain),tf=wn(Cn.Chain.XLayer),Cf=wn(Cn.Chain.Monad),Hf=wn(Cn.Chain.MegaETH)});var z0;var D0=S(()=>{z0=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function NT(n){return new Af.Contract(dH,z0,n)}function O0(n){return async function(){let T=NT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function R0(n){return async function({from:T,to:o,nonce:f,...t}){let{Transaction:C}=await import("ethers");if(!o)throw new Hn.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return C.from({...t,authorizationList:t.authorizationList,nonce:f?f:T?await n.getTransactionCount(T):0,to:o}).serialized}}function x0(n){return async function(T){let o=NT(n),f=await R0(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function F0(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function aH(n){return async function(T){let o=await x0(n)(T)??0n,f=await F0(n)(T);return o+f}}function sH(n){return async function(T){let o=NT(n),f=await R0(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function eH(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await O0(n)(),C=f;if(!(T&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(T){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function _f({provider:n,...y}){let T=Xy.match(y).with({phrase:Xy.P.string},({phrase:t})=>Af.HDNodeWallet.fromPhrase(t).connect(n)).with({signer:Xy.P.any},({signer:t})=>t).otherwise(()=>{return}),o=Io({provider:n,signer:T}),f=O0(n);return{...o,estimateGasPrices:eH(n),estimateL1Gas:sH(n),estimateL1GasCost:x0(n),estimateL2GasCost:F0(n),estimateTotalGasCost:aH(n),getBalance:Hy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,Af,Xy,dH="0x420000000000000000000000000000000000000f";var zT=S(()=>{Vy();D0();jy();Hn=require("@swapkit/helpers"),Af=require("ethers"),Xy=require("ts-pattern")});var k0={};Mn(k0,{validateEVMAddress:()=>wy,toChecksumAddress:()=>M0,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getEvmToolboxAsync:()=>S0,getEvmToolbox:()=>DT,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>L0,createContract:()=>qy,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});function DT(n,y){return p0.match(n).with(Un.Chain.Adi,()=>iy(y)).with(Un.Chain.Arbitrum,()=>hy(y)).with(Un.Chain.Aurora,()=>my(y)).with(Un.Chain.Avalanche,()=>ry(y)).with(Un.Chain.Base,()=>gy(y)).with(Un.Chain.Berachain,()=>dy(y)).with(Un.Chain.BinanceSmartChain,()=>ay(y)).with(Un.Chain.Botanix,()=>ly(y)).with(Un.Chain.Core,()=>sy(y)).with(Un.Chain.Corn,()=>ey(y)).with(Un.Chain.Cronos,()=>nf(y)).with(Un.Chain.Ethereum,()=>cy(y)).with(Un.Chain.Gnosis,()=>of(y)).with(Un.Chain.Hyperevm,()=>yf(y)).with(Un.Chain.Optimism,()=>_f(y)).with(Un.Chain.Polygon,()=>ff(y)).with(Un.Chain.Sonic,()=>ly(y)).with(Un.Chain.Unichain,()=>Tf(y)).with(Un.Chain.XLayer,()=>tf(y)).with(Un.Chain.Monad,()=>Cf(y)).with(Un.Chain.MegaETH,()=>Hf(y)).exhaustive()}async function S0(n,y){let T={...y,provider:y?.provider||await UT(n)};return DT(n,T)}var Un,p0;var OT=S(()=>{_y();YT();zT();Un=require("@swapkit/helpers"),p0=require("ts-pattern");jy();YT();zT()});var u0;var P0=S(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(u0||={})});var I0={};Mn(I0,{validateEVMAddress:()=>wy,validateAuthorizations:()=>lT,validateAuthorization:()=>l0,toHexString:()=>Ay,toChecksumAddress:()=>M0,signAuthorization:()=>GT,parseEIP712FromEVMTx:()=>EH,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>Ky,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getProviderSync:()=>G0,getProvider:()=>UT,getNetworkParams:()=>wT,getIsEIP1559Compatible:()=>qT,getEvmToolboxAsync:()=>S0,getEvmToolbox:()=>DT,getEvmApi:()=>Hy,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>L0,createCustomEvmApi:()=>PH,createContract:()=>qy,buildEIP712DomainType:()=>X0,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,EthNetwork:()=>u0,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>N0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});module.exports=Jn(I0);var RT=S(()=>{Vy();_y();OT();P0()});async function FT(n,y){let T=await fetch(`${j0}${n}`,{...y,headers:{project_id:K0,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function c0(n){try{return await FT(`/addresses/${n}/utxos`)}catch{return[]}}async function oA(){return(await FT("/blocks/latest")).slot}async function yA(){let n=await FT("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Fn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Fn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Fn.default(n.min_fee_a),minFeeB:new Fn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Fn.default(15),priceMem:new Fn.default(n.price_mem),priceSteps:new Fn.default(n.price_step),stakeKeyDeposit:new Fn.default(2000000),utxoCostPerByte:new Fn.default(n.coins_per_utxo_size)}}async function E0(n){let y=await fetch(`${j0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:K0},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function fA(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new Fn.default(o.quantity):new Fn.default(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Fn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:T.output_index,tokens:t,txId:T.tx_hash}})}async function TA(n){try{let y=await c0(n),T=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:A,quantity:_}=H;if(A==="lovelace")T+=BigInt(_);else{let G=o.get(A)||0n;o.set(A,G+BigInt(_))}}}let f=[],{baseDecimal:t}=An.getChainConfig(An.Chain.Cardano);if(T>0n)f.push(An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(An.AssetValue.from({asset:`${An.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[An.AssetValue.from({chain:An.Chain.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[An.AssetValue.from({chain:An.Chain.Cardano})]}}function i0(n){if(!n||typeof n!=="string")return!1;try{let y=b0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function tA(n,y=0,T=0){let o=await v0.mnemonicToSeed(n,""),t=(await V0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(xT+1852).derive(xT+1815).derive(xT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=Nn.crypto.hash28(H),G=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(G),w={hash:A,type:Nn.types.HashType.ADDRESS},W={hash:M,type:Nn.types.HashType.ADDRESS},l=new Nn.address.BaseAddress(nA,w,W).getBech32(),Z=C.toPrivateKey();return{getAddress:()=>l,publicKey:H,publicKeyHash:A,signTransaction:async(z)=>{try{let L=await import("@stricahq/cbors"),N=Buffer.from(z,"hex"),J=L.Decoder.decode(N),[U,B,q,Y]=J.value,D=L.Encoder.encode(U),Q=Nn.crypto.hash32(D),O=Z.sign(Q),x=B instanceof Map?B:new Map,k=x.get($0)||[];k.push([H,O]),x.set($0,k);let u=[U,x,q,Y];return L.Encoder.encode(u).toString("hex")}catch(L){throw new An.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function CA(n){let y,T,o;async function f(){if(!o)o=await yA();return o}async function t(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let W=n.index??0;return y=await tA(n.phrase,0,W),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(T)return T;let W=await t();if(!W)return"";if("getAddress"in W)return T=await W.getAddress(),T;return""}async function H(W){let X=W||await C();if(!X)throw new An.SwapKitError("core_wallet_connection_not_found");return TA(X)}async function A(W){if(W)try{let{tx:z}=await _(W),L=z.getFee();return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let X=await f(),l=400,Z=X.minFeeB.plus(X.minFeeA.times(l));return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:Z.toString()})}async function _({sender:W="",recipient:X,assetValue:l,memo:Z,pureLovelaceOnly:z=!1}){let L=W||await C();if(!L)throw new An.SwapKitError("core_wallet_connection_not_found");let[N,J,U]=await Promise.all([c0(L),oA(),f()]),B=N.filter((Tn)=>z?Tn.amount.every((on)=>on.unit==="lovelace"):Tn.amount.some((on)=>on.unit==="lovelace")).sort((Tn,on)=>{let Zn=Tn.amount.some((On)=>On.unit!=="lovelace"),Bn=on.amount.some((On)=>On.unit!=="lovelace");if(Zn===Bn)return 0;return Zn?1:-1}),q=Nn.utils.getAddressFromString(L),Y=Nn.utils.getAddressFromString(X),D=fA(B,q),Q=new Fn.default(l.getBaseValue("string")),O=[{address:Y,amount:Q,tokens:[]}],x;if(Z){let Tn=new Map;Tn.set("msg",[Z]),x={metadata:[{data:Tn,label:674}]}}let k={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},K=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:x,changeAddress:q,inputs:D,outputs:O,ttl:J+3600}),{payload:s}=K.buildTransaction();return{tx:K,unsignedTx:s}}async function G(W){let X=await t();if(!X||!("signTransaction"in X))throw new An.SwapKitError("core_wallet_connection_not_found");return X.signTransaction(W)}async function M({recipient:W,assetValue:X,memo:l}){let Z=await t();if(!Z||!("signTransaction"in Z))throw new An.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:z}=await _({assetValue:X,memo:l,recipient:W,sender:await C()}),L=await G(z);return await E0(L)}async function w(W){let X=await G(W);return await E0(X)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:M,validateAddress:i0}}var b0,v0,V0,Nn,An,Fn,K0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",j0="https://cardano-mainnet.blockfrost.io/api/v0",nA,xT=2147483648,$0=0;var h0=S(()=>{b0=require("@scure/base"),v0=require("@scure/bip39"),V0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),An=require("@swapkit/helpers"),Fn=TT(require("bignumber.js")),nA=Nn.types.NetworkId.MAINNET});var pT={};Mn(pT,{validateCardanoAddress:()=>i0,getCardanoToolbox:()=>CA});module.exports=Jn(pT);var ST=S(()=>{h0()});function Wy(n){return hn.base64.encode(Uint8Array.from(hn.bech32.fromWords(hn.bech32.decode(n).words)))}function By(n,y="thor"){return hn.bech32.encode(y,hn.bech32.toWords(hn.base64.decode(n)))}function HA(n){return hn.base64.encode(n)}function AA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new m0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hn.base64.decode(n)}var hn,m0;var kT=S(()=>{hn=require("@scure/base"),m0=require("@swapkit/helpers")});function an(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return d0;case b.Chain.Noble:return a0;default:return g0}}async function sn(n){let y=await import("@cosmjs/stargate"),T=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return T.connect({headers:o,url:n})}async function No(n,y,T={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,t=o.GasPrice??o.default?.GasPrice,C=typeof T==="string"?T:"0.0003uatom",H=typeof T==="string"?{}:T;return f.connectWithSigner(n,y,{gasPrice:t.fromString(C),...H})}async function PT(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function IT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:A}=T,_=await b.getRPCUrl(H),M=await(await sn(_)).getAccount(n);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let w=b.AssetValue.from({chain:H}),W=to(w.symbol),X=an(H),l=W&&f?{amount:[{amount:f.toString(),denom:W}],gas:X.gas}:X,Z={amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:A,fee:l,memo:o,msgs:[{typeUrl:_A(H),value:Z}],sequence:t??M.sequence}}var b,uT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",r0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",g0,d0,a0,to=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return uT;case"uYUM":case"YUM":return r0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},My=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return to(n,!1)},_A=(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})}},UA,$T=(n,y)=>{let T=UA[n.toLowerCase()];if(!T)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:t,value:y})};var Ly=S(()=>{b=require("@swapkit/helpers"),g0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},d0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},a0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};UA={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},[uT.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var s0={};Mn(s0,{$root:()=>p});var Ln,v,un,I,p;var e0=S(()=>{Ln=TT(require("protobufjs/minimal.js")),v=Ln.default.Reader,un=Ln.default.Writer,I=Ln.default.util,p=Ln.default.roots.default||(Ln.default.roots.default={});p.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 p.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 p.common.Asset)return o;let f=new p.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.chain="",t.symbol="",t.ticker="",t.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))t.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))t.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))t.synth=o.synth;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))p.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 p.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=p.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=p.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 p.common.Coin)return o;let f=new p.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=p.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=p.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))t.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")t.decimals=f.longs===String?String(o.decimals):o.decimals;else t.decimals=f.longs===String?I.Long.prototype.toString.call(o.decimals):f.longs===Number?new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.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 p.common.PubKeySet)return o;let f=new p.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.secp256k1="",t.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))t.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))t.ed25519=o.ed25519;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(T){if(this.coins=[],this.gas=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=I.emptyArray,y.prototype.gas=I.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)p.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 p.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(p.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(p.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=p.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=p.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 p.common.Tx)return o;let f=new p.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]=p.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]=p.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]=p.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]=p.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.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 p.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.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=p.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 p.common.Fee)return o;let f=new p.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]=p.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]=p.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))t.poolDeduct=o.poolDeduct;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.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 p.common.ProtoUint)return o;let f=new p.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.value="";if(o.value!=null&&o.hasOwnProperty("value"))t.value=o.value;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();p.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)p.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 p.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.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=p.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 p.types.MsgDeposit)return o;let f=new p.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]=p.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]=p.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))t.signer=f.bytes===String?I.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(T){if(this.amount=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.fromAddress=I.newBuffer([]),y.prototype.toAddress=I.newBuffer([]),y.prototype.amount=I.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let t=0;t<o.amount.length;++t)p.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 p.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(p.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=p.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof p.types.MsgSend)return o;let f=new p.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]=p.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]=p.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();p.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let T={};return T.Coin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.Coin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.Coin)return t;let C=new p.cosmos.base.v1beta1.Coin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.DecCoin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecCoin)return t;let C=new p.cosmos.base.v1beta1.DecCoin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.IntProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.int="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.int!=null&&Object.hasOwnProperty.call(t,"int"))C.uint32(10).string(t.int);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.IntProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.int=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.int!=null&&t.hasOwnProperty("int")){if(!I.isString(t.int))return"int: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.IntProto)return t;let C=new p.cosmos.base.v1beta1.IntProto;if(t.int!=null)C.int=String(t.int);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(t.int!=null&&t.hasOwnProperty("int"))H.int=t.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.DecProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.dec="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.dec!=null&&Object.hasOwnProperty.call(t,"dec"))C.uint32(10).string(t.dec);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.dec=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.dec!=null&&t.hasOwnProperty("dec")){if(!I.isString(t.dec))return"dec: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecProto)return t;let C=new p.cosmos.base.v1beta1.DecProto;if(t.dec!=null)C.dec=String(t.dec);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(t.dec!=null&&t.hasOwnProperty("dec"))H.dec=t.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T})(),y})(),n})()});async function zo(){let{$root:n}=await Promise.resolve().then(() => (e0(),s0)),y=await import("@cosmjs/proto-signing"),T=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new T([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Co(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===nC.Chain.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:Wy(f)}),toAmino:({signer:f,...t})=>({...t,signer:By(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:Wy(f),toAddress:Wy(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:By(f),to_address:By(t)})}})}var nC;var ET=S(()=>{kT();nC=require("@swapkit/helpers")});function VT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return yC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return fC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function yC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let A=T.chain,_=await zn.getRPCUrl(A),G=await oC({rpcUrl:_,sender:n}),{chainId:M}=zn.getChainConfig(A),w=bT({assetValue:T,recipient:y,sender:n}),W=f?await Ho(t?w:Ao(w),A):w;return{accountNumber:H||G.accountNumber,chainId:M,fee:an(A),memo:o,msgs:[W],sequence:C||G.sequence}}async function fC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,A=await zn.getRPCUrl(H),_=await oC({rpcUrl:A,sender:n}),{chainId:G}=zn.getChainConfig(H),M=vT({assetValue:y,memo:T,sender:n}),w=o?await Ho(f?M:Ao(M),H):M;return{accountNumber:C||_.accountNumber,chainId:G,fee:an(H),memo:T,msgs:[w],sequence:t||_.sequence}}function Ao(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let T=zn.AssetValue.from({asset:y.asset}),o=(T.isSynthetic?T.symbol.split("/")?.[1]:T.symbol)?.toUpperCase(),f=(T.isSynthetic?T.symbol.split("/")?.[0]:T.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:T.isSynthetic,ticker:T.ticker}}})}}}async function Qy({chain:n,memo:y,msgs:T}){let o=await zo(),f=await Co(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var zn,wA,qA,bT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol,!0)}],from_address:n,to_address:y}}},vT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:My(y)}],memo:T,signer:n}}},Uf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?vT({assetValue:T,memo:o,sender:n}):bT({assetValue:T,recipient:y,sender:n})},Ho=async(n,y)=>{return(await Co(y)).fromAmino(n)},oC=async({rpcUrl:n,sender:y})=>{let o=await(await sn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var TC=S(()=>{Ly();ET();zn=require("@swapkit/helpers"),wA=an(zn.Chain.THORChain).gas,qA=an(zn.Chain.Maya).gas});var tC=()=>{};var CC=S(()=>{tC()});var KT=S(()=>{kT();TC();ET();CC()});async function iT(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function jT({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${P.DerivationPath[T.chain]}/${T.index}`;return await wC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[UC.stringToPath(o)],prefix:y})}async function GA({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function qC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(_o.base64.decode(T));return A.verifySignature(_,_o.base64.decode(o),t.pubkey.value)}}function Jy({chain:n,...y}){let T=P.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[n],{index:o})),t;async function C(){if(t)return t;return t=await Zy.match(y).with({phrase:Zy.P.string},({phrase:W})=>jT({derivationPath:f,phrase:W,prefix:T})).with({signer:Zy.P.any},({signer:W})=>W).otherwise(()=>{return}),t}async function H(W){let X=await P.getRPCUrl(n);return(await sn(X)).getAccount(W)}async function A(){let W=await C(),[X]=await W?.getAccounts()||[];return X?.address}async function _(){let W=await C(),[X]=await W?.getAccounts()||[];if(!X?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return _o.base64.encode(X?.pubkey)}async function G(W){let X=await C(),l=await A(),Z=await P.getRPCUrl(n);if(!(X&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await No(Z,X)).sign(l,W.msgs,W.fee,W.memo,{accountNumber:W.accountNumber,chainId:W.chainId,sequence:W.sequence})}async function M(W){let X=await C(),l=await A(),Z=await P.getRPCUrl(n);if(!(X&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await No(Z,X)).signAndBroadcast(l,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 w({recipient:W,assetValue:X,memo:l="",feeRate:Z,feeOptionKey:z=P.FeeOption.Fast}){let L=await C(),N=await A();if(!(L&&N))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await P.getRPCUrl(n),U=P.AssetValue.from({chain:n}),B=My(U),q=Z||WA((await AC(n,HC[n]))[z],B),Y=await No(J,L),D=to(X.symbol),Q=[{amount:X.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(N,W,Q,q,l);return O}return{createPrivateKeyFromPhrase:MA(f),createTransaction:IT,fetchFeeRateFromSwapKit:iT,getAccount:H,getAddress:A,getBalance:async(W,X)=>{let l=await _C(n)(W),Z=await Promise.all(l.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 N=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return $T(N,L)}));if(Z.length===0)return[P.AssetValue.from({chain:n})];return Z},getBalanceAsDenoms:_C(n),getFees:()=>AC(n,HC[n]),getPubKey:_,getSignerFromPhrase:({phrase:W,derivationPath:X})=>jT({derivationPath:P.derivationPathToString(X),index:o,phrase:W,prefix:T}),getSignerFromPrivateKey:async(W)=>{let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(W,T)},signAndBroadcastTransaction:M,signTransaction:G,transfer:w,validateAddress:GC(n),verifySignature:qC(H)}}async function lA(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function XA({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:BA(n)})}async function AC(n,y){let{chainId:T,baseDecimal:o}=P.getChainConfig(n),f=await iT(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 WA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function BA(n){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02,[P.Chain.Harbor]:0.02}[n]||0}function GC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=_o.bech32.decode(o);return _o.bech32.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function _C(n){return async function(T){let o=await P.getRPCUrl(n);return(await(await sn(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function MA(n){return async function(T){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,t=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,A=o.Bip39??o.default?.Bip39,_=new H(T),G=await A.mnemonicToSeed(_),{privkey:M}=C.derivePath(t.Secp256k1,G,f(n));return M}}var UC,wC,_o,P,cT,Zy,HC;var wf=S(()=>{Ly();UC=require("@cosmjs/crypto"),wC=require("@cosmjs/proto-signing"),_o=require("@scure/base"),P=require("@swapkit/helpers"),cT=require("@swapkit/helpers/api"),Zy=require("ts-pattern");HC={[P.Chain.Cosmos]:1000,[P.Chain.Kujira]:1000,[P.Chain.Noble]:1000,[P.Chain.THORChain]:5000000,[P.Chain.Maya]:5000000,[P.Chain.Harbor]:5000000}});function LA({prefix:n,derivationPath:y}){return async function(o,f=0){let t=await import("@cosmjs/amino"),C=t.Secp256k1HdWallet??t.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),A=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[A(`${y}/${f}`)],prefix:n})}}function QA(n){return Uo.base64.encode(n)}function ZA(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:A,memo:_}=typeof o==="string"?JSON.parse(o):o,G=(await T.getAccounts())?.[0]?.address||"",M=await Co(n),w=await zo(),W=await PT(T,{aminoTypes:M,registry:w}),X=[];for(let z of f){let L=await Ho(z,n);X.push(L)}let{signatures:[l]}=await W.sign(G,X,A,_,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Qy({chain:n,memo:_,msgs:f.map(Ao)}),signature:QA(l)}}}function JA({prefix:n,chain:y}){return async function(o,f,t,C,H){let A=await d.getRPCUrl(y),{encodeSecp256k1Pubkey:_,pubkeyToAddress:G}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:W}=JSON.parse(o),X=await lC(t,C),l=f.map((L)=>[G(_(Uo.base64.decode(L.pubKey)),n),Uo.base64.decode(L.signature)]),Z=await sn(A),{transactionHash:z}=await Z.broadcastTx(M(X,w,W,H,new Map(l)));return z}}async function lC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(Uo.base64.decode(t))),y,T)}function YA(n){return Uo.base64.decode(n)}async function NA({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(Uo.base64.decode(y),n);return Uo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function hT({chain:n,...y}){let{isStagenet:T}=d.SKConfig.get("envs"),o=d.SKConfig.get("thornodeUrls"),f=n===d.Chain.Maya,t=vo.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":""}${d.CosmosChainPrefixes[n]}`,H="index"in y?y.index||0:0,A="derivationPath"in y&&y.derivationPath?y.derivationPath:d.updateDerivationPath(d.NetworkDerivationPath[n],{index:H}),_=Jy({chain:n,...y}),G=an(n),M;function w(){return M??=vo.match(y).with({phrase:vo.P.string},({phrase:L})=>_.getSignerFromPhrase({derivationPath:A,phrase:L})).with({signer:vo.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function W(){let L=await d.getRPCUrl(n),N=await w();if(!N)throw new d.SwapKitError("toolbox_cosmos_no_signer");let J=await zo(),U=await Co(n),B=await No(L,N,{aminoTypes:U,registry:J});return{signer:N,signingClient:B}}async function X({fee:L,memo:N,msgs:J}){let{signer:U,signingClient:B}=await W(),q=(await U.getAccounts())?.[0]?.address;if(!q)throw new d.SwapKitError("toolbox_cosmos_signer_not_defined");let Y=await B.signAndBroadcast(q,J,L,N);if(Y.code!==0)throw new d.SwapKitError("core_swap_transaction_error",{code:Y.code,message:Y.rawLog});return Y.transactionHash}async function l(){let L,N=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:J}}=await d.RequestClient.get(N);if(!J||Number.isNaN(J)||J<0)throw new d.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:J.toString()});L=new d.SwapKitNumber(J)}catch{L=new d.SwapKitNumber({decimal:d.getChainConfig(n).baseDecimal,value:f?1:0.02})}return{[d.FeeOption.Average]:L,[d.FeeOption.Fast]:L,[d.FeeOption.Fastest]:L}}async function Z({assetValue:L,memo:N="",recipient:J}){let{TxRaw:U}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:B,signingClient:q}=await W(),Y=(await B.getAccounts())?.[0]?.address;if(!Y)throw new d.SwapKitError("toolbox_cosmos_no_signer");let D="signAmino"in B,Q=Uf({assetValue:L,memo:N,recipient:J,sender:Y});if(D){let k=await Ho(Q,n),{signatures:u,authInfoBytes:K}=await q.sign(Y,[k],G,N),s=U.encode({authInfoBytes:K,bodyBytes:await Qy({chain:n,memo:N,msgs:[Q].map(Ao)}),signatures:u}).finish();return(await q.broadcastTx(s)).transactionHash}let O=Ao(Q),x=await Ho(O,n);return X({fee:G,memo:N,msgs:[x]})}async function z(L){let{signer:N,signingClient:J}=await W(),U=(await N.getAccounts())?.[0]?.address;if(!U)throw new d.SwapKitError("toolbox_cosmos_signer_not_defined");return J.sign(U,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{..._,broadcastMultisigTx:JA({chain:n,prefix:C}),buildAminoMsg:Uf,buildEncodedTxBody:Qy,convertToSignable:Ho,createDefaultAminoTypes:()=>Co(n),createDefaultRegistry:zo,createMultisig:lC,createTransaction:VT,deposit:Z,getFees:l,importSignature:YA,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(L,C)},secp256k1HdWalletFromMnemonic:LA({derivationPath:d.derivationPathToString(A),prefix:C}),signAndBroadcastTransaction:X,signMultisigTx:ZA(n),signTransaction:z,signWithPrivateKey:NA,transfer:Z}}var Uo,d,vo;var mT=S(()=>{KT();Ly();wf();Uo=require("@scure/base"),d=require("@swapkit/helpers"),vo=require("ts-pattern")});var wo,zA=(n,y)=>{switch(n){case wo.Chain.Cosmos:case wo.Chain.Kujira:case wo.Chain.Noble:return Jy({chain:n,...y});case wo.Chain.Maya:case wo.Chain.THORChain:return hT({chain:n,...y});default:throw new wo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var XC=S(()=>{wf();mT();wo=require("@swapkit/helpers");wf();mT()});var qf={};Mn(qf,{verifySignature:()=>qC,transferMsgAmino:()=>bT,toBase64:()=>HA,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>GA,getSignerFromPhrase:()=>jT,getMsgSendDenom:()=>to,getFeeRateFromSwapKit:()=>lA,getDenomWithChain:()=>My,getDefaultChainFee:()=>an,getCosmosToolbox:()=>zA,getCosmosAddressValidator:()=>GC,getAssetFromDenom:()=>$T,fromBase64:()=>AA,fetchFeeRateFromSwapKit:()=>iT,estimateTransactionFee:()=>XA,depositMsgAmino:()=>vT,createTransaction:()=>VT,createThorchainToolbox:()=>hT,createStargateClient:()=>sn,createSigningStargateClient:()=>No,createOfflineStargateClient:()=>PT,createDefaultRegistry:()=>zo,createDefaultAminoTypes:()=>Co,createCosmosToolbox:()=>Jy,cosmosCreateTransaction:()=>IT,convertToSignable:()=>Ho,buildTransferTx:()=>yC,buildEncodedTxBody:()=>Qy,buildDepositTx:()=>fC,buildAminoMsg:()=>Uf,bech32ToBase64:()=>Wy,base64ToBech32:()=>By,YUM_KUJIRA_FACTORY_DENOM:()=>r0,USK_KUJIRA_FACTORY_DENOM:()=>uT,THORCHAIN_GAS_VALUE:()=>wA,MAYA_GAS_VALUE:()=>qA,DEFAULT_NOBLE_FEE_MAINNET:()=>a0,DEFAULT_KUJI_FEE_MAINNET:()=>d0,DEFAULT_COSMOS_FEE_MAINNET:()=>g0});module.exports=Jn(qf);var Gf=S(()=>{KT();XC();Ly()});function DA({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function OA({cancels:n}){return{cancels:n,type:"cancel"}}function RA({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function xA({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function FA({modifies:n}){return{modifies:n,type:"batchModify"}}function pA({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function SA({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function kA({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function uA({time:n}){return{time:n,type:"scheduleCancel"}}function PA({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function IA({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A,type:"sendAsset"}}function $A({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function EA({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function bA({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 pn(...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 iA(n,y,T){if(T<y)return new Uint8Array([n+T]);if(T<=255)return new Uint8Array([n+y,T]);if(T<=65535)return new Uint8Array([n+y+1,T>>8,T&255]);return new Uint8Array([n+y+2,T>>>24&255,T>>>16&255,T>>>8&255,T&255])}function qo(n,y){let T=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)T[f]=Number(o&0xffn),o>>=8n;return T}function WC(n){if(n>=0n){if(n<=0x7fn)return new Uint8Array([Number(n)]);if(n<=0xffn)return new Uint8Array([204,Number(n)]);if(n<=0xffffn)return pn(new Uint8Array([205]),qo(n,2));if(n<=0xffffffffn)return pn(new Uint8Array([206]),qo(n,4));return pn(new Uint8Array([207]),qo(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return pn(new Uint8Array([209]),qo(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return pn(new Uint8Array([210]),qo(BigInt.asUintN(32,n),4));return pn(new Uint8Array([211]),qo(BigInt.asUintN(64,n),8))}function LC(n){let y=cA.encode(n);if(y.length<32)return pn(new Uint8Array([160+y.length]),y);return pn(iA(217,0,y.length),y)}function hA(n){let y=n.map((o)=>rT(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 pn(T,...y)}function mA(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 pn(T,...y.flatMap(([o,f])=>[LC(o),rT(f)]))}function rT(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return LC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new lf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return WC(BigInt(n))}if(typeof n==="bigint")return WC(n);if(n instanceof Uint8Array){let y=n.length<=255?new Uint8Array([196,n.length]):n.length<=65535?new Uint8Array([197,n.length>>8,n.length&255]):new Uint8Array([198,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return pn(y,n)}if(Array.isArray(n))return hA(n);if(typeof n==="object")return mA(n);throw new lf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function rA(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new lf.SwapKitError("helpers_invalid_params",{hexValue:n});let T=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)T[o/2]=Number.parseInt(y.slice(o,o+2),16);return T}function QC(n){return{domain:vA,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...VA.Agent]}}}function ZC(n){let y=jA[n.type],T=KA[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:BC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||MC},primaryType:y,types:{[y]:T}}}function JC(n){let y=Xf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function YC(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=rT(n),t=qo(BigInt(y),8),C=o?pn(new Uint8Array([1]),rA(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?pn(new Uint8Array([0]),qo(BigInt(T),8)):new Uint8Array;return Xf.keccak256(pn(f,t,C,H))}function NC(n){let y=n.hyperliquidChain||MC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var lf,Xf,BC="0x0000000000000000000000000000000000000000",vA,VA,MC="Mainnet",KA,jA,cA;var zC=S(()=>{lf=require("@swapkit/helpers"),Xf=require("ethers"),vA={chainId:1337,name:"Exchange",verifyingContract:BC,version:"1"},VA={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},KA={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"}]},jA={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},cA=new TextEncoder});function $n(n,y){if(!aT(n))throw new e.SwapKitError(y,{address:n});return n.toLowerCase()}async function Do(n){let y=await Wf();return e.RequestClient.post(`${y}/info`,{json:n})}function o_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function y_({user:n}){return Do({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function f_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function T_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function t_({oidOrCloid:n,user:y}){return Do({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function C_({aggregateByTime:n,user:y}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function H_({aggregateByTime:n,endTime:y,startTime:T,user:o}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function DC({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=gA[f]||xC,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${mn}.${f}-${C.name}:${C.tokenId}`:`${mn}.${f}`;return new e.AssetValue({decimal:t,identifier:H,value:T})}function A_(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=e.AssetValue.from({chain:mn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Wf(){try{return await e.getRPCUrl(mn)}catch{let[n]=e.getChainConfig(mn).rpcUrls;if(!n)throw new e.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:mn});return n}}async function dT(){return`${await Wf()}/exchange`}function __(n){let y=n_[n.type],{type:T,...o}=n,f=eA[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:sA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function FC({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?$n(o,"helpers_invalid_params"):void 0,C=await dT(),H=YC(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:QC(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=NC({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await dT(),nonce:o,typedData:ZC(t)}}async function gT({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 dT(),A=n.getValue("string"),_=f||Date.now(),G=n.address;if(!G)throw new e.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:A,destination:t,hyperliquidChain:dA,signatureChainId:o||aA,time:_,token:G,type:"spotSend"};return{action:M,endpoint:H,nonce:_,typedData:__(M)}}async function OC(n){let y=await e.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new e.SwapKitError("core_transaction_failed",{response:y});return y}async function U_(n,y){let T=await Wf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await e.RequestClient.post(`${T}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(t)?t.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function aT(n){return n.startsWith("0x")&&wy(n)}function w_(n){let y=xn(mn),T=n&&"index"in n?n.index||0:0,o=e.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[mn],{index:T})),f,t=!1;function C(){if(t)return f;return f=Vo.match(n).with({phrase:Vo.P.string},({phrase:w})=>{return RC.HDNodeWallet.fromPhrase(w,void 0,o)}).with({signer:Vo.P.not(Vo.P.nullish)},({signer:w})=>w).otherwise(()=>{return}),t=!0,f}async function H(){let w=C();return w?await w.getAddress():""}async function A(w){let W=C();if(!W)throw new e.SwapKitError("toolbox_hypercore_no_signer");let X=await W.signTypedData(w.typedData.domain,w.typedData.types,w.typedData.message);return{action:w.action,endpoint:w.endpoint,nonce:w.nonce,signature:JC(X),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function _(w){let W=$n(w,"helpers_invalid_params");try{let X=await Wf(),[l,Z,z]=await Promise.all([e.RequestClient.post(`${X}/info`,{json:{type:"spotClearinghouseState",user:W}}),e.RequestClient.post(`${X}/info`,{json:{type:"clearinghouseState",user:W}}),e.RequestClient.post(`${X}/info`,{json:{type:"spotMeta"}})]),L=(l.spotState?.balances||l.balances||[]).map(({coin:J,token:U,total:B})=>DC({coin:J,spotMeta:z,token:U,value:B})).filter((J)=>!!J),N=DC({coin:"USDC",spotMeta:z,value:Z.withdrawable||Z.marginSummary?.accountValue||Z.marginSummary?.totalRawUsd});return A_(N?[...L,N]:L)}catch{return y(W)}}async function G(w){let W=C();if(!W)throw new e.SwapKitError("toolbox_hypercore_no_signer");let X=w.sender||await W.getAddress(),l=await gT({...w,feeRate:0,sender:X}),Z=await A(l);return await OC(Z),U_(X,l.nonce)}function M(){return e.AssetValue.from({chain:mn,value:0})}return{broadcastTransaction:OC,createL1ActionRequest:FC,createTransaction:gT,createUserSignedActionRequest:pC,estimateTransactionFee:M,getAddress:H,getBalance:_,getState:{clearinghouse:o_,frontendOpenOrders:T_,openOrders:f_,orderStatus:t_,spotClearinghouse:y_,userFills:C_,userFillsByTime:H_},signTransaction:A,transfer:G,validateAddress:aT}}var e,RC,Vo,mn,xC,gA,dA="Mainnet",aA="0xa4b1",sA="0x0000000000000000000000000000000000000000",eA,n_;var SC=S(()=>{RT();dn();zC();e=require("@swapkit/helpers"),RC=require("ethers"),Vo=require("ts-pattern"),mn=e.Chain.HyperCore,{baseDecimal:xC}=e.getChainConfig(mn),gA={HYPE:xC,USDC:6,USDT:6},eA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},n_={spotSend:"HyperliquidTransaction:SpotSend"}});var sT={};Mn(sT,{validateHyperCoreAddress:()=>aT,getHyperCoreToolbox:()=>w_,createUserSignedActionRequest:()=>pC,createTransaction:()=>gT,createL1ActionRequest:()=>FC,buildUsdClassTransferAction:()=>PA,buildUpdateLeverageAction:()=>pA,buildUpdateIsolatedMarginAction:()=>SA,buildTopUpIsolatedOnlyMarginAction:()=>kA,buildTokenDelegateAction:()=>bA,buildSendAssetAction:()=>IA,buildScheduleCancelAction:()=>uA,buildOrderAction:()=>DA,buildModifyAction:()=>xA,buildCancelByCloidAction:()=>RA,buildCancelAction:()=>OA,buildBatchModifyAction:()=>FA,buildApproveBuilderFeeAction:()=>EA,buildApproveAgentAction:()=>$A});module.exports=Jn(sT);var eT=S(()=>{SC()});async function PC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let T=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(T);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function q_(n){let y=await en(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:t,value:C||0})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let G=_.data.parsed.info,M=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let W=await PC(M),X=W?.symbol||"UNKNOWN",l=W?.decimals||G.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${X}-${M}`,fromBaseDecimal:l,value:w}))}return H}function ot(n){try{let y=new no.PublicKey(n);return no.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function G_(n){let y=n&&"index"in n?n.index||0:0,T=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Yy.match(n).with({phrase:Yy.P.string},({phrase:C})=>nt({derivationPath:T,phrase:C})).with({signer:Yy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?uC(C.publicKey):""}return{broadcastTransaction:Bf(en),createKeysForPath:nt,createTransaction:yt(en),createTransactionFromInstructions:B_,estimateTransactionFee:l_(en),getAddress:t,getAddressFromPubKey:uC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:q_,getConnection:en,getPubkeyFromAddress:(C)=>new no.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await kC(en,f)(C);return Bf(en)(H)},signTransaction:kC(en,f),transfer:M_(en,f),validateAddress:ot}}function l_(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),A=(await yt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:G,value:_.value})}}async function en(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function X_(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new no.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no.PublicKey(T)}))}if(y.address)return W_({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function W_({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:A,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:G}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),w=new M,W=new no.PublicKey(n),X=await H(W,T),l=new no.PublicKey(y),Z=await H(W,l,C),z=!1;try{await A(o,Z),z=!0}catch{}if(!z)w.add(_(T,Z,l,W));return w.add(G(X,W,Z,T,f,t)),w}function yt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no.PublicKey(t);if(!(f||ot(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let A=await n(),_=await X_(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!_)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)_.add(C(o));let G=await A.getLatestBlockhash();return _.recentBlockhash=G.blockhash,_.feePayer=H,_}}async function B_({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new r.SwapKitError("core_transaction_invalid_sender_address");return T}function M_(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),A=await yt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Bf(n)(_)}return A.sign(C),Bf(n)(A)}}function Bf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function kC(n,y){return async(T)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(T instanceof f)){let C=await(await n()).getLatestBlockhash();T.recentBlockhash=C.blockhash,T.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(T);return T.sign([o]),T}}async function nt({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:T}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),t=o(n),C=T.fromMasterSeed(t);return f.fromSeed(C.derive(y,!0).privateKey)}function uC(n){return n.toString()}var no,r,Yy;var IC=S(()=>{dn();no=require("@solana/web3.js"),r=require("@swapkit/helpers"),Yy=require("ts-pattern")});var ft={};Mn(ft,{validateSolanaAddress:()=>ot,getSolanaToolbox:()=>G_,fetchTokenMetaData:()=>PC,createKeysForPath:()=>nt});module.exports=Jn(ft);var Tt=S(()=>{IC()});function Mf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Lf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),A=o(n),G=T.fromMasterSeed(A).derive(y);if(!G.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(M),W=C.addHexPrefix(w),X=f.starkCurve.getStarkKey(W),l=H.compile([X,0]);return{address:t.calculateContractAddressFromHash(X,Ct,l,0),privateKey:W,publicKey:X}}async function Ht({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Lf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new T({address:t,provider:H,signer:f})}function EC(n){let y=c.Chain.Starknet,T=n&&"index"in n?n.index||0:0,o=c.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:c.updateDerivationPath(c.NetworkDerivationPath[y],{index:T})),f,t,C;async function H(){if(t)return t;let{RpcProvider:U}=await import("starknet"),B=await c.getRPCUrl(y);return t=new U({nodeUrl:B}),t}async function A(U){let B=await H(),q=U||await w();if(!q)return!1;try{return await B.getClassHashAt(q),!0}catch(Y){if(Y instanceof Error&&Y.message.includes("Contract not found"))return!1;let D=Y;if(D?.code===20||D?.code===19)return!1;throw Y}}async function _(){let{CallData:U,hash:B}=await import("starknet"),q=await H(),Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await A())return Y.address;let Q=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,Ct,Q,0).toLowerCase()!==Y.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let x={addressSalt:C,classHash:Ct,constructorCalldata:Q},{transaction_hash:k}=await Y.deployAccount(x);return await q.waitForTransaction(k),k}async function G(){if(!await A()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await _()}}async function M(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:U})=>{let{Account:B,RpcProvider:q}=await import("starknet"),{privateKey:Y,address:D,publicKey:Q}=await Lf({derivationPath:o,phrase:U});C=Q;let O=await c.getRPCUrl(c.Chain.Starknet),x=new q({nodeUrl:O});return new B({address:D,provider:x,signer:Y})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:U,address:B})=>{let{Account:q}=await import("starknet"),Y=await H();return new q({address:B,provider:Y,signer:U})}).with({signer:En.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function w(){return(await M())?.address??""}async function W(U){let B=await H(),{uint256:q,CallData:Y}=await import("starknet"),D=[],Q=[tt,$C];for(let O of Q)try{let[x="0",k="0"]=await B.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),u=q.uint256ToBN({high:x,low:k});En.match(O).with(tt,()=>{D.push(c.AssetValue.from({chain:y,value:u}))}).with($C,()=>{if(u>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:u}))}).otherwise(()=>{})}catch{}return D}async function X({recipient:U,assetValue:B}){let{CallData:q,uint256:Y}=await import("starknet");if(!Mf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let D=B.isGasAsset?tt:B.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:B});let Q=Y.bnToUint256(B.getBaseValue("bigint"));return[{calldata:q.compile([U,Q]),contractAddress:D,entrypoint:"transfer"}]}async function l({recipient:U,assetValue:B,sender:q}){let{baseDecimal:Y}=c.getChainConfig(c.Chain.Starknet),D=await M(),Q=await En.match({sender:q,signer:D}).with({sender:En.P.string},async({sender:O})=>{let{Account:x}=await import("starknet"),k=await H();return new x({address:O,provider:k,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await X({assetValue:B,recipient:U}),x=await Q.estimateInvokeFee(O);if(x?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Y,value:x.overall_fee})}catch(O){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Z({recipient:U,assetValue:B,memo:q}){let Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");await G();let D=await X({assetValue:B,memo:q,recipient:U});return(await Y.execute(D)).transaction_hash}async function z(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");let q=await B.signMessage(U);return Array.isArray(q)?q:[q.r.toString(),q.s.toString()]}async function L(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");return await G(),(await B.execute(U)).transaction_hash}function N(U){return L(U)}function J(U,B=!0){try{return xn(y)(U,B)}catch{return W(U)}}return{broadcastTransaction:L,createKeysForPath:Ht,createTransaction:X,deployAccount:_,estimateTransactionFee:l,getAddress:w,getBalance:J,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:N,signMessage:z,transfer:Z,validateAddress:Mf}}var c,En,tt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",$C="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ct="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var bC=S(()=>{dn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Qf={};Mn(Qf,{validateStarknetAddress:()=>Mf,starknetCreateKeysForPath:()=>Ht,getStarknetToolbox:()=>EC,deriveStarknetKeys:()=>Lf});module.exports=Jn(Qf);var Zf=S(()=>{bC()});async function KC(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?KC(n,y,T,C,t.nextCursor):C}function L_(n,y,T){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<T)throw new yn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=T)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function jC(n){try{return VC.isValidSuiAddress(n)}catch{return!1}}function vC(n){return"signWithIntent"in n}function Q_({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await Ny.match(y).with({phrase:Ny.P.string},async({phrase:X})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(X)}).with({signer:Ny.P.any},({signer:X})=>X).otherwise(()=>{return}),T}async function f(X=n){let{SuiClient:l,getFullnodeUrl:Z}=await import("@mysten/sui/client");return new l({url:X||Z("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(X){try{let l=yn.AssetValue.from({address:X,chain:yn.Chain.Sui});return{asset:l.toString(),decimals:l.decimal}}catch{}return null}async function H(X){let l=X||await t();if(!l)throw new yn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Z,chain:z}=yn.getChainConfig(yn.Chain.Sui);try{let L=await f(),{totalBalance:N}=await L.getBalance({owner:l}),J=[yn.AssetValue.from({chain:z,fromBaseDecimal:Z,value:N})],U=await L.getAllBalances({owner:l});for(let{coinType:B,totalBalance:q}of U){if(B==="0x2::sui::SUI"||Number(q)<=0)continue;let Y=C(B);if(Y)J.push(yn.AssetValue.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:q}))}return J}catch{return[yn.AssetValue.from({chain:z})]}}async function A(X){let l=yn.AssetValue.from({chain:yn.Chain.Sui,value:"0.01"});if(!X)return l;try{let Z=await f(),{txBytes:z}=await _(X),{effects:{status:L,gasUsed:N}}=await Z.dryRunTransactionBlock({transactionBlock:z});if(L.status!=="success")return l;let J=Number(N.computationCost)+Number(N.storageCost)-Number(N.storageRebate);return yn.AssetValue.from({chain:yn.Chain.Sui,value:J.toString()})}catch{return l}}async function _({recipient:X,assetValue:l,gasBudget:Z,sender:z}){let{Transaction:L}=await import("@mysten/sui/transactions"),N=z||await t();if(!N)throw new yn.SwapKitError("toolbox_sui_no_sender");try{let J=new L;if(J.setSender(N),l.isGasAsset||l.symbol==="SUI"){let[q]=J.splitCoins(J.gas,[l.getBaseValue("string")]);J.transferObjects([q],X)}else{let q=l.address;if(!q)throw new yn.SwapKitError("toolbox_sui_missing_coin_type");let Y=await f(),D=l.getBaseValue("bigint"),Q=await KC(Y,N,q);if(!Q.length)throw new yn.SwapKitError("toolbox_sui_no_coins_found",{coinType:q});let O=L_(J,Q,D);J.transferObjects([O],X)}if(Z)J.setGasBudget(Z);let U=await f(),B=await J.build({client:U});return{tx:J,txBytes:B}}catch(J){if(J instanceof yn.SwapKitError)throw J;throw new yn.SwapKitError("toolbox_sui_transaction_creation_error",{error:J})}}async function G(X){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");if(X instanceof Uint8Array)return l.signTransaction(X);let{txBytes:Z}="tx"in X?X:await _(X);return l.signTransaction(Z)}async function M({assetValue:X,gasBudget:l,recipient:Z}){let z=await o();if(!z)throw new yn.SwapKitError("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new yn.SwapKitError("toolbox_sui_no_sender");let{txBytes:N}=await _({assetValue:X,gasBudget:l,recipient:Z,sender:L}),J=await f();if(!vC(z)){let B=await z.signTransaction(N),{digest:q}=await J.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return q}let{digest:U}=await J.signAndExecuteTransaction({signer:z,transaction:N});return U}async function w(X){let l=await f(),{digest:Z}=await l.executeTransactionBlock({signature:X.signature,transactionBlock:X.bytes});return Z}async function W(X){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");let Z=await f(),z;if(typeof X==="string")z=Uint8Array.from(Buffer.from(X,"base64"));else if(X instanceof Uint8Array)z=X;else z=await X.build({client:Z});if(!vC(l)){let N=await l.signTransaction(z),{digest:J}=await Z.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return J}let{digest:L}=await Z.signAndExecuteTransaction({signer:l,transaction:z});return L}return{broadcastTransaction:w,createTransaction:_,estimateTransactionFee:A,getAddress:t,getBalance:H,signAndBroadcastTransaction:W,signTransaction:G,transfer:M,validateAddress:jC}}var VC,yn,Ny;var cC=S(()=>{VC=require("@mysten/sui/utils"),yn=require("@swapkit/helpers"),Ny=require("ts-pattern")});var Jf={};Mn(Jf,{validateSuiAddress:()=>jC,getSuiToolbox:()=>Q_});module.exports=Jn(Jf);var Yf=S(()=>{cC()});async function z_(){let n=Date.now();if(Nf&&n-hC<N_)return Nf;try{return Nf=await mC.getHttpEndpoint(),hC=n,Nf}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function D_(n={}){let y,T,o;async function f(){if(!y){let J=n.provider??await z_();y=new h.TonClient({endpoint:J})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Oo.match(n).with({phrase:Oo.P.string},async({phrase:J})=>rC.mnemonicToWalletKey(J.split(" "))).with({signer:Oo.P.any},({signer:J})=>J).otherwise(()=>{return}),o}async function H(J){if(!T||J){let U=await C(),B=await f(),q=J||U;if(!q)throw new qn.SwapKitError("core_wallet_connection_not_found");let Y=h.WalletContractV4.create({publicKey:q.publicKey,workchain:0});T=B.open(Y)}return T}let A=xn(qn.Chain.Ton);async function _({assetValue:J,recipient:U,memo:B,sender:q}){if(J.isGasAsset){let s=B?N(B).toBoc().toString("base64"):void 0;return[{address:U,amount:J.getBaseValue("string"),payload:s}]}let Y=J.address;if(!Y)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let D=q??await t(),Q=await z({jettonMasterAddress:Y,ownerAddress:D}),O=h.Address.parse(U),x=h.Address.parse(D),k=J.getBaseValue("bigint"),u=B?N(B):void 0,K=L({destinationAddress:O,forwardPayload:u,jettonAmount:k,responseAddress:x});return[{address:Q.toString(),amount:Y_.toString(),payload:K.toBoc().toString("base64")}]}function G({sender:J,...U}){return _({...U,sender:J})}function M(J){return J.map((U)=>{let B=U.payload?h.Cell.fromBase64(U.payload):void 0,q=U.stateInit?h.loadStateInit(h.Cell.fromBase64(U.stateInit).asSlice()):void 0,Y=h.Address.parse(U.address),D=h.Address.isFriendly(U.address)?h.Address.parseFriendly(U.address).isBounceable:!0;return h.internal({body:B,bounce:D,init:q,to:Y,value:BigInt(U.amount)})})}async function w(J){let U=await C(),B=await H();if(!B||!U)throw new qn.SwapKitError("core_wallet_connection_not_found");let q=await f(),{state:Y}=await q.getContractState(B.address),D=Y==="active",Q=D?await B.getSeqno():0,O=B.createTransfer({messages:M(J),secretKey:U.secretKey,sendMode:iC,seqno:Q}),x=h.external({body:O,init:D?void 0:B.init,to:B.address});return h.beginCell().store(h.storeMessage(x)).endCell()}async function W(J){return await(await f()).sendFile(J.toBoc()),J.hash().toString("hex")}async function X(J){let U=await w(J);return W(U)}async function l({assetValue:J,recipient:U,memo:B}){let q=await G({assetValue:J,memo:B,recipient:U});return X(q)}async function Z({sender:J,...U}){let{baseDecimal:B}=qn.getChainConfig(qn.Chain.Ton),q=await Oo.match(J).with(Oo.P.string,(Q)=>{return h.Address.parseFriendly(Q).address}).otherwise(async()=>{return(await H()).address});if(!q)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let Y=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),D=await f();try{let Q=await G({sender:J,...U}),O=await C(),x=await H();if(!x||!O)return Y;let k=await x.getSeqno(),u=x.createTransfer({messages:M(Q),secretKey:O.secretKey,sendMode:iC,seqno:k}),{source_fees:K}=await D.estimateExternalMessageFee(q,{body:u,ignoreSignature:!0,initCode:null,initData:null}),s=K.in_fwd_fee+K.storage_fee+K.gas_fee+K.fwd_fee;return Y.set(qn.SwapKitNumber.fromBigInt(BigInt(s),B))}catch{return Y}}async function z({jettonMasterAddress:J,ownerAddress:U}){try{let B=await f(),q=h.Address.parse(J),Y=h.Address.parse(U);return await B.open(h.JettonMaster.create(q)).getWalletAddress(Y)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:U}})}}function L({jettonAmount:J,destinationAddress:U,responseAddress:B,forwardAmount:q=J_,forwardPayload:Y}){let D=h.beginCell().storeUint(Z_,32).storeUint(0,64).storeCoins(J).storeAddress(U).storeAddress(B).storeBit(0).storeCoins(q);if(Y)D.storeBit(1).storeRef(Y);else D.storeBit(0);return D.endCell()}function N(J){return h.beginCell().storeUint(0,32).storeStringTail(J).endCell()}return{broadcastTransaction:W,createTransaction:G,estimateTransactionFee:Z,getAddress:t,getBalance:A,getJettonWalletAddress:z,sign:w,signAndBroadcastTransaction:X,transfer:l,validateAddress:gC}}function gC(n){try{return h.Address.parse(n),!0}catch{return!1}}var mC,qn,rC,h,Oo,Z_=260734629,J_,Y_,iC,N_=60000,Nf,hC=0;var dC=S(()=>{dn();mC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),rC=require("@ton/crypto"),h=require("@ton/ton"),Oo=require("ts-pattern"),J_=h.toNano("0.01"),Y_=h.toNano("0.05"),iC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var zf={};Mn(zf,{validateTonAddress:()=>gC,getTONToolbox:()=>D_});module.exports=Jn(zf);var Df=S(()=>{dC()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function Go({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)bn("accountIndex",n);let o=[...T?.slice(0,3)??aC.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function Ko({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return bn("index",f),[...Go({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function Ro(n){return n[2]??0}function sC({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:A,count:_,startIndex:G=0,change:M=!1}=H;if(bn("count",_),_<1)throw RangeError("count must be at least 1");bn("startIndex",G);let w=[];for(let W=0;W<_;W++){let X=await n({accountIndex:A,change:M,index:G+W});if(X)w.push(X)}return w}async function f(H){let{gapLimit:A=20,change:_=!1}=H??{},G=[],M=0,w=0;while(M<A){let W=await n({change:_,index:w});if(!W)break;if((await y(W.address)).some((Z)=>Z.getValue("number")>0))G.push(W),M=0;else M++;w++}return G}async function t(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._],M=await Promise.all(G.map(async(W)=>{let l=(await y(W.address)).reduce((Z,z)=>Z+z.getValue("number"),0);return{...W,balance:l}})),w=M.reduce((W,X)=>W+X.balance,0);return{addresses:M,total:w}}async function C(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._];return(await Promise.all(G.map(async(w)=>{return(await T(w.address)).map((X)=>({...X,address:w.address,derivationIndex:w.index,isChange:w.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var aC;var zy=S(()=>{aC=require("@swapkit/helpers")});async function O_({chain:n,txHash:y}){let T=`${Dy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await j.RequestClient.post(T,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let t=await j.getRPCUrl(n);if(t){let C=JSON.stringify({id:w0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await j.RequestClient.post(t,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Dy(n){return`https://api.blockchair.com/${R_(n)}`}function eC(n){switch(n){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function R_(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 x_(n){try{let{feePerKb:y}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),T=y/1000;return Math.max(T,eC(n))}catch{return eC(n)}}async function Of(n,y){let T=await j.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!T||T.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return T.data}async function o1({address:n,chain:y,apiKey:T}){if(!n)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Of(`${Dy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function F_({address:n,chain:y,apiKey:T}){return(await o1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function y1({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Of(`${Dy(n)}/raw/transaction/${T}`,y))?.[T]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function S_({chain:n,apiKey:y,txHash:T}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Of(`${Dy(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new j.SwapKitError("toolbox_utxo_tx_not_found",{txHash:T});let{transaction:t,inputs:C,outputs:H}=f,A=C.map((G)=>G.spending_sequence),_=t.is_rbf===!0||A.some((G)=>G<p_);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:_,outputs:H,sequences:A,size:t.size,txid:t.hash,weight:t.weight}}async function k_({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await Of(`${Dy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:A,script_hex:_,block_id:G,transaction_hash:M,index:w,value:W,spending_signature_hex:X})=>({hash:M,index:w,is_confirmed:G!==-1,is_spent:A,script_hex:_,txHex:X,value:W}))}function u_(n){return n.reduce((y,T)=>y+T.value,0)}function n1(n,y){let T=[...n].sort((o,f)=>f.value-o.value);if(y){let o=[],f=0;for(let t of T)if(o.push(t),f+=t.value,f>=y)break;return o}return T}async function f1({chain:n,address:y,apiKey:T,targetValue:o,accumulativeValue:f=0,offset:t=0,limit:C=30}){if(!y)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await k_({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),_=H.length<C,G=H.filter(({is_spent:Z})=>!Z),M=u_(G),w=f+M,W=o&&w>=o;if(_||W)return n1(G,o);let X=await f1({accumulativeValue:w,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),l=[...G,...X];return n1(l,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function P_({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await f1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:A,script_hex:_,value:G}of t){let M;if(o)M=await y1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:A,txHex:M,value:G,witnessUtxo:{script:Buffer.from(_,"hex"),value:G}})}return C}function Qn(n){let y=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(T)=>O_({chain:n,txHash:T}),getAddressData:(T)=>o1({address:T,apiKey:y,chain:n}),getBalance:(T)=>F_({address:T,apiKey:y,chain:n}),getRawTx:(T)=>y1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>x_(n),getTransactionDetails:(T)=>S_({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>P_({...T,apiKey:y,chain:n})}}function I_(n){return n}function $_(){return function(y){switch(y){case j.Chain.Bitcoin:return xo.NETWORKS.bitcoin;case j.Chain.BitcoinCash:return xo.NETWORKS.bitcoinCash;case j.Chain.Dash:return xo.NETWORKS.dash;case j.Chain.Litecoin:return xo.NETWORKS.litecoin;case j.Chain.Dogecoin:return xo.NETWORKS.dogecoin;case j.Chain.Zcash:return xo.NETWORKS.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var j,xo,p_=4294967294;var T1=S(()=>{dn();j=require("@swapkit/helpers"),xo=require("@swapkit/utxo-signer")});function v_(n,y,T){return oo.encodeCashAddr({hash:T,prefix:n,type:E_[y]})}function V_(n){let y=oo.decodeCashAddr(n),T=b_[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var oo,E_,b_,At;var t1=S(()=>{oo=require("@swapkit/utxo-signer"),E_={P2PKH:oo.CashAddrType.P2PKH,P2SH:oo.CashAddrType.P2SH},b_={[oo.CashAddrType.P2PKH]:"P2PKH",[oo.CashAddrType.P2SH]:"P2SH"};At={decode:V_,encode:v_}});function wt(n){try{return Rf(n),!0}catch{return!1}}function qt(n){return Rf(n)?.network}function yo(n){let y=Rf(n);if(y?.format==="legacy")return n;return c_(y)}function Oy(n){let y=Rf(n);return i_(y)}function Rf(n){try{let y=K_(n);if(y)return y}catch{}try{let y=j_(n);if(y)return y}catch{}throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function K_(n){try{let y=_1.decode(n);if(y.length!==21)throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case Fo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case Fo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case Fo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case Fo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case Fo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case Fo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function j_(n){if(n.indexOf(":")!==-1)try{return C1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return C1(`${T}:${n}`)}catch{}}return}function C1(n){try{let{hash:y,prefix:T,type:o}=At.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 c_(n){let y=Fo.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),_1.encode(T)}function i_(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return At.encode(y,T,o)}var H1,A1,_t,_1,Ut,Fo;var U1=S(()=>{t1();H1=require("@noble/hashes/sha2.js"),A1=require("@scure/base"),_t=require("@swapkit/helpers"),_1=A1.createBase58check(H1.sha256);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(Ut||={});Fo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return q1.Script.encode(["RETURN",y])}var w1,q1,h_=1000,Ff=10,pf=2,G1=10,m_=41,r_=107,Sf,xf,Ry,jo=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new w1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},po=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?jo(n[0].address):"P2PKH",t=(T?n.filter((_)=>_.value>=xf["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(T)):n).reduce((_,G)=>_+lo(G),0),C=y?.reduce((_,G)=>_+xy(G),0)||Ry[o],H=Ff+t+C;return o==="P2WPKH"?Math.ceil(H+pf/4):H},lo=(n)=>{if("type"in n&&n.type)return xf[n.type];if("address"in n&&n.address)return xf[jo(n.address)];return m_+r_},xy=(n,y)=>{if(n?.script)return G1+n.script.length+(n.script.length>=74?2:1);if(y)return Ry[y];if("address"in n&&n.address)return Ry[jo(n.address)];return Ry.P2PKH};var Gt=S(()=>{w1=require("@swapkit/helpers"),q1=require("@swapkit/utxo-signer");((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(Sf||={});xf={["P2PKH"]:148,["P2WPKH"]:68},Ry={["P2PKH"]:34,["P2WPKH"]:31}});function Fy(n){switch(n){case rn.Chain.Bitcoin:case rn.Chain.BitcoinCash:return 550;case rn.Chain.Dash:case rn.Chain.Litecoin:return 5500;case rn.Chain.Dogecoin:return 1e5;case rn.Chain.Zcash:return 546;default:throw new rn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:T=1,chain:o=rn.Chain.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?jo(n[0].address):"P2PKH",C=n.filter((X)=>lo(X)*T<=X.value),A=t==="P2WPKH"?Math.ceil(pf/4):0,_=Ff+A+y.reduce((X,l)=>X+xy(l),0),G=y.reduce((X,l)=>X+l.value,0),M=_*T,w=0,W=[];for(let X of C){let l=lo(X),Z=T*l;M+=Z,w+=X.value,W.push(X);let z=M+G;if(w<z)continue;let L=w-z,N=T*xy({address:f,value:0});if(L>N){let J=N+M,U=w-(G+Math.ceil(J));if(U>Math.max(lo({value:0})*T,Fy(o)))return{fee:Math.ceil(J),inputs:W,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:W,outputs:y}}return{fee:Math.ceil(T*po({inputs:n,outputs:y}))}}var rn;var l1=S(()=>{Gt();rn=require("@swapkit/helpers")});var co=S(()=>{T1();U1();l1();Gt()});function So(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Xo(n){let y=So(n);return wt(y)&&qt(y)==="mainnet"}function io(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=kf.Address(kf.ZCASH_NETWORK).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var kf;var py=S(()=>{co();kf=require("@swapkit/utxo-signer")});function Wt({address:n,chain:y}){return Xt.match(y).with(F.Chain.BitcoinCash,()=>Xo(n)).with(F.Chain.Zcash,()=>io(n)).otherwise(()=>{try{return m.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return Xt.match(n).with(F.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(F.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(F.Chain.Dash,()=>m.NETWORKS.dash).with(F.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(F.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(F.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function g_({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Pf.mnemonicToSeedSync(n),C=lt.HDKey.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function X1(n){return W1.secp256k1.getPublicKey(n,!0)}function ky({publicKey:n,chain:y,network:T}){if(y===F.Chain.BitcoinCash){let t=m.p2pkh(n,T);if(!t.hash)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:t.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!Sy.includes(y)?m.p2wpkh(n,T):m.p2pkh(n,T);if(!f.address)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function ho({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=Dn(T);if(o){let _=m.WIF(t).decode(o),G=X1(_);return{privateKey:_,publicKey:G}}if(!n)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||F.derivationPathToString(F.NetworkDerivationPath[T]),H=g_({derivationPath:C,network:t,phrase:n,seed:f}),A=X1(H);return{privateKey:H,publicKey:A}}function d_(n,y){return m.WIF(Dn(y)).encode(n)}function a_({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=Dn(T),C=o??Pf.mnemonicToSeedSync(n),H=lt.HDKey.fromMasterSeed(C,t.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function Bo({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=Dn(T),A=!Sy.includes(T),_=C?m.RBF_SEQUENCE:void 0,G=new Set;for(let M of n){let w=`${M.hash}:${M.index}`;if(G.has(w))throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let W=typeof M.hash==="string"?Wo.hex.decode(M.hash):M.hash;if(A&&M.witnessUtxo)o.addInput({index:M.index,sequence:_,txid:W,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:Wo.hex.decode(M.txHex),sequence:_,txid:W,...T===F.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let w="address"in M&&M.address?M.address:f;if(T===F.Chain.BitcoinCash)w=yo(w);if(M.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(w,BigInt(M.value),H)}return{inputs:n,tx:o}}async function mo(n){let y=await Qn(n).getSuggestedTxFee();return{[F.FeeOption.Average]:y,[F.FeeOption.Fast]:F.applyFeeMultiplier(y,F.FeeOption.Fast),[F.FeeOption.Fastest]:F.applyFeeMultiplier(y,F.FeeOption.Fastest)}}async function B1({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await mo(t))[F.FeeOption.Fastest],H=f||Sy.includes(t),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await Qn(t).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...T?[{address:"",script:kn(T),value:0}]:[]]}}async function M1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,A=T?kn(T):null,_=await B1({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:G,outputs:M}=vn({..._,chain:H,feeRate:o});if(!(G&&M))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:W,tx:X}=Bo({chain:H,compiledMemo:A,enableRBF:C,inputs:G,outputs:M,sender:f,tx:w});return{inputs:W,tx:X,utxos:_.inputs}}async function L1({assetValue:n,feeOptionKey:y=F.FeeOption.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await B1({assetValue:n,memo:o,recipient:t,sender:f}),A=T?Math.floor(T):(await mo(C))[y];return vn({...H,chain:C,feeRate:A})}function s_(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=F.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(T),A=f?Math.ceil(f):(await mo(n))[t],_=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Fy(n),lo(l)*A));if(!_?.length)return F.AssetValue.from({chain:n});let G=BigInt(_.reduce((l,Z)=>l+Z.value,0)),M=F.AssetValue.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)w.push({address:T,script:kn(o),value:0});let W=po({inputs:_,outputs:w}),X=F.AssetValue.from({chain:n,value:BigInt(W*A)});return M.sub(X)}}function e_(n){return async function(T){let{fee:o}=await L1(T);return F.AssetValue.from({chain:n,value:F.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function n5({chain:n,phrase:y,derivationPath:T,seed:o}){let f=Dn(n),{privateKey:t,publicKey:C}=ho({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>ky({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(A)=>{return A.sign(t,H),A}}}function o5(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:A=!1}){let _=y?.getAddress();if(!(y&&_))throw new F.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});F.warnOnce({condition:A&&!uf.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=A&&uf.includes(n),M=C||(await mo(n))[t||F.FeeOption.Fast],{tx:w}=await M1({assetValue:H,enableRBF:G,feeRate:M,memo:o,recipient:f,sender:_});return y.signTransaction(w),w.finalize(),Qn(n).broadcastTx(Wo.hex.encode(w.extract()))}}function Bt(n){return(y)=>Wt({address:y,chain:n})}function Mt(n){let y=Dn(n);return function(o){if(!o)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ky({chain:n,network:y,publicKey:o.publicKey})}}function Mo({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Pf.mnemonicToSeedSync(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[n],{index:o}),C=F.derivationPathToString(t),H=T?n5({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=T?ho({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function G(){if(H)return Promise.resolve(H.getAddress());if(A)return A.getAddress();return Promise.resolve(void 0)}function M(q){if(!T)return;let Y=Go({accountIndex:q,chain:n,derivationPath:t});return a_({chain:n,derivationPath:F.derivationPathToString(Y),phrase:T,seed:f})}let w=M();function W(){if(!w)return;return w.publicExtendedKey}function X({accountIndex:q}={}){let Y=q===void 0?w:M(q);if(!Y)return;let D=Go({accountIndex:q,chain:n,derivationPath:t});return{accountIndex:Ro(D),path:F.derivationPathToString(D),xpub:Y.publicExtendedKey}}function l({accountIndex:q,index:Y,change:D=!1}){let Q=q===void 0?w:M(q);if(!Q)return;let O=Ko({accountIndex:q,chain:n,change:D,derivationPath:t,index:Y}),x=Dn(n),k=Q.deriveChild(Number(D)).deriveChild(Y);if(!k.publicKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let u=ky({chain:n,network:x,publicKey:k.publicKey}),K=Wo.hex.encode(k.publicKey);return{accountIndex:Ro(O),address:u,change:D,index:Y,path:F.derivationPathToString(O),pubkey:K}}async function Z(q){if(!uf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Y=await Qn(n).getTransactionDetails(q);return{canReplace:Y.isRBF&&!Y.confirmed,confirmed:Y.confirmed,enabled:Y.isRBF,fee:Y.fee,sequences:Y.sequences,supported:!0}}async function z({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!uf.includes(n))throw new F.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let O=await Qn(n).getTransactionDetails(q);if(!O.isRBF)throw new F.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(O.confirmed)throw new F.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:O.blockId,txid:q});let x=O.inputs.reduce((ln,In)=>ln+In.value,0),u=O.outputs.find((ln)=>ln.recipient===D)?.value||0;if(u===0)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let K=await Promise.all(O.inputs.map(async(ln)=>{let In=await Qn(n).getRawTx(ln.transaction_hash);return{hash:ln.transaction_hash,index:ln.index,txHex:In,value:ln.value,witnessUtxo:void 0}})),s=Q?kn(Q):null,Tn=po({feeRate:Y,inputs:K.map((ln)=>({...ln,type:"P2WPKH"})),outputs:[{address:D,value:u}]}),on=Math.ceil(Tn*Y);if(on<=O.fee)throw new F.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:on,originalFee:O.fee});let Zn=on-O.fee,Bn=u-Zn;if(Bn<=0)throw new F.SwapKitError("toolbox_utxo_rbf_insufficient_change");let On=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),jn=[{address:D,value:Bn},...Q?[{address:"",script:kn(Q),value:0}]:[]],cn=x-Bn-on,Rn=await G();if(cn>Fy(n)&&Rn)jn.push({address:Rn,value:cn});return Bo({chain:n,compiledMemo:s,inputs:K,outputs:jn,sender:Rn||D,tx:On}),{feeDelta:Zn,newFee:on,originalFee:O.fee,tx:On}}async function L({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");let{tx:O,originalFee:x,newFee:k}=await z({memo:Q,newFeeRate:Y,recipient:D,txid:q});H.signTransaction(O),O.finalize();let u=await Qn(n).broadcastTx(Wo.hex.encode(O.extract()));return{newFee:k,originalFee:x,txid:u}}function N({accountIndex:q,index:Y,change:D=!1}){bn("index",Y);let Q=q===void 0?w:M(q);if(!Q)return;return Q.deriveChild(Number(D)).deriveChild(Y).privateKey||void 0}function J({tx:q,inputDerivations:Y}){if(!w)throw new F.SwapKitError("toolbox_utxo_no_signer");let D=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let Q=0;Q<Y.length;Q++){let O=Y[Q];if(!O)continue;let{derivationIndex:x,isChange:k}=O,u=N({change:k,index:x});if(!u)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${Q} at index ${x}`});q.signIdx(u,Q,D)}return q}async function U({utxos:q,recipient:Y,assetValue:D,memo:Q,feeRate:O,feeOptionKey:x,changeAddress:k}){if(!w)throw new F.SwapKitError("toolbox_utxo_no_signer");let u=O||(await mo(n))[x||F.FeeOption.Fast],K=Q?kn(Q):null,s=[{address:Y,value:D.getBaseValue("number")}];if(K)s.push({address:"",script:K,value:0});let Tn=q.map(({hash:Rn,index:ln,value:In,txHex:zH,witnessUtxo:fT})=>({hash:Rn,index:ln,txHex:zH,value:In,witnessUtxo:fT?{script:fT.script,value:fT.value}:void 0})),{inputs:on,outputs:Zn}=vn({chain:n,feeRate:u,inputs:Tn,outputs:s});if(!(on&&Zn))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let Bn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),On=q[0]?.address,jn=k||await G()||On||Y;Bo({chain:n,compiledMemo:K,inputs:on,outputs:Zn,sender:jn,tx:Bn});let cn=on.map((Rn)=>{let ln=q.find((In)=>In.hash===Rn.hash&&In.index===Rn.index);return ln?{derivationIndex:ln.derivationIndex,isChange:ln.isChange}:{derivationIndex:0,isChange:!1}});return J({inputDerivations:cn,tx:Bn}),Bn.finalize(),Qn(n).broadcastTx(Wo.hex.encode(Bn.extract()))}function B({address:q,gapLimit:Y=20}){if(!w)return;for(let D=0;D<Y;D++){let Q=l({change:!1,index:D}),O=l({change:!0,index:D}),x=Q?.address===q?!1:O?.address===q;if(Q?.address===q||O?.address===q)return{change:x,index:D}}return}return{accumulative:vn,broadcastTx:(q)=>Qn(n).broadcastTx(q),bumpFee:L,calculateTxSize:po,createKeysForPath:(q)=>ho({...q,chain:n}),createReplacementTransaction:z,createTransaction:M1,deriveAddressAtIndex:l,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:s_(n),estimateTransactionFee:e_(n),getAddress:G,getAddressFromKeys:Mt(n),getBalance:xn(n),getExtendedPublicKey:W,getExtendedPublicKeyInfo:X,getFeeRates:()=>mo(n),getInputsOutputsFee:L1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(q)=>d_(ho({...q,chain:n}).privateKey,n),isRBFEnabled:Z,keys:_,resolveDerivationIndex:B,signAndBroadcastTransaction:async(q)=>{if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");return H.signTransaction(q),q.finalize(),await Qn(n).broadcastTx(Wo.hex.encode(q.extract()))},signTransactionWithMultipleKeys:J,transfer:o5(n,H),transferFromMultipleAddresses:U,validateAddress:Bt(n)}}var W1,Wo,lt,Pf,F,m,Xt,Sy,uf;var ro=S(()=>{dn();zy();co();py();W1=require("@noble/curves/secp256k1.js"),Wo=require("@scure/base"),lt=require("@scure/bip32"),Pf=require("@scure/bip39"),F=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),Xt=require("ts-pattern"),Sy=[F.Chain.Dash,F.Chain.Dogecoin,F.Chain.Zcash,F.Chain.BitcoinCash],uf=[F.Chain.Bitcoin]});function uy(n){return So(Oy(n))}function y5(n){let y=Dn(gn);function T(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let t=Wn.encodeCashAddr({hash:f.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH});return Promise.resolve(t.replace(/^bitcoincash:/,""))}return{getAddress:o,signTransaction:T}}function Lt(n){let y="phrase"in n?n.phrase:void 0,T="index"in n?n.index||0:0,o=Xn.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:Xn.updateDerivationPath(Xn.NetworkDerivationPath[gn],{index:T})),f=y?ho({chain:gn,derivationPath:o,phrase:y}):void 0,t=f?y5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...G}=Mo({chain:gn});function M(w,W=!0){return H(So(Oy(w)))}return{...G,broadcastTx:_,buildTx:T5,createTransaction:Z1,getAddress:C,getAddressFromKeys:t5,getBalance:M,getFeeRates:A,stripPrefix:So,stripToCashAddress:uy,transfer:f5({broadcastTx:_,getFeeRates:A,signer:t}),validateAddress:Xo}}async function Z1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!Xo(y))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:t}),H=T?kn(T):null,A=[],_=yo(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:G,outputs:M}=vn({chain:gn,feeRate:o,inputs:C,outputs:A});if(!(G&&M))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),W=yo(f),{inputs:X,tx:l}=Bo({chain:gn,compiledMemo:H,inputs:G,outputs:M.map((Z)=>("address"in Z)&&Z.address?{...Z,address:yo(Z.address)}:Z),sender:W,tx:w});return{inputs:X,tx:l,utxos:G}}function f5({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=Xn.FeeOption.Fast,...H}){let A=await T?.getAddress();if(!(T&&A))throw new Xn.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new Xn.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=H.feeRate||(await y())[C],{tx:G}=await Z1({...H,assetValue:t,feeRate:_,recipient:f,sender:A}),M=await T.signTransaction(G);return M.finalize(),n(Q1.hex.encode(M.extract()))}}async function T5({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Oy(y);if(!Xo(t))throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=T?kn(T):null,G=[];if(G.push({address:yo(y),value:n.getBaseValue("number")}),_)G.push({script:_,value:0});let{inputs:M,outputs:w}=vn({chain:gn,feeRate:A,inputs:H,outputs:G});if(!(M&&w))throw new Xn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let W=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:X,tx:l}=Bo({chain:gn,compiledMemo:_,inputs:M,outputs:w,sender:yo(f),tx:W});return{inputs:X,tx:l,utxos:H}}function t5(n){let y=Wn.NETWORKS.bitcoinCash,T=Wn.p2pkh(n.publicKey,y);if(!T.hash)throw new Xn.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Wn.encodeCashAddr({hash:T.hash,prefix:Wn.CashAddrPrefix.MAINNET,type:Wn.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var Q1,Xn,Wn,gn;var If=S(()=>{co();ro();py();Q1=require("@scure/base"),Xn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),gn=Xn.Chain.BitcoinCash});function Y1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function H5(n){return C5.encode(n)}function A5({phrase:n,derivationPath:y}){let T=Zt.mnemonicToSeedSync(n),f=Qt.HDKey.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:A}=_n.SKConfig.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(_.length+H.length);G.set(_,0),G.set(H,_.length);let M=H5(G);return{getAddress:()=>Promise.resolve(M),signTransaction:(w)=>{if(w instanceof tn.PCZT)return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),Promise.resolve(w)}}}function _5({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=Y1();for(let C of n){let H=tn.Address(t).decode(o),A=tn.OutScript.encode(H);T.addInput({index:C.index,script:A,sequence:4294967295,txid:$f.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function J1(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?kn(o):null,A=await Qn(_n.Chain.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),_=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:M}=vn({chain:_n.Chain.Zcash,changeAddress:t,feeRate:f,inputs:A,outputs:_});if(!(G&&M))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let w=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:W,inputs:X}=_5({compiledMemo:H,inputs:G,outputs:M,sender:t,tx:w});return{inputs:X,outputs:M,tx:W}}function Jt(n){let y=go.match(n).with({signer:go.P.not(go.P.nullish)},({signer:A})=>A).with({phrase:go.P.string},({phrase:A,derivationPath:_,index:G=0})=>{let M=_||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],w=_n.updateDerivationPath(M,{index:G}),W=_n.derivationPathToString(w);return A5({derivationPath:W,phrase:A})}).otherwise(()=>{return}),T=Mo({chain:_n.Chain.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:G=_n.FeeOption.Fast,...M}){let w=await y?.getAddress();if(!(y&&w))throw new _n.SwapKitError("toolbox_utxo_no_signer");let W=M.feeRate||(await T.getFeeRates())[G],{tx:X}=await J1({...M,assetValue:_,feeRate:W,recipient:A,sender:w}),Z=(await y.signTransaction(X)).toHex();return T.broadcastTx(Z)}function f({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=Zt.mnemonicToSeedSync(A),w=Qt.HDKey.fromMasterSeed(G).derive(_);if(!w.privateKey||!w.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:w.privateKey,publicKey:w.publicKey}}function t({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=f({derivationPath:_,phrase:A}),M=Y1();return tn.WIF(M).encode(G.privateKey)}function C(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await A.signTransaction(G)}}function H(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");let M=await A.signTransaction(G);return T.broadcastTx(M.toHex())}}return{...T,createKeysForPath:f,createTransaction:J1,getPrivateKeyFromMnemonic:t,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:io}}var $f,Qt,Zt,_n,tn,go,C5;var Yt=S(()=>{co();ro();py();$f=require("@scure/base"),Qt=require("@scure/bip32"),Zt=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),go=require("ts-pattern");C5=$f.createBase58check(tn.utils.sha256)});function O1({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(bn("count",T),T<1)throw RangeError("count must be at least 1");bn("startIndex",o);let t=Dn(y),C=z1.HDKey.fromExtendedKey(n,t.bip32),H=Go({accountIndex:f,chain:y}),A=Ro(H),_=[];for(let G of[!1,!0]){let M=C.deriveChild(Number(G));for(let w=0;w<T;w++){let W=o+w,X=M.deriveChild(W);if(!X.publicKey)continue;let l=Ko({accountIndex:f,chain:y,change:G,index:W});_.push({accountIndex:A,address:ky({chain:y,network:t,publicKey:X.publicKey}),change:G,index:W,path:D1.derivationPathToString(l),pubkey:N1.hex.encode(X.publicKey)})}}return _}var N1,z1,D1;var R1=S(()=>{zy();ro();N1=require("@scure/base"),z1=require("@scure/bip32"),D1=require("@swapkit/helpers")});function U5(n,y){switch(n){case fo.Chain.BitcoinCash:return Lt(y||{});case fo.Chain.Zcash:return Jt(y);case fo.Chain.Bitcoin:case fo.Chain.Dogecoin:case fo.Chain.Litecoin:case fo.Chain.Dash:return Mo({chain:n,...y});default:throw new fo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var fo;var x1=S(()=>{If();ro();Yt();zy();R1();If();py();fo=require("@swapkit/helpers")});var Nt={};Mn(Nt,{validateZcashAddress:()=>io,validateUtxoAddress:()=>Wt,validateBchAddress:()=>Xo,toLegacyAddress:()=>yo,toCashAddress:()=>Oy,stripToCashAddress:()=>uy,stripPrefix:()=>So,nonSegwitChains:()=>Sy,isValidAddress:()=>wt,getUtxoToolbox:()=>U5,getUtxoNetwork:()=>$_,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>Bt,getUTXOAddressPath:()=>Ko,getUTXOAccountPath:()=>Go,getUTXOAccountIndexFromPath:()=>Ro,getScriptTypeForAddress:()=>jo,getOutputSize:()=>xy,getNetworkForChain:()=>Dn,getInputSize:()=>lo,getDustThreshold:()=>Fy,detectAddressNetwork:()=>qt,deriveAddressesFromXpub:()=>O1,createZcashToolbox:()=>Jt,createUTXOToolbox:()=>Mo,createHDWalletHelpers:()=>sC,createCustomUtxoApi:()=>I_,createBCHToolbox:()=>Lt,compileMemo:()=>kn,calculateTxSize:()=>po,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>Mt,addInputsAndOutputs:()=>Bo,accumulative:()=>vn,UtxoNetwork:()=>Ut,UTXOScriptType:()=>Sf,TX_OVERHEAD:()=>Ff,SEGWIT_MARKER_FLAG_WEIGHT:()=>pf,OutputSizes:()=>Ry,OP_RETURN_OVERHEAD:()=>G1,MIN_TX_FEE:()=>h_,InputSizes:()=>xf});module.exports=Jn(Nt);var zt=S(()=>{ro();zy();co();x1();If();Yt()});function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function bf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?Ef.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=p1.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return k1(t)}async function Dt(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return k1(T)}function k1(n){return new S1(n)}async function vf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ef.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),t=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:t}}var F1,Ef,p1,S1;var Ot=S(()=>{F1=require("@near-js/signers"),Ef=require("@swapkit/helpers"),p1=TT(require("near-seed-phrase"));S1=class S1 extends F1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function Rt(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function xt(n){return"contractId"in n&&"methodName"in n}function Ft(n){return"actions"in n}function pt(n){return"newAccountId"in n}function St(n){return"contractCode"in n}function kt(n){return"customEstimator"in n}function ut(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Yn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Yn.CONTRACT_CALL);break;case"createAccount":y+=Number(Yn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Yn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Yn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Yn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Yn.STAKE);break;default:y+=Number(Yn.CONTRACT_CALL)}return y.toString()}function Pt(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Yn.TOKEN_TRANSFER;if(n==="storage_deposit")return Yn.STORAGE_DEPOSIT;return Yn.CONTRACT_CALL}function w5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function q5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Yn;var It=S(()=>{Yn={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function $t({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 G5(n){let y;async function T(){if(y)return y;return y=await ao.match(n).with({phrase:ao.P.string},async(Q)=>{return await bf(Q)}).with({signer:ao.P.any},({signer:Q})=>Q).otherwise(()=>{return}),y}async function o(){let Q=await nn.getRPCUrl(nn.Chain.Near);return new u1.JsonRpcProvider({url:Q})}async function f(Q){let{Account:O}=await import("@near-js/accounts"),x=await o(),k=await T(),u=Q||await t();return new O(u,x,k)}async function t(){let Q=await T();if(!Q)throw new nn.SwapKitError("toolbox_near_no_signer");return await Q.getAddress()}async function C(Q){return(await J({changeMethods:[],contractId:Q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Q.accountId})}async function H(Q){let x=[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 U({actions:x,receiverId:Q.contractId})}async function A(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:x,recipient:k,memo:u}=Q,K=await t();if(!x.isGasAsset&&x.address){if(!await C({accountId:k,contractId:x.address}))return H({assetValue:x,contractId:x.address,memo:u,recipient:k})}let s=await _({...Q,sender:K});return l(s)}async function _({recipient:Q,assetValue:O,memo:x,attachedDeposit:k,sender:u,functionCall:K}){let s=await o();if(!Py(Q))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:Q});if(!Py(u))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:u});if(K)return M({...K,sender:u});if(!O.isGasAsset){let In=O.address;if(!In)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:x||null,receiver_id:Q},attachedDeposit:k||"1",contractId:In,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:Tn,nonce:on}=await vf(s,u),Zn=O.getBaseValue("bigint"),{actionCreators:Bn,createTransaction:On}=await import("@near-js/transactions"),{baseDecode:jn}=await import("@near-js/utils"),cn=[Bn.transfer(Zn)];if(x&&k)cn.push(Bn.functionCall("memo",{memo:x},BigInt("250000000000000"),BigInt(k)));let Rn=await s.block({finality:"final"}),ln=jn(Rn.header.hash);return On(u,Tn,Q,on+1,cn,ln)}function G(Q){let O=Q.encode();return Buffer.from(O).toString("base64")}async function M({args:Q,attachedDeposit:O,contractId:x,gas:k,methodName:u,sender:K}){let s=await o(),{publicKey:Tn,nonce:on}=await vf(s,K),{createTransaction:Zn,actionCreators:Bn}=await import("@near-js/transactions"),{baseDecode:On}=await import("@near-js/utils"),jn=await s.block({finality:"final"}),cn=On(jn.header.hash),Rn=[Bn.functionCall(u,Buffer.from(JSON.stringify(Q)),BigInt(k),BigInt(O))];return Zn(K,Tn,x,on+1,Rn,cn)}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 W(Q){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let[x,k]=await O.signTransaction(Q);return k}async function X(Q){return(await(await o()).sendTransaction(Q)).transaction.hash}async function l(Q){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let x=await W(Q);return await X(x)}catch{return O.signAndSendTransactions?.({transactions:[Q]})}}async function Z(Q){let O=await T();if("assetValue"in Q){let k=await z();try{let u=await nn.getRPCUrl(nn.Chain.Near),K=await fetch(u,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:s}}=await K.json(),{execution:Tn,send_sir:on}=s.transaction_costs.action_receipt_creation_config,{execution:Zn,send_sir:Bn}=s.transaction_costs.action_creation_config.transfer_cost,On=BigInt(Bn)+BigInt(Zn),jn=BigInt(on)+BigInt(Tn),Rn=(On+jn)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:Rn})}catch(u){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",u);let K=BigInt("115123062500"),s=BigInt("108059500000"),on=(K+s)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:on})}}let x=O?await f():void 0;return B(Q,x)}async function z(){let Q=await o();try{return await Q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(Q,O,x){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let u=await f(),{formatNearAmount:K}=await import("@near-js/utils"),{PublicKey:s}=await import("@near-js/crypto"),Tn=K(x)||"0";return(await u.createAccount(Q,s.fromString(O),BigInt(Tn))).transaction.hash}async function N(Q){let O=await T();try{if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:x}=await import("@near-js/transactions"),{contractId:k,methodName:u,args:K,deposit:s}=Q,Tn=await f(),on=await B({args:K||{},contractId:k,methodName:u}),Zn=x.functionCall(u,K||{},on.getBaseValue("bigint"),BigInt(s||"1"));return(await Tn.signAndSendTransaction({actions:[Zn],receiverId:k})).transaction_outcome.id}catch(x){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:x})}}async function J(Q){let O=await f();return $t({account:O,changeMethods:Q.changeMethods,contractId:Q.contractId,viewMethods:Q.viewMethods})}async function U(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");if(Q.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:Q.actions,receiverId:Q.receiverId})).transaction.hash}async function B(Q,O){let x=await ao.match(Q).when(Rt,()=>Yn.SIMPLE_TRANSFER).when(xt,(u)=>Pt(u.methodName)).when(Ft,(u)=>ut(u.actions)).when(pt,()=>Yn.ACCOUNT_CREATION).when(St,()=>Yn.CONTRACT_DEPLOYMENT).when(kt,(u)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return u.customEstimator(O)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(x)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function q(Q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),B(Q,O)}async function Y(){let Q=await o();try{return(await Q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let Q=await T();return Q?(await Q.getPublicKey()).toString():""}return{broadcastTransaction:X,callFunction:N,createAction:w,createContract:J,createContractFunctionCall:M,createSubAccount:L,createTransaction:_,estimateGas:q,estimateGasLimit:B,estimateTransactionFee:Z,executeBatchTransaction:U,getAddress:t,getBalance:xn(nn.Chain.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:bf,getSignerFromPrivateKey:Dt,serializeTransaction:G,signAndBroadcastTransaction:l,signTransaction:W,transfer:A,validateAddress:Py}}var u1,nn,ao;var Et=S(()=>{dn();Ot();It();u1=require("@near-js/providers"),nn=require("@swapkit/helpers"),ao=require("ts-pattern")});var P1=S(()=>{Et()});var bt={};Mn(bt,{validateNearAddress:()=>Py,tgasToGas:()=>w5,isSimpleTransfer:()=>Rt,isCustomEstimator:()=>kt,isContractDeployment:()=>St,isContractCall:()=>xt,isBatchTransaction:()=>Ft,isAccountCreation:()=>pt,getNearToolbox:()=>G5,getNearSignerFromPrivateKey:()=>Dt,getNearSignerFromPhrase:()=>bf,getFullAccessPublicKey:()=>vf,getContractMethodGas:()=>Pt,gasToTGas:()=>q5,estimateBatchGas:()=>ut,createNearContract:()=>$t,GAS_COSTS:()=>Yn});module.exports=Jn(bt);var vt=S(()=>{Ot();It();Et();P1()});var Vt={};Mn(Vt,{validateRadixAddress:()=>E1,getRadixToolbox:()=>M5});module.exports=Jn(Vt);function E1(n){return n.startsWith("account_rdx1")&&n.length===66}function l5({networkApi:n}){return async function(T){let o=await X5({address:T,networkApi:n}),f=await W5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function X5({address:n,networkApi:y}){let T=!0,o,f=[],t=await B5(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 W5({resources:n,networkApi:y}){let T=[],o=50,f=[];for(let t=0;t<n.length;t+=50)f.push(n.slice(t,t+50));for(let t of f){let C=t.map((_)=>_.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),A=new Map;for(let _ of H)if(_.details!==void 0){let G=_.metadata?.items.find((w)=>w.key==="symbol"),M=G?.value.typed.type==="String"?G.value.typed.value:"?";if(_.details.type==="FungibleResource")A.set(_.address,{decimals:_.details.divisibility,symbol:M})}for(let _ of t)if(_.aggregation_level==="Global"){let G=A.get(_.resource_address)||{decimals:0,symbol:"?"},M=Vn.AssetValue.from({asset:G.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${G.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});T.push(M)}}return T}async function B5(n){return(await n.status.getCurrent()).ledger_state.state_version}function M5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,T=$1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=I1.GatewayApiClient.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:l5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:E1}}var I1,$1,Vn;var Kt=S(()=>{I1=require("@radixdlt/babylon-gateway-api-sdk"),$1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function Vf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(Vf(n))return n.toUpperCase();if(n.length<=3){let T=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${T}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new b1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function L5(n){if(!Vf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let T=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(T)&&T.length>0)return T}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),T=y.length%2===0?y:`${y}0`,o=Buffer.from(T,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function so(n){if(Vf(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var b1;var Kf=S(()=>{b1=require("@swapkit/helpers")});async function Q5(n,y){let T=so(n),o=cf.find((f)=>so(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await jf.RequestClient.get(`https://api.xrplmeta.org/token/${n}:${y}`);if(f)return{currency:n,decimals:15,description:f.desc,domain:f.domain,icon:f.icon,issuer:y,name:f.name,verified:f.self_assessment?.is_regulated||f.self_assessment?.is_licensed}}catch(f){jf.warnOnce({condition:!0,id:`xrpl_token_lookup_${n}_${y}`,warning:`Failed to fetch XRPL token info for ${n}:${y}: ${f}`})}return{currency:n,decimals:15,issuer:y,verified:!1}}function Z5(n){return cf.filter((y)=>y.issuer===n)}function J5(n,y){let T=so(n);return cf.some((o)=>so(o.currency)===T&&o.issuer===y)}var jf,cf;var v1=S(()=>{Kf();jf=require("@swapkit/helpers"),cf=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var jt={};Mn(jt,{validateRippleAddress:()=>mf,parseXrplTokenIdentifier:()=>j1,normalizeCurrency:()=>so,isKnownToken:()=>J5,isHexCurrency:()=>Vf,hexToCurrency:()=>L5,hashes:()=>i1.hashes,getXrplTokenInfo:()=>Q5,getRippleToolbox:()=>N5,getKnownTokensByIssuer:()=>Z5,formatXrplTokenIdentifier:()=>c1,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>hf,XRPL_KNOWN_TOKENS:()=>cf});module.exports=Jn(jt);function j1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!To.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function c1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function Y5(n){if(n.isGasAsset)return To.xrpToDrops(n.getValue("string"));let y=j1(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 K1(n){let y=To.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function mf(n){return To.isValidAddress(n)}function N5(n={}){let y=eo.match(n).with({phrase:eo.P.string},({phrase:L})=>K1(L)).with({signer:eo.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 N=new To.Client(L);return await N.connect(),N}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 N=L||await t(),{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[B,q]=await Promise.all([U.request({account:N,command:"account_info"}),U.request({account:N,command:"account_lines"})]),Y=B.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:Y})];for(let Q of q.result.lines){let O=c1(Q.currency,Q.account);if(Number.parseFloat(Q.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:Q.balance}))}return D}catch(B){if(B.data?.error_code===V1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:N,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 A(L){let N=L||await t(),J=await f();try{return(await J.request({account:N,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===V1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:N,error:U}})}}async function _({address:L,currency:N,issuer:J}){let U=await A(L),B=Iy(N);return U.some((q)=>{return Iy(q.currency)===B&&q.account===J})}async function G({currency:L,issuer:N,limit:J,sender:U}){let B=U||await t();if(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:N}});let q=Number.parseFloat(J);if(Number.isNaN(q)||q<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:J}});let Y=await f(),D={Account:B,LimitAmount:{currency:L,issuer:N,value:J},TransactionType:"TrustSet"};return Y.autofill(D)}async function M({assetValue:L,recipient:N,memo:J,sender:U,destinationTag:B,extendBySeconds:q=150}){if(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await t();if(L.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let D=Y5(L),Q={Account:Y,Amount:D,Destination:N,TransactionType:"Payment",...B!==void 0&&{DestinationTag:B}};if(J)Q.Memos=[{Memo:{MemoData:Buffer.from(J).toString("hex")}}];let x=await(await f()).autofill(Q);if(x.LastLedgerSequence&&q>0)x.LastLedgerSequence+=Math.ceil(q/4);return x}function w(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(L)}async function W(L){let J=await(await f()).submitAndWait(L),{result:U}=J;if(U.validated)return U.hash;let B=U.meta?.TransactionResult,q=eo.match(B).with(hf.tecNO_LINE,()=>"No trust line exists for this token").with(hf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(hf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...q?{reason:q}:{txResult:B}}})}let X=async(L)=>{try{let N=await w(L);return W(N.tx_blob)}catch(N){if(N instanceof i.SwapKitError)throw N;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:N}})}};async function l(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await M({...L,sender:N}),U=await w(J);return W(U.tx_blob)}async function Z(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await G({...L,sender:N}),U=await w(J);return W(U.tx_blob)}function z(){let L=T;if(T=null,L)L.then((N)=>{if(N?.isConnected())return N.disconnect();return}).catch((N)=>{console.warn("XRPL Cleanup failed silently:",N)})}return{broadcastTransaction:W,createSigner:K1,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:G,setTrustLineAndBroadcast:Z,signAndBroadcastTransaction:X,signTransaction:w,transfer:l,validateAddress:mf}}var i,eo,To,i1,V1,hf;var ct=S(()=>{Kf();i=require("@swapkit/helpers"),eo=require("ts-pattern"),To=require("xrpl");Kf();v1();i1=require("xrpl"),V1={ACCOUNT_NOT_FOUND:19},hf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function it(n,y){let T=0n,o=0n,f=y;while(f<n.length&&f-y<10){let t=n[f++];if(t===void 0)break;if(T|=BigInt(t&127)<<o,o+=7n,(t&128)===0)return[T,f]}throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}function $y(n){let y=[],T=n<0n?n+2n**64n:n;while(T>=128n)y.push(Number(T&0x7fn)|128),T>>=7n;return y.push(Number(T)),y}function rf(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function R5(n){let y=new Map,T=0;while(T<n.length){let[o,f]=it(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===gf){let[H,A]=it(n,T);T=A,rf(y,t,{data:new Uint8Array($y(H)),wireType:gf})}else if(C===df){let[H,A]=it(n,T);T=A;let _=Number(H);if(_<0||T+_>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let G=n.slice(T,T+_);T+=_,rf(y,t,{data:G,wireType:df})}else if(C===h1){if(T+8>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,rf(y,t,{data:H,wireType:h1})}else if(C===m1){if(T+4>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,rf(y,t,{data:H,wireType:m1})}else throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function x5(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(t<<3|H);if(y.push(new Uint8Array($y(_))),H===df)y.push(new Uint8Array($y(BigInt(A.length))));y.push(A)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function g1(n,y){if(!n||n.length%2!==0)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let T=ny.hexToBytes(n),o=R5(T);if(y.expiration!==void 0)o.set(z5,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:gf}]);if(y.data!==void 0)o.set(D5,[{data:ny.hexToBytes(y.data),wireType:df}]);if(y.fee_limit!==void 0)o.set(O5,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:gf}]);let f=x5(o),t=ny.bytesToHex(f),C=ny.bytesToHex(r1.sha256(f));return{raw_data_hex:t,txID:C}}var r1,ny,ko,gf=0,h1=1,df=2,m1=5,z5=8,D5=10,O5=18;var d1=S(()=>{r1=require("@noble/hashes/sha2.js"),ny=require("@noble/hashes/utils.js"),ko=require("@swapkit/helpers")});function Kn(n){if(typeof n!=="string")return!1;try{let y=af.decode(n);return y.length===21&&y[0]===e1}catch{return!1}}function nH(n){return Pn.bytesToHex(af.decode(n))}function p5(n){return af.decode(n).slice(1)}function oH(n){let y=ht.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),T=a1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=e1,o.set(T,1),af.encode(o)}function yH({txID:n,privateKey:y}){let T=ht.secp256k1.sign(Pn.hexToBytes(n),Pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=T[0]??0,f=Pn.bytesToHex(T.slice(1,33)),t=Pn.bytesToHex(T.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+t+C}function oy({txID:n,raw_data_hex:y}){let T=Pn.bytesToHex(mt.sha256(Pn.hexToBytes(y)));if(n!==T)throw new rt.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function S5(n){return`000000000000000000000000${Pn.bytesToHex(p5(n))}`}function k5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=F5)throw new rt.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function yy(n){return n.map(({type:y,value:T})=>y==="address"?S5(T):k5(BigInt(T))).join("")}function fH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var ht,mt,a1,Pn,s1,rt,af,e1=65,F5;var gt=S(()=>{ht=require("@noble/curves/secp256k1.js"),mt=require("@noble/hashes/sha2.js"),a1=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),s1=require("@scure/base"),rt=require("@swapkit/helpers"),af=s1.createBase58check(mt.sha256),F5=2n**256n});function tH(){try{return Gn.getRPCUrlSync(Gn.Chain.Tron)}catch{return TH}}function CH(){let n=new AbortController,y=setTimeout(()=>n.abort(),$5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function fy(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${tH()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function HH(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${y??tH()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function AH(n){if(!Kn(n))throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await HH(`/v1/accounts/${n}`,TH);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=nH(n).toLowerCase()}catch{T=n.toLowerCase()}let o=y.data.find((f)=>f.address.toLowerCase()===T);if(!o)return;return{balance:o.balance,trc20:o.trc20||[]}}catch(y){if(y instanceof Gn.SwapKitError)throw y;throw new Gn.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:y instanceof Error?y.message:"Unknown error"})}}async function _H({from:n,to:y,amount:T}){let f=await fy("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new Gn.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f.raw_data?.contract?.[0]?.parameter?.value;if(C?.to_address!==y||C?.owner_address!==n||C?.amount!==T)throw new Gn.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(f),f}async function UH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await fy("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new Gn.SwapKitError("toolbox_tron_transaction_creation_failed");let A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new Gn.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(C.transaction),C.transaction}function wH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return fy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Ey(n){try{let{result:y,txid:T}=await fy("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!T)throw new Gn.SwapKitError("toolbox_tron_token_transfer_failed");return T}catch(y){throw new Gn.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function sf(){let n={};try{let{chainParameter:y}=await HH("/wallet/getchainparameters");for(let T of y)n[T.key]=T.value}catch(y){Gn.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${y instanceof Error?y.message:y}`})}return{bandwidthFee:n.getTransactionFee??u5,createAccountFee:n.getCreateAccountFee??P5,energyFee:n.getEnergyFee??I5}}async function dt(n){try{let y=await fy("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return Gn.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${y instanceof Error?y.message:y}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function at(n){try{let y=await fy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function st(n){try{let{energy_used:y}=await wH({...n,ownerAddress:n.sender});return y}catch(y){return Gn.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy, using default: ${y instanceof Error?y.message:y}`}),65000}}async function qH({assetAddress:n,owner:y,spender:T}){let o=yy([{type:"address",value:y},{type:"address",value:T}]),t=(await wH({contractAddress:n,functionSelector:"allowance(address,address)",ownerAddress:T,parameter:o})).constant_result?.[0];if(!t)return 0n;try{return BigInt(`0x${t}`)}catch{return 0n}}var Gn,TH="https://api.trongrid.io",u5=1000,P5=1e5,I5=420,$5=30000;var GH=S(()=>{gt();Gn=require("@swapkit/helpers")});function LH({phrase:n,derivationPath:y}){let T=WH.HDKey.fromMasterSeed(BH.mnemonicToSeedSync(n)).derive(y);if(!T.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return XH.bytesToHex(T.privateKey)}function QH({phrase:n,derivationPath:y,index:T}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:T||0}));return LH({derivationPath:o,phrase:n})}function K5({phrase:n,derivationPath:y}){let T=LH({derivationPath:y,phrase:n}),o=oH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{oy(f);let t=yH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function lH({transaction:n,memo:y,expiration:T,feeLimit:o}){let f={},t={};if(o!==void 0&&n.raw_data)f.fee_limit=o,t.fee_limit=o;if(y){let A=fH(y);f.data=A,t.data=A}if(T){let A=n.raw_data.expiration+T*1000;f.expiration=A,t.expiration=A}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=g1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function ZH(n={}){let y="index"in n?n.index||0:0,T=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Ty.match(n).with({phrase:Ty.P.string},({phrase:U})=>K5({derivationPath:T,phrase:U})).with({signer:Ty.P.not(Ty.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||b5,q=await sf(),Y=B*q.energyFee,D=Math.ceil(Y*1.5);return Math.min(Math.max(D,1e7),150000000)}async function A({contractAddress:U,functionSelector:B,parameter:q,sender:Y,memo:D,expiration:Q}){let O=await st({contractAddress:U,functionSelector:B,parameter:q,sender:Y}),x=await H(O),k=await UH({contractAddress:U,feeLimit:x,functionSelector:B,ownerAddress:Y,parameter:q});return lH({expiration:Q,feeLimit:x,memo:D,transaction:k})}async function _(U){if(!Kn(U))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let B=await AH(U);if(!B)return[E.AssetValue.from({chain:E.Chain.Tron})];let q=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(B.balance)})],Y=B.trc20?.find((D)=>(et in D));if(Y){let D=Y[et];q.push(E.AssetValue.from({asset:`TRON.USDT-${et}`,fromBaseDecimal:6,value:D}))}return q}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 G({recipient:U,assetValue:B,memo:q,expiration:Y}){if(!Kn(U))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");try{let Q=await C(),O=await l({assetValue:B,expiration:Y,memo:q,recipient:U,sender:Q}),x=await D.signTransaction(O),k=await Ey(x);if(!k)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(Q){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:Q instanceof Error?Q.message:String(Q)})}}function M({requiredBandwidth:U,resources:B,feePerUnit:q}){let Y=Math.max(0,B.free+B.total-B.used);return U>Y?(U-Y)*q:0}async function w({recipient:U,senderAddress:B}){let[q,Y,D]=await Promise.all([sf(),at(U),dt(B)]),Q=Y?0:q.createAccountFee,O=M({feePerUnit:q.bandwidthFee,requiredBandwidth:E5,resources:D.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:Q+O})}async function W({assetValue:U,recipient:B,senderAddress:q}){let Y=U.address;if(!Y)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,Q,O,x]=await Promise.all([sf(),at(B),dt(q),st({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:q})]),k=Q?0:D.createAccountFee,u=M({feePerUnit:D.bandwidthFee,requiredBandwidth:v5,resources:O.bandwidth}),K=Math.max(0,O.energy.total-O.energy.used),s=x>K?(x-K)*D.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:k+u+s})}async function X({assetValue:U,recipient:B,sender:q}){let Y=await t();try{let D=q?q:Y?await C():void 0;if(!D)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?w({recipient:B,senderAddress:D}):W({assetValue:U,recipient:B,senderAddress:D})}catch(D){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:D})}}async function l({recipient:U,assetValue:B,memo:q,sender:Y,expiration:D}){if(!Kn(U)||!Kn(Y))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let O=await _H({amount:B.getBaseValue("number"),from:Y,to:U});return lH({expiration:D,memo:q,transaction:O})}let Q=B.address;if(!Q)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return A({contractAddress:Q,expiration:D,functionSelector:"transfer(address,uint256)",memo:q,parameter:yy([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:Y})}async function Z(U){oy(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 Z(U);return Ey(B)}function L({assetAddress:U,spenderAddress:B,from:q}){return qH({assetAddress:U,owner:q,spender:B})}async function N({assetAddress:U,spenderAddress:B,from:q,amount:Y}){let D=await L({assetAddress:U,from:q,spenderAddress:B});if(!Y)return D>0n;return D>=BigInt(Y)}async function J({assetAddress:U,spenderAddress:B,amount:q,from:Y}){if(!Kn(U)||!Kn(B))throw new E.SwapKitError("toolbox_tron_approve_failed");let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");let Q=Y||await C(),O=q!==void 0?BigInt(q).toString():V5;try{let x=await A({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:O}]),sender:Q}),k=await D.signTransaction(x),u=await Ey(k);if(!u)throw new E.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof E.SwapKitError)throw x;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:J,broadcastTransaction:Ey,createTransaction:l,estimateTransactionFee:X,getAddress:C,getApprovedAmount:L,getBalance:_,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:N,signAndBroadcastTransaction:z,signTransaction:Z,transfer:G,validateAddress:Kn}}var XH,WH,BH,E,Ty,MH,E5=268,b5=65000,v5=345,et="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",V5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var JH=S(()=>{d1();GH();gt();XH=require("@noble/hashes/utils.js"),WH=require("@scure/bip32"),BH=require("@scure/bip39"),E=require("@swapkit/helpers"),Ty=require("ts-pattern"),MH=Kn});var n0={};Mn(n0,{validateTronAddress:()=>MH,getTronToolbox:()=>ZH,getTronPrivateKeyFromMnemonic:()=>QH});module.exports=Jn(n0);var o0=S(()=>{JH()});function nT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return j5.test(n)}async function c5(n){if(!nT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function YH(n={}){let y,T=n.derivationPath||a.NetworkDerivationPath[a.Chain.Stellar],o=a.derivationPathToString(T.slice(0,3));async function f({phrase:l,path:Z}){let{HDKey:z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:N}=await import("@stellar/stellar-sdk"),J=L(l),B=z.fromMasterSeed(J).derive(Z,!0);return N.fromRawEd25519Seed(Buffer.from(B.privateKey))}async function t(){if(y)return y;let l=ef.match(n).with({phrase:ef.P.string},({phrase:Z})=>Z).otherwise(()=>{return});if(!l)throw new a.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:l}),y}async function C(){let{Horizon:l}=await import("@stellar/stellar-sdk"),Z=await a.getRPCUrl(a.Chain.Stellar);return new l.Server(Z)}async function H(){try{return(await t()).publicKey()}catch{return""}}async function A(l){let Z=l||await H();if(!Z)throw new a.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Z)).balances.map((N)=>{if(N.asset_type==="native")return a.AssetValue.from({chain:a.Chain.Stellar,value:N.balance});let J="asset_code"in N?N.asset_code:"",U="asset_issuer"in N?N.asset_issuer:"";return a.AssetValue.from({asset:`${a.Chain.Stellar}.${J}-${U}`,asyncTokenLookup:!1,value:N.balance})})}catch{return[a.AssetValue.from({chain:a.Chain.Stellar,value:0})]}}async function _({recipient:l,assetValue:Z,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new a.SwapKitError("helpers_invalid_memo_type")}if(!await c5(l))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let J=L||await H();if(!J)throw new a.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:B,Networks:q,Operation:Y,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),Q=await C(),O=await Q.fetchBaseFee(),x=await Q.loadAccount(J),k=new D(x,{fee:String(O),networkPassphrase:q.PUBLIC});if(Z.isGasAsset)try{await Q.loadAccount(l),k.addOperation(Y.payment({amount:Z.getValue("string"),asset:U.native(),destination:l}))}catch{k.addOperation(Y.createAccount({destination:l,startingBalance:Z.getValue("string")}))}else k.addOperation(Y.payment({amount:Z.getValue("string"),asset:new U(Z.symbol,Z.address),destination:l}));if(z)k.addMemo(B.text(z));return k.setTimeout(30).build()}async function G(l){let{TransactionBuilder:Z,Networks:z}=await import("@stellar/stellar-sdk"),L=await t(),N=Z.fromXDR(l.toXDR(),z.PUBLIC);return N.sign(L),N}async function M(l){try{let Z=await C(),{hash:z}=await Z.submitTransaction(l);return z}catch(Z){throw new a.SwapKitError("toolbox_stellar_broadcast_error",Z)}}async function w({recipient:l,assetValue:Z,memo:z}){let L=await t(),N=L.publicKey(),J=await _({assetValue:Z,memo:z,recipient:l,sender:N});J.sign(L);try{return(await(await C()).submitTransaction(J)).hash}catch(U){if(U instanceof a.SwapKitError)throw U;throw new a.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function W(l){let Z=await G(l);return M(Z)}async function X(){let{baseDecimal:l}=a.getChainConfig(a.Chain.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:L})}catch{return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:M,createTransaction:_,estimateTransactionFee:X,getAddress:H,getBalance:A,signAndBroadcastTransaction:W,signTransaction:G,transfer:w,validateAddress:nT}}var a,ef,j5;var NH=S(()=>{a=require("@swapkit/helpers"),ef=require("ts-pattern"),j5=/^G[A-Z2-7]{55}$/});var oT={};Mn(oT,{validateStellarAddress:()=>nT,getStellarToolbox:()=>YH});module.exports=Jn(oT);var yT=S(()=>{NH()});var m5={};Mn(m5,{getToolbox:()=>y0,getFeeEstimator:()=>h5,getAddressValidator:()=>i5});module.exports=Jn(m5);var $=require("@swapkit/helpers");async function i5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (vy(),by)),{validateEVMAddress:T}=await Promise.resolve().then(() => (RT(),I0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (ST(),pT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Gf(),qf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (eT(),sT)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Tt(),ft)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Zf(),Qf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Yf(),Jf)),{validateTonAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (zt(),Nt)),{validateNearAddress:M}=await Promise.resolve().then(() => (vt(),bt)),{validateRadixAddress:w}=await Promise.resolve().then(() => (Kt(),Vt)),{validateRippleAddress:W}=await Promise.resolve().then(() => (ct(),jt)),{validateTronAddress:X}=await Promise.resolve().then(() => (o0(),n0)),{validateStellarAddress:l}=await Promise.resolve().then(() => (yT(),oT));return function({address:z,chain:L}){return n(L).with(...$.EVMChains,()=>T(z)).with(...$.UTXOChains,(J)=>{return G(J)(z)}).with(...$.CosmosChains,(J)=>{return f(J)(z)}).with($.Chain.Aptos,()=>y(z)).with($.Chain.Radix,()=>w(z)).with($.Chain.HyperCore,()=>t(z)).with($.Chain.Near,()=>M(z)).with($.Chain.Ripple,()=>W(z)).with($.Chain.Solana,()=>C(z)).with($.Chain.Stellar,()=>l(z)).with($.Chain.Starknet,()=>H(z)).with($.Chain.Sui,()=>A(z)).with($.Chain.Ton,()=>_(z)).with($.Chain.Tron,()=>X(z)).with($.Chain.Cardano,()=>o(z)).otherwise(()=>!1)}}function h5(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let t=await y0(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 y0(f)).estimateTransactionFee(T)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (vy(),by));return f().estimateTransactionFee(T)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Zf(),Qf));return(await f()).estimateTransactionFee(T)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (yT(),oT));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Yf(),Jf));return f().estimateTransactionFee(T)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(T)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Gf(),qf));return f(T)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function y0(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (OT(),k0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (zt(),Nt));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Gf(),qf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (vy(),by));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (eT(),sT));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (Kt(),Vt));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (ct(),jt));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Tt(),ft));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (yT(),oT));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Zf(),Qf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Yf(),Jf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (o0(),n0));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (vt(),bt));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (ST(),pT));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}
1
+ var DH=Object.create;var{getPrototypeOf:OH,defineProperty:ty,getOwnPropertyNames:t0,getOwnPropertyDescriptor:RH}=Object,C0=Object.prototype.hasOwnProperty;function H0(n){return this[n]}var xH,FH,TT=(n,y,T)=>{var o=n!=null&&typeof n==="object";if(o){var f=y?xH??=new WeakMap:FH??=new WeakMap,t=f.get(n);if(t)return t}T=n!=null?DH(OH(n)):{};let C=y||!n||!n.__esModule?ty(T,"default",{value:n,enumerable:!0}):T;for(let H of t0(n))if(!C0.call(C,H))ty(C,H,{get:H0.bind(n,H),enumerable:!0});if(o)f.set(n,C);return C},Jn=(n)=>{var y=(T0??=new WeakMap).get(n),T;if(y)return y;if(y=ty({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var o of t0(n))if(!C0.call(y,o))ty(y,o,{get:H0.bind(n,o),enumerable:!(T=RH(n,o))||T.enumerable})}return T0.set(n,y),y},T0;var pH=(n)=>n;function SH(n,y){this[n]=pH.bind(null,y)}var Mn=(n,y)=>{for(var T in y)ty(n,T,{get:y[T],enumerable:!0,configurable:!0,set:SH.bind(y,T)})};var S=(n,y)=>()=>(n&&(y=n(n=0)),y);function uo(n){if(!n||typeof n!=="string"||!n.startsWith("0x"))return!1;let y=n.slice(2);if(y.length===0||y.length>64)return!1;return kH.test(y)}function A0({derivationPath:n,provider:y,...T}={}){let o,f=V.derivationPathToString(n||V.NetworkDerivationPath[V.Chain.Aptos],{allHardened:!0});async function t(){if(o)return o;return o=await Qo.match(T).with({phrase:Qo.P.string},async({phrase:l})=>{let{Ed25519Account:Z}=await import("@aptos-labs/ts-sdk");return Z.fromDerivationPath({mnemonic:l,path:f})}).with({signer:Qo.P.any},({signer:l})=>l).otherwise(()=>{return}),o}async function C(){let{Aptos:l,AptosConfig:Z}=await import("@aptos-labs/ts-sdk"),z=new Z({fullnode:y||V.getRPCUrlSync(V.Chain.Aptos)});return new l(z)}async function H(){return(await t())?.accountAddress.toString()||""}async function A(l){let Z=l||await H();if(!Z)throw new V.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:z,chain:L}=V.getChainConfig(V.Chain.Aptos);try{let N=await C(),J=await N.getAccountAPTAmount({accountAddress:Z}),U=[V.AssetValue.from({chain:L,fromBaseDecimal:z,value:J.toString()})],B=await N.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:Z}}}});for(let q of B){if(q.asset_type===Lo.COIN_TYPE||Number(q.amount)<=0)continue;let Y=q.asset_type;if(Y){let Q=("metadata"in q&&typeof q.metadata==="object"&&q.metadata!==null?q.metadata:void 0)?.decimals??z;U.push(V.AssetValue.from({asset:`${V.Chain.Aptos}.APT-${Y}`,fromBaseDecimal:Q,value:String(q.amount)}))}}return U}catch{return[V.AssetValue.from({chain:L})]}}async function _(l){if(!l){let{baseDecimal:B}=V.getChainConfig(V.Chain.Aptos),q=y||V.getRPCUrlSync(V.Chain.Aptos),Y=await fetch(`${q}/estimate_gas_price`),{gas_estimate:D}=await Y.json();return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:B,value:String(D)})}let Z=await t();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");let z=await G(l),L=await C(),[N]=await L.transaction.simulate.simple({signerPublicKey:Z.publicKey,transaction:z});if(!N)throw new V.SwapKitError("toolbox_aptos_transaction_creation_error");let J=BigInt(N.gas_used)*BigInt(N.gas_unit_price),{baseDecimal:U}=V.getChainConfig(V.Chain.Aptos);return V.AssetValue.from({chain:V.Chain.Aptos,fromBaseDecimal:U,value:J.toString()})}async function G({recipient:l,assetValue:Z,maxGasAmount:z,sender:L}){if(!uo(l))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await H();if(!N)throw new V.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:J}=await import("@aptos-labs/ts-sdk"),U=await C(),B=J.from(N);try{let q=Z.isGasAsset?Lo.TRANSFER:Lo.FUNGIBLE_STORE_TRANSFER,Y=Qo.match({address:Z?.address,isGasAsset:Z.isGasAsset}).with({isGasAsset:!0},()=>[J.from(l),Z.getBaseValue("bigint")]).with({address:Qo.P.string},({address:D})=>[J.from(D),J.from(l),Z.getBaseValue("bigint")]).otherwise(()=>null);if(!Y)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return U.transaction.build.simple({data:{function:q,functionArguments:Y,typeArguments:Z.isGasAsset?[]:[Lo.FUNGIBLE_ASSET_METADATA]},options:z?{maxGasAmount:z}:void 0,sender:B})}catch(q){if(q instanceof V.SwapKitError)throw q;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",q)}}async function M(l){let Z=await t();if(!Z)throw new V.SwapKitError("toolbox_aptos_no_signer");return(await C()).transaction.sign({signer:Z,transaction:l})}async function w({assetValue:l,maxGasAmount:Z,recipient:z}){let L=await t();if(!L)throw new V.SwapKitError("toolbox_aptos_no_signer");if(!uo(z))throw new V.SwapKitError("core_transaction_invalid_recipient_address");try{let N=L.accountAddress.toString(),J=await G({assetValue:l,maxGasAmount:Z,recipient:z,sender:N});return(await(await C()).signAndSubmitTransaction({signer:L,transaction:J})).hash}catch(N){if(N instanceof V.SwapKitError)throw N;throw new V.SwapKitError("toolbox_aptos_transaction_creation_error",N)}}async function X({senderAuthenticator:l,transaction:Z}){try{return(await(await C()).transaction.submit.simple({senderAuthenticator:l,transaction:Z})).hash}catch(z){throw new V.SwapKitError("toolbox_aptos_broadcast_error",z)}}async function W(l){let Z=await M(l);return X({senderAuthenticator:Z,transaction:l})}return{broadcastTransaction:X,createTransaction:G,estimateTransactionFee:_,getAddress:H,getBalance:A,signAndBroadcastTransaction:W,signTransaction:M,transfer:w,validateAddress:uo}}function _0({provider:n}){return async function({assetValue:T,recipient:o}){if(!uo(o))throw new V.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:f}=await import("@aptos-labs/ts-sdk");if(T.isGasAsset)return(await n.signAndSubmitTransaction({arguments:[f.from(o).toString(),T.getBaseValue("string")],function:Lo.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let t=T.address;if(!t)throw new V.SwapKitError("toolbox_aptos_missing_asset_type");return(await n.signAndSubmitTransaction({arguments:[t,f.from(o).toString(),T.getBaseValue("string")],function:Lo.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Lo.FUNGIBLE_ASSET_METADATA]})).hash}}var V,Qo,Lo,kH;var U0=S(()=>{V=require("@swapkit/helpers"),Qo=require("ts-pattern"),Lo={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},kH=/^[0-9a-fA-F]+$/});var by={};Mn(by,{validateAptosAddress:()=>uo,getAptosToolbox:()=>A0,createAptosExtensionTransfer:()=>_0});module.exports=Jn(by);var vy=S(()=>{U0()});function q0(){function n(){let y=Date.now(),T=tT||y;return tT=T,y>tT?y:T+1}return uH+n().toString(36)}function xn(n){return async function(T,o=!0){let f=await w0.SwapKitApi.getChainBalance({address:T,chain:n,scamFilter:o}),{baseDecimal:t}=Cy.getChainConfig(n),C=f.map(({identifier:A,value:_,decimal:G})=>{return new Cy.AssetValue({decimal:G||t,identifier:A,value:_})});if(!C.some((A)=>A.isGasAsset))return[Cy.AssetValue.from({chain:n}),...C];return C}}var Cy,w0,uH,tT=0;var dn=S(()=>{Cy=require("@swapkit/helpers"),w0=require("@swapkit/helpers/api"),uH=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Hy(n){return{getBalance:xn(n)}}function PH(n){return n}var Vy=S(()=>{dn()});function l0(n){return new Zo.JsonRpcProvider(n)}async function UT(n,y){return l0(y||await g.getRPCUrl(n))}function Ay(n){return n>0n?`0x${n.toString(16)}`:"0x0"}function wT(n){let{explorerUrl:y,chainIdHex:T,rpcUrls:o}=g.getChainConfig(n);return function(){return n!==g.Chain.Ethereum?{...IH({chain:n}),blockExplorerUrls:[y],chainId:T,rpcUrls:o}:void 0}}function qT(n){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(n)}function IH({chain:n}){let{name:y,nativeCurrency:T,baseDecimal:o}=g.getChainConfig(n);return _T.match(n).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:o,name:"Avalanche",symbol:n}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:o,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:o,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:o,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:o,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:o,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:o,name:"Polygon",symbol:g.Chain.Polygon}})).otherwise(()=>({chainName:y,nativeCurrency:{decimals:o,name:T,symbol:T}}))}async function GT(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 X0(n,y){let T=y!==void 0?`index ${y}: `:"",o=(f,t)=>{throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:f,message:`${T}${t}`}})};_T.match(n).when(({chainId:f})=>typeof f!=="bigint",()=>o("chainId","chainId must be a bigint")).when(({address:f})=>!$H(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})=>!G0(f?.r),()=>o("signature.r","r must be a 32-byte hex string")).when(({signature:f})=>!G0(f?.s),()=>o("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function W0(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 CT(n){return n.charAt(0).toUpperCase()+n.slice(1)}function HT(n,y){if(n.isTuple()&&n.components){let T=CT(n.name);return y[T]=n.components.map((o)=>({name:o.name,type:HT(o,y)})),T}if(n.isArray()){let T=n.arrayChildren;if(T?.isTuple()&&T.components){let o=CT(n.name.replace(/s$/,""));return y[o]=T.components.map((f)=>({name:f.name,type:HT(f,y)})),`${o}[]`}return`${T?.type??"bytes"}[]`}return n.type}function AT(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]=AT(T[t.name]??n[f],t);return o}if(Array.isArray(n)){let T=y?.arrayChildren;return n.map((o)=>AT(o,T??void 0))}return n}function EH({chain:n,abi:y,data:T,to:o}){let t=new Zo.Interface(y).parseTransaction({data:T});if(!t)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let C={},H=CT(t.name);C[H]=t.fragment.inputs.map((w)=>({name:w.name,type:HT(w,C)}));let A={};for(let[w,X]of t.fragment.inputs.entries())A[X.name]=AT(t.args[w],X);let{chainId:_}=g.getChainConfig(n),G={chainId:Number(_),verifyingContract:Zo.getAddress(o)},M=W0(G);return{domain:G,message:A,primaryType:H,types:{EIP712Domain:M,...C}}}function lT(n,y){if(!Array.isArray(n)||n.length===0)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[T,o]of n.entries())if(X0(o,T),y!==void 0&&o.chainId!==y)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${T}: authorization chainId (${o.chainId}) does not match transaction chainId (${y})`}})}var g,Zo,_T,G0=(n)=>typeof n==="string"&&/^0x[a-fA-F0-9]{64}$/.test(n),$H=(n)=>{try{return typeof n==="string"&&!!Zo.getAddress(n)}catch{return!1}};var _y=S(()=>{g=require("@swapkit/helpers"),Zo=require("ethers"),_T=require("ts-pattern")});var B0;var M0=S(()=>{B0=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function Io({chain:n=R.Chain.Ethereum,provider:y,signer:T,isEIP1559Compatible:o=!0}){return{approve:KH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),approvedAmount:Z0({chain:n,provider:y}),broadcastTransaction:y.broadcastTransaction,call:QT({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),createApprovalTx:mH({chain:n,provider:y,signer:T}),createContract:BT({chain:n,provider:y}),createContractTxObject:Jo({chain:n,provider:y}),createTransaction:XT({chain:n,provider:y,signer:T}),createTransferTx:XT({chain:n,provider:y,signer:T}),EIP1193SendTransaction:Eo(y),estimateCall:J0({provider:y,signer:T}),estimateGasLimit:iH({chain:n,provider:y,signer:T}),estimateGasPrices:Yo({chain:n,isEIP1559Compatible:o,provider:y}),estimateTransactionFee:rH({chain:n,isEIP1559Compatible:o,provider:y}),getAddress:()=>{return T?T.getAddress():void 0},getBalance:Hy(n).getBalance,getNetworkParams:wT(n),isApproved:jH({chain:n,provider:y}),sendTransaction:Y0({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),signAuthorization:hH({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:cH({chain:n,isEIP1559Compatible:o,provider:y,signer:T}),validateAddress:wy}}function wy(n){try{return Sn.getAddress(n),!0}catch{return!1}}function $o(n){return n instanceof Sn.BrowserProvider}function qy(n,y,T){return new Sn.Contract(n,Sn.Interface.from(y),T)}function BT({provider:n}){return function(T,o){return new Sn.Contract(T,Sn.Interface.from(o),n)}}function MT({abi:n,funcName:y}){let T=n.find((o)=>o.name===y);if(!T)throw new R.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:y});return T.stateMutability&&bH.includes(T.stateMutability)}function L0(n){return Sn.getAddress(n)}function Eo(n){return function({value:T,...o}){if(!$o(n))throw new R.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:f,gasPrice:t,maxFeePerGas:C,maxPriorityFeePerGas:H,...A}=o;return n.send("eth_sendTransaction",[{...A,value:Ay(BigInt(T||0))}])}}function Q0(n,y){let T=bo(n,y);if(T)return Sn.getAddress(T.toLowerCase());throw new R.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function bo({chain:n,symbol:y,ticker:T},o){try{let f=n===R.Chain.BinanceSmartChain&&y==="BNB"&&T==="BNB",t=n===R.Chain.Hyperevm&&y==="HYPE"&&T==="HYPE",C=n===o&&y===o&&T===o,H=VH.includes(n)&&y==="ETH"&&T==="ETH";if(C||f||t||H)return LT[o];return Sn.getAddress(y.slice(T.length+1).replace(/^0X/,""))}catch{return null}}function Jo({provider:n}){return async({contractAddress:y,abi:T,funcName:o,funcParams:f=[],txOverrides:t})=>qy(y,T,n).getFunction(o).populateTransaction(...f.concat(t).filter((C)=>typeof C<"u"))}function Yo({chain:n,provider:y,isEIP1559Compatible:T=!0}){return WT.match(n).with(R.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:f,maxPriorityFeePerGas:t}=await y.getFeeData();if(!f||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Average),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Average)},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).with(R.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:f}=await y.getFeeData();if(!f)throw new R.SwapKitError("toolbox_evm_no_fee_data");let t=f*12n/10n;return{[R.FeeOption.Average]:{gasPrice:t},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:f,maxPriorityFeePerGas:t,gasPrice:C}=await y.getFeeData();if(T){if(f===null||t===null)throw new R.SwapKitError("toolbox_evm_no_fee_data");return{[R.FeeOption.Average]:{maxFeePerGas:f,maxPriorityFeePerGas:t},[R.FeeOption.Fast]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fast),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{maxFeePerGas:R.applyFeeMultiplierToBigInt(f,R.FeeOption.Fastest),maxPriorityFeePerGas:R.applyFeeMultiplierToBigInt(t,R.FeeOption.Fastest)}}}if(!C)throw new R.SwapKitError("toolbox_evm_no_gas_price");return{[R.FeeOption.Average]:{gasPrice:C},[R.FeeOption.Fast]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fast)},[R.FeeOption.Fastest]:{gasPrice:R.applyFeeMultiplierToBigInt(C,R.FeeOption.Fastest)}}}catch(f){throw new R.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}})}function QT({provider:n,isEIP1559Compatible:y,signer:T,chain:o}){return async function({callProvider:t,contractAddress:C,abi:H,funcName:A,funcParams:_=[],txOverrides:G={},feeOption:M=R.FeeOption.Fast}){let w=t||n;if(!C)throw new R.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let X=MT({abi:H,funcName:A});if(X&&$o(w)&&T){let Z=Jo({chain:o,provider:w}),z=G?.from||await T?.getAddress(),L=await Z({abi:H,contractAddress:C,funcName:A,funcParams:_,txOverrides:{...G,from:z}});return Eo(w)(L)}let W=qy(C,H,w);if(X){if(!T)throw new R.SwapKitError("toolbox_evm_no_signer");let Z=G?.from||await T.getAddress();if(!Z)throw new R.SwapKitError("toolbox_evm_no_signer_address");let z=W.connect(T),L=Yo({chain:o,isEIP1559Compatible:y,provider:n}),{maxFeePerGas:N,maxPriorityFeePerGas:J,gasPrice:U}=(await L())[M],B=await W.getFunction(A).estimateGas(..._,G),q=await z[A](..._,{...G,gasLimit:B,gasPrice:U,maxFeePerGas:N,maxPriorityFeePerGas:J,nonce:G?.nonce||await w.getTransactionCount(Z)});return typeof q?.hash==="string"?q?.hash:q}let l=await W[A]?.(..._);return typeof l?.hash==="string"?l?.hash:l}}function Z0({provider:n,chain:y}){return function({assetAddress:o,spenderAddress:f,from:t}){return QT({chain:y,isEIP1559Compatible:!0,provider:n})({abi:Po.erc20ABI,contractAddress:o,funcName:"allowance",funcParams:[t,f]})}}function jH({provider:n,chain:y}){return async function({assetAddress:o,spenderAddress:f,from:t,amount:C=Uy}){let H=await Z0({chain:y,provider:n})({assetAddress:o,from:t,spenderAddress:f});return R.SwapKitNumber.fromBigInt(H).gte(R.SwapKitNumber.fromBigInt(BigInt(C)))}}function KH({signer:n,isEIP1559Compatible:y=!0,provider:T,chain:o}){return async function({assetAddress:t,spenderAddress:C,feeOptionKey:H=R.FeeOption.Fast,amount:A,gasLimitFallback:_,from:G,nonce:M}){let w=[C,BigInt(A||Uy)],X=await n?.getAddress()||G,W={abi:Po.erc20ABI,contractAddress:t,funcName:"approve",funcParams:w,signer:n,txOverrides:{from:X}};if($o(T)){let Z=Jo({chain:o,provider:T}),z=Eo(T),L=await Z(W);return z(L)}return QT({chain:o,isEIP1559Compatible:y,provider:T,signer:n})({...W,feeOption:H,funcParams:w,txOverrides:{from:X,gasLimit:_?BigInt(_.toString()):void 0,nonce:M}})}}function cH({signer:n,isEIP1559Compatible:y=!0,provider:T}){return async function({assetValue:f,memo:t,recipient:C,feeOptionKey:H=R.FeeOption.Fast,sender:A,..._}){let{hexlify:G,toUtf8Bytes:M}=await import("ethers"),w=f.getBaseValue("bigint"),X=f.chain,W=A||await n?.getAddress(),l=Y0({chain:X,isEIP1559Compatible:y,provider:T,signer:n});if(!W)throw new R.SwapKitError("toolbox_evm_no_from_address");if(f.isGasAsset){let U={..._,data:G(M(t||"")),feeOptionKey:H,from:W,to:C,value:w};return l(U)}if(!bo(f,X))throw new R.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:z,maxPriorityFeePerGas:L,gasPrice:N}=(await Yo({chain:X,isEIP1559Compatible:y,provider:T})())[H],J=await XT({chain:X,provider:T,signer:n})({assetValue:f,data:G(M(t||"")),gasPrice:N,maxFeePerGas:z,maxPriorityFeePerGas:L,memo:t,recipient:C,sender:W});return l(J)}}function J0({provider:n,signer:y}){return function({contractAddress:o,abi:f,funcName:t,funcParams:C=[],txOverrides:H}){if(!o)throw new R.SwapKitError("toolbox_evm_no_contract_address");let A=qy(o,f,n);return y?A.connect(y).getFunction(t).estimateGas(...C,H):A.getFunction(t).estimateGas(...C,H)}}function iH({provider:n,signer:y}){return async function({assetValue:o,recipient:f,memo:t,data:C,sender:H,funcName:A,funcParams:_,txOverrides:G}){let M=o.bigIntValue,w=o.isGasAsset?null:bo(o,o.chain);if(w&&A)return J0({provider:n,signer:y})({abi:Po.erc20ABI,contractAddress:w,funcName:A,funcParams:_,txOverrides:G});let{hexlify:X,toUtf8Bytes:W}=await import("ethers");return n.estimateGas({data:C?C:t?X(W(t)):void 0,from:H,to:f,value:M})}}function hH({signer:n}){if(!n)return;return(y)=>GT(n,y)}function Y0({provider:n,signer:y,isEIP1559Compatible:T=!0,chain:o}){return async function({feeOptionKey:t=R.FeeOption.Fast,...C}){let{from:H,to:A,data:_,value:G,...M}=C;if(!y)throw new R.SwapKitError("toolbox_evm_no_signer");if(!A)throw new R.SwapKitError("toolbox_evm_no_to_address");let w={...M,data:_||"0x",from:H,to:A,value:BigInt(G||0)};if($o(n))return Eo(n)(w);let X=H||await y.getAddress(),W=C.nonce||await n.getTransactionCount(X),l=(await n.getNetwork()).chainId,Z=JT(w,T);if(Z==="eip7702")lT(w.authorizations||[],l);let z=WT.match(Z).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...w,chainId:l,nonce:W,type:z,...Z==="eip7702"&&{authorizationList:w.authorizations}},N=Yo({chain:o,isEIP1559Compatible:T,provider:n}),U=Z!=="legacy"&&!(w.maxFeePerGas&&w.maxPriorityFeePerGas)||!w.gasPrice?Object.entries((await N())[t]).reduce((q,[Y,D])=>({...q,[Y]:Ay(BigInt(D))}),{}):{},B;try{B=Ay(w.gasLimit||await n.estimateGas(L)*11n/10n)}catch(q){throw new R.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:q})}try{let q={...L,gasLimit:B,...U};try{return(await y.sendTransaction(q)).hash}catch{let Y=await y.signTransaction({...q,from:X});return(await n.broadcastTransaction(Y)).hash}}catch(q){throw new R.SwapKitError("toolbox_evm_error_sending_transaction",{error:q})}}}function XT({provider:n,signer:y}){return async function({assetValue:o,memo:f,recipient:t,data:C,sender:H,maxFeePerGas:A,maxPriorityFeePerGas:_,gasPrice:G,...M}){let w=o.getBaseValue("bigint"),X=o.chain,W=H||await y?.getAddress();if(!W)throw new R.SwapKitError("toolbox_evm_no_from_address");if(R.isGasAsset(o)){let{hexlify:z,toUtf8Bytes:L}=await import("ethers");return{...M,data:C||z(L(f||"")),from:W,to:t,value:w}}let l=bo(o,X);if(!l)throw new R.SwapKitError("toolbox_evm_no_contract_address");return Jo({chain:o.chain,provider:n})({abi:Po.erc20ABI,contractAddress:l,funcName:"transfer",funcParams:[t,w],txOverrides:{from:W,gasPrice:G,maxFeePerGas:A,maxPriorityFeePerGas:_}})}}function mH({provider:n,signer:y,chain:T}){return async function({assetAddress:f,spenderAddress:t,amount:C,from:H}){let A=await y?.getAddress()||H,_=Jo({chain:T,provider:n}),G=["bigint","number"].includes(typeof C)?C:C||Uy;return await _({abi:Po.erc20ABI,contractAddress:f,funcName:"approve",funcParams:[t,BigInt(G)],txOverrides:{from:A}})}}function rH({provider:n,isEIP1559Compatible:y=!0,chain:T}){return async function({feeOption:f=R.FeeOption.Fast,...t}){let H=await Yo({chain:T,isEIP1559Compatible:y,provider:n})(),A=await n.estimateGas(t),_=R.AssetValue.from({chain:T}),{gasPrice:G,maxFeePerGas:M,maxPriorityFeePerGas:w}=H[f];if(!y&&G)return _.set(R.SwapKitNumber.fromBigInt(G*A,_.decimal));if(M&&w){let X=(M+w)*A;return _.set(R.SwapKitNumber.fromBigInt(X,_.decimal))}throw new R.SwapKitError("toolbox_evm_no_gas_price")}}var R,Po,Sn,WT,Uy,bH,vH,LT,VH,jy=(n)=>n.type===4||(n.authorizations?.length??0)>0,ZT=(n)=>!jy(n)&&(n.type===2||!!n.maxFeePerGas||!!n.maxPriorityFeePerGas),JT=(n,y=!0)=>{if(jy(n))return"eip7702";if(ZT(n)||y)return"eip1559";return"legacy"};var Ky=S(()=>{Vy();_y();R=require("@swapkit/helpers"),Po=require("@swapkit/helpers/contracts"),Sn=require("ethers"),WT=require("ts-pattern"),Uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");bH=["payable","nonpayable"];vH=R.EVMChains.reduce((n,y)=>{return n[y]="0x0000000000000000000000000000000000000000",n},{}),LT={...vH,[R.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[R.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},VH=[R.Chain.Arbitrum,R.Chain.Aurora,R.Chain.Base,R.Chain.Optimism]});function cy(n){let y=wn(Cn.Chain.Ethereum)(n);async function T(o,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",t="aggregate",C=Cn.FeeOption.Fast){let H=await y.createContractTxObject({abi:B0,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=qT(n),t=Gy.match(o).with({phrase:Gy.P.string},({phrase:H})=>N0.HDNodeWallet.fromPhrase(H).connect(T)).with({signer:Gy.P.any},({signer:H})=>H).otherwise(()=>{return});return Io({chain:n,isEIP1559Compatible:f,provider:T,signer:t})}}var Cn,N0,Gy,iy,hy,my,ry,gy,dy,ay,z0,sy,ey,nf,of,yf,ff,ly,Tf,tf,Cf,Hf;var YT=S(()=>{M0();_y();Ky();Cn=require("@swapkit/helpers"),N0=require("ethers"),Gy=require("ts-pattern");iy=wn(Cn.Chain.Adi),hy=wn(Cn.Chain.Arbitrum),my=wn(Cn.Chain.Aurora),ry=wn(Cn.Chain.Avalanche),gy=wn(Cn.Chain.Base),dy=wn(Cn.Chain.Berachain),ay=wn(Cn.Chain.BinanceSmartChain),z0=wn(Cn.Chain.Botanix),sy=wn(Cn.Chain.Core),ey=wn(Cn.Chain.Corn),nf=wn(Cn.Chain.Cronos),of=wn(Cn.Chain.Gnosis),yf=wn(Cn.Chain.Hyperevm),ff=wn(Cn.Chain.Polygon),ly=wn(Cn.Chain.Sonic),Tf=wn(Cn.Chain.Unichain),tf=wn(Cn.Chain.XLayer),Cf=wn(Cn.Chain.Monad),Hf=wn(Cn.Chain.MegaETH)});var D0;var O0=S(()=>{D0=[{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 NT(n){return new Af.Contract(dH,D0,n)}function R0(n){return async function(){let T=NT(n);if(T&&"l1BaseFee"in T)return await T?.l1BaseFee();return}}function x0(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 F0(n){return async function(T){let o=NT(n),f=await x0(n)(T);if(o&&"getL1Fee"in o)return o.getL1Fee(f)}}function p0(n){return async function(T){let f=(await n.getFeeData()).gasPrice??0n,t=await n.estimateGas(T);return f*t}}function aH(n){return async function(T){let o=await F0(n)(T)??0n,f=await p0(n)(T);return o+f}}function sH(n){return async function(T){let o=NT(n),f=await x0(n)(T);if(o&&"getL1GasUsed"in o)return o.getL1GasUsed(f)}}function eH(n){return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:o,gasPrice:f}=await n.getFeeData(),t=await R0(n)(),C=f;if(!(T&&o))throw new Hn.SwapKitError("toolbox_evm_no_fee_data");return{[Hn.FeeOption.Average]:{gasPrice:C,l1GasPrice:t,maxFeePerGas:T,maxPriorityFeePerGas:o},[Hn.FeeOption.Fast]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fast),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fast),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fast)},[Hn.FeeOption.Fastest]:{gasPrice:Hn.applyFeeMultiplierToBigInt(C,Hn.FeeOption.Fastest),l1GasPrice:Hn.applyFeeMultiplierToBigInt(t||0n,Hn.FeeOption.Fastest),maxFeePerGas:T,maxPriorityFeePerGas:Hn.applyFeeMultiplierToBigInt(o,Hn.FeeOption.Fastest)}}}catch(T){throw new Hn.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}function _f({provider:n,...y}){let T=Xy.match(y).with({phrase:Xy.P.string},({phrase:t})=>Af.HDNodeWallet.fromPhrase(t).connect(n)).with({signer:Xy.P.any},({signer:t})=>t).otherwise(()=>{return}),o=Io({provider:n,signer:T}),f=R0(n);return{...o,estimateGasPrices:eH(n),estimateL1Gas:sH(n),estimateL1GasCost:F0(n),estimateL2GasCost:p0(n),estimateTotalGasCost:aH(n),getBalance:Hy(Hn.Chain.Optimism).getBalance,getL1GasPrice:f}}var Hn,Af,Xy,dH="0x420000000000000000000000000000000000000f";var zT=S(()=>{Vy();O0();Ky();Hn=require("@swapkit/helpers"),Af=require("ethers"),Xy=require("ts-pattern")});var u0={};Mn(u0,{validateEVMAddress:()=>wy,toChecksumAddress:()=>L0,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>jy,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getEvmToolboxAsync:()=>k0,getEvmToolbox:()=>DT,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>Q0,createContract:()=>qy,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>z0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});function DT(n,y){return S0.match(n).with(Un.Chain.Adi,()=>iy(y)).with(Un.Chain.Arbitrum,()=>hy(y)).with(Un.Chain.Aurora,()=>my(y)).with(Un.Chain.Avalanche,()=>ry(y)).with(Un.Chain.Base,()=>gy(y)).with(Un.Chain.Berachain,()=>dy(y)).with(Un.Chain.BinanceSmartChain,()=>ay(y)).with(Un.Chain.Botanix,()=>ly(y)).with(Un.Chain.Core,()=>sy(y)).with(Un.Chain.Corn,()=>ey(y)).with(Un.Chain.Cronos,()=>nf(y)).with(Un.Chain.Ethereum,()=>cy(y)).with(Un.Chain.Gnosis,()=>of(y)).with(Un.Chain.Hyperevm,()=>yf(y)).with(Un.Chain.Optimism,()=>_f(y)).with(Un.Chain.Polygon,()=>ff(y)).with(Un.Chain.Sonic,()=>ly(y)).with(Un.Chain.Unichain,()=>Tf(y)).with(Un.Chain.XLayer,()=>tf(y)).with(Un.Chain.Monad,()=>Cf(y)).with(Un.Chain.MegaETH,()=>Hf(y)).exhaustive()}async function k0(n,y){let T={...y,provider:y?.provider||await UT(n)};return DT(n,T)}var Un,S0;var OT=S(()=>{_y();YT();zT();Un=require("@swapkit/helpers"),S0=require("ts-pattern");Ky();YT();zT()});var P0;var I0=S(()=>{((T)=>{T.Test="goerli";T.Main="homestead"})(P0||={})});var $0={};Mn($0,{validateEVMAddress:()=>wy,validateAuthorizations:()=>lT,validateAuthorization:()=>X0,toHexString:()=>Ay,toChecksumAddress:()=>L0,signAuthorization:()=>GT,parseEIP712FromEVMTx:()=>EH,isStateChangingCall:()=>MT,isEIP7702Transaction:()=>jy,isEIP1559Transaction:()=>ZT,isBrowserProvider:()=>$o,getTokenAddress:()=>bo,getProviderSync:()=>l0,getProvider:()=>UT,getNetworkParams:()=>wT,getIsEIP1559Compatible:()=>qT,getEvmToolboxAsync:()=>k0,getEvmToolbox:()=>DT,getEvmApi:()=>Hy,getEstimateGasPrices:()=>Yo,getEVMTxType:()=>JT,getEIP1193SendTransaction:()=>Eo,getCreateContractTxObject:()=>Jo,getCreateContract:()=>BT,getChecksumAddressFromAsset:()=>Q0,createCustomEvmApi:()=>PH,createContract:()=>qy,buildEIP712DomainType:()=>W0,XLayerToolbox:()=>tf,UNIToolbox:()=>Tf,SONICToolbox:()=>ly,OPToolbox:()=>_f,MONADToolbox:()=>Cf,MEGAETHToolbox:()=>Hf,MAX_APPROVAL:()=>Uy,MATICToolbox:()=>ff,HYPEREVMToolbox:()=>yf,GNOToolbox:()=>of,EthNetwork:()=>P0,ETHToolbox:()=>cy,ContractAddress:()=>LT,CROToolbox:()=>nf,CORNToolbox:()=>ey,COREToolbox:()=>sy,BotanixToolbox:()=>z0,BaseEVMToolbox:()=>Io,BSCToolbox:()=>ay,BERAToolbox:()=>dy,BASEToolbox:()=>gy,AVAXToolbox:()=>ry,AURORAToolbox:()=>my,ARBToolbox:()=>hy,ADIToolbox:()=>iy});module.exports=Jn($0);var RT=S(()=>{Vy();_y();OT();I0()});async function FT(n,y){let T=await fetch(`${c0}${n}`,{...y,headers:{project_id:K0,...y?.headers}});if(!T.ok)throw Error(`Blockfrost API error: ${T.status} ${T.statusText}`);return T.json()}async function i0(n){try{return await FT(`/addresses/${n}/utxos`)}catch{return[]}}async function oA(){return(await FT("/blocks/latest")).slot}async function yA(){let n=await FT("/epochs/latest/parameters"),y={PlutusScriptV1:n.cost_models.PlutusV1?Object.values(n.cost_models.PlutusV1):[],PlutusScriptV2:n.cost_models.PlutusV2?Object.values(n.cost_models.PlutusV2):[],PlutusScriptV3:n.cost_models.PlutusV3?Object.values(n.cost_models.PlutusV3):[]};return{collateralPercent:new Fn.default(n.collateral_percent),languageView:y,lovelacePerUtxoWord:new Fn.default(0),maxValueSize:Number.parseInt(n.max_val_size,10),minFeeA:new Fn.default(n.min_fee_a),minFeeB:new Fn.default(n.min_fee_b),minFeeRefScriptCostPerByte:new Fn.default(15),priceMem:new Fn.default(n.price_mem),priceSteps:new Fn.default(n.price_step),stakeKeyDeposit:new Fn.default(2000000),utxoCostPerByte:new Fn.default(n.coins_per_utxo_size)}}async function b0(n){let y=await fetch(`${c0}/tx/submit`,{body:Buffer.from(n,"hex"),headers:{"Content-Type":"application/cbor",project_id:K0},method:"POST"});if(!y.ok){let T=await y.text();throw Error(`Transaction submission failed: ${T}`)}return y.json()}function fA(n,y){return n.map((T)=>{let o=T.amount.find((C)=>C.unit==="lovelace"),f=o?new Fn.default(o.quantity):new Fn.default(0),t=T.amount.filter((C)=>C.unit!=="lovelace").map((C)=>({amount:new Fn.default(C.quantity),assetName:C.unit.slice(56),policyId:C.unit.slice(0,56)}));return{address:y,amount:f,index:T.output_index,tokens:t,txId:T.tx_hash}})}async function TA(n){try{let y=await i0(n),T=0n,o=new Map;for(let C of y){if(!C.amount||!Array.isArray(C.amount))continue;for(let H of C.amount){let{unit:A,quantity:_}=H;if(A==="lovelace")T+=BigInt(_);else{let G=o.get(A)||0n;o.set(A,G+BigInt(_))}}}let f=[],{baseDecimal:t}=An.getChainConfig(An.Chain.Cardano);if(T>0n)f.push(An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:t,value:T.toString()}));for(let[C,H]of o)f.push(An.AssetValue.from({asset:`${An.Chain.Cardano}.${C}`,value:H.toString()}));if(f.length===0)return[An.AssetValue.from({chain:An.Chain.Cardano})];return f}catch(y){let T=y instanceof Error?y.message:String(y);return console.error(`Cardano balance fetch error: ${T}`),[An.AssetValue.from({chain:An.Chain.Cardano})]}}function h0(n){if(!n||typeof n!=="string")return!1;try{let y=v0.bech32.decode(n,120);return y.prefix==="addr"||y.prefix==="addr_test"}catch{return!1}}async function tA(n,y=0,T=0){let o=await V0.mnemonicToSeed(n,""),t=(await j0.Bip32PrivateKey.fromEntropy(Buffer.from(o.slice(0,64)))).derive(xT+1852).derive(xT+1815).derive(xT+y),C=t.derive(0).derive(T),H=C.toBip32PublicKey().toPublicKey().toBytes(),A=Nn.crypto.hash28(H),G=t.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Nn.crypto.hash28(G),w={hash:A,type:Nn.types.HashType.ADDRESS},X={hash:M,type:Nn.types.HashType.ADDRESS},l=new Nn.address.BaseAddress(nA,w,X).getBech32(),Z=C.toPrivateKey();return{getAddress:()=>l,publicKey:H,publicKeyHash:A,signTransaction:async(z)=>{try{let L=await import("@stricahq/cbors"),N=Buffer.from(z,"hex"),J=L.Decoder.decode(N),[U,B,q,Y]=J.value,D=L.Encoder.encode(U),Q=Nn.crypto.hash32(D),O=Z.sign(Q),x=B instanceof Map?B:new Map,k=x.get(E0)||[];k.push([H,O]),x.set(E0,k);let u=[U,x,q,Y];return L.Encoder.encode(u).toString("hex")}catch(L){throw new An.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function CA(n){let y,T,o;async function f(){if(!o)o=await yA();return o}async function t(){if(y!==void 0)return y;if(n&&"phrase"in n&&n.phrase){let X=n.index??0;return y=await tA(n.phrase,0,X),y}if(n&&"signer"in n&&n.signer)return y=n.signer,y;return}async function C(){if(T)return T;let X=await t();if(!X)return"";if("getAddress"in X)return T=await X.getAddress(),T;return""}async function H(X){let W=X||await C();if(!W)throw new An.SwapKitError("core_wallet_connection_not_found");return TA(W)}async function A(X){if(X)try{let{tx:z}=await _(X),L=z.getFee();return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let W=await f(),l=400,Z=W.minFeeB.plus(W.minFeeA.times(l));return An.AssetValue.from({chain:An.Chain.Cardano,fromBaseDecimal:6,value:Z.toString()})}async function _({sender:X="",recipient:W,assetValue:l,memo:Z,pureLovelaceOnly:z=!1}){let L=X||await C();if(!L)throw new An.SwapKitError("core_wallet_connection_not_found");let[N,J,U]=await Promise.all([i0(L),oA(),f()]),B=N.filter((Tn)=>z?Tn.amount.every((on)=>on.unit==="lovelace"):Tn.amount.some((on)=>on.unit==="lovelace")).sort((Tn,on)=>{let Zn=Tn.amount.some((On)=>On.unit!=="lovelace"),Bn=on.amount.some((On)=>On.unit!=="lovelace");if(Zn===Bn)return 0;return Zn?1:-1}),q=Nn.utils.getAddressFromString(L),Y=Nn.utils.getAddressFromString(W),D=fA(B,q),Q=new Fn.default(l.getBaseValue("string")),O=[{address:Y,amount:Q,tokens:[]}],x;if(Z){let Tn=new Map;Tn.set("msg",[Z]),x={metadata:[{data:Tn,label:674}]}}let k={...U,minFeeB:U.minFeeB.plus(U.minFeeA.times(4))},j=new Nn.Transaction({protocolParams:k}).paymentTransaction({auxiliaryData:x,changeAddress:q,inputs:D,outputs:O,ttl:J+3600}),{payload:s}=j.buildTransaction();return{tx:j,unsignedTx:s}}async function G(X){let W=await t();if(!W||!("signTransaction"in W))throw new An.SwapKitError("core_wallet_connection_not_found");return W.signTransaction(X)}async function M({recipient:X,assetValue:W,memo:l}){let Z=await t();if(!Z||!("signTransaction"in Z))throw new An.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:z}=await _({assetValue:W,memo:l,recipient:X,sender:await C()}),L=await G(z);return await b0(L)}async function w(X){let W=await G(X);return await b0(W)}return{createTransaction:_,estimateTransactionFee:A,getAddress:C,getBalance:H,signAndBroadcastTransaction:w,signTransaction:G,transfer:M,validateAddress:h0}}var v0,V0,j0,Nn,An,Fn,K0="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",c0="https://cardano-mainnet.blockfrost.io/api/v0",nA,xT=2147483648,E0=0;var m0=S(()=>{v0=require("@scure/base"),V0=require("@scure/bip39"),j0=require("@stricahq/bip32ed25519"),Nn=require("@stricahq/typhonjs"),An=require("@swapkit/helpers"),Fn=TT(require("bignumber.js")),nA=Nn.types.NetworkId.MAINNET});var pT={};Mn(pT,{validateCardanoAddress:()=>h0,getCardanoToolbox:()=>CA});module.exports=Jn(pT);var ST=S(()=>{m0()});function Wy(n){return hn.base64.encode(Uint8Array.from(hn.bech32.fromWords(hn.bech32.decode(n).words)))}function By(n,y="thor"){return hn.bech32.encode(y,hn.bech32.toWords(hn.base64.decode(n)))}function HA(n){return hn.base64.encode(n)}function AA(n){if(!n.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new r0.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hn.base64.decode(n)}var hn,r0;var kT=S(()=>{hn=require("@scure/base"),r0=require("@swapkit/helpers")});function an(n){switch(n){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return a0;case b.Chain.Noble:return s0;default:return d0}}async function sn(n){let y=await import("@cosmjs/stargate"),T=y.StargateClient??y.default?.StargateClient,o=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return T.connect({headers:o,url:n})}async function No(n,y,T={}){let o=await import("@cosmjs/stargate"),f=o.SigningStargateClient??o.default?.SigningStargateClient,t=o.GasPrice??o.default?.GasPrice,C=typeof T==="string"?T:"0.0003uatom",H=typeof T==="string"?{}:T;return f.connectWithSigner(n,y,{gasPrice:t.fromString(C),...H})}async function PT(n,y){let T=await import("@cosmjs/stargate");return(T.SigningStargateClient??T.default?.SigningStargateClient).offline(n,y)}async function IT({sender:n,recipient:y,assetValue:T,memo:o="",feeRate:f,sequence:t,accountNumber:C}){let{chain:H,chainId:A}=T,_=await b.getRPCUrl(H),M=await(await sn(_)).getAccount(n);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});let w=b.AssetValue.from({chain:H}),X=to(w.symbol),W=an(H),l=X&&f?{amount:[{amount:f.toString(),denom:X}],gas:W.gas}:W,Z={amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol)}],fromAddress:n,toAddress:y};return{accountNumber:C??M.accountNumber,chainId:A,fee:l,memo:o,msgs:[{typeUrl:_A(H),value:Z}],sequence:t??M.sequence}}var b,uT="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",g0="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",d0,a0,s0,to=(n,y=!1)=>{if(y)return n.toLowerCase();switch(n){case"uUSK":case"USK":return uT;case"uYUM":case"YUM":return g0;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return n}},My=({symbol:n,chain:y})=>{if(y===b.Chain.Maya)return(n.toUpperCase()!=="CACAO"?n:`${b.Chain.Maya}.${n}`).toUpperCase();if(y===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(n.toUpperCase())?`${b.Chain.THORChain}.${n}`:n).toUpperCase();return to(n,!1)},_A=(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})}},UA,$T=(n,y)=>{let T=UA[n.toLowerCase()];if(!T)return b.AssetValue.from({asset:n,fromBaseDecimal:8,value:y});let{chain:o,asset:f,decimals:t}=T,C=o?{chain:o}:{asset:f};return b.AssetValue.from({...C,fromBaseDecimal:t,value:y})};var Ly=S(()=>{b=require("@swapkit/helpers"),d0={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},a0={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},s0={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};UA={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},[uT.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var e0={};Mn(e0,{$root:()=>p});var Ln,v,un,I,p;var nC=S(()=>{Ln=TT(require("protobufjs/minimal.js")),v=Ln.default.Reader,un=Ln.default.Writer,I=Ln.default.util,p=Ln.default.roots.default||(Ln.default.roots.default={});p.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 p.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 p.common.Asset)return o;let f=new p.common.Asset;if(o.chain!=null)f.chain=String(o.chain);if(o.symbol!=null)f.symbol=String(o.symbol);if(o.ticker!=null)f.ticker=String(o.ticker);if(o.synth!=null)f.synth=Boolean(o.synth);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.chain="",t.symbol="",t.ticker="",t.synth=!1;if(o.chain!=null&&o.hasOwnProperty("chain"))t.chain=o.chain;if(o.symbol!=null&&o.hasOwnProperty("symbol"))t.symbol=o.symbol;if(o.ticker!=null&&o.hasOwnProperty("ticker"))t.ticker=o.ticker;if(o.synth!=null&&o.hasOwnProperty("synth"))t.synth=o.synth;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Coin=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.asset=null,y.prototype.amount="",y.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.asset!=null&&Object.hasOwnProperty.call(o,"asset"))p.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 p.common.Coin;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:C.asset=p.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=p.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 p.common.Coin)return o;let f=new p.common.Coin;if(o.asset!=null){if(typeof o.asset!=="object")throw TypeError(".common.Coin.asset: object expected");f.asset=p.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=p.common.Asset.toObject(o.asset,f);if(o.amount!=null&&o.hasOwnProperty("amount"))t.amount=o.amount;if(o.decimals!=null&&o.hasOwnProperty("decimals"))if(typeof o.decimals==="number")t.decimals=f.longs===String?String(o.decimals):o.decimals;else t.decimals=f.longs===String?I.Long.prototype.toString.call(o.decimals):f.longs===Number?new I.LongBits(o.decimals.low>>>0,o.decimals.high>>>0).toNumber():o.decimals;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.PubKeySet=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.secp256k1="",y.prototype.ed25519="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.secp256k1!=null&&Object.hasOwnProperty.call(o,"secp256k1"))f.uint32(10).string(o.secp256k1);if(o.ed25519!=null&&Object.hasOwnProperty.call(o,"ed25519"))f.uint32(18).string(o.ed25519);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.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 p.common.PubKeySet)return o;let f=new p.common.PubKeySet;if(o.secp256k1!=null)f.secp256k1=String(o.secp256k1);if(o.ed25519!=null)f.ed25519=String(o.ed25519);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.secp256k1="",t.ed25519="";if(o.secp256k1!=null&&o.hasOwnProperty("secp256k1"))t.secp256k1=o.secp256k1;if(o.ed25519!=null&&o.hasOwnProperty("ed25519"))t.ed25519=o.ed25519;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Tx=(()=>{function y(T){if(this.coins=[],this.gas=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.id="",y.prototype.chain="",y.prototype.fromAddress="",y.prototype.toAddress="",y.prototype.coins=I.emptyArray,y.prototype.gas=I.emptyArray,y.prototype.memo="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.id!=null&&Object.hasOwnProperty.call(o,"id"))f.uint32(10).string(o.id);if(o.chain!=null&&Object.hasOwnProperty.call(o,"chain"))f.uint32(18).string(o.chain);if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(26).string(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(34).string(o.toAddress);if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.common.Coin.encode(o.coins[t],f.uint32(42).fork()).ldelim();if(o.gas?.length)for(let t=0;t<o.gas.length;++t)p.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 p.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(p.common.Coin.decode(o,o.uint32()));break;case 6:if(!C.gas?.length)C.gas=[];C.gas.push(p.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=p.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=p.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 p.common.Tx)return o;let f=new p.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]=p.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]=p.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]=p.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]=p.common.Coin.toObject(o.gas[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.Fee=(()=>{function y(T){if(this.coins=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.coins=I.emptyArray,y.prototype.poolDeduct="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.coins?.length)for(let t=0;t<o.coins.length;++t)p.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 p.common.Fee;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.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=p.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 p.common.Fee)return o;let f=new p.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]=p.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]=p.common.Coin.toObject(o.coins[C],f)}if(o.poolDeduct!=null&&o.hasOwnProperty("poolDeduct"))t.poolDeduct=o.poolDeduct;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.ProtoUint=(()=>{function y(T){if(T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.value="",y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.value!=null&&Object.hasOwnProperty.call(o,"value"))f.uint32(10).string(o.value);return f},y.encodeDelimited=function(o,f){return this.encode(o,f).ldelim()},y.decode=function(o,f){if(!(o instanceof v))o=v.create(o);let t=f===void 0?o.len:o.pos+f,C=new p.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 p.common.ProtoUint)return o;let f=new p.common.ProtoUint;if(o.value!=null)f.value=String(o.value);return f},y.toObject=function(o,f){if(!f)f={};let t={};if(f.defaults)t.value="";if(o.value!=null&&o.hasOwnProperty("value"))t.value=o.value;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();p.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)p.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 p.types.MsgDeposit;while(o.pos<t){let H=o.uint32();switch(H>>>3){case 1:if(!C.coins?.length)C.coins=[];C.coins.push(p.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=p.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 p.types.MsgDeposit)return o;let f=new p.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]=p.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]=p.common.Coin.toObject(o.coins[C],f)}if(o.memo!=null&&o.hasOwnProperty("memo"))t.memo=o.memo;if(o.signer!=null&&o.hasOwnProperty("signer"))t.signer=f.bytes===String?I.base64.encode(o.signer,0,o.signer.length):f.bytes===Array?Array.prototype.slice.call(o.signer):o.signer;return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n.MsgSend=(()=>{function y(T){if(this.amount=[],T){for(let o=Object.keys(T),f=0;f<o.length;++f)if(T[o[f]]!=null)this[o[f]]=T[o[f]]}}return y.prototype.fromAddress=I.newBuffer([]),y.prototype.toAddress=I.newBuffer([]),y.prototype.amount=I.emptyArray,y.create=function(o){return new y(o)},y.encode=function(o,f){if(!f)f=un.create();if(o.fromAddress!=null&&Object.hasOwnProperty.call(o,"fromAddress"))f.uint32(10).bytes(o.fromAddress);if(o.toAddress!=null&&Object.hasOwnProperty.call(o,"toAddress"))f.uint32(18).bytes(o.toAddress);if(o.amount?.length)for(let t=0;t<o.amount.length;++t)p.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 p.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(p.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=p.cosmos.base.v1beta1.Coin.verify(o.amount[f]);if(t)return"amount."+t}}return null},y.fromObject=function(o){if(o instanceof p.types.MsgSend)return o;let f=new p.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]=p.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]=p.cosmos.base.v1beta1.Coin.toObject(o.amount[C],f)}return t},y.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},y})(),n})();p.cosmos=(()=>{let n={};return n.base=(()=>{let y={};return y.v1beta1=(()=>{let T={};return T.Coin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.Coin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.Coin)return t;let C=new p.cosmos.base.v1beta1.Coin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.DecCoin=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.denom="",o.prototype.amount="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.denom!=null&&Object.hasOwnProperty.call(t,"denom"))C.uint32(10).string(t.denom);if(t.amount!=null&&Object.hasOwnProperty.call(t,"amount"))C.uint32(18).string(t.amount);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecCoin;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.denom=t.string();break;case 2:A.amount=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.denom!=null&&t.hasOwnProperty("denom")){if(!I.isString(t.denom))return"denom: string expected"}if(t.amount!=null&&t.hasOwnProperty("amount")){if(!I.isString(t.amount))return"amount: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecCoin)return t;let C=new p.cosmos.base.v1beta1.DecCoin;if(t.denom!=null)C.denom=String(t.denom);if(t.amount!=null)C.amount=String(t.amount);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.denom="",H.amount="";if(t.denom!=null&&t.hasOwnProperty("denom"))H.denom=t.denom;if(t.amount!=null&&t.hasOwnProperty("amount"))H.amount=t.amount;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.IntProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.int="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.int!=null&&Object.hasOwnProperty.call(t,"int"))C.uint32(10).string(t.int);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.IntProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.int=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.int!=null&&t.hasOwnProperty("int")){if(!I.isString(t.int))return"int: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.IntProto)return t;let C=new p.cosmos.base.v1beta1.IntProto;if(t.int!=null)C.int=String(t.int);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.int="";if(t.int!=null&&t.hasOwnProperty("int"))H.int=t.int;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T.DecProto=(()=>{function o(f){if(f){for(let t=Object.keys(f),C=0;C<t.length;++C)if(f[t[C]]!=null)this[t[C]]=f[t[C]]}}return o.prototype.dec="",o.create=function(t){return new o(t)},o.encode=function(t,C){if(!C)C=un.create();if(t.dec!=null&&Object.hasOwnProperty.call(t,"dec"))C.uint32(10).string(t.dec);return C},o.encodeDelimited=function(t,C){return this.encode(t,C).ldelim()},o.decode=function(t,C){if(!(t instanceof v))t=v.create(t);let H=C===void 0?t.len:t.pos+C,A=new p.cosmos.base.v1beta1.DecProto;while(t.pos<H){let _=t.uint32();switch(_>>>3){case 1:A.dec=t.string();break;default:t.skipType(_&7);break}}return A},o.decodeDelimited=function(t){if(!(t instanceof v))t=new v(t);return this.decode(t,t.uint32())},o.verify=function(t){if(typeof t!=="object"||t===null)return"object expected";if(t.dec!=null&&t.hasOwnProperty("dec")){if(!I.isString(t.dec))return"dec: string expected"}return null},o.fromObject=function(t){if(t instanceof p.cosmos.base.v1beta1.DecProto)return t;let C=new p.cosmos.base.v1beta1.DecProto;if(t.dec!=null)C.dec=String(t.dec);return C},o.toObject=function(t,C){if(!C)C={};let H={};if(C.defaults)H.dec="";if(t.dec!=null&&t.hasOwnProperty("dec"))H.dec=t.dec;return H},o.prototype.toJSON=function(){return this.constructor.toObject(this,Ln.default.util.toJSONOptions)},o})(),T})(),y})(),n})()});async function zo(){let{$root:n}=await Promise.resolve().then(() => (nC(),e0)),y=await import("@cosmjs/proto-signing"),T=y.Registry??y.default?.Registry,o=await import("@cosmjs/stargate"),f=o.defaultRegistryTypes??o.default?.defaultRegistryTypes;return new T([...f,["/types.MsgSend",n.types.MsgSend],["/types.MsgDeposit",n.types.MsgDeposit]])}async function Co(n){let y=await import("@cosmjs/stargate"),T=y.AminoTypes??y.default?.AminoTypes,o=n===oC.Chain.THORChain?"thorchain":"mayachain";return new T({"/types.MsgDeposit":{aminoType:`${o}/MsgDeposit`,fromAmino:({signer:f,...t})=>({...t,signer:Wy(f)}),toAmino:({signer:f,...t})=>({...t,signer:By(f)})},"/types.MsgSend":{aminoType:`${o}/MsgSend`,fromAmino:({from_address:f,to_address:t,...C})=>({...C,fromAddress:Wy(f),toAddress:Wy(t)}),toAmino:({fromAddress:f,toAddress:t,...C})=>({...C,from_address:By(f),to_address:By(t)})}})}var oC;var ET=S(()=>{kT();oC=require("@swapkit/helpers")});function VT(n){let{assetValue:y,recipient:T,memo:o,sender:f,asSignable:t,asAminoMessage:C}=n;if(T)return fC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,recipient:T,sender:f});return TC({asAminoMessage:C,asSignable:t,assetValue:y,memo:o,sender:f})}async function fC({sender:n,recipient:y,assetValue:T,memo:o="",asSignable:f=!0,asAminoMessage:t=!1,sequence:C,accountNumber:H}){let A=T.chain,_=await zn.getRPCUrl(A),G=await yC({rpcUrl:_,sender:n}),{chainId:M}=zn.getChainConfig(A),w=bT({assetValue:T,recipient:y,sender:n}),X=f?await Ho(t?w:Ao(w),A):w;return{accountNumber:H||G.accountNumber,chainId:M,fee:an(A),memo:o,msgs:[X],sequence:C||G.sequence}}async function TC({sender:n,assetValue:y,memo:T="",asSignable:o=!0,asAminoMessage:f=!1,sequence:t,accountNumber:C}){let H=y.chain,A=await zn.getRPCUrl(H),_=await yC({rpcUrl:A,sender:n}),{chainId:G}=zn.getChainConfig(H),M=vT({assetValue:y,memo:T,sender:n}),w=o?await Ho(f?M:Ao(M),H):M;return{accountNumber:C||_.accountNumber,chainId:G,fee:an(H),memo:T,msgs:[w],sequence:t||_.sequence}}function Ao(n){if(n.type==="thorchain/MsgSend"||n.type==="mayachain/MsgSend")return n;return{...n,value:{...n.value,coins:n.value.coins.map((y)=>{let T=zn.AssetValue.from({asset:y.asset}),o=(T.isSynthetic?T.symbol.split("/")?.[1]:T.symbol)?.toUpperCase(),f=(T.isSynthetic?T.symbol.split("/")?.[0]:T.chain)?.toUpperCase();return{...y,asset:{chain:f,symbol:o,synth:T.isSynthetic,ticker:T.ticker}}})}}}async function Qy({chain:n,memo:y,msgs:T}){let o=await zo(),f=await Co(n),t={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:y,messages:T.map((C)=>f.fromAmino(C))}};return o.encode(t)}var zn,wA,qA,bT=({sender:n,recipient:y,assetValue:T})=>{return{type:`${T.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:T.getBaseValue("string"),denom:to(T.symbol,!0)}],from_address:n,to_address:y}}},vT=({sender:n,assetValue:y,memo:T=""})=>{return{type:`${y.chain===zn.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:y.getBaseValue("string"),asset:My(y)}],memo:T,signer:n}}},Uf=({sender:n,recipient:y,assetValue:T,memo:o})=>{return!y?vT({assetValue:T,memo:o,sender:n}):bT({assetValue:T,recipient:y,sender:n})},Ho=async(n,y)=>{return(await Co(y)).fromAmino(n)},yC=async({rpcUrl:n,sender:y})=>{let o=await(await sn(n)).getAccount(y);if(!o)throw new zn.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});return o};var tC=S(()=>{Ly();ET();zn=require("@swapkit/helpers"),wA=an(zn.Chain.THORChain).gas,qA=an(zn.Chain.Maya).gas});var CC=()=>{};var HC=S(()=>{CC()});var jT=S(()=>{kT();tC();ET();HC()});async function iT(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}async function KT({phrase:n,prefix:y,...T}){let o="derivationPath"in T?T.derivationPath:`${P.DerivationPath[T.chain]}/${T.index}`;return await qC.DirectSecp256k1HdWallet.fromMnemonic(n,{hdPaths:[wC.stringToPath(o)],prefix:y})}async function GA({privateKey:n,prefix:y}){let T=await import("@cosmjs/proto-signing");return(T.DirectSecp256k1Wallet??T.default?.DirectSecp256k1Wallet).fromKey(n,y)}function GC(n){return async function({signature:T,message:o,address:f}){let t=await n(f);if(!t?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let C=await import("@cosmjs/crypto"),H=C.Secp256k1Signature??C.default?.Secp256k1Signature,A=C.Secp256k1??C.default?.Secp256k1,_=H.fromFixedLength(_o.base64.decode(T));return A.verifySignature(_,_o.base64.decode(o),t.pubkey.value)}}function Jy({chain:n,...y}){let T=P.CosmosChainPrefixes[n],o="index"in y?y.index||0:0,f=P.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[n],{index:o})),t;async function C(){if(t)return t;return t=await Zy.match(y).with({phrase:Zy.P.string},({phrase:X})=>KT({derivationPath:f,phrase:X,prefix:T})).with({signer:Zy.P.any},({signer:X})=>X).otherwise(()=>{return}),t}async function H(X){let W=await P.getRPCUrl(n);return(await sn(W)).getAccount(X)}async function A(){let X=await C(),[W]=await X?.getAccounts()||[];return W?.address}async function _(){let X=await C(),[W]=await X?.getAccounts()||[];if(!W?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return _o.base64.encode(W?.pubkey)}async function G(X){let W=await C(),l=await A(),Z=await P.getRPCUrl(n);if(!(W&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await No(Z,W)).sign(l,X.msgs,X.fee,X.memo,{accountNumber:X.accountNumber,chainId:X.chainId,sequence:X.sequence})}async function M(X){let W=await C(),l=await A(),Z=await P.getRPCUrl(n);if(!(W&&l))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await No(Z,W)).signAndBroadcast(l,X.msgs,X.fee,X.memo);if(L.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function w({recipient:X,assetValue:W,memo:l="",feeRate:Z,feeOptionKey:z=P.FeeOption.Fast}){let L=await C(),N=await A();if(!(L&&N))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await P.getRPCUrl(n),U=P.AssetValue.from({chain:n}),B=My(U),q=Z||WA((await _C(n,AC[n]))[z],B),Y=await No(J,L),D=to(W.symbol),Q=[{amount:W.getBaseValue("string"),denom:D}],{transactionHash:O}=await Y.sendTokens(N,X,Q,q,l);return O}return{createPrivateKeyFromPhrase:MA(f),createTransaction:IT,fetchFeeRateFromSwapKit:iT,getAccount:H,getAddress:A,getBalance:async(X,W)=>{let l=await UC(n)(X),Z=await Promise.all(l.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 N=[P.Chain.THORChain,P.Chain.Maya].includes(n)&&(z.includes("/")||z.includes("˜"))?`${n}.${z}`:z;return $T(N,L)}));if(Z.length===0)return[P.AssetValue.from({chain:n})];return Z},getBalanceAsDenoms:UC(n),getFees:()=>_C(n,AC[n]),getPubKey:_,getSignerFromPhrase:({phrase:X,derivationPath:W})=>KT({derivationPath:P.derivationPathToString(W),index:o,phrase:X,prefix:T}),getSignerFromPrivateKey:async(X)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(X,T)},signAndBroadcastTransaction:M,signTransaction:G,transfer:w,validateAddress:lC(n),verifySignature:GC(H)}}async function lA(n,y){try{let o=(await cT.SwapKitApi.getGasRate()).find((f)=>f.chainId===n)?.value;return o?Number.parseFloat(o):y}catch{return y}}function XA({assetValue:{chain:n}}){return P.AssetValue.from({chain:n,value:BA(n)})}async function _C(n,y){let{chainId:T,baseDecimal:o}=P.getChainConfig(n),f=await iT(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 WA(n,y){return{amount:[{amount:n.getBaseValue("string"),denom:y}],gas:"200000"}}function BA(n){return{[P.Chain.Cosmos]:0.007,[P.Chain.Kujira]:0.02,[P.Chain.Noble]:0.01,[P.Chain.THORChain]:0.02,[P.Chain.Maya]:0.02,[P.Chain.Harbor]:0.02}[n]||0}function lC(n){let y=P.CosmosChainPrefixes[n];return function(o){if(!o.startsWith(y))return!1;try{let{prefix:f,words:t}=_o.bech32.decode(o);return _o.bech32.encode(f,t)===o.toLocaleLowerCase()}catch{return!1}}}function UC(n){return async function(T){let o=await P.getRPCUrl(n);return(await(await sn(o)).getAllBalances(T)).map((H)=>({...H,denom:H.denom.includes("/")?H.denom.toUpperCase():H.denom}))}}function MA(n){return async function(T){let o=await import("@cosmjs/crypto"),f=o.stringToPath??o.default?.stringToPath,t=o.Slip10Curve??o.default?.Slip10Curve,C=o.Slip10??o.default?.Slip10,H=o.EnglishMnemonic??o.default?.EnglishMnemonic,A=o.Bip39??o.default?.Bip39,_=new H(T),G=await A.mnemonicToSeed(_),{privkey:M}=C.derivePath(t.Secp256k1,G,f(n));return M}}var wC,qC,_o,P,cT,Zy,AC;var wf=S(()=>{Ly();wC=require("@cosmjs/crypto"),qC=require("@cosmjs/proto-signing"),_o=require("@scure/base"),P=require("@swapkit/helpers"),cT=require("@swapkit/helpers/api"),Zy=require("ts-pattern");AC={[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 LA({prefix:n,derivationPath:y}){return async function(o,f=0){let t=await import("@cosmjs/amino"),C=t.Secp256k1HdWallet??t.default?.Secp256k1HdWallet,H=await import("@cosmjs/crypto"),A=H.stringToPath??H.default?.stringToPath;return C.fromMnemonic(o,{hdPaths:[A(`${y}/${f}`)],prefix:n})}}function QA(n){return Uo.base64.encode(n)}function ZA(n){return async function({wallet:T,tx:o}){let{msgs:f,accountNumber:t,sequence:C,chainId:H,fee:A,memo:_}=typeof o==="string"?JSON.parse(o):o,G=(await T.getAccounts())?.[0]?.address||"",M=await Co(n),w=await zo(),X=await PT(T,{aminoTypes:M,registry:w}),W=[];for(let z of f){let L=await Ho(z,n);W.push(L)}let{signatures:[l]}=await X.sign(G,W,A,_,{accountNumber:t,chainId:H,sequence:C});return{bodyBytes:await Qy({chain:n,memo:_,msgs:f.map(Ao)}),signature:QA(l)}}}function JA({prefix:n,chain:y}){return async function(o,f,t,C,H){let A=await d.getRPCUrl(y),{encodeSecp256k1Pubkey:_,pubkeyToAddress:G}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:X}=JSON.parse(o),W=await XC(t,C),l=f.map((L)=>[G(_(Uo.base64.decode(L.pubKey)),n),Uo.base64.decode(L.signature)]),Z=await sn(A),{transactionHash:z}=await Z.broadcastTx(M(W,w,X,H,new Map(l)));return z}}async function XC(n,y,T=!0){let{createMultisigThresholdPubkey:o,encodeSecp256k1Pubkey:f}=(await import("@cosmjs/amino")).default;return o(n.map((t)=>f(Uo.base64.decode(t))),y,T)}function YA(n){return Uo.base64.decode(n)}async function NA({privateKey:n,message:y}){let{Secp256k1:T}=(await import("@cosmjs/crypto")).default,o=await T.createSignature(Uo.base64.decode(y),n);return Uo.base64.encode(Buffer.concat([o.r(32),o.s(32)]))}function hT({chain:n,...y}){let{isStagenet:T}=d.SKConfig.get("envs"),o=d.SKConfig.get("thornodeUrls"),f=n===d.Chain.Maya,t=vo.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":""}${d.CosmosChainPrefixes[n]}`,H="index"in y?y.index||0:0,A="derivationPath"in y&&y.derivationPath?y.derivationPath:d.updateDerivationPath(d.NetworkDerivationPath[n],{index:H}),_=Jy({chain:n,...y}),G=an(n),M;function w(){return M??=vo.match(y).with({phrase:vo.P.string},({phrase:L})=>_.getSignerFromPhrase({derivationPath:A,phrase:L})).with({signer:vo.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function X(){let L=await d.getRPCUrl(n),N=await w();if(!N)throw new d.SwapKitError("toolbox_cosmos_no_signer");let J=await zo(),U=await Co(n),B=await No(L,N,{aminoTypes:U,registry:J});return{signer:N,signingClient:B}}async function W({fee:L,memo:N,msgs:J}){let{signer:U,signingClient:B}=await X(),q=(await U.getAccounts())?.[0]?.address;if(!q)throw new d.SwapKitError("toolbox_cosmos_signer_not_defined");let Y=await B.signAndBroadcast(q,J,L,N);if(Y.code!==0)throw new d.SwapKitError("core_swap_transaction_error",{code:Y.code,message:Y.rawLog});return Y.transactionHash}async function l(){let L,N=`${t}/${f?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:J}}=await d.RequestClient.get(N);if(!J||Number.isNaN(J)||J<0)throw new d.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:J.toString()});L=new d.SwapKitNumber(J)}catch{L=new d.SwapKitNumber({decimal:d.getChainConfig(n).baseDecimal,value:f?1:0.02})}return{[d.FeeOption.Average]:L,[d.FeeOption.Fast]:L,[d.FeeOption.Fastest]:L}}async function Z({assetValue:L,memo:N="",recipient:J}){let{TxRaw:U}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:B,signingClient:q}=await X(),Y=(await B.getAccounts())?.[0]?.address;if(!Y)throw new d.SwapKitError("toolbox_cosmos_no_signer");let D="signAmino"in B,Q=Uf({assetValue:L,memo:N,recipient:J,sender:Y});if(D){let k=await Ho(Q,n),{signatures:u,authInfoBytes:j}=await q.sign(Y,[k],G,N),s=U.encode({authInfoBytes:j,bodyBytes:await Qy({chain:n,memo:N,msgs:[Q].map(Ao)}),signatures:u}).finish();return(await q.broadcastTx(s)).transactionHash}let O=Ao(Q),x=await Ho(O,n);return W({fee:G,memo:N,msgs:[x]})}async function z(L){let{signer:N,signingClient:J}=await X(),U=(await N.getAccounts())?.[0]?.address;if(!U)throw new d.SwapKitError("toolbox_cosmos_signer_not_defined");return J.sign(U,L.msgs,L.fee,L.memo,{accountNumber:L.accountNumber,chainId:L.chainId,sequence:L.sequence})}return{..._,broadcastMultisigTx:JA({chain:n,prefix:C}),buildAminoMsg:Uf,buildEncodedTxBody:Qy,convertToSignable:Ho,createDefaultAminoTypes:()=>Co(n),createDefaultRegistry:zo,createMultisig:XC,createTransaction:VT,deposit:Z,getFees:l,importSignature:YA,parseAminoMessageForDirectSigning:Ao,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(L,C)},secp256k1HdWalletFromMnemonic:LA({derivationPath:d.derivationPathToString(A),prefix:C}),signAndBroadcastTransaction:W,signMultisigTx:ZA(n),signTransaction:z,signWithPrivateKey:NA,transfer:Z}}var Uo,d,vo;var mT=S(()=>{jT();Ly();wf();Uo=require("@scure/base"),d=require("@swapkit/helpers"),vo=require("ts-pattern")});var wo,zA=(n,y)=>{switch(n){case wo.Chain.Cosmos:case wo.Chain.Kujira:case wo.Chain.Noble:return Jy({chain:n,...y});case wo.Chain.Maya:case wo.Chain.THORChain:return hT({chain:n,...y});default:throw new wo.SwapKitError("toolbox_cosmos_not_supported",{chain:n})}};var WC=S(()=>{wf();mT();wo=require("@swapkit/helpers");wf();mT()});var qf={};Mn(qf,{verifySignature:()=>GC,transferMsgAmino:()=>bT,toBase64:()=>HA,parseAminoMessageForDirectSigning:()=>Ao,getSignerFromPrivateKey:()=>GA,getSignerFromPhrase:()=>KT,getMsgSendDenom:()=>to,getFeeRateFromSwapKit:()=>lA,getDenomWithChain:()=>My,getDefaultChainFee:()=>an,getCosmosToolbox:()=>zA,getCosmosAddressValidator:()=>lC,getAssetFromDenom:()=>$T,fromBase64:()=>AA,fetchFeeRateFromSwapKit:()=>iT,estimateTransactionFee:()=>XA,depositMsgAmino:()=>vT,createTransaction:()=>VT,createThorchainToolbox:()=>hT,createStargateClient:()=>sn,createSigningStargateClient:()=>No,createOfflineStargateClient:()=>PT,createDefaultRegistry:()=>zo,createDefaultAminoTypes:()=>Co,createCosmosToolbox:()=>Jy,cosmosCreateTransaction:()=>IT,convertToSignable:()=>Ho,buildTransferTx:()=>fC,buildEncodedTxBody:()=>Qy,buildDepositTx:()=>TC,buildAminoMsg:()=>Uf,bech32ToBase64:()=>Wy,base64ToBech32:()=>By,YUM_KUJIRA_FACTORY_DENOM:()=>g0,USK_KUJIRA_FACTORY_DENOM:()=>uT,THORCHAIN_GAS_VALUE:()=>wA,MAYA_GAS_VALUE:()=>qA,DEFAULT_NOBLE_FEE_MAINNET:()=>s0,DEFAULT_KUJI_FEE_MAINNET:()=>a0,DEFAULT_COSMOS_FEE_MAINNET:()=>d0});module.exports=Jn(qf);var Gf=S(()=>{jT();WC();Ly()});function DA({builder:n,grouping:y="na",orders:T}){return{builder:n,grouping:y,orders:T,type:"order"}}function OA({cancels:n}){return{cancels:n,type:"cancel"}}function RA({cancels:n}){return{cancels:n,type:"cancelByCloid"}}function xA({oid:n,order:y}){return{oid:n,order:y,type:"modify"}}function FA({modifies:n}){return{modifies:n,type:"batchModify"}}function pA({asset:n,isCross:y,leverage:T}){return{asset:n,isCross:y,leverage:T,type:"updateLeverage"}}function SA({asset:n,isBuy:y,ntli:T}){return{asset:n,isBuy:y,ntli:T,type:"updateIsolatedMargin"}}function kA({asset:n,leverage:y}){return{asset:n,leverage:y,type:"topUpIsolatedOnlyMargin"}}function uA({time:n}){return{time:n,type:"scheduleCancel"}}function PA({amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f}){return{amount:n,hyperliquidChain:y,nonce:T,signatureChainId:o,toPerp:f,type:"usdClassTransfer"}}function IA({amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A}){return{amount:n,destination:y,destinationDex:T,fromSubAccount:o,hyperliquidChain:f,nonce:t,signatureChainId:C,sourceDex:H,token:A,type:"sendAsset"}}function $A({agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f}){return{agentAddress:n,agentName:y,hyperliquidChain:T,nonce:o,signatureChainId:f,type:"approveAgent"}}function EA({builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f}){return{builder:n,hyperliquidChain:y,maxFeeRate:T,nonce:o,signatureChainId:f,type:"approveBuilderFee"}}function bA({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 pn(...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 iA(n,y,T){if(T<y)return new Uint8Array([n+T]);if(T<=255)return new Uint8Array([n+y,T]);if(T<=65535)return new Uint8Array([n+y+1,T>>8,T&255]);return new Uint8Array([n+y+2,T>>>24&255,T>>>16&255,T>>>8&255,T&255])}function qo(n,y){let T=new Uint8Array(y),o=n;for(let f=y-1;f>=0;f-=1)T[f]=Number(o&0xffn),o>>=8n;return T}function BC(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 pn(new Uint8Array([205]),qo(n,2));if(n<=0xffffffffn)return pn(new Uint8Array([206]),qo(n,4));return pn(new Uint8Array([207]),qo(n,8))}if(n>=-32n)return new Uint8Array([256+Number(n)]);if(n>=-128n)return new Uint8Array([208,256+Number(n)]);if(n>=-32768n)return pn(new Uint8Array([209]),qo(BigInt.asUintN(16,n),2));if(n>=-2147483648n)return pn(new Uint8Array([210]),qo(BigInt.asUintN(32,n),4));return pn(new Uint8Array([211]),qo(BigInt.asUintN(64,n),8))}function QC(n){let y=cA.encode(n);if(y.length<32)return pn(new Uint8Array([160+y.length]),y);return pn(iA(217,0,y.length),y)}function hA(n){let y=n.map((o)=>rT(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 pn(T,...y)}function mA(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 pn(T,...y.flatMap(([o,f])=>[QC(o),rT(f)]))}function rT(n){if(n===null)return new Uint8Array([192]);if(typeof n==="boolean")return new Uint8Array([n?195:194]);if(typeof n==="string")return QC(n);if(typeof n==="number"){if(!Number.isFinite(n)||!Number.isInteger(n))throw new lf.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return BC(BigInt(n))}if(typeof n==="bigint")return BC(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 pn(y,n)}if(Array.isArray(n))return hA(n);if(typeof n==="object")return mA(n);throw new lf.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(n)}`})}function rA(n){let y=n.startsWith("0x")?n.slice(2):n;if(y.length%2!==0||/[^a-fA-F0-9]/u.test(y))throw new lf.SwapKitError("helpers_invalid_params",{hexValue:n});let T=new Uint8Array(y.length/2);for(let o=0;o<y.length;o+=2)T[o/2]=Number.parseInt(y.slice(o,o+2),16);return T}function ZC(n){return{domain:vA,message:{connectionId:n,source:"a"},primaryType:"Agent",types:{Agent:[...VA.Agent]}}}function JC(n){let y=KA[n.type],T=jA[n.type],{type:o,...f}=n;return{domain:{chainId:Number.parseInt(f.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:MC,version:"1"},message:{...f,hyperliquidChain:f.hyperliquidChain||LC},primaryType:y,types:{[y]:T}}}function YC(n){let y=Xf.Signature.from(n);return{r:y.r,s:y.s,v:y.v}}function NC(n,y,{expiresAfter:T,vaultAddress:o}={}){let f=rT(n),t=qo(BigInt(y),8),C=o?pn(new Uint8Array([1]),rA(o.toLowerCase())):new Uint8Array([0]),H=typeof T==="number"?pn(new Uint8Array([0]),qo(BigInt(T),8)):new Uint8Array;return Xf.keccak256(pn(f,t,C,H))}function zC(n){let y=n.hyperliquidChain||LC;switch(n.type){case"approveAgent":return{...n,agentAddress:n.agentAddress.toLowerCase(),hyperliquidChain:y};case"approveBuilderFee":return{...n,builder:n.builder.toLowerCase(),hyperliquidChain:y};case"sendAsset":return{...n,destination:n.destination.toLowerCase(),fromSubAccount:n.fromSubAccount.toLowerCase(),hyperliquidChain:y};case"tokenDelegate":return{...n,hyperliquidChain:y,validator:n.validator.toLowerCase()};case"usdClassTransfer":return{...n,hyperliquidChain:y};default:return n}}var lf,Xf,MC="0x0000000000000000000000000000000000000000",vA,VA,LC="Mainnet",jA,KA,cA;var DC=S(()=>{lf=require("@swapkit/helpers"),Xf=require("ethers"),vA={chainId:1337,name:"Exchange",verifyingContract:MC,version:"1"},VA={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},jA={approveAgent:[{name:"hyperliquidChain",type:"string"},{name:"agentAddress",type:"address"},{name:"agentName",type:"string"},{name:"nonce",type:"uint64"}],approveBuilderFee:[{name:"hyperliquidChain",type:"string"},{name:"maxFeeRate",type:"string"},{name:"builder",type:"address"},{name:"nonce",type:"uint64"}],sendAsset:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"sourceDex",type:"string"},{name:"destinationDex",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"fromSubAccount",type:"string"},{name:"nonce",type:"uint64"}],tokenDelegate:[{name:"hyperliquidChain",type:"string"},{name:"validator",type:"address"},{name:"wei",type:"uint64"},{name:"isUndelegate",type:"bool"},{name:"nonce",type:"uint64"}],usdClassTransfer:[{name:"hyperliquidChain",type:"string"},{name:"amount",type:"string"},{name:"toPerp",type:"bool"},{name:"nonce",type:"uint64"}]},KA={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},cA=new TextEncoder});function $n(n,y){if(!aT(n))throw new e.SwapKitError(y,{address:n});return n.toLowerCase()}async function Do(n){let y=await Wf();return e.RequestClient.post(`${y}/info`,{json:n})}function o_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"clearinghouseState",user:$n(y,"helpers_invalid_params")})}function y_({user:n}){return Do({type:"spotClearinghouseState",user:$n(n,"helpers_invalid_params")})}function f_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"openOrders",user:$n(y,"helpers_invalid_params")})}function T_({dex:n,user:y}){return Do({...n?{dex:n}:{},type:"frontendOpenOrders",user:$n(y,"helpers_invalid_params")})}function t_({oidOrCloid:n,user:y}){return Do({oid:n,type:"orderStatus",user:$n(y,"helpers_invalid_params")})}function C_({aggregateByTime:n,user:y}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},type:"userFills",user:$n(y,"helpers_invalid_params")})}function H_({aggregateByTime:n,endTime:y,startTime:T,user:o}){return Do({...typeof n==="boolean"?{aggregateByTime:n}:{},...typeof y==="number"?{endTime:y}:{},startTime:T,type:"userFillsByTime",user:$n(o,"helpers_invalid_params")})}function OC({coin:n,token:y,value:T,spotMeta:o}){if(!T||Number(T)<=0)return null;let f=n?.toUpperCase()||`TOKEN-${y||"UNKNOWN"}`,t=gA[f]||FC,C=o?.tokens?.find((A)=>A.name===n||y!==void 0&&A.index===Number(y)),H=C?`${mn}.${f}-${C.name}:${C.tokenId}`:`${mn}.${f}`;return new e.AssetValue({decimal:t,identifier:H,value:T})}function A_(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=e.AssetValue.from({chain:mn,value:0});y.set(T.toString({includeSynthProtocol:!0}),T)}return[...y.values()]}async function Wf(){try{return await e.getRPCUrl(mn)}catch{let[n]=e.getChainConfig(mn).rpcUrls;if(!n)throw new e.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:mn});return n}}async function dT(){return`${await Wf()}/exchange`}function __(n){let y=n_[n.type],{type:T,...o}=n,f=eA[T];return{domain:{chainId:Number.parseInt(n.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:sA,version:"1"},message:o,primaryType:y,types:{[y]:f}}}async function pC({action:n,expiresAfter:y,nonce:T,vaultAddress:o}){let f=T||Date.now(),t=o?$n(o,"helpers_invalid_params"):void 0,C=await dT(),H=NC(n,f,{expiresAfter:y,vaultAddress:t});return{action:n,endpoint:C,expiresAfter:y,nonce:f,typedData:ZC(H),vaultAddress:t}}async function SC({action:n,nonce:y,signatureChainId:T}){let o=y||n.nonce||Date.now(),f=T||n.signatureChainId||"0xa4b1",t=zC({...n,nonce:o,signatureChainId:f});return{action:t,endpoint:await dT(),nonce:o,typedData:JC(t)}}async function gT({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 dT(),A=n.getValue("string"),_=f||Date.now(),G=n.address;if(!G)throw new e.SwapKitError("helpers_invalid_params",{asset:n.toString(),from:C});let M={amount:A,destination:t,hyperliquidChain:dA,signatureChainId:o||aA,time:_,token:G,type:"spotSend"};return{action:M,endpoint:H,nonce:_,typedData:__(M)}}async function RC(n){let y=await e.RequestClient.post(n.endpoint,{json:{action:n.action,...typeof n.expiresAfter==="number"?{expiresAfter:n.expiresAfter}:{},nonce:n.nonce,signature:n.signature,...n.vaultAddress?{vaultAddress:n.vaultAddress}:{}}});if(y.status!=="ok")throw new e.SwapKitError("core_transaction_failed",{response:y});return y}async function U_(n,y){let T=await Wf(),o=y-5000;for(let f=0;f<5;f++){if(f>0)await new Promise((t)=>setTimeout(t,1000));try{let t=await e.RequestClient.post(`${T}/info`,{json:{startTime:o,type:"userNonFundingLedgerUpdates",user:n}}),C=Array.isArray(t)?t.find((H)=>H.time&&H.time>=y&&(H.delta?.type==="spotTransfer"||H.delta?.type==="internalTransfer")):void 0;if(C?.hash)return C.hash}catch{}}return""}function aT(n){return n.startsWith("0x")&&wy(n)}function w_(n){let y=xn(mn),T=n&&"index"in n?n.index||0:0,o=e.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:e.updateDerivationPath(e.NetworkDerivationPath[mn],{index:T})),f,t=!1;function C(){if(t)return f;return f=Vo.match(n).with({phrase:Vo.P.string},({phrase:w})=>{return xC.HDNodeWallet.fromPhrase(w,void 0,o)}).with({signer:Vo.P.not(Vo.P.nullish)},({signer:w})=>w).otherwise(()=>{return}),t=!0,f}async function H(){let w=C();return w?await w.getAddress():""}async function A(w){let X=C();if(!X)throw new e.SwapKitError("toolbox_hypercore_no_signer");let W=await X.signTypedData(w.typedData.domain,w.typedData.types,w.typedData.message);return{action:w.action,endpoint:w.endpoint,nonce:w.nonce,signature:YC(W),..."expiresAfter"in w?{expiresAfter:w.expiresAfter}:{},..."vaultAddress"in w?{vaultAddress:w.vaultAddress}:{}}}async function _(w){let X=$n(w,"helpers_invalid_params");try{let W=await Wf(),[l,Z,z]=await Promise.all([e.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:X}}),e.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:X}}),e.RequestClient.post(`${W}/info`,{json:{type:"spotMeta"}})]),L=(l.spotState?.balances||l.balances||[]).map(({coin:J,token:U,total:B})=>OC({coin:J,spotMeta:z,token:U,value:B})).filter((J)=>!!J),N=OC({coin:"USDC",spotMeta:z,value:Z.withdrawable||Z.marginSummary?.accountValue||Z.marginSummary?.totalRawUsd});return A_(N?[...L,N]:L)}catch{return y(X)}}async function G(w){let X=C();if(!X)throw new e.SwapKitError("toolbox_hypercore_no_signer");let W=w.sender||await X.getAddress(),l=await gT({...w,feeRate:0,sender:W}),Z=await A(l);return await RC(Z),U_(W,l.nonce)}function M(){return e.AssetValue.from({chain:mn,value:0})}return{broadcastTransaction:RC,createL1ActionRequest:pC,createTransaction:gT,createUserSignedActionRequest:SC,estimateTransactionFee:M,getAddress:H,getBalance:_,getState:{clearinghouse:o_,frontendOpenOrders:T_,openOrders:f_,orderStatus:t_,spotClearinghouse:y_,userFills:C_,userFillsByTime:H_},signTransaction:A,transfer:G,validateAddress:aT}}var e,xC,Vo,mn,FC,gA,dA="Mainnet",aA="0xa4b1",sA="0x0000000000000000000000000000000000000000",eA,n_;var kC=S(()=>{RT();dn();DC();e=require("@swapkit/helpers"),xC=require("ethers"),Vo=require("ts-pattern"),mn=e.Chain.HyperCore,{baseDecimal:FC}=e.getChainConfig(mn),gA={HYPE:FC,USDC:6,USDT:6},eA={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},n_={spotSend:"HyperliquidTransaction:SpotSend"}});var sT={};Mn(sT,{validateHyperCoreAddress:()=>aT,getHyperCoreToolbox:()=>w_,createUserSignedActionRequest:()=>SC,createTransaction:()=>gT,createL1ActionRequest:()=>pC,buildUsdClassTransferAction:()=>PA,buildUpdateLeverageAction:()=>pA,buildUpdateIsolatedMarginAction:()=>SA,buildTopUpIsolatedOnlyMarginAction:()=>kA,buildTokenDelegateAction:()=>bA,buildSendAssetAction:()=>IA,buildScheduleCancelAction:()=>uA,buildOrderAction:()=>DA,buildModifyAction:()=>xA,buildCancelByCloidAction:()=>RA,buildCancelAction:()=>OA,buildBatchModifyAction:()=>FA,buildApproveBuilderFeeAction:()=>EA,buildApproveAgentAction:()=>$A});module.exports=Jn(sT);var eT=S(()=>{kC()});async function IC(n){let y=r.AssetValue.from({address:n,chain:r.Chain.Solana});if(y.symbol!=="UNKNOWN")return{decimals:y.decimal||0,id:n,logoURI:y.getIconUrl(),name:y.symbol,symbol:y.ticker};let T=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(n)}`;try{let o=await fetch(T);if(!o.ok)return null;let f=await o.json();if(!Array.isArray(f)||f.length===0)return null;return f.find((C)=>C.id===n)||null}catch{return null}}async function q_(n){let y=await en(),{PublicKey:T}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),f=new T(n),{baseDecimal:t}=r.getChainConfig(r.Chain.Solana),C=await y.getBalance(f),H=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:t,value:C||0})],A=await y.getParsedTokenAccountsByOwner(f,{programId:o});for(let{account:_}of A.value){let G=_.data.parsed.info,M=G.mint,w=G.tokenAmount.amount;if(Number(w)===0)continue;let X=await IC(M),W=X?.symbol||"UNKNOWN",l=X?.decimals||G.tokenAmount.decimals;H.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${W}-${M}`,fromBaseDecimal:l,value:w}))}return H}function ot(n){try{let y=new no.PublicKey(n);return no.PublicKey.isOnCurve(y.toBytes())}catch{return!1}}function G_(n){let y=n&&"index"in n?n.index||0:0,T=r.derivationPathToString(n&&"derivationPath"in n&&n.derivationPath?n.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:y})),o;async function f(){if(o)return o;return o=await Yy.match(n).with({phrase:Yy.P.string},({phrase:C})=>nt({derivationPath:T,phrase:C})).with({signer:Yy.P.any},({signer:C})=>C).otherwise(()=>{return}),o}async function t(){let C=await f();return C?.publicKey?PC(C.publicKey):""}return{broadcastTransaction:Bf(en),createKeysForPath:nt,createTransaction:yt(en),createTransactionFromInstructions:B_,estimateTransactionFee:l_(en),getAddress:t,getAddressFromPubKey:PC,getBalance:xn(r.Chain.Solana),getBalanceFromRPC:q_,getConnection:en,getPubkeyFromAddress:(C)=>new no.PublicKey(C),signAndBroadcastTransaction:async(C)=>{let H=await uC(en,f)(C);return Bf(en)(H)},signTransaction:uC(en,f),transfer:M_(en,f),validateAddress:ot}}function l_(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let C=await n(),A=(await yt(n)({assetValue:T,isProgramDerivedAddress:f,memo:o,recipient:y,sender:t})).compileMessage(),_=await C.getFeeForMessage(A);if(_.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:G}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:G,value:_.value})}}async function en(){let{Connection:n}=await import("@solana/web3.js"),y=await r.getRPCUrl(r.Chain.Solana);return new n(y,{commitment:"confirmed",fetchMiddleware:(T,o,f)=>{let t={};for(let[C,H]of Object.entries(o?.headers??{})){let A=C.toLowerCase();if(A!=="pragma"&&A!=="solana-client")t[C]=H}f(T,{...o,headers:t})}})}function X_(n){return async({assetValue:y,recipient:T,sender:o,isProgramDerivedAddress:f})=>{let t=await n(),C=new no.PublicKey(o);if(y.isGasAsset){let{Transaction:H,SystemProgram:A}=await import("@solana/web3.js");return new H().add(A.transfer({fromPubkey:C,lamports:y.getBaseValue("number"),toPubkey:new no.PublicKey(T)}))}if(y.address)return W_({amount:y.getBaseValue("number"),connection:t,decimals:y.decimal,from:C,isProgramDerivedAddress:f,recipient:T,tokenAddress:y.address});return}}async function W_({tokenAddress:n,recipient:y,from:T,connection:o,amount:f,decimals:t,isProgramDerivedAddress:C}){let{getAssociatedTokenAddress:H,getAccount:A,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:G}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),w=new M,X=new no.PublicKey(n),W=await H(X,T),l=new no.PublicKey(y),Z=await H(X,l,C),z=!1;try{await A(o,Z),z=!0}catch{}if(!z)w.add(_(T,Z,l,X));return w.add(G(W,X,Z,T,f,t)),w}function yt(n){return async({recipient:y,assetValue:T,memo:o,isProgramDerivedAddress:f,sender:t})=>{let{createMemoInstruction:C}=await import("@solana/spl-memo"),H=new no.PublicKey(t);if(!(f||ot(y)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let A=await n(),_=await X_(n)({assetValue:T,isProgramDerivedAddress:f,recipient:y,sender:t});if(!_)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(o)_.add(C(o));let G=await A.getLatestBlockhash();return _.recentBlockhash=G.blockhash,_.feePayer=H,_}}async function B_({instructions:n}){let{Transaction:y}=await import("@solana/web3.js"),T=new y().add(...n);if(!T)throw new r.SwapKitError("core_transaction_invalid_sender_address");return T}function M_(n,y){return async({recipient:T,assetValue:o,memo:f,isProgramDerivedAddress:t})=>{let C=await y();if(!C)throw new r.SwapKitError("core_transaction_invalid_sender_address");let H=C.publicKey?.toString()??(await C.connect()).publicKey.toString(),A=await yt(n)({assetValue:o,isProgramDerivedAddress:t,memo:f,recipient:T,sender:H});if("signTransaction"in C){let _=await C.signTransaction(A);return Bf(n)(_)}return A.sign(C),Bf(n)(A)}}function Bf(n){return async(y)=>{return(await n()).sendRawTransaction(y.serialize())}}function uC(n,y){return async(T)=>{let o=await y();if(!o)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:f}=await import("@solana/web3.js");if(!(T instanceof f)){let C=await(await n()).getLatestBlockhash();T.recentBlockhash=C.blockhash,T.feePayer=o.publicKey||void 0}if("connect"in o)return await o.signTransaction(T);return T.sign([o]),T}}async function nt({phrase:n,derivationPath:y=r.DerivationPath.SOL}){let{HDKey:T}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:f}=await import("@solana/web3.js"),t=o(n),C=T.fromMasterSeed(t);return f.fromSeed(C.derive(y,!0).privateKey)}function PC(n){return n.toString()}var no,r,Yy;var $C=S(()=>{dn();no=require("@solana/web3.js"),r=require("@swapkit/helpers"),Yy=require("ts-pattern")});var ft={};Mn(ft,{validateSolanaAddress:()=>ot,getSolanaToolbox:()=>G_,fetchTokenMetaData:()=>IC,createKeysForPath:()=>nt});module.exports=Jn(ft);var Tt=S(()=>{$C()});function Mf(n){if(!n)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(n)}async function Lf({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{HDKey:T}=await import("@scure/bip32"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{ec:f,hash:t,encode:C,CallData:H}=await import("starknet"),A=o(n),G=T.fromMasterSeed(A).derive(y);if(!G.privateKey)throw new c.SwapKitError("toolbox_starknet_no_signer");let M=C.addHexPrefix(Buffer.from(G.privateKey).toString("hex")),w=f.starkCurve.grindKey(M),X=C.addHexPrefix(w),W=f.starkCurve.getStarkKey(X),l=H.compile([W,0]);return{address:t.calculateContractAddressFromHash(W,Ct,l,0),privateKey:X,publicKey:W}}async function Ht({phrase:n,derivationPath:y=c.DerivationPath.STRK}){let{Account:T,RpcProvider:o}=await import("starknet"),{privateKey:f,address:t}=await Lf({derivationPath:y,phrase:n}),C=await c.getRPCUrl(c.Chain.Starknet),H=new o({nodeUrl:C});return new T({address:t,provider:H,signer:f})}function bC(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 A(U){let B=await H(),q=U||await w();if(!q)return!1;try{return await B.getClassHashAt(q),!0}catch(Y){if(Y instanceof Error&&Y.message.includes("Contract not found"))return!1;let D=Y;if(D?.code===20||D?.code===19)return!1;throw Y}}async function _(){let{CallData:U,hash:B}=await import("starknet"),q=await H(),Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await A())return Y.address;let Q=U.compile([C,0]);if(B.calculateContractAddressFromHash(C,Ct,Q,0).toLowerCase()!==Y.address.toLowerCase())throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let x={addressSalt:C,classHash:Ct,constructorCalldata:Q},{transaction_hash:k}=await Y.deployAccount(x);return await q.waitForTransaction(k),k}async function G(){if(!await A()){if(!C)throw new c.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await _()}}async function M(){if(f)return f;return f=await En.match(n).with({phrase:En.P.string},async({phrase:U})=>{let{Account:B,RpcProvider:q}=await import("starknet"),{privateKey:Y,address:D,publicKey:Q}=await Lf({derivationPath:o,phrase:U});C=Q;let O=await c.getRPCUrl(c.Chain.Starknet),x=new q({nodeUrl:O});return new B({address:D,provider:x,signer:Y})}).with({address:En.P.string,privateKey:En.P.string},async({privateKey:U,address:B})=>{let{Account:q}=await import("starknet"),Y=await H();return new q({address:B,provider:Y,signer:U})}).with({signer:En.P.instanceOf(Object)},({signer:U})=>U).otherwise(()=>{return}),f}async function w(){return(await M())?.address??""}async function X(U){let B=await H(),{uint256:q,CallData:Y}=await import("starknet"),D=[],Q=[tt,EC];for(let O of Q)try{let[x="0",k="0"]=await B.callContract({calldata:Y.compile({account:U}),contractAddress:O,entrypoint:"balanceOf"}),u=q.uint256ToBN({high:x,low:k});En.match(O).with(tt,()=>{D.push(c.AssetValue.from({chain:y,value:u}))}).with(EC,()=>{if(u>0n)D.push(c.AssetValue.from({asset:`${y}.ETH-${O}`,value:u}))}).otherwise(()=>{})}catch{}return D}async function W({recipient:U,assetValue:B}){let{CallData:q,uint256:Y}=await import("starknet");if(!Mf(U))throw new c.SwapKitError("core_transaction_invalid_recipient_address",{address:U});let D=B.isGasAsset?tt:B.address;if(!D)throw new c.SwapKitError("toolbox_starknet_invalid_address",{address:D,assetValue:B});let Q=Y.bnToUint256(B.getBaseValue("bigint"));return[{calldata:q.compile([U,Q]),contractAddress:D,entrypoint:"transfer"}]}async function l({recipient:U,assetValue:B,sender:q}){let{baseDecimal:Y}=c.getChainConfig(c.Chain.Starknet),D=await M(),Q=await En.match({sender:q,signer:D}).with({sender:En.P.string},async({sender:O})=>{let{Account:x}=await import("starknet"),k=await H();return new x({address:O,provider:k,signer:"0x0"})}).with({signer:En.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new c.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await W({assetValue:B,recipient:U}),x=await Q.estimateInvokeFee(O);if(x?.overall_fee)return c.AssetValue.from({chain:y,fromBaseDecimal:Y,value:x.overall_fee})}catch(O){throw new c.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return c.AssetValue.from({chain:y,value:"0.00001"})}async function Z({recipient:U,assetValue:B,memo:q}){let Y=await M();if(!Y)throw new c.SwapKitError("toolbox_starknet_no_signer");await G();let D=await W({assetValue:B,memo:q,recipient:U});return(await Y.execute(D)).transaction_hash}async function z(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");let q=await B.signMessage(U);return Array.isArray(q)?q:[q.r.toString(),q.s.toString()]}async function L(U){let B=await M();if(!B)throw new c.SwapKitError("toolbox_starknet_no_signer");return await G(),(await B.execute(U)).transaction_hash}function N(U){return L(U)}function J(U,B=!0){try{return xn(y)(U,B)}catch{return X(U)}}return{broadcastTransaction:L,createKeysForPath:Ht,createTransaction:W,deployAccount:_,estimateTransactionFee:l,getAddress:w,getBalance:J,getProvider:H,isAccountDeployed:A,signAndBroadcastTransaction:N,signMessage:z,transfer:Z,validateAddress:Mf}}var c,En,tt="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",EC="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ct="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var vC=S(()=>{dn();c=require("@swapkit/helpers"),En=require("ts-pattern")});var Qf={};Mn(Qf,{validateStarknetAddress:()=>Mf,starknetCreateKeysForPath:()=>Ht,getStarknetToolbox:()=>bC,deriveStarknetKeys:()=>Lf});module.exports=Jn(Qf);var Zf=S(()=>{vC()});async function KC(n,y,T,o=[],f){let t=await n.getCoins({coinType:T,cursor:f,owner:y}),C=[...o,...t.data];return t.hasNextPage?KC(n,y,T,C,t.nextCursor):C}function L_(n,y,T){let o=y.reduce((A,_)=>A+BigInt(_.balance),0n);if(o<T)throw new yn.SwapKitError("toolbox_sui_insufficient_balance",{available:o.toString(),required:T.toString()});let{ids:f}=y.reduce((A,_)=>{if(A.total>=T)return A;return{ids:[...A.ids,_.coinObjectId],total:A.total+BigInt(_.balance)}},{ids:[],total:0n}),t=f[0],C=f.slice(1);if(C.length>0)n.mergeCoins(t,C);let[H]=n.splitCoins(t,[T]);return H}function cC(n){try{return jC.isValidSuiAddress(n)}catch{return!1}}function VC(n){return"signWithIntent"in n}function Q_({provider:n,...y}={}){let T;async function o(){if(T)return T;return T=await Ny.match(y).with({phrase:Ny.P.string},async({phrase:W})=>{let{Ed25519Keypair:l}=await import("@mysten/sui/keypairs/ed25519");return l.deriveKeypair(W)}).with({signer:Ny.P.any},({signer:W})=>W).otherwise(()=>{return}),T}async function f(W=n){let{SuiClient:l,getFullnodeUrl:Z}=await import("@mysten/sui/client");return new l({url:W||Z("mainnet")})}async function t(){return(await o())?.toSuiAddress()||""}function C(W){try{let l=yn.AssetValue.from({address:W,chain:yn.Chain.Sui});return{asset:l.toString(),decimals:l.decimal}}catch{}return null}async function H(W){let l=W||await t();if(!l)throw new yn.SwapKitError("toolbox_sui_address_required");let{baseDecimal:Z,chain:z}=yn.getChainConfig(yn.Chain.Sui);try{let L=await f(),{totalBalance:N}=await L.getBalance({owner:l}),J=[yn.AssetValue.from({chain:z,fromBaseDecimal:Z,value:N})],U=await L.getAllBalances({owner:l});for(let{coinType:B,totalBalance:q}of U){if(B==="0x2::sui::SUI"||Number(q)<=0)continue;let Y=C(B);if(Y)J.push(yn.AssetValue.from({asset:Y.asset,fromBaseDecimal:Y.decimals,value:q}))}return J}catch{return[yn.AssetValue.from({chain:z})]}}async function A(W){let l=yn.AssetValue.from({chain:yn.Chain.Sui,value:"0.01"});if(!W)return l;try{let Z=await f(),{txBytes:z}=await _(W),{effects:{status:L,gasUsed:N}}=await Z.dryRunTransactionBlock({transactionBlock:z});if(L.status!=="success")return l;let J=Number(N.computationCost)+Number(N.storageCost)-Number(N.storageRebate);return yn.AssetValue.from({chain:yn.Chain.Sui,value:J.toString()})}catch{return l}}async function _({recipient:W,assetValue:l,gasBudget:Z,sender:z}){let{Transaction:L}=await import("@mysten/sui/transactions"),N=z||await t();if(!N)throw new yn.SwapKitError("toolbox_sui_no_sender");try{let J=new L;if(J.setSender(N),l.isGasAsset||l.symbol==="SUI"){let[q]=J.splitCoins(J.gas,[l.getBaseValue("string")]);J.transferObjects([q],W)}else{let q=l.address;if(!q)throw new yn.SwapKitError("toolbox_sui_missing_coin_type");let Y=await f(),D=l.getBaseValue("bigint"),Q=await KC(Y,N,q);if(!Q.length)throw new yn.SwapKitError("toolbox_sui_no_coins_found",{coinType:q});let O=L_(J,Q,D);J.transferObjects([O],W)}if(Z)J.setGasBudget(Z);let U=await f(),B=await J.build({client:U});return{tx:J,txBytes:B}}catch(J){if(J instanceof yn.SwapKitError)throw J;throw new yn.SwapKitError("toolbox_sui_transaction_creation_error",{error:J})}}async function G(W){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return l.signTransaction(W);let{txBytes:Z}="tx"in W?W:await _(W);return l.signTransaction(Z)}async function M({assetValue:W,gasBudget:l,recipient:Z}){let z=await o();if(!z)throw new yn.SwapKitError("toolbox_sui_no_signer");let L=z.toSuiAddress()||await t();if(!L)throw new yn.SwapKitError("toolbox_sui_no_sender");let{txBytes:N}=await _({assetValue:W,gasBudget:l,recipient:Z,sender:L}),J=await f();if(!VC(z)){let B=await z.signTransaction(N),{digest:q}=await J.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return q}let{digest:U}=await J.signAndExecuteTransaction({signer:z,transaction:N});return U}async function w(W){let l=await f(),{digest:Z}=await l.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return Z}async function X(W){let l=await o();if(!l)throw new yn.SwapKitError("toolbox_sui_no_signer");let Z=await f(),z;if(typeof W==="string")z=Uint8Array.from(Buffer.from(W,"base64"));else if(W instanceof Uint8Array)z=W;else z=await W.build({client:Z});if(!VC(l)){let N=await l.signTransaction(z),{digest:J}=await Z.executeTransactionBlock({signature:N.signature,transactionBlock:N.bytes});return J}let{digest:L}=await Z.signAndExecuteTransaction({signer:l,transaction:z});return L}return{broadcastTransaction:w,createTransaction:_,estimateTransactionFee:A,getAddress:t,getBalance:H,signAndBroadcastTransaction:X,signTransaction:G,transfer:M,validateAddress:cC}}var jC,yn,Ny;var iC=S(()=>{jC=require("@mysten/sui/utils"),yn=require("@swapkit/helpers"),Ny=require("ts-pattern")});var Jf={};Mn(Jf,{validateSuiAddress:()=>cC,getSuiToolbox:()=>Q_});module.exports=Jn(Jf);var Yf=S(()=>{iC()});async function z_(){let n=Date.now();if(Nf&&n-mC<N_)return Nf;try{return Nf=await rC.getHttpEndpoint(),mC=n,Nf}catch{return qn.getRPCUrl(qn.Chain.Ton)}}function D_(n={}){let y,T,o;async function f(){if(!y){let J=n.provider??await z_();y=new h.TonClient({endpoint:J})}return y}async function t(){return(await H()).address.toString()}async function C(){if(o)return o;return o=await Oo.match(n).with({phrase:Oo.P.string},async({phrase:J})=>gC.mnemonicToWalletKey(J.split(" "))).with({signer:Oo.P.any},({signer:J})=>J).otherwise(()=>{return}),o}async function H(J){if(!T||J){let U=await C(),B=await f(),q=J||U;if(!q)throw new qn.SwapKitError("core_wallet_connection_not_found");let Y=h.WalletContractV4.create({publicKey:q.publicKey,workchain:0});T=B.open(Y)}return T}let A=xn(qn.Chain.Ton);async function _({assetValue:J,recipient:U,memo:B,sender:q}){if(J.isGasAsset){let s=B?N(B).toBoc().toString("base64"):void 0;return[{address:U,amount:J.getBaseValue("string"),payload:s}]}let Y=J.address;if(!Y)throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let D=q??await t(),Q=await z({jettonMasterAddress:Y,ownerAddress:D}),O=h.Address.parse(U),x=h.Address.parse(D),k=J.getBaseValue("bigint"),u=B?N(B):void 0,j=L({destinationAddress:O,forwardPayload:u,jettonAmount:k,responseAddress:x});return[{address:Q.toString(),amount:Y_.toString(),payload:j.toBoc().toString("base64")}]}function G({sender:J,...U}){return _({...U,sender:J})}function M(J){return J.map((U)=>{let B=U.payload?h.Cell.fromBase64(U.payload):void 0,q=U.stateInit?h.loadStateInit(h.Cell.fromBase64(U.stateInit).asSlice()):void 0,Y=h.Address.parse(U.address),D=h.Address.isFriendly(U.address)?h.Address.parseFriendly(U.address).isBounceable:!0;return h.internal({body:B,bounce:D,init:q,to:Y,value:BigInt(U.amount)})})}async function w(J){let U=await C(),B=await H();if(!B||!U)throw new qn.SwapKitError("core_wallet_connection_not_found");let q=await f(),{state:Y}=await q.getContractState(B.address),D=Y==="active",Q=D?await B.getSeqno():0,O=B.createTransfer({messages:M(J),secretKey:U.secretKey,sendMode:hC,seqno:Q}),x=h.external({body:O,init:D?void 0:B.init,to:B.address});return h.beginCell().store(h.storeMessage(x)).endCell()}async function X(J){return await(await f()).sendFile(J.toBoc()),J.hash().toString("hex")}async function W(J){let U=await w(J);return X(U)}async function l({assetValue:J,recipient:U,memo:B}){let q=await G({assetValue:J,memo:B,recipient:U});return W(q)}async function Z({sender:J,...U}){let{baseDecimal:B}=qn.getChainConfig(qn.Chain.Ton),q=await Oo.match(J).with(Oo.P.string,(Q)=>{return h.Address.parseFriendly(Q).address}).otherwise(async()=>{return(await H()).address});if(!q)throw new qn.SwapKitError("toolbox_fee_estimation_failed",{chain:qn.Chain.Ton});let Y=qn.AssetValue.from({chain:qn.Chain.Ton,value:"0.01"}),D=await f();try{let Q=await G({sender:J,...U}),O=await C(),x=await H();if(!x||!O)return Y;let k=await x.getSeqno(),u=x.createTransfer({messages:M(Q),secretKey:O.secretKey,sendMode:hC,seqno:k}),{source_fees:j}=await D.estimateExternalMessageFee(q,{body:u,ignoreSignature:!0,initCode:null,initData:null}),s=j.in_fwd_fee+j.storage_fee+j.gas_fee+j.fwd_fee;return Y.set(qn.SwapKitNumber.fromBigInt(BigInt(s),B))}catch{return Y}}async function z({jettonMasterAddress:J,ownerAddress:U}){try{let B=await f(),q=h.Address.parse(J),Y=h.Address.parse(U);return await B.open(h.JettonMaster.create(q)).getWalletAddress(Y)}catch{throw new qn.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:U}})}}function L({jettonAmount:J,destinationAddress:U,responseAddress:B,forwardAmount:q=J_,forwardPayload:Y}){let D=h.beginCell().storeUint(Z_,32).storeUint(0,64).storeCoins(J).storeAddress(U).storeAddress(B).storeBit(0).storeCoins(q);if(Y)D.storeBit(1).storeRef(Y);else D.storeBit(0);return D.endCell()}function N(J){return h.beginCell().storeUint(0,32).storeStringTail(J).endCell()}return{broadcastTransaction:X,createTransaction:G,estimateTransactionFee:Z,getAddress:t,getBalance:A,getJettonWalletAddress:z,sign:w,signAndBroadcastTransaction:W,transfer:l,validateAddress:dC}}function dC(n){try{return h.Address.parse(n),!0}catch{return!1}}var rC,qn,gC,h,Oo,Z_=260734629,J_,Y_,hC,N_=60000,Nf,mC=0;var aC=S(()=>{dn();rC=require("@orbs-network/ton-access"),qn=require("@swapkit/helpers"),gC=require("@ton/crypto"),h=require("@ton/ton"),Oo=require("ts-pattern"),J_=h.toNano("0.01"),Y_=h.toNano("0.05"),hC=h.SendMode.PAY_GAS_SEPARATELY+h.SendMode.IGNORE_ERRORS});var zf={};Mn(zf,{validateTonAddress:()=>dC,getTONToolbox:()=>D_});module.exports=Jn(zf);var Df=S(()=>{aC()});function bn(n,y){if(!Number.isInteger(y)||y<0)throw RangeError(`${n} must be a non-negative integer, got: ${y}`)}function Go({accountIndex:n,chain:y,derivationPath:T}){if(n!==void 0)bn("accountIndex",n);let o=[...T?.slice(0,3)??sC.NetworkDerivationPath[y].slice(0,3)];if(n!==void 0)o[2]=n;return o}function jo({accountIndex:n,change:y=!1,chain:T,derivationPath:o,index:f}){return bn("index",f),[...Go({accountIndex:n,chain:T,derivationPath:o}),Number(y),f]}function Ro(n){return n[2]??0}function eC({deriveAddress:n,getBalance:y,getUtxos:T}){async function o(H){let{accountIndex:A,count:_,startIndex:G=0,change:M=!1}=H;if(bn("count",_),_<1)throw RangeError("count must be at least 1");bn("startIndex",G);let w=[];for(let X=0;X<_;X++){let W=await n({accountIndex:A,change:M,index:G+X});if(W)w.push(W)}return w}async function f(H){let{gapLimit:A=20,change:_=!1}=H??{},G=[],M=0,w=0;while(M<A){let X=await n({change:_,index:w});if(!X)break;if((await y(X.address)).some((Z)=>Z.getValue("number")>0))G.push(X),M=0;else M++;w++}return G}async function t(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._],M=await Promise.all(G.map(async(X)=>{let l=(await y(X.address)).reduce((Z,z)=>Z+z.getValue("number"),0);return{...X,balance:l}})),w=M.reduce((X,W)=>X+W.balance,0);return{addresses:M,total:w}}async function C(H=20){let[A,_]=await Promise.all([f({change:!1,gapLimit:H}),f({change:!0,gapLimit:H})]),G=[...A,..._];return(await Promise.all(G.map(async(w)=>{return(await T(w.address)).map((W)=>({...W,address:w.address,derivationIndex:w.index,isChange:w.change}))}))).flat()}return{deriveAddresses:o,getAggregatedBalance:t,getAggregatedUtxos:C,scanForAddresses:f}}var sC;var zy=S(()=>{sC=require("@swapkit/helpers")});async function O_({chain:n,txHash:y}){let T=`${Dy(n)}/push/transaction`,o=JSON.stringify({data:y});try{let f=await K.RequestClient.post(T,{body:o,headers:{"Content-Type":"application/json"}});if(f.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:f.context.error||"Transaction broadcast failed"});return f.data?.transaction_hash||y}catch(f){let t=await K.getRPCUrl(n);if(t){let C=JSON.stringify({id:q0(),jsonrpc:"2.0",method:"sendrawtransaction",params:[y]}),H=await K.RequestClient.post(t,{body:C,headers:{"Content-Type":"application/json"}});if(H.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.error?.message});if(H.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return H.result}throw f}}function Dy(n){return`https://api.blockchair.com/${R_(n)}`}function n1(n){switch(n){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function R_(n){switch(n){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function x_(n){try{let{feePerKb:y}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${n.toLowerCase()}/tx/fee`),T=y/1000;return Math.max(T,n1(n))}catch{return n1(n)}}async function Of(n,y){let T=await K.RequestClient.get(`${n}${y?`${n.includes("?")?"&":"?"}key=${y}`:""}`);if(!T||T.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${n}`});return T.data}async function y1({address:n,chain:y,apiKey:T}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Of(`${Dy(y)}/dashboards/address/${n}?transaction_details=true`,T))[n]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function F_({address:n,chain:y,apiKey:T}){return(await y1({address:n,apiKey:T,chain:y}))?.address.balance||0}async function f1({chain:n,apiKey:y,txHash:T}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Of(`${Dy(n)}/raw/transaction/${T}`,y))?.[T]?.raw_transaction||""}catch(o){let f=o instanceof Error?o.message:String(o);return console.error(`Failed to fetch raw transaction: ${f}`),""}}async function S_({chain:n,apiKey:y,txHash:T}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let f=(await Of(`${Dy(n)}/dashboards/transaction/${T}`,y))?.[T];if(!f)throw new K.SwapKitError("toolbox_utxo_tx_not_found",{txHash:T});let{transaction:t,inputs:C,outputs:H}=f,A=C.map((G)=>G.spending_sequence),_=t.is_rbf===!0||A.some((G)=>G<p_);return{blockId:t.block_id,confirmed:t.block_id!==-1,fee:t.fee,inputs:C,isRBF:_,outputs:H,sequences:A,size:t.size,txid:t.hash,weight:t.weight}}async function k_({chain:n,address:y,apiKey:T,offset:o=0,limit:f=30}){return(await Of(`${Dy(n)}/outputs?q=recipient(${y}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${f}&offset=${o}`,T)).map(({is_spent:A,script_hex:_,block_id:G,transaction_hash:M,index:w,value:X,spending_signature_hex:W})=>({hash:M,index:w,is_confirmed:G!==-1,is_spent:A,script_hex:_,txHex:W,value:X}))}function u_(n){return n.reduce((y,T)=>y+T.value,0)}function o1(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 T1({chain:n,address:y,apiKey:T,targetValue:o,accumulativeValue:f=0,offset:t=0,limit:C=30}){if(!y)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let H=await k_({address:y,apiKey:T,chain:n,limit:C,offset:t,targetValue:o}),_=H.length<C,G=H.filter(({is_spent:Z})=>!Z),M=u_(G),w=f+M,X=o&&w>=o;if(_||X)return o1(G,o);let W=await T1({accumulativeValue:w,address:y,apiKey:T,chain:n,limit:C,offset:t+C,targetValue:o}),l=[...G,...W];return o1(l,o)}catch(H){let A=H instanceof Error?H.message:String(H);return console.error(`Failed to fetch unspent UTXOs: ${A}`),[]}}async function P_({address:n,chain:y,apiKey:T,fetchTxHex:o=!0,targetValue:f}){let t=await T1({address:n,apiKey:T,chain:y,targetValue:f}),C=[];for(let{hash:H,index:A,script_hex:_,value:G}of t){let M;if(o)M=await f1({apiKey:T,chain:y,txHash:H});C.push({address:n,hash:H,index:A,txHex:M,value:G,witnessUtxo:{script:Buffer.from(_,"hex"),value:G}})}return C}function Qn(n){let y=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!y,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(T)=>O_({chain:n,txHash:T}),getAddressData:(T)=>y1({address:T,apiKey:y,chain:n}),getBalance:(T)=>F_({address:T,apiKey:y,chain:n}),getRawTx:(T)=>f1({apiKey:y,chain:n,txHash:T}),getSuggestedTxFee:()=>x_(n),getTransactionDetails:(T)=>S_({apiKey:y,chain:n,txHash:T}),getUtxos:(T)=>P_({...T,apiKey:y,chain:n})}}function I_(n){return n}function $_(){return function(y){switch(y){case K.Chain.Bitcoin:return xo.NETWORKS.bitcoin;case K.Chain.BitcoinCash:return xo.NETWORKS.bitcoinCash;case K.Chain.Dash:return xo.NETWORKS.dash;case K.Chain.Litecoin:return xo.NETWORKS.litecoin;case K.Chain.Dogecoin:return xo.NETWORKS.dogecoin;case K.Chain.Zcash:return xo.NETWORKS.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}}var K,xo,p_=4294967294;var t1=S(()=>{dn();K=require("@swapkit/helpers"),xo=require("@swapkit/utxo-signer")});function v_(n,y,T){return oo.encodeCashAddr({hash:T,prefix:n,type:E_[y]})}function V_(n){let y=oo.decodeCashAddr(n),T=b_[y.type];if(!T)throw Error(`Unknown CashAddr type: ${y.type}`);return{hash:y.hash,prefix:y.prefix,type:T}}var oo,E_,b_,At;var C1=S(()=>{oo=require("@swapkit/utxo-signer"),E_={P2PKH:oo.CashAddrType.P2PKH,P2SH:oo.CashAddrType.P2SH},b_={[oo.CashAddrType.P2PKH]:"P2PKH",[oo.CashAddrType.P2SH]:"P2SH"};At={decode:V_,encode:v_}});function wt(n){try{return Rf(n),!0}catch{return!1}}function qt(n){return Rf(n)?.network}function yo(n){let y=Rf(n);if(y?.format==="legacy")return n;return c_(y)}function Oy(n){let y=Rf(n);return i_(y)}function Rf(n){try{let y=j_(n);if(y)return y}catch{}try{let y=K_(n);if(y)return y}catch{}throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n})}function j_(n){try{let y=U1.decode(n);if(y.length!==21)throw new _t.SwapKitError("toolbox_utxo_invalid_address",{address:n});let T=y[0],o=Array.prototype.slice.call(y,1);switch(T){case Fo.legacy.mainnet.p2pkh:return{format:"legacy",hash:o,network:"mainnet",type:"p2pkh"};case Fo.legacy.mainnet.p2sh:return{format:"legacy",hash:o,network:"mainnet",type:"p2sh"};case Fo.legacy.testnet.p2pkh:return{format:"legacy",hash:o,network:"testnet",type:"p2pkh"};case Fo.legacy.testnet.p2sh:return{format:"legacy",hash:o,network:"testnet",type:"p2sh"};case Fo.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2pkh"};case Fo.bitpay.mainnet.p2sh:return{format:"bitpay",hash:o,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function K_(n){if(n.indexOf(":")!==-1)try{return H1(n)}catch{}else{let y=["bitcoincash","bchtest","bchreg"];for(let T of y)try{return H1(`${T}:${n}`)}catch{}}return}function H1(n){try{let{hash:y,prefix:T,type:o}=At.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 c_(n){let y=Fo.legacy[n.network][n.type],T=Buffer.alloc(1+n.hash.length);return T[0]=y,T.set(n.hash,1),U1.encode(T)}function i_(n){let y=n.network==="mainnet"?"bitcoincash":"bchtest",T=n.type==="p2pkh"?"P2PKH":"P2SH",o=new Uint8Array(n.hash);return At.encode(y,T,o)}var A1,_1,_t,U1,Ut,Fo;var w1=S(()=>{C1();A1=require("@noble/hashes/sha2.js"),_1=require("@scure/base"),_t=require("@swapkit/helpers"),U1=_1.createBase58check(A1.sha256);((T)=>{T.Mainnet="mainnet";T.Testnet="testnet"})(Ut||={});Fo={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function kn(n){let y=new Uint8Array(Buffer.from(n,"utf8"));return G1.Script.encode(["RETURN",y])}var q1,G1,h_=1000,Ff=10,pf=2,l1=10,m_=41,r_=107,Sf,xf,Ry,Ko=(n)=>{if(n.startsWith("bc1")||n.startsWith("tb1")||n.startsWith("ltc1")||n.startsWith("tltc1"))return"P2WPKH";if(n.startsWith("1")||n.startsWith("m")||n.startsWith("n")||n.startsWith("bitcoincash:q")||n.startsWith("bitcoincash:p")||n.startsWith("q")||n.startsWith("p")||n.startsWith("L")||n.startsWith("M")||n.startsWith("3")||n.startsWith("D")||n.startsWith("A")||n.startsWith("9")||n.startsWith("X")||n.startsWith("7")||n.startsWith("y")||n.startsWith("t1")||n.startsWith("t3")||n.startsWith("tm"))return"P2PKH";throw new q1.SwapKitError("toolbox_utxo_invalid_address",{address:n})},po=({inputs:n,outputs:y,feeRate:T})=>{let o=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",t=(T?n.filter((_)=>_.value>=xf["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(T)):n).reduce((_,G)=>_+lo(G),0),C=y?.reduce((_,G)=>_+xy(G),0)||Ry[o],H=Ff+t+C;return o==="P2WPKH"?Math.ceil(H+pf/4):H},lo=(n)=>{if("type"in n&&n.type)return xf[n.type];if("address"in n&&n.address)return xf[Ko(n.address)];return m_+r_},xy=(n,y)=>{if(n?.script)return l1+n.script.length+(n.script.length>=74?2:1);if(y)return Ry[y];if("address"in n&&n.address)return Ry[Ko(n.address)];return Ry.P2PKH};var Gt=S(()=>{q1=require("@swapkit/helpers"),G1=require("@swapkit/utxo-signer");((T)=>{T.P2PKH="P2PKH";T.P2WPKH="P2WPKH"})(Sf||={});xf={["P2PKH"]:148,["P2WPKH"]:68},Ry={["P2PKH"]:34,["P2WPKH"]:31}});function Fy(n){switch(n){case rn.Chain.Bitcoin:case rn.Chain.BitcoinCash:return 550;case rn.Chain.Dash:case rn.Chain.Litecoin:return 5500;case rn.Chain.Dogecoin:return 1e5;case rn.Chain.Zcash:return 546;default:throw new rn.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}function vn({inputs:n,outputs:y,feeRate:T=1,chain:o=rn.Chain.Bitcoin,changeAddress:f=""}){let t=n[0]&&"address"in n[0]&&n[0].address?Ko(n[0].address):"P2PKH",C=n.filter((W)=>lo(W)*T<=W.value),A=t==="P2WPKH"?Math.ceil(pf/4):0,_=Ff+A+y.reduce((W,l)=>W+xy(l),0),G=y.reduce((W,l)=>W+l.value,0),M=_*T,w=0,X=[];for(let W of C){let l=lo(W),Z=T*l;M+=Z,w+=W.value,X.push(W);let z=M+G;if(w<z)continue;let L=w-z,N=T*xy({address:f,value:0});if(L>N){let J=N+M,U=w-(G+Math.ceil(J));if(U>Math.max(lo({value:0})*T,Fy(o)))return{fee:Math.ceil(J),inputs:X,outputs:y.concat({address:f,value:U})}}return{fee:Math.ceil(M),inputs:X,outputs:y}}return{fee:Math.ceil(T*po({inputs:n,outputs:y}))}}var rn;var X1=S(()=>{Gt();rn=require("@swapkit/helpers")});var co=S(()=>{t1();w1();X1();Gt()});function So(n){return n.replace(/(bchtest:|bitcoincash:)/,"")}function Xo(n){let y=So(n);return wt(y)&&qt(y)==="mainnet"}function io(n){try{if(n.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let T=kf.Address(kf.ZCASH_NETWORK).decode(n);return T.type==="pkh"||T.type==="sh"}catch{return!1}}var kf;var py=S(()=>{co();kf=require("@swapkit/utxo-signer")});function Wt({address:n,chain:y}){return Xt.match(y).with(F.Chain.BitcoinCash,()=>Xo(n)).with(F.Chain.Zcash,()=>io(n)).otherwise(()=>{try{return m.Address(Dn(y)).decode(n),!0}catch{return!1}})}function Dn(n){return Xt.match(n).with(F.Chain.Bitcoin,()=>m.NETWORKS.bitcoin).with(F.Chain.BitcoinCash,()=>m.NETWORKS.bitcoinCash).with(F.Chain.Dash,()=>m.NETWORKS.dash).with(F.Chain.Dogecoin,()=>m.NETWORKS.dogecoin).with(F.Chain.Litecoin,()=>m.NETWORKS.litecoin).with(F.Chain.Zcash,()=>m.NETWORKS.zcash).exhaustive()}function g_({phrase:n,derivationPath:y,network:T,seed:o}){let f=o??Pf.mnemonicToSeedSync(n),C=lt.HDKey.fromMasterSeed(f,T.bip32).derive(y);if(!C.privateKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return C.privateKey}function W1(n){return B1.secp256k1.getPublicKey(n,!0)}function ky({publicKey:n,chain:y,network:T}){if(y===F.Chain.BitcoinCash){let t=m.p2pkh(n,T);if(!t.hash)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return m.encodeCashAddr({hash:t.hash,prefix:m.CashAddrPrefix.MAINNET,type:m.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let f=!Sy.includes(y)?m.p2wpkh(n,T):m.p2pkh(n,T);if(!f.address)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return f.address}function ho({phrase:n,derivationPath:y,chain:T,wif:o,seed:f}){let t=Dn(T);if(o){let _=m.WIF(t).decode(o),G=W1(_);return{privateKey:_,publicKey:G}}if(!n)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let C=y||F.derivationPathToString(F.NetworkDerivationPath[T]),H=g_({derivationPath:C,network:t,phrase:n,seed:f}),A=W1(H);return{privateKey:H,publicKey:A}}function d_(n,y){return m.WIF(Dn(y)).encode(n)}function a_({phrase:n,derivationPath:y,chain:T,seed:o}){let f=y.split("/");if(f.length<4)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${f.length}): ${y}`});let t=Dn(T),C=o??Pf.mnemonicToSeedSync(n),H=lt.HDKey.fromMasterSeed(C,t.bip32),A=f.slice(0,4).join("/");return H.derive(A)}function Bo({inputs:n,outputs:y,chain:T,tx:o,sender:f,compiledMemo:t,enableRBF:C=!1}){let H=Dn(T),A=!Sy.includes(T),_=C?m.RBF_SEQUENCE:void 0,G=new Set;for(let M of n){let w=`${M.hash}:${M.index}`;if(G.has(w))throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(w);let X=typeof M.hash==="string"?Wo.hex.decode(M.hash):M.hash;if(A&&M.witnessUtxo)o.addInput({index:M.index,sequence:_,txid:X,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)o.addInput({index:M.index,nonWitnessUtxo:Wo.hex.decode(M.txHex),sequence:_,txid:X,...T===F.Chain.BitcoinCash?{sighashType:m.BCHSigHash.ALL}:{}});else throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of y){let w="address"in M&&M.address?M.address:f;if(T===F.Chain.BitcoinCash)w=yo(w);if(M.script){if(t)o.addOutput({amount:0n,script:t})}else o.addOutputAddress(w,BigInt(M.value),H)}return{inputs:n,tx:o}}async function mo(n){let y=await Qn(n).getSuggestedTxFee();return{[F.FeeOption.Average]:y,[F.FeeOption.Fast]:F.applyFeeMultiplier(y,F.FeeOption.Fast),[F.FeeOption.Fastest]:F.applyFeeMultiplier(y,F.FeeOption.Fastest)}}async function M1({assetValue:n,recipient:y,memo:T,sender:o,fetchTxHex:f=!1}){let t=n.chain,C=(await mo(t))[F.FeeOption.Fastest],H=f||Sy.includes(t),A=n.getBaseValue("number"),_=Math.ceil(A+C*5000);return{inputs:await Qn(t).getUtxos({address:o,fetchTxHex:H,targetValue:_}),outputs:[{address:y,value:A},...T?[{address:"",script:kn(T),value:0}]:[]]}}async function L1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f,fetchTxHex:t=!1,enableRBF:C=!1}){let H=n.chain,A=T?kn(T):null,_=await M1({assetValue:n,fetchTxHex:t,memo:T,recipient:y,sender:f}),{inputs:G,outputs:M}=vn({..._,chain:H,feeRate:o});if(!(G&&M))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new m.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:X,tx:W}=Bo({chain:H,compiledMemo:A,enableRBF:C,inputs:G,outputs:M,sender:f,tx:w});return{inputs:X,tx:W,utxos:_.inputs}}async function Q1({assetValue:n,feeOptionKey:y=F.FeeOption.Fast,feeRate:T,memo:o,sender:f,recipient:t}){let C=n.chain,H=await M1({assetValue:n,memo:o,recipient:t,sender:f}),A=T?Math.floor(T):(await mo(C))[y];return vn({...H,chain:C,feeRate:A})}function s_(n){return async function({from:T,memo:o,feeRate:f,feeOptionKey:t=F.FeeOption.Fast,recipients:C=1}){let H=await Qn(n).getAddressData(T),A=f?Math.ceil(f):(await mo(n))[t],_=H?.utxo.map((l)=>({...l,hash:"",type:"P2PKH"})).filter((l)=>l.value>Math.max(Fy(n),lo(l)*A));if(!_?.length)return F.AssetValue.from({chain:n});let G=BigInt(_.reduce((l,Z)=>l+Z.value,0)),M=F.AssetValue.from({chain:n,value:G}),w=typeof C==="number"?Array.from({length:C},()=>({address:T,value:0})):C;if(o)w.push({address:T,script:kn(o),value:0});let X=po({inputs:_,outputs:w}),W=F.AssetValue.from({chain:n,value:BigInt(X*A)});return M.sub(W)}}function e_(n){return async function(T){let{fee:o}=await Q1(T);return F.AssetValue.from({chain:n,value:F.SwapKitNumber.fromBigInt(BigInt(o),8).getValue("string")})}}function n5({chain:n,phrase:y,derivationPath:T,seed:o}){let f=Dn(n),{privateKey:t,publicKey:C}=ho({chain:n,derivationPath:T,phrase:y,seed:o}),H=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];return{getAddress:()=>ky({chain:n,network:f,publicKey:C}),privateKey:t,publicKey:C,signTransaction:(A)=>{return A.sign(t,H),A}}}function o5(n,y){return async function({memo:o,recipient:f,feeOptionKey:t,feeRate:C,assetValue:H,enableRBF:A=!1}){let _=y?.getAddress();if(!(y&&_))throw new F.SwapKitError("toolbox_utxo_no_signer");if(!f)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});F.warnOnce({condition:A&&!uf.includes(n),id:`rbf_not_supported_${n}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${n}. Transaction will be created without RBF signaling.`});let G=A&&uf.includes(n),M=C||(await mo(n))[t||F.FeeOption.Fast],{tx:w}=await L1({assetValue:H,enableRBF:G,feeRate:M,memo:o,recipient:f,sender:_});return y.signTransaction(w),w.finalize(),Qn(n).broadcastTx(Wo.hex.encode(w.extract()))}}function Bt(n){return(y)=>Wt({address:y,chain:n})}function Mt(n){let y=Dn(n);return function(o){if(!o)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ky({chain:n,network:y,publicKey:o.publicKey})}}function Mo({chain:n,...y}){let T="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=T?Pf.mnemonicToSeedSync(T):void 0,t="derivationPath"in y&&y.derivationPath?y.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[n],{index:o}),C=F.derivationPathToString(t),H=T?n5({chain:n,derivationPath:C,phrase:T,seed:f}):void 0,A="signer"in y?y.signer:void 0,_=T?ho({chain:n,derivationPath:C,phrase:T,seed:f}):void 0;function G(){if(H)return Promise.resolve(H.getAddress());if(A)return A.getAddress();return Promise.resolve(void 0)}function M(q){if(!T)return;let Y=Go({accountIndex:q,chain:n,derivationPath:t});return a_({chain:n,derivationPath:F.derivationPathToString(Y),phrase:T,seed:f})}let w=M();function X(){if(!w)return;return w.publicExtendedKey}function W({accountIndex:q}={}){let Y=q===void 0?w:M(q);if(!Y)return;let D=Go({accountIndex:q,chain:n,derivationPath:t});return{accountIndex:Ro(D),path:F.derivationPathToString(D),xpub:Y.publicExtendedKey}}function l({accountIndex:q,index:Y,change:D=!1}){let Q=q===void 0?w:M(q);if(!Q)return;let O=jo({accountIndex:q,chain:n,change:D,derivationPath:t,index:Y}),x=Dn(n),k=Q.deriveChild(Number(D)).deriveChild(Y);if(!k.publicKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let u=ky({chain:n,network:x,publicKey:k.publicKey}),j=Wo.hex.encode(k.publicKey);return{accountIndex:Ro(O),address:u,change:D,index:Y,path:F.derivationPathToString(O),pubkey:j}}async function Z(q){if(!uf.includes(n))return{reason:`RBF is not supported on ${n}`,supported:!1};let Y=await Qn(n).getTransactionDetails(q);return{canReplace:Y.isRBF&&!Y.confirmed,confirmed:Y.confirmed,enabled:Y.isRBF,fee:Y.fee,sequences:Y.sequences,supported:!0}}async function z({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!uf.includes(n))throw new F.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:n});let O=await Qn(n).getTransactionDetails(q);if(!O.isRBF)throw new F.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(O.confirmed)throw new F.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:O.blockId,txid:q});let x=O.inputs.reduce((Xn,In)=>Xn+In.value,0),u=O.outputs.find((Xn)=>Xn.recipient===D)?.value||0;if(u===0)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let j=await Promise.all(O.inputs.map(async(Xn)=>{let In=await Qn(n).getRawTx(Xn.transaction_hash);return{hash:Xn.transaction_hash,index:Xn.index,txHex:In,value:Xn.value,witnessUtxo:void 0}})),s=Q?kn(Q):null,Tn=po({feeRate:Y,inputs:j.map((Xn)=>({...Xn,type:"P2WPKH"})),outputs:[{address:D,value:u}]}),on=Math.ceil(Tn*Y);if(on<=O.fee)throw new F.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:on,originalFee:O.fee});let Zn=on-O.fee,Bn=u-Zn;if(Bn<=0)throw new F.SwapKitError("toolbox_utxo_rbf_insufficient_change");let On=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Kn=[{address:D,value:Bn},...Q?[{address:"",script:kn(Q),value:0}]:[]],cn=x-Bn-on,Rn=await G();if(cn>Fy(n)&&Rn)Kn.push({address:Rn,value:cn});return Bo({chain:n,compiledMemo:s,inputs:j,outputs:Kn,sender:Rn||D,tx:On}),{feeDelta:Zn,newFee:on,originalFee:O.fee,tx:On}}async function L({txid:q,newFeeRate:Y,recipient:D,memo:Q}){if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");let{tx:O,originalFee:x,newFee:k}=await z({memo:Q,newFeeRate:Y,recipient:D,txid:q});H.signTransaction(O),O.finalize();let u=await Qn(n).broadcastTx(Wo.hex.encode(O.extract()));return{newFee:k,originalFee:x,txid:u}}function N({accountIndex:q,index:Y,change:D=!1}){bn("index",Y);let Q=q===void 0?w:M(q);if(!Q)return;return Q.deriveChild(Number(D)).deriveChild(Y).privateKey||void 0}function J({tx:q,inputDerivations:Y}){if(!w)throw new F.SwapKitError("toolbox_utxo_no_signer");let D=n===F.Chain.BitcoinCash?[m.BCHSigHash.ALL]:[m.SigHash.ALL];for(let Q=0;Q<Y.length;Q++){let O=Y[Q];if(!O)continue;let{derivationIndex:x,isChange:k}=O,u=N({change:k,index:x});if(!u)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${Q} at index ${x}`});q.signIdx(u,Q,D)}return q}async function U({utxos:q,recipient:Y,assetValue:D,memo:Q,feeRate:O,feeOptionKey:x,changeAddress:k}){if(!w)throw new F.SwapKitError("toolbox_utxo_no_signer");let u=O||(await mo(n))[x||F.FeeOption.Fast],j=Q?kn(Q):null,s=[{address:Y,value:D.getBaseValue("number")}];if(j)s.push({address:"",script:j,value:0});let Tn=q.map(({hash:Rn,index:Xn,value:In,txHex:zH,witnessUtxo:fT})=>({hash:Rn,index:Xn,txHex:zH,value:In,witnessUtxo:fT?{script:fT.script,value:fT.value}:void 0})),{inputs:on,outputs:Zn}=vn({chain:n,feeRate:u,inputs:Tn,outputs:s});if(!(on&&Zn))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:D,sender:"multiple addresses"});let Bn=new m.Transaction({allowLegacyWitnessUtxo:!0,version:1}),On=q[0]?.address,Kn=k||await G()||On||Y;Bo({chain:n,compiledMemo:j,inputs:on,outputs:Zn,sender:Kn,tx:Bn});let cn=on.map((Rn)=>{let Xn=q.find((In)=>In.hash===Rn.hash&&In.index===Rn.index);return Xn?{derivationIndex:Xn.derivationIndex,isChange:Xn.isChange}:{derivationIndex:0,isChange:!1}});return J({inputDerivations:cn,tx:Bn}),Bn.finalize(),Qn(n).broadcastTx(Wo.hex.encode(Bn.extract()))}function B({address:q,gapLimit:Y=20}){if(!w)return;for(let D=0;D<Y;D++){let Q=l({change:!1,index:D}),O=l({change:!0,index:D}),x=Q?.address===q?!1:O?.address===q;if(Q?.address===q||O?.address===q)return{change:x,index:D}}return}return{accumulative:vn,broadcastTx:(q)=>Qn(n).broadcastTx(q),bumpFee:L,calculateTxSize:po,createKeysForPath:(q)=>ho({...q,chain:n}),createReplacementTransaction:z,createTransaction:L1,deriveAddressAtIndex:l,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:s_(n),estimateTransactionFee:e_(n),getAddress:G,getAddressFromKeys:Mt(n),getBalance:xn(n),getExtendedPublicKey:X,getExtendedPublicKeyInfo:W,getFeeRates:()=>mo(n),getInputsOutputsFee:Q1,getNetworkForChain:()=>Dn(n),getPrivateKeyFromMnemonic:(q)=>d_(ho({...q,chain:n}).privateKey,n),isRBFEnabled:Z,keys:_,resolveDerivationIndex:B,signAndBroadcastTransaction:async(q)=>{if(!H)throw new F.SwapKitError("toolbox_utxo_no_signer");return H.signTransaction(q),q.finalize(),await Qn(n).broadcastTx(Wo.hex.encode(q.extract()))},signTransactionWithMultipleKeys:J,transfer:o5(n,H),transferFromMultipleAddresses:U,validateAddress:Bt(n)}}var B1,Wo,lt,Pf,F,m,Xt,Sy,uf;var ro=S(()=>{dn();zy();co();py();B1=require("@noble/curves/secp256k1.js"),Wo=require("@scure/base"),lt=require("@scure/bip32"),Pf=require("@scure/bip39"),F=require("@swapkit/helpers"),m=require("@swapkit/utxo-signer"),Xt=require("ts-pattern"),Sy=[F.Chain.Dash,F.Chain.Dogecoin,F.Chain.Zcash,F.Chain.BitcoinCash],uf=[F.Chain.Bitcoin]});function uy(n){return So(Oy(n))}function y5(n){let y=Dn(gn);function T(f){return f.sign(n.privateKey,[Wn.BCHSigHash.ALL]),f}function o(){let f=Wn.p2pkh(n.publicKey,y);if(!f.hash)throw new 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 Qt(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[gn],{index:T})),f=y?ho({chain:gn,derivationPath:o,phrase:y}):void 0,t=f?y5(f):("signer"in n)?n.signer:void 0;function C(){return Promise.resolve(t?.getAddress())}let{getBalance:H,getFeeRates:A,broadcastTx:_,...G}=Mo({chain:gn});function M(X,W=!0){return H(So(Oy(X)))}async function w(X){if(!t)throw new Gn.SwapKitError("toolbox_utxo_no_signer");return t.signTransaction(X),X.finalize(),await _(Lt.hex.encode(X.extract()))}return{...G,broadcastTx:_,buildTx:T5,createTransaction:Z1,getAddress:C,getAddressFromKeys:t5,getBalance:M,getFeeRates:A,signAndBroadcastTransaction:w,stripPrefix:So,stripToCashAddress:uy,transfer:f5({broadcastTx:_,getFeeRates:A,signer:t}),validateAddress:Xo}}async function Z1({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){if(!Xo(y))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:y});let t=Math.ceil(n.getBaseValue("number")+o*7500),C=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:t}),H=T?kn(T):null,A=[],_=yo(y);if(A.push({address:_,value:n.getBaseValue("number")}),H)A.push({script:H,value:0});let{inputs:G,outputs:M}=vn({chain:gn,feeRate:o,inputs:C,outputs:A});if(!(G&&M))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let w=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!H,version:1}),X=yo(f),{inputs:W,tx:l}=Bo({chain:gn,compiledMemo:H,inputs:G,outputs:M.map((Z)=>("address"in Z)&&Z.address?{...Z,address:yo(Z.address)}:Z),sender:X,tx:w});return{inputs:W,tx:l,utxos:G}}function f5({broadcastTx:n,getFeeRates:y,signer:T}){return async function({recipient:f,assetValue:t,feeOptionKey:C=Gn.FeeOption.Fast,...H}){let A=await T?.getAddress();if(!(T&&A))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 _=H.feeRate||(await y())[C],{tx:G}=await Z1({...H,assetValue:t,feeRate:_,recipient:f,sender:A}),M=await T.signTransaction(G);return M.finalize(),n(Lt.hex.encode(M.extract()))}}async function T5({assetValue:n,recipient:y,memo:T,feeRate:o,sender:f}){let t=Oy(y);if(!Xo(t))throw new Gn.SwapKitError("toolbox_utxo_invalid_address",{address:t});let C=Math.ceil(n.getBaseValue("number")+o*7500),H=await Qn(gn).getUtxos({address:uy(f),fetchTxHex:!0,targetValue:C}),A=Number(o.toFixed(0)),_=T?kn(T):null,G=[];if(G.push({address:yo(y),value:n.getBaseValue("number")}),_)G.push({script:_,value:0});let{inputs:M,outputs:w}=vn({chain:gn,feeRate:A,inputs:H,outputs:G});if(!(M&&w))throw new Gn.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:f});let X=new Wn.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:W,tx:l}=Bo({chain:gn,compiledMemo:_,inputs:M,outputs:w,sender:yo(f),tx:X});return{inputs:W,tx:l,utxos:H}}function t5(n){let y=Wn.NETWORKS.bitcoinCash,T=Wn.p2pkh(n.publicKey,y);if(!T.hash)throw new 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 Lt,Gn,Wn,gn;var If=S(()=>{co();ro();py();Lt=require("@scure/base"),Gn=require("@swapkit/helpers"),Wn=require("@swapkit/utxo-signer"),gn=Gn.Chain.BitcoinCash});function Y1(){let{isStagenet:n}=_n.SKConfig.get("envs");return n?tn.ZCASH_TEST_NETWORK:tn.ZCASH_NETWORK}function H5(n){return C5.encode(n)}function A5({phrase:n,derivationPath:y}){let T=Jt.mnemonicToSeedSync(n),f=Zt.HDKey.fromMasterSeed(T).derive(y);if(!f.privateKey||!f.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:t,publicKey:C}=f,H=tn.utils.hash160(C),{isStagenet:A}=_n.SKConfig.get("envs"),_=A?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(_.length+H.length);G.set(_,0),G.set(H,_.length);let M=H5(G);return{getAddress:()=>Promise.resolve(M),signTransaction:(w)=>{if(w instanceof tn.PCZT)return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),w.finalizeAllInputs(),Promise.resolve(w.extract());return w.signAllInputs(t,C,tn.ZcashSigHash.ALL),Promise.resolve(w)}}}function _5({inputs:n,outputs:y,tx:T,sender:o,compiledMemo:f}){let t=Y1();for(let C of n){let H=tn.Address(t).decode(o),A=tn.OutScript.encode(H);T.addInput({index:C.index,script:A,sequence:4294967295,txid:$f.hex.decode(C.hash),value:BigInt(C.value)})}for(let C of y){let H="address"in C&&C.address?C.address:o,A=C.script;if(A&&!f)continue;if(A&&f)T.addOutput({amount:0n,script:f});else T.addOutputAddress(H,BigInt(C.value),t)}return{inputs:n,tx:T}}async function J1(n){let{assetValue:y,recipient:T,memo:o,feeRate:f,sender:t,fetchTxHex:C}=n,H=o?kn(o):null,A=await Qn(_n.Chain.Zcash).getUtxos({address:t,fetchTxHex:C!==!1}),_=[{address:T,value:Number(y.getBaseValue("string"))},...H?[{script:H,value:0}]:[]],{inputs:G,outputs:M}=vn({chain:_n.Chain.Zcash,changeAddress:t,feeRate:f,inputs:A,outputs:_});if(!(G&&M))throw new _n.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:t});let w=tn.createZcashTransaction({consensusBranchId:tn.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:tn.ZcashVersionGroupId.SAPLING}),{tx:X,inputs:W}=_5({compiledMemo:H,inputs:G,outputs:M,sender:t,tx:w});return{inputs:W,outputs:M,tx:X}}function Yt(n){let y=go.match(n).with({signer:go.P.not(go.P.nullish)},({signer:A})=>A).with({phrase:go.P.string},({phrase:A,derivationPath:_,index:G=0})=>{let M=_||_n.NetworkDerivationPath[_n.Chain.Zcash]||[44,133,0,0,0],w=_n.updateDerivationPath(M,{index:G}),X=_n.derivationPathToString(w);return A5({derivationPath:X,phrase:A})}).otherwise(()=>{return}),T=Mo({chain:_n.Chain.Zcash,signer:y});async function o({recipient:A,assetValue:_,feeOptionKey:G=_n.FeeOption.Fast,...M}){let w=await y?.getAddress();if(!(y&&w))throw new _n.SwapKitError("toolbox_utxo_no_signer");let X=M.feeRate||(await T.getFeeRates())[G],{tx:W}=await J1({...M,assetValue:_,feeRate:X,recipient:A,sender:w}),Z=(await y.signTransaction(W)).toHex();return T.broadcastTx(Z)}function f({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=Jt.mnemonicToSeedSync(A),w=Zt.HDKey.fromMasterSeed(G).derive(_);if(!w.privateKey||!w.publicKey)throw new _n.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:w.privateKey,publicKey:w.publicKey}}function t({phrase:A,derivationPath:_="m/44'/133'/0'/0/0"}){let G=f({derivationPath:_,phrase:A}),M=Y1();return tn.WIF(M).encode(G.privateKey)}function C(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");return await A.signTransaction(G)}}function H(A){return async function(G){if(!A)throw new _n.SwapKitError("toolbox_utxo_no_signer");let M=await A.signTransaction(G);return T.broadcastTx(M.toHex())}}return{...T,createKeysForPath:f,createTransaction:J1,getPrivateKeyFromMnemonic:t,signAndBroadcastTransaction:H(y),signTransaction:C(y),transfer:o,validateAddress:io}}var $f,Zt,Jt,_n,tn,go,C5;var Nt=S(()=>{co();ro();py();$f=require("@scure/base"),Zt=require("@scure/bip32"),Jt=require("@scure/bip39"),_n=require("@swapkit/helpers"),tn=require("@swapkit/utxo-signer"),go=require("ts-pattern");C5=$f.createBase58check(tn.utils.sha256)});function O1({xpub:n,chain:y,count:T,startIndex:o=0,accountIndex:f}){if(bn("count",T),T<1)throw RangeError("count must be at least 1");bn("startIndex",o);let t=Dn(y),C=z1.HDKey.fromExtendedKey(n,t.bip32),H=Go({accountIndex:f,chain:y}),A=Ro(H),_=[];for(let G of[!1,!0]){let M=C.deriveChild(Number(G));for(let w=0;w<T;w++){let X=o+w,W=M.deriveChild(X);if(!W.publicKey)continue;let l=jo({accountIndex:f,chain:y,change:G,index:X});_.push({accountIndex:A,address:ky({chain:y,network:t,publicKey:W.publicKey}),change:G,index:X,path:D1.derivationPathToString(l),pubkey:N1.hex.encode(W.publicKey)})}}return _}var N1,z1,D1;var R1=S(()=>{zy();ro();N1=require("@scure/base"),z1=require("@scure/bip32"),D1=require("@swapkit/helpers")});function U5(n,y){switch(n){case fo.Chain.BitcoinCash:return Qt(y||{});case fo.Chain.Zcash:return Yt(y);case fo.Chain.Bitcoin:case fo.Chain.Dogecoin:case fo.Chain.Litecoin:case fo.Chain.Dash:return Mo({chain:n,...y});default:throw new fo.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}var fo;var x1=S(()=>{If();ro();Nt();zy();R1();If();py();fo=require("@swapkit/helpers")});var zt={};Mn(zt,{validateZcashAddress:()=>io,validateUtxoAddress:()=>Wt,validateBchAddress:()=>Xo,toLegacyAddress:()=>yo,toCashAddress:()=>Oy,stripToCashAddress:()=>uy,stripPrefix:()=>So,nonSegwitChains:()=>Sy,isValidAddress:()=>wt,getUtxoToolbox:()=>U5,getUtxoNetwork:()=>$_,getUtxoApi:()=>Qn,getUTXOAddressValidator:()=>Bt,getUTXOAddressPath:()=>jo,getUTXOAccountPath:()=>Go,getUTXOAccountIndexFromPath:()=>Ro,getScriptTypeForAddress:()=>Ko,getOutputSize:()=>xy,getNetworkForChain:()=>Dn,getInputSize:()=>lo,getDustThreshold:()=>Fy,detectAddressNetwork:()=>qt,deriveAddressesFromXpub:()=>O1,createZcashToolbox:()=>Yt,createUTXOToolbox:()=>Mo,createHDWalletHelpers:()=>eC,createCustomUtxoApi:()=>I_,createBCHToolbox:()=>Qt,compileMemo:()=>kn,calculateTxSize:()=>po,assertDerivationIndex:()=>bn,addressFromKeysGetter:()=>Mt,addInputsAndOutputs:()=>Bo,accumulative:()=>vn,UtxoNetwork:()=>Ut,UTXOScriptType:()=>Sf,TX_OVERHEAD:()=>Ff,SEGWIT_MARKER_FLAG_WEIGHT:()=>pf,OutputSizes:()=>Ry,OP_RETURN_OVERHEAD:()=>l1,MIN_TX_FEE:()=>h_,InputSizes:()=>xf});module.exports=Jn(zt);var Dt=S(()=>{ro();zy();co();x1();If();Nt()});function Py(n){return n.length>=2&&n.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(n)}async function bf(n){let{KeyPair:y}=await import("@near-js/crypto"),T=n.index||0,o=n.derivationPath?Ef.derivationPathToString(n.derivationPath.slice(0,3)):`m/44'/397'/${T}'`,{secretKey:f}=p1.parseSeedPhrase(n.phrase,o),t=y.fromString(f);return k1(t)}async function Ot(n){let{KeyPair:y}=await import("@near-js/crypto"),T=y.fromString(n);return k1(T)}function k1(n){return new S1(n)}async function vf(n,y){let o=(await n.query({account_id:y,finality:"final",request_type:"view_access_key_list"})).keys.find((H)=>H.access_key.permission==="FullAccess");if(!o)throw new Ef.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:f}=await import("@near-js/crypto"),t=f.fromString(o.public_key);return{nonce:o.access_key.nonce||0,publicKey:t}}var F1,Ef,p1,S1;var Rt=S(()=>{F1=require("@near-js/signers"),Ef=require("@swapkit/helpers"),p1=TT(require("near-seed-phrase"));S1=class S1 extends F1.KeyPairSigner{#n;constructor(n){super(n);this.#n=n}getAddress(){let n=this.#n.getPublicKey(),y=Buffer.from(n.data).toString("hex");return Promise.resolve(y)}}});function xt(n){return"recipient"in n&&"amount"in n&&!("contractId"in n)}function Ft(n){return"contractId"in n&&"methodName"in n}function pt(n){return"actions"in n}function St(n){return"newAccountId"in n}function kt(n){return"contractCode"in n}function ut(n){return"customEstimator"in n}function Pt(n){let y=0;for(let T of n)switch(T.enum){case"transfer":y+=Number(Yn.SIMPLE_TRANSFER);break;case"functionCall":y+=Number(Yn.CONTRACT_CALL);break;case"createAccount":y+=Number(Yn.ACCOUNT_CREATION);break;case"deployContract":y+=Number(Yn.CONTRACT_DEPLOYMENT);break;case"addKey":y+=Number(Yn.ACCESS_KEY_ADDITION);break;case"deleteKey":y+=Number(Yn.ACCESS_KEY_DELETION);break;case"stake":y+=Number(Yn.STAKE);break;default:y+=Number(Yn.CONTRACT_CALL)}return y.toString()}function It(n){if(n==="ft_transfer"||n==="ft_transfer_call")return Yn.TOKEN_TRANSFER;if(n==="storage_deposit")return Yn.STORAGE_DEPOSIT;return Yn.CONTRACT_CALL}function w5(n){return(BigInt(n)*BigInt(1000000000000)).toString()}function q5(n){return(BigInt(n)/BigInt(1000000000000)).toString()}var Yn;var $t=S(()=>{Yn={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function Et({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 G5(n){let y;async function T(){if(y)return y;return y=await ao.match(n).with({phrase:ao.P.string},async(Q)=>{return await bf(Q)}).with({signer:ao.P.any},({signer:Q})=>Q).otherwise(()=>{return}),y}async function o(){let Q=await nn.getRPCUrl(nn.Chain.Near);return new u1.JsonRpcProvider({url:Q})}async function f(Q){let{Account:O}=await import("@near-js/accounts"),x=await o(),k=await T(),u=Q||await t();return new O(u,x,k)}async function t(){let Q=await T();if(!Q)throw new nn.SwapKitError("toolbox_near_no_signer");return await Q.getAddress()}async function C(Q){return(await J({changeMethods:[],contractId:Q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:Q.accountId})}async function H(Q){let x=[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 U({actions:x,receiverId:Q.contractId})}async function A(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let{assetValue:x,recipient:k,memo:u}=Q,j=await t();if(!x.isGasAsset&&x.address){if(!await C({accountId:k,contractId:x.address}))return H({assetValue:x,contractId:x.address,memo:u,recipient:k})}let s=await _({...Q,sender:j});return l(s)}async function _({recipient:Q,assetValue:O,memo:x,attachedDeposit:k,sender:u,functionCall:j}){let s=await o();if(!Py(Q))throw new nn.SwapKitError("toolbox_near_invalid_address",{recipient:Q});if(!Py(u))throw new nn.SwapKitError("toolbox_near_invalid_address",{sender:u});if(j)return M({...j,sender:u});if(!O.isGasAsset){let In=O.address;if(!In)throw new nn.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:x||null,receiver_id:Q},attachedDeposit:k||"1",contractId:In,gas:"250000000000000",methodName:"ft_transfer",sender:u})}let{publicKey:Tn,nonce:on}=await vf(s,u),Zn=O.getBaseValue("bigint"),{actionCreators:Bn,createTransaction:On}=await import("@near-js/transactions"),{baseDecode:Kn}=await import("@near-js/utils"),cn=[Bn.transfer(Zn)];if(x&&k)cn.push(Bn.functionCall("memo",{memo:x},BigInt("250000000000000"),BigInt(k)));let Rn=await s.block({finality:"final"}),Xn=Kn(Rn.header.hash);return On(u,Tn,Q,on+1,cn,Xn)}function G(Q){let O=Q.encode();return Buffer.from(O).toString("base64")}async function M({args:Q,attachedDeposit:O,contractId:x,gas:k,methodName:u,sender:j}){let s=await o(),{publicKey:Tn,nonce:on}=await vf(s,j),{createTransaction:Zn,actionCreators:Bn}=await import("@near-js/transactions"),{baseDecode:On}=await import("@near-js/utils"),Kn=await s.block({finality:"final"}),cn=On(Kn.header.hash),Rn=[Bn.functionCall(u,Buffer.from(JSON.stringify(Q)),BigInt(k),BigInt(O))];return Zn(j,Tn,x,on+1,Rn,cn)}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 X(Q){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let[x,k]=await O.signTransaction(Q);return k}async function W(Q){return(await(await o()).sendTransaction(Q)).transaction.hash}async function l(Q){let O=await T();if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");try{let x=await X(Q);return await W(x)}catch{return O.signAndSendTransactions?.({transactions:[Q]})}}async function Z(Q){let O=await T();if("assetValue"in Q){let k=await z();try{let u=await nn.getRPCUrl(nn.Chain.Near),j=await fetch(u,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:s}}=await j.json(),{execution:Tn,send_sir:on}=s.transaction_costs.action_receipt_creation_config,{execution:Zn,send_sir:Bn}=s.transaction_costs.action_creation_config.transfer_cost,On=BigInt(Bn)+BigInt(Zn),Kn=BigInt(on)+BigInt(Tn),Rn=(On+Kn)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:Rn})}catch(u){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",u);let j=BigInt("115123062500"),s=BigInt("108059500000"),on=(j+s)*BigInt(k.toString());return nn.AssetValue.from({chain:nn.Chain.Near,value:on})}}let x=O?await f():void 0;return B(Q,x)}async function z(){let Q=await o();try{return await Q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(Q,O,x){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");let u=await f(),{formatNearAmount:j}=await import("@near-js/utils"),{PublicKey:s}=await import("@near-js/crypto"),Tn=j(x)||"0";return(await u.createAccount(Q,s.fromString(O),BigInt(Tn))).transaction.hash}async function N(Q){let O=await T();try{if(!O)throw new nn.SwapKitError("toolbox_near_no_signer");let{actionCreators:x}=await import("@near-js/transactions"),{contractId:k,methodName:u,args:j,deposit:s}=Q,Tn=await f(),on=await B({args:j||{},contractId:k,methodName:u}),Zn=x.functionCall(u,j||{},on.getBaseValue("bigint"),BigInt(s||"1"));return(await Tn.signAndSendTransaction({actions:[Zn],receiverId:k})).transaction_outcome.id}catch(x){throw new nn.SwapKitError("toolbox_near_transfer_failed",{error:x})}}async function J(Q){let O=await f();return Et({account:O,changeMethods:Q.changeMethods,contractId:Q.contractId,viewMethods:Q.viewMethods})}async function U(Q){if(!await T())throw new nn.SwapKitError("toolbox_near_no_signer");if(Q.actions.length===0)throw new nn.SwapKitError("toolbox_near_empty_batch");return(await(await f()).signAndSendTransaction({actions:Q.actions,receiverId:Q.receiverId})).transaction.hash}async function B(Q,O){let x=await ao.match(Q).when(xt,()=>Yn.SIMPLE_TRANSFER).when(Ft,(u)=>It(u.methodName)).when(pt,(u)=>Pt(u.actions)).when(St,()=>Yn.ACCOUNT_CREATION).when(kt,()=>Yn.CONTRACT_DEPLOYMENT).when(ut,(u)=>{if(!O)throw new nn.SwapKitError("toolbox_near_no_account");return u.customEstimator(O)}).otherwise(()=>{throw new nn.SwapKitError("toolbox_near_invalid_gas_params")}),k=BigInt(x)*BigInt(1000000000000);return nn.AssetValue.from({chain:nn.Chain.Near,value:k})}function q(Q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),B(Q,O)}async function Y(){let Q=await o();try{return(await Q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function D(){let Q=await T();return Q?(await Q.getPublicKey()).toString():""}return{broadcastTransaction:W,callFunction:N,createAction:w,createContract:J,createContractFunctionCall:M,createSubAccount:L,createTransaction:_,estimateGas:q,estimateGasLimit:B,estimateTransactionFee:Z,executeBatchTransaction:U,getAddress:t,getBalance:xn(nn.Chain.Near),getGasPrice:Y,getNearProvider:o,getPublicKey:D,getSignerFromPhrase:bf,getSignerFromPrivateKey:Ot,serializeTransaction:G,signAndBroadcastTransaction:l,signTransaction:X,transfer:A,validateAddress:Py}}var u1,nn,ao;var bt=S(()=>{dn();Rt();$t();u1=require("@near-js/providers"),nn=require("@swapkit/helpers"),ao=require("ts-pattern")});var P1=S(()=>{bt()});var vt={};Mn(vt,{validateNearAddress:()=>Py,tgasToGas:()=>w5,isSimpleTransfer:()=>xt,isCustomEstimator:()=>ut,isContractDeployment:()=>kt,isContractCall:()=>Ft,isBatchTransaction:()=>pt,isAccountCreation:()=>St,getNearToolbox:()=>G5,getNearSignerFromPrivateKey:()=>Ot,getNearSignerFromPhrase:()=>bf,getFullAccessPublicKey:()=>vf,getContractMethodGas:()=>It,gasToTGas:()=>q5,estimateBatchGas:()=>Pt,createNearContract:()=>Et,GAS_COSTS:()=>Yn});module.exports=Jn(vt);var Vt=S(()=>{Rt();$t();bt();P1()});var jt={};Mn(jt,{validateRadixAddress:()=>E1,getRadixToolbox:()=>M5});module.exports=Jn(jt);function E1(n){return n.startsWith("account_rdx1")&&n.length===66}function l5({networkApi:n}){return async function(T){let o=await X5({address:T,networkApi:n}),f=await W5({networkApi:n,resources:o});if(!f.some((C)=>C.isGasAsset))return[Vn.AssetValue.from({chain:Vn.Chain.Radix}),...f];return f}}async function X5({address:n,networkApi:y}){let T=!0,o,f=[],t=await B5(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 W5({resources:n,networkApi:y}){let T=[],o=50,f=[];for(let t=0;t<n.length;t+=50)f.push(n.slice(t,t+50));for(let t of f){let C=t.map((_)=>_.resource_address),H=await y.state.getEntityDetailsVaultAggregated(C),A=new Map;for(let _ of H)if(_.details!==void 0){let G=_.metadata?.items.find((w)=>w.key==="symbol"),M=G?.value.typed.type==="String"?G.value.typed.value:"?";if(_.details.type==="FungibleResource")A.set(_.address,{decimals:_.details.divisibility,symbol:M})}for(let _ of t)if(_.aggregation_level==="Global"){let G=A.get(_.resource_address)||{decimals:0,symbol:"?"},M=Vn.AssetValue.from({asset:G.symbol!==Vn.Chain.Radix?`${Vn.Chain.Radix}.${G.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});T.push(M)}}return T}async function B5(n){return(await n.status.getCurrent()).ledger_state.state_version}function M5({dappConfig:n}={}){let y=n||Vn.SKConfig.get("integrations").radix,T=$1.RadixDappToolkit({...y,networkId:y.network?.networkId||1}),o=I1.GatewayApiClient.initialize(T.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:l5({networkApi:o}),networkApi:o,signAndBroadcast:()=>{throw new Vn.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:E1}}var I1,$1,Vn;var Kt=S(()=>{I1=require("@radixdlt/babylon-gateway-api-sdk"),$1=require("@radixdlt/radix-dapp-toolkit"),Vn=require("@swapkit/helpers")});function Vf(n){return/^[0-9A-Fa-f]{40}$/.test(n)}function Iy(n){if(Vf(n))return n.toUpperCase();if(n.length<=3){let T=Buffer.from(n.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${T}${"0".repeat(10)}`.toUpperCase()}let y=Buffer.from(n).toString("hex").toUpperCase();if(y.length>40)throw new b1.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n,reason:"Currency exceeds maximum length (20 bytes)"}});return y.padEnd(40,"0")}function L5(n){if(!Vf(n))return n;if(n.toUpperCase().startsWith("00")){let y=n.slice(24,30);try{let T=Buffer.from(y,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(T)&&T.length>0)return T}catch{}return n.toUpperCase()}try{let y=n.replace(/0+$/,""),T=y.length%2===0?y:`${y}0`,o=Buffer.from(T,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(o))return o}catch{}return n.toUpperCase()}function so(n){if(Vf(n))return n.toUpperCase();if(n.length<=3)return n;return Iy(n)}var b1;var jf=S(()=>{b1=require("@swapkit/helpers")});async function Q5(n,y){let T=so(n),o=cf.find((f)=>so(f.currency)===T&&f.issuer===y);if(o)return o;try{let f=await Kf.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){Kf.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 Z5(n){return cf.filter((y)=>y.issuer===n)}function J5(n,y){let T=so(n);return cf.some((o)=>so(o.currency)===T&&o.issuer===y)}var Kf,cf;var v1=S(()=>{jf();Kf=require("@swapkit/helpers"),cf=[{currency:"USD",decimals:15,domain:"circle.com",issuer:"rcEGREd8NmkKRE8GE424sksyt1tJVFZwu",name:"Circle USDC",verified:!0},{currency:"RLUSD",decimals:15,domain:"ripple.com",issuer:"rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",name:"Ripple USD",verified:!0},{currency:"USD",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp USD",verified:!0},{currency:"BTC",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp BTC",verified:!0},{currency:"EUR",decimals:15,domain:"bitstamp.net",issuer:"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",name:"Bitstamp EUR",verified:!0},{currency:"USD",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub USD",verified:!0},{currency:"EUR",decimals:15,domain:"gatehub.net",issuer:"rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",name:"GateHub EUR",verified:!0},{currency:"BTC",decimals:15,domain:"gatehub.net",issuer:"rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL",name:"GateHub BTC",verified:!0},{currency:"ETH",decimals:15,domain:"gatehub.net",issuer:"rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h",name:"GateHub ETH",verified:!0},{currency:"SOLO",decimals:15,domain:"sologenic.com",issuer:"rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",name:"Sologenic",verified:!0}]});var ct={};Mn(ct,{validateRippleAddress:()=>mf,parseXrplTokenIdentifier:()=>K1,normalizeCurrency:()=>so,isKnownToken:()=>J5,isHexCurrency:()=>Vf,hexToCurrency:()=>L5,hashes:()=>i1.hashes,getXrplTokenInfo:()=>Q5,getRippleToolbox:()=>N5,getKnownTokensByIssuer:()=>Z5,formatXrplTokenIdentifier:()=>c1,currencyToHex:()=>Iy,XRPL_TOKEN_ERROR_CODES:()=>hf,XRPL_KNOWN_TOKENS:()=>cf});module.exports=Jn(ct);function K1(n){let y=n.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!y?.[1]||!y?.[2])return null;if(!To.isValidAddress(y[2]))return null;return{currency:y[1],issuer:y[2]}}function c1(n,y){return`${i.Chain.Ripple}.${n}-${y}`}function Y5(n){if(n.isGasAsset)return To.xrpToDrops(n.getValue("string"));let y=K1(n.toString());if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:n.toString()}});return{currency:y.currency,issuer:y.issuer,value:n.getValue("string")}}function j1(n){let y=To.Wallet.fromMnemonic(n);return{getAddress:()=>Promise.resolve(y.address),signTransaction:(T)=>Promise.resolve(y.sign(T))}}function mf(n){return To.isValidAddress(n)}function N5(n={}){let y=eo.match(n).with({phrase:eo.P.string},({phrase:L})=>j1(L)).with({signer:eo.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 N=new To.Client(L);return await N.connect(),N}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 N=L||await t(),{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),U=await f();try{let[B,q]=await Promise.all([U.request({account:N,command:"account_info"}),U.request({account:N,command:"account_lines"})]),Y=B.result.account_data.Balance,D=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:Y})];for(let Q of q.result.lines){let O=c1(Q.currency,Q.account);if(Number.parseFloat(Q.balance)!==0)D.push(i.AssetValue.from({asset:O,asyncTokenLookup:!1,value:Q.balance}))}return D}catch(B){if(B.data?.error_code===V1.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:N,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 A(L){let N=L||await t(),J=await f();try{return(await J.request({account:N,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===V1.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:N,error:U}})}}async function _({address:L,currency:N,issuer:J}){let U=await A(L),B=Iy(N);return U.some((q)=>{return Iy(q.currency)===B&&q.account===J})}async function G({currency:L,issuer:N,limit:J,sender:U}){let B=U||await t();if(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:N}});let q=Number.parseFloat(J);if(Number.isNaN(q)||q<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:J}});let Y=await f(),D={Account:B,LimitAmount:{currency:L,issuer:N,value:J},TransactionType:"TrustSet"};return Y.autofill(D)}async function M({assetValue:L,recipient:N,memo:J,sender:U,destinationTag:B,extendBySeconds:q=150}){if(!mf(N))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let Y=U||await t();if(L.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let D=Y5(L),Q={Account:Y,Amount:D,Destination:N,TransactionType:"Payment",...B!==void 0&&{DestinationTag:B}};if(J)Q.Memos=[{Memo:{MemoData:Buffer.from(J).toString("hex")}}];let x=await(await f()).autofill(Q);if(x.LastLedgerSequence&&q>0)x.LastLedgerSequence+=Math.ceil(q/4);return x}function w(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return y.signTransaction(L)}async function X(L){let J=await(await f()).submitAndWait(L),{result:U}=J;if(U.validated)return U.hash;let B=U.meta?.TransactionResult,q=eo.match(B).with(hf.tecNO_LINE,()=>"No trust line exists for this token").with(hf.tecPATH_DRY,()=>"Payment path could not deliver funds").with(hf.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...q?{reason:q}:{txResult:B}}})}let W=async(L)=>{try{let N=await w(L);return X(N.tx_blob)}catch(N){if(N instanceof i.SwapKitError)throw N;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:N}})}};async function l(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await M({...L,sender:N}),U=await w(J);return X(U.tx_blob)}async function Z(L){if(!y)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let N=await y.getAddress(),J=await G({...L,sender:N}),U=await w(J);return X(U.tx_blob)}function z(){let L=T;if(T=null,L)L.then((N)=>{if(N?.isConnected())return N.disconnect();return}).catch((N)=>{console.warn("XRPL Cleanup failed silently:",N)})}return{broadcastTransaction:X,createSigner:j1,createTransaction:M,disconnect:z,estimateTransactionFee:H,getAddress:t,getBalance:C,getTrustLines:A,hasTrustLine:_,setTrustLine:G,setTrustLineAndBroadcast:Z,signAndBroadcastTransaction:W,signTransaction:w,transfer:l,validateAddress:mf}}var i,eo,To,i1,V1,hf;var it=S(()=>{jf();i=require("@swapkit/helpers"),eo=require("ts-pattern"),To=require("xrpl");jf();v1();i1=require("xrpl"),V1={ACCOUNT_NOT_FOUND:19},hf={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ht(n,y){let T=0n,o=0n,f=y;while(f<n.length&&f-y<10){let t=n[f++];if(t===void 0)break;if(T|=BigInt(t&127)<<o,o+=7n,(t&128)===0)return[T,f]}throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}function $y(n){let y=[],T=n<0n?n+2n**64n:n;while(T>=128n)y.push(Number(T&0x7fn)|128),T>>=7n;return y.push(Number(T)),y}function rf(n,y,T){let o=n.get(y);if(o)o.push(T);else n.set(y,[T])}function R5(n){let y=new Map,T=0;while(T<n.length){let[o,f]=ht(n,T);T=f;let t=Number(o>>3n),C=Number(o&7n);if(C===gf){let[H,A]=ht(n,T);T=A,rf(y,t,{data:new Uint8Array($y(H)),wireType:gf})}else if(C===df){let[H,A]=ht(n,T);T=A;let _=Number(H);if(_<0||T+_>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let G=n.slice(T,T+_);T+=_,rf(y,t,{data:G,wireType:df})}else if(C===h1){if(T+8>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+8);T+=8,rf(y,t,{data:H,wireType:h1})}else if(C===m1){if(T+4>n.length)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let H=n.slice(T,T+4);T+=4,rf(y,t,{data:H,wireType:m1})}else throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed")}return y}function x5(n){let y=[];for(let[t,C]of[...n.entries()].sort(([H],[A])=>H-A))for(let{wireType:H,data:A}of C){let _=BigInt(t<<3|H);if(y.push(new Uint8Array($y(_))),H===df)y.push(new Uint8Array($y(BigInt(A.length))));y.push(A)}let T=y.reduce((t,C)=>t+C.length,0),o=new Uint8Array(T),f=0;for(let t of y)o.set(t,f),f+=t.length;return o}function g1(n,y){if(!n||n.length%2!==0)throw new ko.SwapKitError("toolbox_tron_transaction_creation_failed");let T=ny.hexToBytes(n),o=R5(T);if(y.expiration!==void 0)o.set(z5,[{data:new Uint8Array($y(BigInt(y.expiration))),wireType:gf}]);if(y.data!==void 0)o.set(D5,[{data:ny.hexToBytes(y.data),wireType:df}]);if(y.fee_limit!==void 0)o.set(O5,[{data:new Uint8Array($y(BigInt(y.fee_limit))),wireType:gf}]);let f=x5(o),t=ny.bytesToHex(f),C=ny.bytesToHex(r1.sha256(f));return{raw_data_hex:t,txID:C}}var r1,ny,ko,gf=0,h1=1,df=2,m1=5,z5=8,D5=10,O5=18;var d1=S(()=>{r1=require("@noble/hashes/sha2.js"),ny=require("@noble/hashes/utils.js"),ko=require("@swapkit/helpers")});function jn(n){if(typeof n!=="string")return!1;try{let y=af.decode(n);return y.length===21&&y[0]===e1}catch{return!1}}function nH(n){return Pn.bytesToHex(af.decode(n))}function p5(n){return af.decode(n).slice(1)}function oH(n){let y=mt.secp256k1.getPublicKey(Pn.hexToBytes(n),!1),T=a1.keccak_256(y.slice(1)).slice(-20),o=new Uint8Array(21);return o[0]=e1,o.set(T,1),af.encode(o)}function yH({txID:n,privateKey:y}){let T=mt.secp256k1.sign(Pn.hexToBytes(n),Pn.hexToBytes(y),{format:"recovered",prehash:!1}),o=T[0]??0,f=Pn.bytesToHex(T.slice(1,33)),t=Pn.bytesToHex(T.slice(33,65)),C=(o+27).toString(16).padStart(2,"0");return f+t+C}function oy({txID:n,raw_data_hex:y}){let T=Pn.bytesToHex(rt.sha256(Pn.hexToBytes(y)));if(n!==T)throw new gt.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:T,txID:n})}function S5(n){return`000000000000000000000000${Pn.bytesToHex(p5(n))}`}function k5(n){let y=typeof n==="bigint"?n:BigInt(n);if(y<0n||y>=F5)throw new gt.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:y.toString()});return y.toString(16).padStart(64,"0")}function yy(n){return n.map(({type:y,value:T})=>y==="address"?S5(T):k5(BigInt(T))).join("")}function fH(n){return Pn.bytesToHex(new TextEncoder().encode(n))}var mt,rt,a1,Pn,s1,gt,af,e1=65,F5;var dt=S(()=>{mt=require("@noble/curves/secp256k1.js"),rt=require("@noble/hashes/sha2.js"),a1=require("@noble/hashes/sha3.js"),Pn=require("@noble/hashes/utils.js"),s1=require("@scure/base"),gt=require("@swapkit/helpers"),af=s1.createBase58check(rt.sha256),F5=2n**256n});function tH(){try{return ln.getRPCUrlSync(ln.Chain.Tron)}catch{return TH}}function CH(){let n=new AbortController,y=setTimeout(()=>n.abort(),$5);return{cleanup:()=>clearTimeout(y),signal:n.signal}}async function fy(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${tH()}${n}`,{body:JSON.stringify(y),headers:{"Content-Type":"application/json"},method:"POST",signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function HH(n,y){let{signal:T,cleanup:o}=CH();try{let f=await fetch(`${y??tH()}${n}`,{headers:{"Content-Type":"application/json"},signal:T});if(!f.ok)throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${f.status} ${f.statusText} on ${n}`});return await f.json()}finally{o()}}async function AH(n){if(!jn(n))throw new ln.SwapKitError("toolbox_tron_trongrid_api_error",{address:n,message:"Invalid address"});try{let y=await HH(`/v1/accounts/${n}`,TH);if(!(y.success&&y.data)||y.data.length===0)return;let T;try{T=nH(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 _H({from:n,to:y,amount:T}){let f=await fy("/wallet/createtransaction",{amount:T,owner_address:n,to_address:y,visible:!0});if(!f.txID||!f.raw_data_hex||!f.raw_data)throw new 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 oy(f),f}async function UH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o,feeLimit:f,callValue:t=0}){let C=await fy("/wallet/triggersmartcontract",{call_value:t,contract_address:y,fee_limit:f,function_selector:T,owner_address:n,parameter:o,visible:!0});if(!C.result.result||!C.transaction?.txID||!C.transaction?.raw_data_hex)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");let A=C.transaction.raw_data?.contract?.[0]?.parameter?.value;if(A?.contract_address!==y||A?.owner_address!==n)throw new ln.SwapKitError("toolbox_tron_transaction_creation_failed");return oy(C.transaction),C.transaction}function wH({ownerAddress:n,contractAddress:y,functionSelector:T,parameter:o}){return fy("/wallet/triggerconstantcontract",{contract_address:y,function_selector:T,owner_address:n,parameter:o,visible:!0})}async function Ey(n){try{let{result:y,txid:T}=await fy("/wallet/broadcasttransaction",{raw_data:n.raw_data,raw_data_hex:n.raw_data_hex,signature:n.signature,txID:n.txID,visible:n.visible});if(!y||!T)throw new ln.SwapKitError("toolbox_tron_token_transfer_failed");return T}catch(y){throw new ln.SwapKitError("toolbox_tron_broadcast_failed",{error:y})}}async function sf(){let n={};try{let{chainParameter:y}=await HH("/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??u5,createAccountFee:n.getCreateAccountFee??P5,energyFee:n.getEnergyFee??I5}}async function at(n){try{let y=await fy("/wallet/getaccountresource",{address:n,visible:!0});return{bandwidth:{free:(y.freeNetLimit??600)-(y.freeNetUsed??0),total:y.NetLimit??0,used:y.NetUsed??0},energy:{total:y.EnergyLimit??0,used:y.EnergyUsed??0}}}catch(y){return 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 st(n){try{let y=await fy("/wallet/getaccount",{address:n,visible:!0});return y&&Object.keys(y).length>0}catch{return!1}}async function et(n){try{let{energy_used:y}=await wH({...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 qH({assetAddress:n,owner:y,spender:T}){let o=yy([{type:"address",value:y},{type:"address",value:T}]),t=(await wH({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,TH="https://api.trongrid.io",u5=1000,P5=1e5,I5=420,$5=30000;var GH=S(()=>{dt();ln=require("@swapkit/helpers")});function LH({phrase:n,derivationPath:y}){let T=WH.HDKey.fromMasterSeed(BH.mnemonicToSeedSync(n)).derive(y);if(!T.privateKey)throw new E.SwapKitError("toolbox_tron_no_signer");return XH.bytesToHex(T.privateKey)}function QH({phrase:n,derivationPath:y,index:T}){let o=y||E.derivationPathToString(E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:T||0}));return LH({derivationPath:o,phrase:n})}function j5({phrase:n,derivationPath:y}){let T=LH({derivationPath:y,phrase:n}),o=oH(T);return{getAddress:()=>Promise.resolve(o),signTransaction:(f)=>{oy(f);let t=yH({privateKey:T,txID:f.txID});return Promise.resolve({...f,signature:[t]})}}}function lH({transaction:n,memo:y,expiration:T,feeLimit:o}){let f={},t={};if(o!==void 0&&n.raw_data)f.fee_limit=o,t.fee_limit=o;if(y){let A=fH(y);f.data=A,t.data=A}if(T){let A=n.raw_data.expiration+T*1000;f.expiration=A,t.expiration=A}if(Object.keys(f).length===0)return n;let{raw_data_hex:C,txID:H}=g1(n.raw_data_hex,f);return{...n,raw_data:{...n.raw_data,...t},raw_data_hex:C,txID:H}}function ZH(n={}){let y="index"in n?n.index||0:0,T=E.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[E.Chain.Tron],{index:y})),o,f=!1;function t(){if(f)return Promise.resolve(o);return o=Ty.match(n).with({phrase:Ty.P.string},({phrase:U})=>j5({derivationPath:T,phrase:U})).with({signer:Ty.P.not(Ty.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||b5,q=await sf(),Y=B*q.energyFee,D=Math.ceil(Y*1.5);return Math.min(Math.max(D,1e7),150000000)}async function A({contractAddress:U,functionSelector:B,parameter:q,sender:Y,memo:D,expiration:Q}){let O=await et({contractAddress:U,functionSelector:B,parameter:q,sender:Y}),x=await H(O),k=await UH({contractAddress:U,feeLimit:x,functionSelector:B,ownerAddress:Y,parameter:q});return lH({expiration:Q,feeLimit:x,memo:D,transaction:k})}async function _(U){if(!jn(U))return[E.AssetValue.from({chain:E.Chain.Tron})];try{let B=await AH(U);if(!B)return[E.AssetValue.from({chain:E.Chain.Tron})];let q=[E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:6,value:String(B.balance)})],Y=B.trc20?.find((D)=>(n0 in D));if(Y){let D=Y[n0];q.push(E.AssetValue.from({asset:`TRON.USDT-${n0}`,fromBaseDecimal:6,value:D}))}return q}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 G({recipient:U,assetValue:B,memo:q,expiration:Y}){if(!jn(U))throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");try{let Q=await C(),O=await l({assetValue:B,expiration:Y,memo:q,recipient:U,sender:Q}),x=await D.signTransaction(O),k=await Ey(x);if(!k)throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return k}catch(Q){throw new E.SwapKitError("toolbox_tron_token_transfer_failed",{message:Q instanceof Error?Q.message:String(Q)})}}function M({requiredBandwidth:U,resources:B,feePerUnit:q}){let Y=Math.max(0,B.free+B.total-B.used);return U>Y?(U-Y)*q:0}async function w({recipient:U,senderAddress:B}){let[q,Y,D]=await Promise.all([sf(),st(U),at(B)]),Q=Y?0:q.createAccountFee,O=M({feePerUnit:q.bandwidthFee,requiredBandwidth:E5,resources:D.bandwidth});return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:Q+O})}async function X({assetValue:U,recipient:B,senderAddress:q}){let Y=U.address;if(!Y)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:U.toString()});let[D,Q,O,x]=await Promise.all([sf(),st(B),at(q),et({contractAddress:Y,functionSelector:"transfer(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:U.getBaseValue("string")}]),sender:q})]),k=Q?0:D.createAccountFee,u=M({feePerUnit:D.bandwidthFee,requiredBandwidth:v5,resources:O.bandwidth}),j=Math.max(0,O.energy.total-O.energy.used),s=x>j?(x-j)*D.energyFee:0;return E.AssetValue.from({chain:E.Chain.Tron,fromBaseDecimal:E.BaseDecimal.TRON,value:k+u+s})}async function W({assetValue:U,recipient:B,sender:q}){let Y=await t();try{let D=q?q:Y?await C():void 0;if(!D)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?w({recipient:B,senderAddress:D}):X({assetValue:U,recipient:B,senderAddress:D})}catch(D){throw E.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${D instanceof Error?D.message:D}`}),new E.SwapKitError("toolbox_fee_estimation_failed",{chain:E.Chain.Tron,error:D})}}async function l({recipient:U,assetValue:B,memo:q,sender:Y,expiration:D}){if(!jn(U)||!jn(Y))throw new E.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(B.isGasAsset){let O=await _H({amount:B.getBaseValue("number"),from:Y,to:U});return lH({expiration:D,memo:q,transaction:O})}let Q=B.address;if(!Q)throw new E.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:B.toString()});return A({contractAddress:Q,expiration:D,functionSelector:"transfer(address,uint256)",memo:q,parameter:yy([{type:"address",value:U},{type:"uint256",value:B.getBaseValue("string")}]),sender:Y})}async function Z(U){oy(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 Z(U);return Ey(B)}function L({assetAddress:U,spenderAddress:B,from:q}){return qH({assetAddress:U,owner:q,spender:B})}async function N({assetAddress:U,spenderAddress:B,from:q,amount:Y}){let D=await L({assetAddress:U,from:q,spenderAddress:B});if(!Y)return D>0n;return D>=BigInt(Y)}async function J({assetAddress:U,spenderAddress:B,amount:q,from:Y}){if(!jn(U)||!jn(B))throw new E.SwapKitError("toolbox_tron_approve_failed");let D=await t();if(!D)throw new E.SwapKitError("toolbox_tron_no_signer");let Q=Y||await C(),O=q!==void 0?BigInt(q).toString():V5;try{let x=await A({contractAddress:U,functionSelector:"approve(address,uint256)",parameter:yy([{type:"address",value:B},{type:"uint256",value:O}]),sender:Q}),k=await D.signTransaction(x),u=await Ey(k);if(!u)throw new E.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof E.SwapKitError)throw x;throw new E.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:J,broadcastTransaction:Ey,createTransaction:l,estimateTransactionFee:W,getAddress:C,getApprovedAmount:L,getBalance:_,getRpcUrl:()=>E.getRPCUrl(E.Chain.Tron),isApproved:N,signAndBroadcastTransaction:z,signTransaction:Z,transfer:G,validateAddress:jn}}var XH,WH,BH,E,Ty,MH,E5=268,b5=65000,v5=345,n0="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",V5="115792089237316195423570985008687907853269984665640564039457584007913129639935";var JH=S(()=>{d1();GH();dt();XH=require("@noble/hashes/utils.js"),WH=require("@scure/bip32"),BH=require("@scure/bip39"),E=require("@swapkit/helpers"),Ty=require("ts-pattern"),MH=jn});var o0={};Mn(o0,{validateTronAddress:()=>MH,getTronToolbox:()=>ZH,getTronPrivateKeyFromMnemonic:()=>QH});module.exports=Jn(o0);var y0=S(()=>{JH()});function nT(n){if(!n||typeof n!=="string"||!n.startsWith("G")||n.length!==56)return!1;return K5.test(n)}async function c5(n){if(!nT(n))return!1;try{let{StrKey:y}=await import("@stellar/stellar-sdk");return y.isValidEd25519PublicKey(n)}catch{return!1}}function YH(n={}){let y,T=n.derivationPath||a.NetworkDerivationPath[a.Chain.Stellar],o=a.derivationPathToString(T.slice(0,3));async function f({phrase:l,path:Z}){let{HDKey:z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:N}=await import("@stellar/stellar-sdk"),J=L(l),B=z.fromMasterSeed(J).derive(Z,!0);return N.fromRawEd25519Seed(Buffer.from(B.privateKey))}async function t(){if(y)return y;let l=ef.match(n).with({phrase:ef.P.string},({phrase:Z})=>Z).otherwise(()=>{return});if(!l)throw new a.SwapKitError("toolbox_stellar_no_signer");return y=await f({path:o,phrase:l}),y}async function C(){let{Horizon:l}=await import("@stellar/stellar-sdk"),Z=await a.getRPCUrl(a.Chain.Stellar);return new l.Server(Z)}async function H(){try{return(await t()).publicKey()}catch{return""}}async function A(l){let Z=l||await H();if(!Z)throw new a.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await C()).loadAccount(Z)).balances.map((N)=>{if(N.asset_type==="native")return a.AssetValue.from({chain:a.Chain.Stellar,value:N.balance});let J="asset_code"in N?N.asset_code:"",U="asset_issuer"in N?N.asset_issuer:"";return a.AssetValue.from({asset:`${a.Chain.Stellar}.${J}-${U}`,asyncTokenLookup:!1,value:N.balance})})}catch{return[a.AssetValue.from({chain:a.Chain.Stellar,value:0})]}}async function _({recipient:l,assetValue:Z,memo:z,sender:L}){if(z){if(new TextEncoder().encode(z).length>28)throw new a.SwapKitError("helpers_invalid_memo_type")}if(!await c5(l))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let J=L||await H();if(!J)throw new a.SwapKitError("toolbox_stellar_no_signer");let{Asset:U,Memo:B,Networks:q,Operation:Y,TransactionBuilder:D}=await import("@stellar/stellar-sdk"),Q=await C(),O=await Q.fetchBaseFee(),x=await Q.loadAccount(J),k=new D(x,{fee:String(O),networkPassphrase:q.PUBLIC});if(Z.isGasAsset)try{await Q.loadAccount(l),k.addOperation(Y.payment({amount:Z.getValue("string"),asset:U.native(),destination:l}))}catch{k.addOperation(Y.createAccount({destination:l,startingBalance:Z.getValue("string")}))}else k.addOperation(Y.payment({amount:Z.getValue("string"),asset:new U(Z.symbol,Z.address),destination:l}));if(z)k.addMemo(B.text(z));return k.setTimeout(30).build()}async function G(l){let{TransactionBuilder:Z,Networks:z}=await import("@stellar/stellar-sdk"),L=await t(),N=Z.fromXDR(l.toXDR(),z.PUBLIC);return N.sign(L),N}async function M(l){try{let Z=await C(),{hash:z}=await Z.submitTransaction(l);return z}catch(Z){throw new a.SwapKitError("toolbox_stellar_broadcast_error",Z)}}async function w({recipient:l,assetValue:Z,memo:z}){let L=await t(),N=L.publicKey(),J=await _({assetValue:Z,memo:z,recipient:l,sender:N});J.sign(L);try{return(await(await C()).submitTransaction(J)).hash}catch(U){if(U instanceof a.SwapKitError)throw U;throw new a.SwapKitError("toolbox_stellar_transaction_failed",U)}}async function X(l){let Z=await G(l);return M(Z)}async function W(){let{baseDecimal:l}=a.getChainConfig(a.Chain.Stellar);try{let L=(await(await C()).feeStats()).fee_charged.p50;return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:L})}catch{return a.AssetValue.from({chain:a.Chain.Stellar,fromBaseDecimal:l,value:"100"})}}return{broadcastTransaction:M,createTransaction:_,estimateTransactionFee:W,getAddress:H,getBalance:A,signAndBroadcastTransaction:X,signTransaction:G,transfer:w,validateAddress:nT}}var a,ef,K5;var NH=S(()=>{a=require("@swapkit/helpers"),ef=require("ts-pattern"),K5=/^G[A-Z2-7]{55}$/});var oT={};Mn(oT,{validateStellarAddress:()=>nT,getStellarToolbox:()=>YH});module.exports=Jn(oT);var yT=S(()=>{NH()});var m5={};Mn(m5,{getToolbox:()=>f0,getFeeEstimator:()=>h5,getAddressValidator:()=>i5});module.exports=Jn(m5);var $=require("@swapkit/helpers");async function i5(){let{match:n}=await import("ts-pattern"),{validateAptosAddress:y}=await Promise.resolve().then(() => (vy(),by)),{validateEVMAddress:T}=await Promise.resolve().then(() => (RT(),$0)),{validateCardanoAddress:o}=await Promise.resolve().then(() => (ST(),pT)),{getCosmosAddressValidator:f}=await Promise.resolve().then(() => (Gf(),qf)),{validateHyperCoreAddress:t}=await Promise.resolve().then(() => (eT(),sT)),{validateSolanaAddress:C}=await Promise.resolve().then(() => (Tt(),ft)),{validateStarknetAddress:H}=await Promise.resolve().then(() => (Zf(),Qf)),{validateSuiAddress:A}=await Promise.resolve().then(() => (Yf(),Jf)),{validateTonAddress:_}=await Promise.resolve().then(() => (Df(),zf)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (Dt(),zt)),{validateNearAddress:M}=await Promise.resolve().then(() => (Vt(),vt)),{validateRadixAddress:w}=await Promise.resolve().then(() => (Kt(),jt)),{validateRippleAddress:X}=await Promise.resolve().then(() => (it(),ct)),{validateTronAddress:W}=await Promise.resolve().then(() => (y0(),o0)),{validateStellarAddress:l}=await Promise.resolve().then(() => (yT(),oT));return function({address:z,chain:L}){return n(L).with(...$.EVMChains,()=>T(z)).with(...$.UTXOChains,(J)=>{return G(J)(z)}).with(...$.CosmosChains,(J)=>{return f(J)(z)}).with($.Chain.Aptos,()=>y(z)).with($.Chain.Radix,()=>w(z)).with($.Chain.HyperCore,()=>t(z)).with($.Chain.Near,()=>M(z)).with($.Chain.Ripple,()=>X(z)).with($.Chain.Solana,()=>C(z)).with($.Chain.Stellar,()=>l(z)).with($.Chain.Starknet,()=>H(z)).with($.Chain.Sui,()=>A(z)).with($.Chain.Ton,()=>_(z)).with($.Chain.Tron,()=>W(z)).with($.Chain.Cardano,()=>o(z)).otherwise(()=>!1)}}function h5(n){return async function(T){let{match:o}=await import("ts-pattern");return o(n).returnType().with(...$.EVMChains,async(f)=>{let t=await f0(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 f0(f)).estimateTransactionFee(T)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (vy(),by));return f().estimateTransactionFee(T)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (Zf(),Qf));return(await f()).estimateTransactionFee(T)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (yT(),oT));return f().estimateTransactionFee()}).with($.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (Yf(),Jf));return f().estimateTransactionFee(T)}).with($.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (Df(),zf));return f().estimateTransactionFee(T)}).with(...$.CosmosChains,async()=>{let{estimateTransactionFee:f}=await Promise.resolve().then(() => (Gf(),qf));return f(T)}).otherwise(async()=>$.AssetValue.from({chain:n}))}}async function f0(n,y){let{match:T}=await import("ts-pattern");return T(n).returnType().with(...$.EVMChains,async()=>{let{getEvmToolboxAsync:o}=await Promise.resolve().then(() => (OT(),u0));return await o(n,y)}).with(...$.UTXOChains,async()=>{let{getUtxoToolbox:o}=await Promise.resolve().then(() => (Dt(),zt));return o(n,y)}).with(...$.CosmosChains,async()=>{let{getCosmosToolbox:o}=await Promise.resolve().then(() => (Gf(),qf));return o(n,y)}).with($.Chain.Aptos,async()=>{let{getAptosToolbox:o}=await Promise.resolve().then(() => (vy(),by));return o(y)}).with($.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:o}=await Promise.resolve().then(() => (eT(),sT));return o(y)}).with($.Chain.Radix,async()=>{let{getRadixToolbox:o}=await Promise.resolve().then(() => (Kt(),jt));return o(y)}).with($.Chain.Ripple,async()=>{let{getRippleToolbox:o}=await Promise.resolve().then(() => (it(),ct));return o(y)}).with($.Chain.Solana,async()=>{let{getSolanaToolbox:o}=await Promise.resolve().then(() => (Tt(),ft));return o(y)}).with($.Chain.Stellar,async()=>{let{getStellarToolbox:o}=await Promise.resolve().then(() => (yT(),oT));return o(y)}).with($.Chain.Starknet,async()=>{let{getStarknetToolbox:o}=await Promise.resolve().then(() => (Zf(),Qf));return o(y)}).with($.Chain.Sui,async()=>{let{getSuiToolbox:o}=await Promise.resolve().then(() => (Yf(),Jf));return o(y)}).with($.Chain.Tron,async()=>{let{getTronToolbox:o}=await Promise.resolve().then(() => (y0(),o0));return o(y)}).with($.Chain.Near,async()=>{let{getNearToolbox:o}=await Promise.resolve().then(() => (Vt(),vt));return o(y)}).with($.Chain.Cardano,async()=>{let{getCardanoToolbox:o}=await Promise.resolve().then(() => (ST(),pT));return o(y)}).with($.Chain.Ton,async()=>{let{getTONToolbox:o}=await Promise.resolve().then(() => (Df(),zf));return o(y)}).otherwise(()=>{throw new $.SwapKitError("toolbox_not_supported",{chain:n})})}