@swapkit/toolboxes 4.17.6 → 4.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/dist/src/aptos/index.cjs +1 -1
- package/dist/src/aptos/index.js +1 -1
- package/dist/src/evm/index.cjs +1 -1
- package/dist/src/evm/index.js +1 -1
- package/dist/src/hypercore/index.cjs +1 -1
- package/dist/src/hypercore/index.js +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/substrate/index.cjs +1 -1
- package/dist/src/substrate/index.js +1 -1
- package/dist/src/sui/index.cjs +1 -1
- package/dist/src/sui/index.js +1 -1
- package/dist/src/ton/index.cjs +1 -1
- package/dist/src/ton/index.js +1 -1
- package/dist/src/tron/index.cjs +1 -1
- package/dist/src/tron/index.js +1 -1
- package/dist/types/evm/toolbox/evm.d.ts +95 -5
- package/dist/types/evm/types.d.ts +3 -1
- package/dist/types/ton/toolbox.d.ts +4 -1
- package/dist/types/ton/types.d.ts +1 -0
- package/package.json +16 -16
package/dist/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var v8=Object.defineProperty;var p8=(y)=>y;function b8(y,T){this[y]=p8.bind(null,T)}var Ty=(y,T)=>{for(var C in T)v8(y,C,{get:T[C],enumerable:!0,configurable:!0,set:b8.bind(T,C)})};var V=(y,T)=>()=>(y&&(T=y(y=0)),T);var o=((y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(y,{get:(T,C)=>(typeof require<"u"?require:T)[C]}):y)(function(y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+y+'" is not supported')});import{AssetValue as H0,Chain as ly,derivationPathToString as j8,getChainConfig as z1,getRPCUrlSync as oC,NetworkDerivationPath as K8,SwapKitError as Uy}from"@swapkit/helpers";import{match as PC,P as A1}from"ts-pattern";function kf(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let T=y.slice(2);if(T.length===0||T.length>64)return!1;return l8.test(T)}function VC({derivationPath:y,provider:T,...C}={}){let f,H=j8(y||K8[ly.Aptos],{allHardened:!0});async function U(){if(f)return f;return f=await PC(C).with({phrase:A1.string},async({phrase:M})=>{let{Ed25519Account:D}=await import("@aptos-labs/ts-sdk");return D.fromDerivationPath({mnemonic:M,path:H})}).with({signer:A1.any},({signer:M})=>M).otherwise(()=>{return}),f}async function q(){let{Aptos:M,AptosConfig:D}=await import("@aptos-labs/ts-sdk"),R=new D({fullnode:T||oC(ly.Aptos)});return new M(R)}async function X(){return(await U())?.accountAddress.toString()||""}async function G(M){let D=M||await X();if(!D)throw new Uy("toolbox_aptos_address_required");let{baseDecimal:R,chain:J}=z1(ly.Aptos);try{let k=await q(),O=await k.getAccountAPTAmount({accountAddress:D}),A=[H0.from({chain:J,fromBaseDecimal:R,value:O.toString()})],Z=await k.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:D}}}});for(let L of Z){if(L.asset_type===Qf.COIN_TYPE||Number(L.amount)<=0)continue;let w=L.asset_type;if(w){let F=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??R;A.push(H0.from({asset:`${ly.Aptos}.APT-${w}`,fromBaseDecimal:F,value:String(L.amount)}))}}return A}catch{return[H0.from({chain:J})]}}async function Q(M){if(!M){let{baseDecimal:Z}=z1(ly.Aptos),L=T||oC(ly.Aptos),w=await fetch(`${L}/estimate_gas_price`),{gas_estimate:$}=await w.json();return H0.from({chain:ly.Aptos,fromBaseDecimal:Z,value:String($)})}let D=await U();if(!D)throw new Uy("toolbox_aptos_no_signer");let R=await Y(M),J=await q(),[k]=await J.transaction.simulate.simple({signerPublicKey:D.publicKey,transaction:R});if(!k)throw new Uy("toolbox_aptos_transaction_creation_error");let O=BigInt(k.gas_used)*BigInt(k.gas_unit_price),{baseDecimal:A}=z1(ly.Aptos);return H0.from({chain:ly.Aptos,fromBaseDecimal:A,value:O.toString()})}async function Y({recipient:M,assetValue:D,maxGasAmount:R,sender:J}){if(!kf(M))throw new Uy("core_transaction_invalid_recipient_address");let k=J||await X();if(!k)throw new Uy("toolbox_aptos_no_sender");let{AccountAddress:O}=await import("@aptos-labs/ts-sdk"),A=await q(),Z=O.from(k);try{let L=D.isGasAsset?Qf.TRANSFER:Qf.FUNGIBLE_STORE_TRANSFER,w=PC({address:D?.address,isGasAsset:D.isGasAsset}).with({isGasAsset:!0},()=>[O.from(M),D.getBaseValue("bigint")]).with({address:A1.string},({address:$})=>[O.from($),O.from(M),D.getBaseValue("bigint")]).otherwise(()=>null);if(!w)throw new Uy("toolbox_aptos_missing_asset_type");return A.transaction.build.simple({data:{function:L,functionArguments:w,typeArguments:D.isGasAsset?[]:[Qf.FUNGIBLE_ASSET_METADATA]},options:R?{maxGasAmount:R}:void 0,sender:Z})}catch(L){if(L instanceof Uy)throw L;throw new Uy("toolbox_aptos_transaction_creation_error",L)}}async function z(M){let D=await U();if(!D)throw new Uy("toolbox_aptos_no_signer");return(await q()).transaction.sign({signer:D,transaction:M})}async function W({assetValue:M,maxGasAmount:D,recipient:R}){let J=await U();if(!J)throw new Uy("toolbox_aptos_no_signer");if(!kf(R))throw new Uy("core_transaction_invalid_recipient_address");try{let k=J.accountAddress.toString(),O=await Y({assetValue:M,maxGasAmount:D,recipient:R,sender:k});return(await(await q()).signAndSubmitTransaction({signer:J,transaction:O})).hash}catch(k){if(k instanceof Uy)throw k;throw new Uy("toolbox_aptos_transaction_creation_error",k)}}async function _({senderAuthenticator:M,transaction:D}){try{return(await(await q()).transaction.submit.simple({senderAuthenticator:M,transaction:D})).hash}catch(R){throw new Uy("toolbox_aptos_broadcast_error",R)}}async function B(M){let D=await z(M);return _({senderAuthenticator:D,transaction:M})}return{broadcastTransaction:_,createTransaction:Y,estimateTransactionFee:Q,getAddress:X,getBalance:G,signAndBroadcastTransaction:B,signTransaction:z,transfer:W,validateAddress:kf}}function EC({provider:y}){return async function({assetValue:C,recipient:f}){if(!kf(f))throw new Uy("core_transaction_invalid_recipient_address");let{AccountAddress:H}=await import("@aptos-labs/ts-sdk");if(C.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[H.from(f).toString(),C.getBaseValue("string")],function:Qf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let U=C.address;if(!U)throw new Uy("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[U,H.from(f).toString(),C.getBaseValue("string")],function:Qf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Qf.FUNGIBLE_ASSET_METADATA]})).hash}}var Qf,l8;var vC=V(()=>{Qf={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"},l8=/^[0-9a-fA-F]+$/});var u0={};Ty(u0,{validateAptosAddress:()=>kf,getAptosToolbox:()=>VC,createAptosExtensionTransfer:()=>EC});var h0=V(()=>{vC()});import{AssetValue as pC,getChainConfig as u8}from"@swapkit/helpers";import{SwapKitApi as h8}from"@swapkit/helpers/api";function bC(){function y(){let T=Date.now(),C=M1||T;return M1=C,T>M1?T:C+1}return m8+y().toString(36)}function Jy(y){return async function(C,f=!0){let H=await h8.getChainBalance({address:C,chain:y,scamFilter:f}),{baseDecimal:U}=u8(y),q=H.map(({identifier:G,value:Q,decimal:Y})=>{return new pC({decimal:Y||U,identifier:G,value:Q})});if(!q.some((G)=>G.isGasAsset))return[pC.from({chain:y}),...q];return q}}var m8,M1=0;var uy=V(()=>{m8=typeof process<"u"&&process.pid?process.pid.toString(36):""});function C0(y){return{getBalance:Jy(y)}}function t8(y){return y}var m0=V(()=>{uy()});import{Chain as i,getChainConfig as O1,getRPCUrl as c8,SwapKitError as t0}from"@swapkit/helpers";import{getAddress as KC,Interface as g8,JsonRpcProvider as i8}from"ethers";import{match as lC}from"ts-pattern";function uC(y){return new i8(y)}async function R1(y,T){return uC(T||await c8(y))}function U0(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function k1(y){let{explorerUrl:T,chainIdHex:C,rpcUrls:f}=O1(y);return function(){return y!==i.Ethereum?{...d8({chain:y}),blockExplorerUrls:[T],chainId:C,rpcUrls:f}:void 0}}function w1(y){return![i.Adi,i.Arbitrum,i.BinanceSmartChain].includes(y)}function d8({chain:y}){let{name:T,nativeCurrency:C,baseDecimal:f}=O1(y);return lC(y).with(i.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Ethereum}})).with(i.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Ethereum}})).with(i.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(i.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Ethereum}})).with(i.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(i.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(i.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(i.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(i.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:i.Ethereum}})).with(i.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:i.Polygon}})).otherwise(()=>({chainName:T,nativeCurrency:{decimals:f,name:C,symbol:C}}))}async function F1(y,T){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let C={...T,nonce:T.nonce!==void 0?BigInt(T.nonce):void 0};return await y.authorize(C)}function hC(y,T){let C=T!==void 0?`index ${T}: `:"",f=(H,U)=>{throw new t0({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:H,message:`${C}${U}`}})};lC(y).when(({chainId:H})=>typeof H!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:H})=>!r8(H),()=>f("address","address must be a valid checksummed address")).when(({nonce:H})=>typeof H!=="bigint"||H<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:H})=>!H,()=>f("signature","signature is required")).when(({signature:H})=>typeof H?.yParity!=="number"||![0,1].includes(H.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:H})=>!jC(H?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:H})=>!jC(H?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function mC(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:T})=>y[T]!=null).map(({key:T,type:C})=>({name:T,type:C}))}function N1(y){return y.charAt(0).toUpperCase()+y.slice(1)}function B1(y,T){if(y.isTuple()&&y.components){let C=N1(y.name);return T[C]=y.components.map((f)=>({name:f.name,type:B1(f,T)})),C}if(y.isArray()){let C=y.arrayChildren;if(C?.isTuple()&&C.components){let f=N1(y.name.replace(/s$/,""));return T[f]=C.components.map((H)=>({name:H.name,type:B1(H,T)})),`${f}[]`}return`${C?.type??"bytes"}[]`}return y.type}function D1(y,T){if(typeof y==="bigint")return y;if(T?.isTuple()&&typeof y?.toObject==="function"){let C=y.toObject(),f={};for(let[H,U]of(T.components??[]).entries())f[U.name]=D1(C[U.name]??y[H],U);return f}if(Array.isArray(y)){let C=T?.arrayChildren;return y.map((f)=>D1(f,C??void 0))}return y}function a8({chain:y,abi:T,data:C,to:f}){let U=new g8(T).parseTransaction({data:C});if(!U)throw new t0({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let q={},X=N1(U.name);q[X]=U.fragment.inputs.map((W)=>({name:W.name,type:B1(W,q)}));let G={};for(let[W,_]of U.fragment.inputs.entries())G[_.name]=D1(U.args[W],_);let{chainId:Q}=O1(y),Y={chainId:Number(Q),verifyingContract:KC(f)},z=mC(Y);return{domain:Y,message:G,primaryType:X,types:{EIP712Domain:z,...q}}}function $1(y,T){if(!Array.isArray(y)||y.length===0)throw new t0({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[C,f]of y.entries())if(hC(f,C),T!==void 0&&f.chainId!==T)throw new t0({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${C}: authorization chainId (${f.chainId}) does not match transaction chainId (${T})`}})}var jC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),r8=(y)=>{try{return typeof y==="string"&&!!KC(y)}catch{return!1}};var q0=()=>{};var tC;var cC=V(()=>{tC=[{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"}]});import{AssetValue as s8,applyFeeMultiplierToBigInt as Ly,Chain as Fy,EVMChains as e8,FeeOption as u,isGasAsset as yq,SwapKitError as c,SwapKitNumber as c0}from"@swapkit/helpers";import{erc20ABI as X0}from"@swapkit/helpers/contracts";import{BrowserProvider as fq,Contract as gC,getAddress as g0,Interface as iC}from"ethers";import{match as dC}from"ts-pattern";function wf({chain:y=Fy.Ethereum,provider:T,signer:C,isEIP1559Compatible:f=!0}){return{approve:qq({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),approvedAmount:sC({chain:y,provider:T}),broadcastTransaction:T.broadcastTransaction,call:o1({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),createApprovalTx:_q({chain:y,provider:T,signer:C}),createContract:x1({chain:y,provider:T}),createContractTxObject:_f({chain:y,provider:T}),createTransaction:n1({chain:y,provider:T,signer:C}),createTransferTx:n1({chain:y,provider:T,signer:C}),EIP1193SendTransaction:$f(T),estimateCall:eC({provider:T,signer:C}),estimateGasLimit:Gq({chain:y,provider:T,signer:C}),estimateGasPrices:Zf({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:Zq({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return C?C.getAddress():void 0},getBalance:C0(y).getBalance,getNetworkParams:k1(y),isApproved:Uq({chain:y,provider:T}),sendTransaction:y5({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),signAuthorization:Qq({signer:C}),signMessage:C?(H)=>C.signMessage(H):void 0,signTypedData:C?({domain:H,types:U,value:q})=>C.signTypedData(H,U,q):void 0,transfer:Xq({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),validateAddress:Q0}}function Q0(y){try{return g0(y),!0}catch{return!1}}function Ff(y){return y instanceof fq}function _0(y,T,C){return new gC(y,iC.from(T),C)}function x1({provider:y}){return function(C,f){return new gC(C,iC.from(f),y)}}function I1({abi:y,funcName:T}){let C=y.find((f)=>f.name===T);if(!C)throw new c("toolbox_evm_no_abi_fragment",{funcName:T});return C.stateMutability&&Tq.includes(C.stateMutability)}function rC(y){return g0(y)}function $f(y){return function({value:C,...f}){if(!Ff(y))throw new c("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:H,gasPrice:U,maxFeePerGas:q,maxPriorityFeePerGas:X,...G}=f;return y.send("eth_sendTransaction",[{...G,value:U0(BigInt(C||0))}])}}function aC(y,T){let C=nf(y,T);if(C)return g0(C.toLowerCase());throw new c("toolbox_evm_invalid_gas_asset_address")}function nf({chain:y,symbol:T,ticker:C},f){try{let H=y===Fy.BinanceSmartChain&&T==="BNB"&&C==="BNB",U=y===Fy.Hyperevm&&T==="HYPE"&&C==="HYPE",q=y===f&&T===f&&C===f,X=Cq.includes(y)&&T==="ETH"&&C==="ETH";if(q||H||U||X)return S1[f];return g0(T.slice(C.length+1).replace(/^0X/,""))}catch{return null}}function _f({provider:y}){return async({contractAddress:T,abi:C,funcName:f,funcParams:H=[],txOverrides:U})=>_0(T,C,y).getFunction(f).populateTransaction(...H.concat(U).filter((q)=>typeof q<"u"))}function Zf({chain:y,provider:T,isEIP1559Compatible:C=!0}){return dC(y).with(Fy.Gnosis,()=>{return async function(){try{let{gasPrice:H,maxPriorityFeePerGas:U}=await T.getFeeData();if(!H||U===null)throw new c("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:Ly(H,u.Average),maxPriorityFeePerGas:Ly(U,u.Average)},[u.Fast]:{maxFeePerGas:Ly(H,u.Fast),maxPriorityFeePerGas:Ly(U,u.Fast)},[u.Fastest]:{maxFeePerGas:Ly(H,u.Fastest),maxPriorityFeePerGas:Ly(U,u.Fastest)}}}catch(H){throw new c("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}).with(Fy.Arbitrum,()=>{return async function(){try{let{gasPrice:H}=await T.getFeeData();if(!H)throw new c("toolbox_evm_no_fee_data");let U=H*12n/10n;return{[u.Average]:{gasPrice:U},[u.Fast]:{gasPrice:Ly(U,u.Fast)},[u.Fastest]:{gasPrice:Ly(U,u.Fastest)}}}catch(H){throw new c("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:H,maxPriorityFeePerGas:U,gasPrice:q}=await T.getFeeData();if(C){if(H===null||U===null)throw new c("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:H,maxPriorityFeePerGas:U},[u.Fast]:{maxFeePerGas:Ly(H,u.Fast),maxPriorityFeePerGas:Ly(U,u.Fast)},[u.Fastest]:{maxFeePerGas:Ly(H,u.Fastest),maxPriorityFeePerGas:Ly(U,u.Fastest)}}}if(!q)throw new c("toolbox_evm_no_gas_price");return{[u.Average]:{gasPrice:q},[u.Fast]:{gasPrice:Ly(q,u.Fast)},[u.Fastest]:{gasPrice:Ly(q,u.Fastest)}}}catch(H){throw new c("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}})}function o1({provider:y,isEIP1559Compatible:T,signer:C,chain:f}){return async function({callProvider:U,contractAddress:q,abi:X,funcName:G,funcParams:Q=[],txOverrides:Y={},feeOption:z=u.Fast}){let W=U||y;if(!q)throw new c("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let _=I1({abi:X,funcName:G});if(_&&Ff(W)&&C){let D=_f({chain:f,provider:W}),R=Y?.from||await C?.getAddress(),J=await D({abi:X,contractAddress:q,funcName:G,funcParams:Q,txOverrides:{...Y,from:R}});return $f(W)(J)}let B=_0(q,X,W);if(_){if(!C)throw new c("toolbox_evm_no_signer");let D=Y?.from||await C.getAddress();if(!D)throw new c("toolbox_evm_no_signer_address");let R=B.connect(C),J=Zf({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:k,maxPriorityFeePerGas:O,gasPrice:A}=(await J())[z],Z=await B.getFunction(G).estimateGas(...Q,Y),L=await R[G](...Q,{...Y,gasLimit:Z,gasPrice:A,maxFeePerGas:k,maxPriorityFeePerGas:O,nonce:Y?.nonce||await W.getTransactionCount(D)});return typeof L?.hash==="string"?L?.hash:L}let M=await B[G]?.(...Q);return typeof M?.hash==="string"?M?.hash:M}}function sC({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:H,from:U}){return o1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:X0,contractAddress:f,funcName:"allowance",funcParams:[U,H]})}}function Uq({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:H,from:U,amount:q=G0}){let X=await sC({chain:T,provider:y})({assetAddress:f,from:U,spenderAddress:H});return c0.fromBigInt(X).gte(c0.fromBigInt(BigInt(q)))}}function qq({signer:y,isEIP1559Compatible:T=!0,provider:C,chain:f}){return async function({assetAddress:U,spenderAddress:q,feeOptionKey:X=u.Fast,amount:G,gasLimitFallback:Q,from:Y,nonce:z}){let W=[q,BigInt(G||G0)],_=await y?.getAddress()||Y,B={abi:X0,contractAddress:U,funcName:"approve",funcParams:W,signer:y,txOverrides:{from:_}};if(Ff(C)){let D=_f({chain:f,provider:C}),R=$f(C),J=await D(B);return R(J)}return o1({chain:f,isEIP1559Compatible:T,provider:C,signer:y})({...B,feeOption:X,funcParams:W,txOverrides:{from:_,gasLimit:Q?BigInt(Q.toString()):void 0,nonce:z}})}}function Xq({signer:y,isEIP1559Compatible:T=!0,provider:C}){return async function({assetValue:H,memo:U,recipient:q,feeOptionKey:X=u.Fast,sender:G,...Q}){let{hexlify:Y,toUtf8Bytes:z}=await import("ethers"),W=H.getBaseValue("bigint"),_=H.chain,B=G||await y?.getAddress(),M=y5({chain:_,isEIP1559Compatible:T,provider:C,signer:y});if(!B)throw new c("toolbox_evm_no_from_address");if(H.isGasAsset){let A={...Q,data:Y(z(U||"")),feeOptionKey:X,from:B,to:q,value:W};return M(A)}if(!nf(H,_))throw new c("toolbox_evm_no_contract_address");let{maxFeePerGas:R,maxPriorityFeePerGas:J,gasPrice:k}=(await Zf({chain:_,isEIP1559Compatible:T,provider:C})())[X],O=await n1({chain:_,provider:C,signer:y})({assetValue:H,data:Y(z(U||"")),gasPrice:k,maxFeePerGas:R,maxPriorityFeePerGas:J,memo:U,recipient:q,sender:B});return M(O)}}function eC({provider:y,signer:T}){return function({contractAddress:f,abi:H,funcName:U,funcParams:q=[],txOverrides:X}){if(!f)throw new c("toolbox_evm_no_contract_address");let G=_0(f,H,y);return T?G.connect(T).getFunction(U).estimateGas(...q,X):G.getFunction(U).estimateGas(...q,X)}}function Gq({provider:y,signer:T}){return async function({assetValue:f,recipient:H,memo:U,data:q,sender:X,funcName:G,funcParams:Q,txOverrides:Y}){let z=f.bigIntValue,W=f.isGasAsset?null:nf(f,f.chain);if(W&&G)return eC({provider:y,signer:T})({abi:X0,contractAddress:W,funcName:G,funcParams:Q,txOverrides:Y});let{hexlify:_,toUtf8Bytes:B}=await import("ethers");return y.estimateGas({data:q?q:U?_(B(U)):void 0,from:X,to:H,value:z})}}function Qq({signer:y}){if(!y)return;return(T)=>F1(y,T)}function y5({provider:y,signer:T,isEIP1559Compatible:C=!0,chain:f}){return async function({feeOptionKey:U=u.Fast,...q}){let{from:X,to:G,data:Q,value:Y,...z}=q;if(!T)throw new c("toolbox_evm_no_signer");if(!G)throw new c("toolbox_evm_no_to_address");let W={...z,data:Q||"0x",from:X,to:G,value:BigInt(Y||0)};if(Ff(y))return $f(y)(W);let _=X||await T.getAddress(),B=q.nonce||await y.getTransactionCount(_),M=(await y.getNetwork()).chainId,D=V1(W,C);if(D==="eip7702")$1(W.authorizations||[],M);let R=dC(D).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),J={...W,chainId:M,nonce:B,type:R,...D==="eip7702"&&{authorizationList:W.authorizations}},k=Zf({chain:f,isEIP1559Compatible:C,provider:y}),A=D!=="legacy"&&!(W.maxFeePerGas&&W.maxPriorityFeePerGas)||!W.gasPrice?Object.entries((await k())[U]).reduce((L,[w,$])=>({...L,[w]:U0(BigInt($))}),{}):{},Z;try{Z=U0(W.gasLimit||await y.estimateGas(J)*11n/10n)}catch(L){throw new c("toolbox_evm_error_estimating_gas_limit",{error:L})}try{let L={...J,gasLimit:Z,...A};try{return(await T.sendTransaction(L)).hash}catch{let w=await T.signTransaction({...L,from:_});return(await y.broadcastTransaction(w)).hash}}catch(L){throw new c("toolbox_evm_error_sending_transaction",{error:L})}}}function n1({provider:y,signer:T}){return async function({assetValue:f,memo:H,recipient:U,data:q,sender:X,maxFeePerGas:G,maxPriorityFeePerGas:Q,gasPrice:Y,...z}){let W=f.getBaseValue("bigint"),_=f.chain,B=X||await T?.getAddress();if(!B)throw new c("toolbox_evm_no_from_address");if(yq(f)){let{hexlify:R,toUtf8Bytes:J}=await import("ethers");return{...z,data:q||R(J(H||"")),from:B,to:U,value:W}}let M=nf(f,_);if(!M)throw new c("toolbox_evm_no_contract_address");return _f({chain:f.chain,provider:y})({abi:X0,contractAddress:M,funcName:"transfer",funcParams:[U,W],txOverrides:{from:B,gasPrice:Y,maxFeePerGas:G,maxPriorityFeePerGas:Q}})}}function _q({provider:y,signer:T,chain:C}){return async function({assetAddress:H,spenderAddress:U,amount:q,from:X}){let G=await T?.getAddress()||X,Q=_f({chain:C,provider:y}),Y=["bigint","number"].includes(typeof q)?q:q||G0;return await Q({abi:X0,contractAddress:H,funcName:"approve",funcParams:[U,BigInt(Y)],txOverrides:{from:G}})}}function Zq({provider:y,isEIP1559Compatible:T=!0,chain:C}){return async function({feeOption:H=u.Fast,...U}){let X=await Zf({chain:C,isEIP1559Compatible:T,provider:y})(),G=await y.estimateGas(U),Q=s8.from({chain:C}),{gasPrice:Y,maxFeePerGas:z,maxPriorityFeePerGas:W}=X[H];if(!T&&Y)return Q.set(c0.fromBigInt(Y*G,Q.decimal));if(z&&W){let _=(z+W)*G;return Q.set(c0.fromBigInt(_,Q.decimal))}throw new c("toolbox_evm_no_gas_price")}}var G0,Tq,Hq,S1,Cq,i0=(y)=>y.type===4||(y.authorizations?.length??0)>0,P1=(y)=>!i0(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),V1=(y,T=!0)=>{if(i0(y))return"eip7702";if(P1(y)||T)return"eip1559";return"legacy"};var d0=V(()=>{m0();q0();G0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Tq=["payable","nonpayable"];Hq=e8.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),S1={...Hq,[Fy.Optimism]:"0x4200000000000000000000000000000000000042",[Fy.Polygon]:"0x0000000000000000000000000000000000001010"},Cq=[Fy.Arbitrum,Fy.Aurora,Fy.Base,Fy.Optimism]});import{Chain as r,FeeOption as Wq}from"@swapkit/helpers";import{HDNodeWallet as Yq}from"ethers";import{match as Jq,P as f5}from"ts-pattern";function r0(y){let T=a(r.Ethereum)(y);async function C(f,H="0x5ba1e12693dc8f9c48aad8770482f4739beed696",U="aggregate",q=Wq.Fast){let X=await T.createContractTxObject({abi:tC,contractAddress:H,funcName:U,funcParams:[f]});return T.sendTransaction({...X,feeOptionKey:q})}return{...T,multicall:C}}function a(y){return function({provider:C,...f}){let H=w1(y),U=Jq(f).with({phrase:f5.string},({phrase:X})=>Yq.fromPhrase(X).connect(C)).with({signer:f5.any},({signer:X})=>X).otherwise(()=>{return});return wf({chain:y,isEIP1559Compatible:H,provider:C,signer:U})}}var a0,s0,e0,yT,fT,TT,HT,T5,CT,UT,qT,XT,GT,QT,Z0,_T,ZT,WT,YT;var E1=V(()=>{cC();q0();d0();a0=a(r.Adi),s0=a(r.Arbitrum),e0=a(r.Aurora),yT=a(r.Avalanche),fT=a(r.Base),TT=a(r.Berachain),HT=a(r.BinanceSmartChain),T5=a(r.Botanix),CT=a(r.Core),UT=a(r.Corn),qT=a(r.Cronos),XT=a(r.Gnosis),GT=a(r.Hyperevm),QT=a(r.Polygon),Z0=a(r.Sonic),_T=a(r.Unichain),ZT=a(r.XLayer),WT=a(r.Monad),YT=a(r.MegaETH)});var H5;var C5=V(()=>{H5=[{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"}]});import{applyFeeMultiplierToBigInt as xf,Chain as zq,FeeOption as hy,SwapKitError as v1}from"@swapkit/helpers";import{Contract as Aq,HDNodeWallet as Mq}from"ethers";import{match as Nq,P as U5}from"ts-pattern";function p1(y){return new Aq(Bq,H5,y)}function q5(y){return async function(){let C=p1(y);if(C&&"l1BaseFee"in C)return await C?.l1BaseFee();return}}function X5(y){return async function({from:C,to:f,nonce:H,...U}){let{Transaction:q}=await import("ethers");if(!f)throw new v1("toolbox_evm_invalid_transaction",{error:"Missing to address"});return q.from({...U,authorizationList:U.authorizationList,nonce:H?H:C?await y.getTransactionCount(C):0,to:f}).serialized}}function G5(y){return async function(C){let f=p1(y),H=await X5(y)(C);if(f&&"getL1Fee"in f)return f.getL1Fee(H)}}function Q5(y){return async function(C){let H=(await y.getFeeData()).gasPrice??0n,U=await y.estimateGas(C);return H*U}}function Dq(y){return async function(C){let f=await G5(y)(C)??0n,H=await Q5(y)(C);return f+H}}function Oq(y){return async function(C){let f=p1(y),H=await X5(y)(C);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(H)}}function Rq(y){return async function(){try{let{maxFeePerGas:C,maxPriorityFeePerGas:f,gasPrice:H}=await y.getFeeData(),U=await q5(y)(),q=H;if(!(C&&f))throw new v1("toolbox_evm_no_fee_data");return{[hy.Average]:{gasPrice:q,l1GasPrice:U,maxFeePerGas:C,maxPriorityFeePerGas:f},[hy.Fast]:{gasPrice:xf(q,hy.Fast),l1GasPrice:xf(U||0n,hy.Fast),maxFeePerGas:C,maxPriorityFeePerGas:xf(f,hy.Fast)},[hy.Fastest]:{gasPrice:xf(q,hy.Fastest),l1GasPrice:xf(U||0n,hy.Fastest),maxFeePerGas:C,maxPriorityFeePerGas:xf(f,hy.Fastest)}}}catch(C){throw new v1("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}function JT({provider:y,...T}){let C=Nq(T).with({phrase:U5.string},({phrase:U})=>Mq.fromPhrase(U).connect(y)).with({signer:U5.any},({signer:U})=>U).otherwise(()=>{return}),f=wf({provider:y,signer:C}),H=q5(y);return{...f,estimateGasPrices:Rq(y),estimateL1Gas:Oq(y),estimateL1GasCost:G5(y),estimateL2GasCost:Q5(y),estimateTotalGasCost:Dq(y),getBalance:C0(zq.Optimism).getBalance,getL1GasPrice:H}}var Bq="0x420000000000000000000000000000000000000f";var b1=V(()=>{m0();C5();d0()});var Z5={};Ty(Z5,{validateEVMAddress:()=>Q0,toChecksumAddress:()=>rC,isStateChangingCall:()=>I1,isEIP7702Transaction:()=>i0,isEIP1559Transaction:()=>P1,isBrowserProvider:()=>Ff,getTokenAddress:()=>nf,getEvmToolboxAsync:()=>_5,getEvmToolbox:()=>j1,getEstimateGasPrices:()=>Zf,getEVMTxType:()=>V1,getEIP1193SendTransaction:()=>$f,getCreateContractTxObject:()=>_f,getCreateContract:()=>x1,getChecksumAddressFromAsset:()=>aC,createContract:()=>_0,XLayerToolbox:()=>ZT,UNIToolbox:()=>_T,SONICToolbox:()=>Z0,OPToolbox:()=>JT,MONADToolbox:()=>WT,MEGAETHToolbox:()=>YT,MAX_APPROVAL:()=>G0,MATICToolbox:()=>QT,HYPEREVMToolbox:()=>GT,GNOToolbox:()=>XT,ETHToolbox:()=>r0,ContractAddress:()=>S1,CROToolbox:()=>qT,CORNToolbox:()=>UT,COREToolbox:()=>CT,BotanixToolbox:()=>T5,BaseEVMToolbox:()=>wf,BSCToolbox:()=>HT,BERAToolbox:()=>TT,BASEToolbox:()=>fT,AVAXToolbox:()=>yT,AURORAToolbox:()=>e0,ARBToolbox:()=>s0,ADIToolbox:()=>a0});import{Chain as d}from"@swapkit/helpers";import{match as kq}from"ts-pattern";function j1(y,T){return kq(y).with(d.Adi,()=>a0(T)).with(d.Arbitrum,()=>s0(T)).with(d.Aurora,()=>e0(T)).with(d.Avalanche,()=>yT(T)).with(d.Base,()=>fT(T)).with(d.Berachain,()=>TT(T)).with(d.BinanceSmartChain,()=>HT(T)).with(d.Botanix,()=>Z0(T)).with(d.Core,()=>CT(T)).with(d.Corn,()=>UT(T)).with(d.Cronos,()=>qT(T)).with(d.Ethereum,()=>r0(T)).with(d.Gnosis,()=>XT(T)).with(d.Hyperevm,()=>GT(T)).with(d.Optimism,()=>JT(T)).with(d.Polygon,()=>QT(T)).with(d.Sonic,()=>Z0(T)).with(d.Unichain,()=>_T(T)).with(d.XLayer,()=>ZT(T)).with(d.Monad,()=>WT(T)).with(d.MegaETH,()=>YT(T)).exhaustive()}async function _5(y,T){let C={...T,provider:T?.provider||await R1(y)};return j1(y,C)}var K1=V(()=>{q0();E1();b1();d0();E1();b1()});var W5;var Y5=V(()=>{((C)=>{C.Test="goerli";C.Main="homestead"})(W5||={})});var J5={};Ty(J5,{validateEVMAddress:()=>Q0,validateAuthorizations:()=>$1,validateAuthorization:()=>hC,toHexString:()=>U0,toChecksumAddress:()=>rC,signAuthorization:()=>F1,parseEIP712FromEVMTx:()=>a8,isStateChangingCall:()=>I1,isEIP7702Transaction:()=>i0,isEIP1559Transaction:()=>P1,isBrowserProvider:()=>Ff,getTokenAddress:()=>nf,getProviderSync:()=>uC,getProvider:()=>R1,getNetworkParams:()=>k1,getIsEIP1559Compatible:()=>w1,getEvmToolboxAsync:()=>_5,getEvmToolbox:()=>j1,getEvmApi:()=>C0,getEstimateGasPrices:()=>Zf,getEVMTxType:()=>V1,getEIP1193SendTransaction:()=>$f,getCreateContractTxObject:()=>_f,getCreateContract:()=>x1,getChecksumAddressFromAsset:()=>aC,createCustomEvmApi:()=>t8,createContract:()=>_0,buildEIP712DomainType:()=>mC,XLayerToolbox:()=>ZT,UNIToolbox:()=>_T,SONICToolbox:()=>Z0,OPToolbox:()=>JT,MONADToolbox:()=>WT,MEGAETHToolbox:()=>YT,MAX_APPROVAL:()=>G0,MATICToolbox:()=>QT,HYPEREVMToolbox:()=>GT,GNOToolbox:()=>XT,EthNetwork:()=>W5,ETHToolbox:()=>r0,ContractAddress:()=>S1,CROToolbox:()=>qT,CORNToolbox:()=>UT,COREToolbox:()=>CT,BotanixToolbox:()=>T5,BaseEVMToolbox:()=>wf,BSCToolbox:()=>HT,BERAToolbox:()=>TT,BASEToolbox:()=>fT,AVAXToolbox:()=>yT,AURORAToolbox:()=>e0,ARBToolbox:()=>s0,ADIToolbox:()=>a0});var l1=V(()=>{m0();q0();K1();Y5()});import{bech32 as wq}from"@scure/base";import{mnemonicToEntropy as Fq}from"@scure/bip39";import{wordlist as $q}from"@scure/bip39/wordlists/english.js";import{Bip32PrivateKey as nq}from"@stricahq/bip32ed25519";import{Transaction as xq,types as m1,address as Iq,crypto as u1,utils as L5}from"@stricahq/typhonjs";import{AssetValue as If,Chain as Wf,getChainConfig as Sq,SwapKitError as W0}from"@swapkit/helpers";import By from"bignumber.js";async function t1(y,T){let C=await fetch(`${N5}${y}`,{...T,headers:{project_id:M5,...T?.headers}});if(!C.ok)throw Error(`Blockfrost API error: ${C.status} ${C.statusText}`);return C.json()}async function B5(y){try{return await t1(`/addresses/${y}/utxos`)}catch{return[]}}async function Pq(){return(await t1("/blocks/latest")).slot}async function Vq(){let y=await t1("/epochs/latest/parameters"),T={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new By(y.collateral_percent),languageView:T,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new By(y.min_fee_a),minFeeB:new By(y.min_fee_b),minFeeRefScriptCostPerByte:new By(15),priceMem:new By(y.price_mem),priceSteps:new By(y.price_step),stakeKeyDeposit:new By(2000000),utxoCostPerByte:new By(y.coins_per_utxo_size)}}async function A5(y){let T=await fetch(`${N5}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:M5},method:"POST"});if(!T.ok){let C=await T.text();throw Error(`Transaction submission failed: ${C}`)}return T.json()}function Eq(y,T){return y.map((C)=>{let f=C.amount.find((q)=>q.unit==="lovelace"),H=f?new By(f.quantity):new By(0),U=C.amount.filter((q)=>q.unit!=="lovelace").map((q)=>({amount:new By(q.quantity),assetName:q.unit.slice(56),policyId:q.unit.slice(0,56)}));return{address:T,amount:H,index:C.output_index,tokens:U,txId:C.tx_hash}})}async function vq(y){try{let T=await B5(y),C=0n,f=new Map;for(let q of T){if(!q.amount||!Array.isArray(q.amount))continue;for(let X of q.amount){let{unit:G,quantity:Q}=X;if(G==="lovelace")C+=BigInt(Q);else{let Y=f.get(G)||0n;f.set(G,Y+BigInt(Q))}}}let H=[],{baseDecimal:U}=Sq(Wf.Cardano);if(C>0n)H.push(If.from({chain:Wf.Cardano,fromBaseDecimal:U,value:C.toString()}));for(let[q,X]of f)H.push(If.from({asset:`${Wf.Cardano}.${q}`,value:X.toString()}));if(H.length===0)return[If.from({chain:Wf.Cardano})];return H}catch(T){let C=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${C}`),[If.from({chain:Wf.Cardano})]}}function D5(y){if(!y||typeof y!=="string")return!1;try{let T=wq.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function pq(y,T=0,C=0){let f=Fq(y,$q),U=(await nq.fromEntropy(Buffer.from(Array.from(f)))).derive(h1+1852).derive(h1+1815).derive(h1+T),q=U.derive(0).derive(C),X=q.toBip32PublicKey().toPublicKey().toBytes(),G=u1.hash28(X),Y=U.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),z=u1.hash28(Y),W={hash:G,type:m1.HashType.ADDRESS},_={hash:z,type:m1.HashType.ADDRESS},M=new Iq.BaseAddress(oq,W,_).getBech32(),D=q.toPrivateKey();return{getAddress:()=>M,publicKey:X,publicKeyHash:G,signTransaction:async(R)=>{try{let J=await import("@stricahq/cbors"),k=Buffer.from(R,"hex"),O=J.Decoder.decode(k),[A,Z,L,w]=O.value,$=J.Encoder.encode(A),F=u1.hash32($),n=D.sign(F),I=Z instanceof Map?Z:new Map,N=I.get(z5)||[];N.push([X,n]),I.set(z5,N);let x=[A,I,L,w];return J.Encoder.encode(x).toString("hex")}catch(J){throw new W0("toolbox_cardano_sign_transaction_failed",{message:String(J)})}}}}function bq(y){let T,C,f;async function H(){if(!f)f=await Vq();return f}async function U(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let _=y.index??0;return T=await pq(y.phrase,0,_),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function q(){if(C)return C;let _=await U();if(!_)return"";if("getAddress"in _)return C=await _.getAddress(),C;return""}async function X(_){let B=_||await q();if(!B)throw new W0("core_wallet_connection_not_found");return vq(B)}async function G(_){if(_)try{let{tx:R}=await Q(_),J=R.getFee();return If.from({chain:Wf.Cardano,fromBaseDecimal:6,value:J.toString()})}catch{}let B=await H(),M=400,D=B.minFeeB.plus(B.minFeeA.times(M));return If.from({chain:Wf.Cardano,fromBaseDecimal:6,value:D.toString()})}async function Q({sender:_="",recipient:B,assetValue:M,memo:D,pureLovelaceOnly:R=!1}){let J=_||await q();if(!J)throw new W0("core_wallet_connection_not_found");let[k,O,A]=await Promise.all([B5(J),Pq(),H()]),Z=k.filter((E)=>R?E.amount.every((j)=>j.unit==="lovelace"):E.amount.some((j)=>j.unit==="lovelace")).sort((E,j)=>{let h=E.amount.some((t)=>t.unit!=="lovelace"),s=j.amount.some((t)=>t.unit!=="lovelace");if(h===s)return 0;return h?1:-1}),L=L5.getAddressFromString(J),w=L5.getAddressFromString(B),$=Eq(Z,L),F=new By(M.getBaseValue("string")),n=[{address:w,amount:F,tokens:[]}],I;if(D){let E=new Map;E.set("msg",[D]),I={metadata:[{data:E,label:674}]}}let N={...A,minFeeB:A.minFeeB.plus(A.minFeeA.times(4))},S=new xq({protocolParams:N}).paymentTransaction({auxiliaryData:I,changeAddress:L,inputs:$,outputs:n,ttl:O+3600}),{payload:p}=S.buildTransaction();return{tx:S,unsignedTx:p}}async function Y(_){let B=await U();if(!B||!("signTransaction"in B))throw new W0("core_wallet_connection_not_found");return B.signTransaction(_)}async function z({recipient:_,assetValue:B,memo:M}){let D=await U();if(!D||!("signTransaction"in D))throw new W0("core_wallet_connection_not_found");let{unsignedTx:R}=await Q({assetValue:B,memo:M,recipient:_,sender:await q()}),J=await Y(R);return await A5(J)}async function W(_){let B=await Y(_);return await A5(B)}return{createTransaction:Q,estimateTransactionFee:G,getAddress:q,getBalance:X,signAndBroadcastTransaction:W,signTransaction:Y,transfer:z,validateAddress:D5}}var M5="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",N5="https://cardano-mainnet.blockfrost.io/api/v0",oq,h1=2147483648,z5=0;var O5=V(()=>{oq=m1.NetworkId.MAINNET});var c1={};Ty(c1,{validateCardanoAddress:()=>D5,getCardanoToolbox:()=>bq});var g1=V(()=>{O5()});import{base64 as zT,bech32 as LT}from"@scure/base";import{SwapKitError as jq}from"@swapkit/helpers";function Y0(y){return zT.encode(Uint8Array.from(LT.fromWords(LT.decode(y).words)))}function J0(y,T="thor"){return LT.encode(T,LT.toWords(zT.decode(y)))}function Kq(y){return zT.encode(y)}function lq(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new jq("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return zT.decode(y)}var i1=()=>{};import{AssetValue as d1,Chain as l,getChainConfig as Ey,getRPCUrl as uq,SwapKitError as R5}from"@swapkit/helpers";function my(y){switch(y){case l.Maya:return{amount:[],gas:"10000000000"};case l.THORChain:return{amount:[],gas:"500000000"};case l.Kujira:return F5;case l.Noble:return $5;default:return w5}}async function ty(y){let T=await import("@cosmjs/stargate"),C=T.StargateClient??T.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return C.connect({headers:f,url:y})}async function Yf(y,T,C={}){let f=await import("@cosmjs/stargate"),H=f.SigningStargateClient??f.default?.SigningStargateClient,U=f.GasPrice??f.default?.GasPrice,q=typeof C==="string"?C:"0.0003uatom",X=typeof C==="string"?{}:C;return H.connectWithSigner(y,T,{gasPrice:U.fromString(q),...X})}async function a1(y,T){let C=await import("@cosmjs/stargate");return(C.SigningStargateClient??C.default?.SigningStargateClient).offline(y,T)}async function s1({sender:y,recipient:T,assetValue:C,memo:f="",feeRate:H,sequence:U,accountNumber:q}){let{chain:X,chainId:G}=C,Q=await uq(X),z=await(await ty(Q)).getAccount(y);if(!z)throw new R5("toolbox_cosmos_account_not_found",{sender:y});let W=d1.from({chain:X}),_=sy(W.symbol),B=my(X),M=_&&H?{amount:[{amount:H.toString(),denom:_}],gas:B.gas}:B,D={amount:[{amount:C.getBaseValue("string"),denom:sy(C.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:q??Number(z.accountNumber),chainId:G,fee:M,memo:f,msgs:[{typeUrl:hq(X),value:D}],sequence:U??z.sequence}}var r1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",k5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",w5,F5,$5,sy=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return r1;case"uYUM":case"YUM":return k5;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},L0=({symbol:y,chain:T})=>{if(T===l.Maya)return(y.toUpperCase()!=="CACAO"?y:`${l.Maya}.${y}`).toUpperCase();if(T===l.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${l.THORChain}.${y}`:y).toUpperCase();return sy(y,!1)},hq=(y)=>{switch(y){case l.Maya:case l.THORChain:return"/types.MsgSend";case l.Cosmos:case l.Kujira:case l.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new R5("toolbox_cosmos_not_supported",{chain:y})}},mq,e1=(y,T)=>{let C=mq[y.toLowerCase()];if(!C)return d1.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:H,decimals:U}=C,q=f?{chain:f}:{asset:H};return d1.from({...q,fromBaseDecimal:U,value:T})};var z0=V(()=>{w5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},F5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},$5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};mq={atom:{chain:l.Cosmos,decimals:Ey(l.Cosmos).baseDecimal},cacao:{chain:l.Maya,decimals:10},kuji:{chain:l.Kujira,decimals:Ey(l.Kujira).baseDecimal},maya:{asset:`${l.Maya}.${l.Maya}`,decimals:4},rune:{chain:l.THORChain,decimals:Ey(l.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Ey(l.THORChain).baseDecimal},uatom:{chain:l.Cosmos,decimals:Ey(l.Cosmos).baseDecimal},ukuji:{chain:l.Kujira,decimals:Ey(l.Kujira).baseDecimal},usdc:{chain:l.Noble,decimals:Ey(l.Noble).baseDecimal},uusdc:{chain:l.Noble,decimals:Ey(l.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Ey(l.THORChain).baseDecimal},[r1.toLowerCase()]:{asset:`${l.Kujira}.USK`,decimals:Ey(l.Kujira).baseDecimal}}});var n5={};Ty(n5,{$root:()=>P});import Hy from"protobufjs/minimal.js";var b,Dy,v,P;var x5=V(()=>{b=Hy.Reader,Dy=Hy.Writer,v=Hy.util,P=Hy.roots.default||(Hy.roots.default={});P.common=(()=>{let y={};return y.Asset=(()=>{function T(C){if(C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.chain="",T.prototype.symbol="",T.prototype.ticker="",T.prototype.synth=!1,T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))H.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))H.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))H.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))H.uint32(32).bool(f.synth);return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.common.Asset;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:q.chain=f.string();break;case 2:q.symbol=f.string();break;case 3:q.ticker=f.string();break;case 4:q.synth=f.bool();break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!v.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!v.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!v.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Asset)return f;let H=new P.common.Asset;if(f.chain!=null)H.chain=String(f.chain);if(f.symbol!=null)H.symbol=String(f.symbol);if(f.ticker!=null)H.ticker=String(f.ticker);if(f.synth!=null)H.synth=Boolean(f.synth);return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.defaults)U.chain="",U.symbol="",U.ticker="",U.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))U.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))U.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))U.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))U.synth=f.synth;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y.Coin=(()=>{function T(C){if(C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.asset=null,T.prototype.amount="",T.prototype.decimals=v.Long?v.Long.fromBits(0,0,!1):0,T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))P.common.Asset.encode(f.asset,H.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))H.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))H.uint32(24).int64(f.decimals);return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.common.Coin;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:q.asset=P.common.Asset.decode(f,f.uint32());break;case 2:q.amount=f.string();break;case 3:q.decimals=f.int64();break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let H=P.common.Asset.verify(f.asset);if(H)return"asset."+H}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!v.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!v.isInteger(f.decimals)&&!(f.decimals&&v.isInteger(f.decimals.low)&&v.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Coin)return f;let H=new P.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");H.asset=P.common.Asset.fromObject(f.asset)}if(f.amount!=null)H.amount=String(f.amount);if(f.decimals!=null){if(v.Long)(H.decimals=v.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")H.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")H.decimals=f.decimals;else if(typeof f.decimals==="object")H.decimals=new v.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.defaults)if(U.asset=null,U.amount="",v.Long){let q=new v.Long(0,0,!1);U.decimals=H.longs===String?q.toString():H.longs===Number?q.toNumber():q}else U.decimals=H.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))U.asset=P.common.Asset.toObject(f.asset,H);if(f.amount!=null&&f.hasOwnProperty("amount"))U.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")U.decimals=H.longs===String?String(f.decimals):f.decimals;else U.decimals=H.longs===String?v.Long.prototype.toString.call(f.decimals):H.longs===Number?new v.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y.PubKeySet=(()=>{function T(C){if(C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.secp256k1="",T.prototype.ed25519="",T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))H.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))H.uint32(18).string(f.ed25519);return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.common.PubKeySet;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:q.secp256k1=f.string();break;case 2:q.ed25519=f.string();break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!v.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!v.isString(f.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.PubKeySet)return f;let H=new P.common.PubKeySet;if(f.secp256k1!=null)H.secp256k1=String(f.secp256k1);if(f.ed25519!=null)H.ed25519=String(f.ed25519);return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.defaults)U.secp256k1="",U.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))U.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))U.ed25519=f.ed25519;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y.Tx=(()=>{function T(C){if(this.coins=[],this.gas=[],C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.id="",T.prototype.chain="",T.prototype.fromAddress="",T.prototype.toAddress="",T.prototype.coins=v.emptyArray,T.prototype.gas=v.emptyArray,T.prototype.memo="",T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))H.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))H.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))H.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))H.uint32(34).string(f.toAddress);if(f.coins?.length)for(let U=0;U<f.coins.length;++U)P.common.Coin.encode(f.coins[U],H.uint32(42).fork()).ldelim();if(f.gas?.length)for(let U=0;U<f.gas.length;++U)P.common.Coin.encode(f.gas[U],H.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))H.uint32(58).string(f.memo);return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.common.Tx;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:q.id=f.string();break;case 2:q.chain=f.string();break;case 3:q.fromAddress=f.string();break;case 4:q.toAddress=f.string();break;case 5:if(!q.coins?.length)q.coins=[];q.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 6:if(!q.gas?.length)q.gas=[];q.gas.push(P.common.Coin.decode(f,f.uint32()));break;case 7:q.memo=f.string();break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!v.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!v.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!v.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!v.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let H=0;H<f.coins.length;++H){let U=P.common.Coin.verify(f.coins[H]);if(U)return"coins."+U}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let H=0;H<f.gas.length;++H){let U=P.common.Coin.verify(f.gas[H]);if(U)return"gas."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!v.isString(f.memo))return"memo: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Tx)return f;let H=new P.common.Tx;if(f.id!=null)H.id=String(f.id);if(f.chain!=null)H.chain=String(f.chain);if(f.fromAddress!=null)H.fromAddress=String(f.fromAddress);if(f.toAddress!=null)H.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");H.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".common.Tx.coins: object expected");H.coins[U]=P.common.Coin.fromObject(f.coins[U])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");H.gas=[];for(let U=0;U<f.gas.length;++U){if(typeof f.gas[U]!=="object")throw TypeError(".common.Tx.gas: object expected");H.gas[U]=P.common.Coin.fromObject(f.gas[U])}}if(f.memo!=null)H.memo=String(f.memo);return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.arrays||H.defaults)U.coins=[],U.gas=[];if(H.defaults)U.id="",U.chain="",U.fromAddress="",U.toAddress="",U.memo="";if(f.id!=null&&f.hasOwnProperty("id"))U.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))U.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))U.toAddress=f.toAddress;if(f.coins?.length){U.coins=[];for(let q=0;q<f.coins.length;++q)U.coins[q]=P.common.Coin.toObject(f.coins[q],H)}if(f.gas?.length){U.gas=[];for(let q=0;q<f.gas.length;++q)U.gas[q]=P.common.Coin.toObject(f.gas[q],H)}if(f.memo!=null&&f.hasOwnProperty("memo"))U.memo=f.memo;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y.Fee=(()=>{function T(C){if(this.coins=[],C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.coins=v.emptyArray,T.prototype.poolDeduct="",T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.coins?.length)for(let U=0;U<f.coins.length;++U)P.common.Coin.encode(f.coins[U],H.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))H.uint32(18).string(f.poolDeduct);return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.common.Fee;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:if(!q.coins?.length)q.coins=[];q.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:q.poolDeduct=f.string();break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let H=0;H<f.coins.length;++H){let U=P.common.Coin.verify(f.coins[H]);if(U)return"coins."+U}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!v.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Fee)return f;let H=new P.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");H.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".common.Fee.coins: object expected");H.coins[U]=P.common.Coin.fromObject(f.coins[U])}}if(f.poolDeduct!=null)H.poolDeduct=String(f.poolDeduct);return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.arrays||H.defaults)U.coins=[];if(H.defaults)U.poolDeduct="";if(f.coins?.length){U.coins=[];for(let q=0;q<f.coins.length;++q)U.coins[q]=P.common.Coin.toObject(f.coins[q],H)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))U.poolDeduct=f.poolDeduct;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y.ProtoUint=(()=>{function T(C){if(C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.value="",T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))H.uint32(10).string(f.value);return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.common.ProtoUint;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:q.value=f.string();break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!v.isString(f.value))return"value: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.ProtoUint)return f;let H=new P.common.ProtoUint;if(f.value!=null)H.value=String(f.value);return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.defaults)U.value="";if(f.value!=null&&f.hasOwnProperty("value"))U.value=f.value;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y})();P.types=(()=>{let y={};return y.MsgDeposit=(()=>{function T(C){if(this.coins=[],C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.coins=v.emptyArray,T.prototype.memo="",T.prototype.signer=v.newBuffer([]),T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.coins?.length)for(let U=0;U<f.coins.length;++U)P.common.Coin.encode(f.coins[U],H.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))H.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))H.uint32(26).bytes(f.signer);return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.types.MsgDeposit;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:if(!q.coins?.length)q.coins=[];q.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:q.memo=f.string();break;case 3:q.signer=f.bytes();break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let H=0;H<f.coins.length;++H){let U=P.common.Coin.verify(f.coins[H]);if(U)return"coins."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!v.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||v.isString(f.signer)))return"signer: buffer expected"}return null},T.fromObject=function(f){if(f instanceof P.types.MsgDeposit)return f;let H=new P.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");H.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");H.coins[U]=P.common.Coin.fromObject(f.coins[U])}}if(f.memo!=null)H.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")v.base64.decode(f.signer,H.signer=v.newBuffer(v.base64.length(f.signer)),0);else if(f.signer.length)H.signer=f.signer}return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.arrays||H.defaults)U.coins=[];if(H.defaults){if(U.memo="",H.bytes===String)U.signer="";else if(U.signer=[],H.bytes!==Array)U.signer=v.newBuffer(U.signer)}if(f.coins?.length){U.coins=[];for(let q=0;q<f.coins.length;++q)U.coins[q]=P.common.Coin.toObject(f.coins[q],H)}if(f.memo!=null&&f.hasOwnProperty("memo"))U.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))U.signer=H.bytes===String?v.base64.encode(f.signer,0,f.signer.length):H.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y.MsgSend=(()=>{function T(C){if(this.amount=[],C){for(let f=Object.keys(C),H=0;H<f.length;++H)if(C[f[H]]!=null)this[f[H]]=C[f[H]]}}return T.prototype.fromAddress=v.newBuffer([]),T.prototype.toAddress=v.newBuffer([]),T.prototype.amount=v.emptyArray,T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=Dy.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))H.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))H.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let U=0;U<f.amount.length;++U)P.cosmos.base.v1beta1.Coin.encode(f.amount[U],H.uint32(26).fork()).ldelim();return H},T.encodeDelimited=function(f,H){return this.encode(f,H).ldelim()},T.decode=function(f,H){if(!(f instanceof b))f=b.create(f);let U=H===void 0?f.len:f.pos+H,q=new P.types.MsgSend;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:q.fromAddress=f.bytes();break;case 2:q.toAddress=f.bytes();break;case 3:if(!q.amount?.length)q.amount=[];q.amount.push(P.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof b))f=new b(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||v.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||v.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let H=0;H<f.amount.length;++H){let U=P.cosmos.base.v1beta1.Coin.verify(f.amount[H]);if(U)return"amount."+U}}return null},T.fromObject=function(f){if(f instanceof P.types.MsgSend)return f;let H=new P.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")v.base64.decode(f.fromAddress,H.fromAddress=v.newBuffer(v.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)H.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")v.base64.decode(f.toAddress,H.toAddress=v.newBuffer(v.base64.length(f.toAddress)),0);else if(f.toAddress.length)H.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");H.amount=[];for(let U=0;U<f.amount.length;++U){if(typeof f.amount[U]!=="object")throw TypeError(".types.MsgSend.amount: object expected");H.amount[U]=P.cosmos.base.v1beta1.Coin.fromObject(f.amount[U])}}return H},T.toObject=function(f,H){if(!H)H={};let U={};if(H.arrays||H.defaults)U.amount=[];if(H.defaults){if(H.bytes===String)U.fromAddress="";else if(U.fromAddress=[],H.bytes!==Array)U.fromAddress=v.newBuffer(U.fromAddress);if(H.bytes===String)U.toAddress="";else if(U.toAddress=[],H.bytes!==Array)U.toAddress=v.newBuffer(U.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=H.bytes===String?v.base64.encode(f.fromAddress,0,f.fromAddress.length):H.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))U.toAddress=H.bytes===String?v.base64.encode(f.toAddress,0,f.toAddress.length):H.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){U.amount=[];for(let q=0;q<f.amount.length;++q)U.amount[q]=P.cosmos.base.v1beta1.Coin.toObject(f.amount[q],H)}return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},T})(),y})();P.cosmos=(()=>{let y={};return y.base=(()=>{let T={};return T.v1beta1=(()=>{let C={};return C.Coin=(()=>{function f(H){if(H){for(let U=Object.keys(H),q=0;q<U.length;++q)if(H[U[q]]!=null)this[U[q]]=H[U[q]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(U){return new f(U)},f.encode=function(U,q){if(!q)q=Dy.create();if(U.denom!=null&&Object.hasOwnProperty.call(U,"denom"))q.uint32(10).string(U.denom);if(U.amount!=null&&Object.hasOwnProperty.call(U,"amount"))q.uint32(18).string(U.amount);return q},f.encodeDelimited=function(U,q){return this.encode(U,q).ldelim()},f.decode=function(U,q){if(!(U instanceof b))U=b.create(U);let X=q===void 0?U.len:U.pos+q,G=new P.cosmos.base.v1beta1.Coin;while(U.pos<X){let Q=U.uint32();switch(Q>>>3){case 1:G.denom=U.string();break;case 2:G.amount=U.string();break;default:U.skipType(Q&7);break}}return G},f.decodeDelimited=function(U){if(!(U instanceof b))U=new b(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.denom!=null&&U.hasOwnProperty("denom")){if(!v.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!v.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.Coin)return U;let q=new P.cosmos.base.v1beta1.Coin;if(U.denom!=null)q.denom=String(U.denom);if(U.amount!=null)q.amount=String(U.amount);return q},f.toObject=function(U,q){if(!q)q={};let X={};if(q.defaults)X.denom="",X.amount="";if(U.denom!=null&&U.hasOwnProperty("denom"))X.denom=U.denom;if(U.amount!=null&&U.hasOwnProperty("amount"))X.amount=U.amount;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},f})(),C.DecCoin=(()=>{function f(H){if(H){for(let U=Object.keys(H),q=0;q<U.length;++q)if(H[U[q]]!=null)this[U[q]]=H[U[q]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(U){return new f(U)},f.encode=function(U,q){if(!q)q=Dy.create();if(U.denom!=null&&Object.hasOwnProperty.call(U,"denom"))q.uint32(10).string(U.denom);if(U.amount!=null&&Object.hasOwnProperty.call(U,"amount"))q.uint32(18).string(U.amount);return q},f.encodeDelimited=function(U,q){return this.encode(U,q).ldelim()},f.decode=function(U,q){if(!(U instanceof b))U=b.create(U);let X=q===void 0?U.len:U.pos+q,G=new P.cosmos.base.v1beta1.DecCoin;while(U.pos<X){let Q=U.uint32();switch(Q>>>3){case 1:G.denom=U.string();break;case 2:G.amount=U.string();break;default:U.skipType(Q&7);break}}return G},f.decodeDelimited=function(U){if(!(U instanceof b))U=new b(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.denom!=null&&U.hasOwnProperty("denom")){if(!v.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!v.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.DecCoin)return U;let q=new P.cosmos.base.v1beta1.DecCoin;if(U.denom!=null)q.denom=String(U.denom);if(U.amount!=null)q.amount=String(U.amount);return q},f.toObject=function(U,q){if(!q)q={};let X={};if(q.defaults)X.denom="",X.amount="";if(U.denom!=null&&U.hasOwnProperty("denom"))X.denom=U.denom;if(U.amount!=null&&U.hasOwnProperty("amount"))X.amount=U.amount;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},f})(),C.IntProto=(()=>{function f(H){if(H){for(let U=Object.keys(H),q=0;q<U.length;++q)if(H[U[q]]!=null)this[U[q]]=H[U[q]]}}return f.prototype.int="",f.create=function(U){return new f(U)},f.encode=function(U,q){if(!q)q=Dy.create();if(U.int!=null&&Object.hasOwnProperty.call(U,"int"))q.uint32(10).string(U.int);return q},f.encodeDelimited=function(U,q){return this.encode(U,q).ldelim()},f.decode=function(U,q){if(!(U instanceof b))U=b.create(U);let X=q===void 0?U.len:U.pos+q,G=new P.cosmos.base.v1beta1.IntProto;while(U.pos<X){let Q=U.uint32();switch(Q>>>3){case 1:G.int=U.string();break;default:U.skipType(Q&7);break}}return G},f.decodeDelimited=function(U){if(!(U instanceof b))U=new b(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.int!=null&&U.hasOwnProperty("int")){if(!v.isString(U.int))return"int: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.IntProto)return U;let q=new P.cosmos.base.v1beta1.IntProto;if(U.int!=null)q.int=String(U.int);return q},f.toObject=function(U,q){if(!q)q={};let X={};if(q.defaults)X.int="";if(U.int!=null&&U.hasOwnProperty("int"))X.int=U.int;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},f})(),C.DecProto=(()=>{function f(H){if(H){for(let U=Object.keys(H),q=0;q<U.length;++q)if(H[U[q]]!=null)this[U[q]]=H[U[q]]}}return f.prototype.dec="",f.create=function(U){return new f(U)},f.encode=function(U,q){if(!q)q=Dy.create();if(U.dec!=null&&Object.hasOwnProperty.call(U,"dec"))q.uint32(10).string(U.dec);return q},f.encodeDelimited=function(U,q){return this.encode(U,q).ldelim()},f.decode=function(U,q){if(!(U instanceof b))U=b.create(U);let X=q===void 0?U.len:U.pos+q,G=new P.cosmos.base.v1beta1.DecProto;while(U.pos<X){let Q=U.uint32();switch(Q>>>3){case 1:G.dec=U.string();break;default:U.skipType(Q&7);break}}return G},f.decodeDelimited=function(U){if(!(U instanceof b))U=new b(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.dec!=null&&U.hasOwnProperty("dec")){if(!v.isString(U.dec))return"dec: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.DecProto)return U;let q=new P.cosmos.base.v1beta1.DecProto;if(U.dec!=null)q.dec=String(U.dec);return q},f.toObject=function(U,q){if(!q)q={};let X={};if(q.defaults)X.dec="";if(U.dec!=null&&U.hasOwnProperty("dec"))X.dec=U.dec;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,Hy.util.toJSONOptions)},f})(),C})(),T})(),y})()});import{Chain as tq}from"@swapkit/helpers";async function Jf(){let{$root:y}=await Promise.resolve().then(() => (x5(),n5)),T=await import("@cosmjs/proto-signing"),C=T.Registry??T.default?.Registry,f=await import("@cosmjs/stargate"),H=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new C([...H,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function ey(y){let T=await import("@cosmjs/stargate"),C=T.AminoTypes??T.default?.AminoTypes,f=y===tq.THORChain?"thorchain":"mayachain";return new C({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:H,...U})=>({...U,signer:Y0(H)}),toAmino:({signer:H,...U})=>({...U,signer:J0(H)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:H,to_address:U,...q})=>({...q,fromAddress:Y0(H),toAddress:Y0(U)}),toAmino:({fromAddress:H,toAddress:U,...q})=>({...q,from_address:J0(H),to_address:J0(U)})}})}var yH=V(()=>{i1()});import{AssetValue as cq,Chain as AT,getChainConfig as I5,getRPCUrl as S5,SwapKitError as gq}from"@swapkit/helpers";function HH(y){let{assetValue:T,recipient:C,memo:f,sender:H,asSignable:U,asAminoMessage:q}=y;if(C)return P5({asAminoMessage:q,asSignable:U,assetValue:T,memo:f,recipient:C,sender:H});return V5({asAminoMessage:q,asSignable:U,assetValue:T,memo:f,sender:H})}async function P5({sender:y,recipient:T,assetValue:C,memo:f="",asSignable:H=!0,asAminoMessage:U=!1,sequence:q,accountNumber:X}){let G=C.chain,Q=await S5(G),Y=await o5({rpcUrl:Q,sender:y}),{chainId:z}=I5(G),W=fH({assetValue:C,recipient:T,sender:y}),_=H?await yf(U?W:ff(W),G):W;return{accountNumber:X||Number(Y.accountNumber),chainId:z,fee:my(G),memo:f,msgs:[_],sequence:q||Y.sequence}}async function V5({sender:y,assetValue:T,memo:C="",asSignable:f=!0,asAminoMessage:H=!1,sequence:U,accountNumber:q}){let X=T.chain,G=await S5(X),Q=await o5({rpcUrl:G,sender:y}),{chainId:Y}=I5(X),z=TH({assetValue:T,memo:C,sender:y}),W=f?await yf(H?z:ff(z),X):z;return{accountNumber:q||Number(Q.accountNumber),chainId:Y,fee:my(X),memo:C,msgs:[W],sequence:U||Q.sequence}}function ff(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((T)=>{let C=cq.from({asset:T.asset}),f=(C.isSynthetic?C.symbol.split("/")?.[1]:C.symbol)?.toUpperCase(),H=(C.isSynthetic?C.symbol.split("/")?.[0]:C.chain)?.toUpperCase();return{...T,asset:{chain:H,symbol:f,synth:C.isSynthetic,ticker:C.ticker}}})}}}async function A0({chain:y,memo:T,msgs:C}){let f=await Jf(),H=await ey(y),U={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:C.map((q)=>H.fromAmino(q))}};return f.encode(U)}var iq,dq,fH=({sender:y,recipient:T,assetValue:C})=>{return{type:`${C.chain===AT.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:C.getBaseValue("string"),denom:sy(C.symbol,!0)}],from_address:y,to_address:T}}},TH=({sender:y,assetValue:T,memo:C=""})=>{return{type:`${T.chain===AT.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:L0(T)}],memo:C,signer:y}}},MT=({sender:y,recipient:T,assetValue:C,memo:f})=>{return!T?TH({assetValue:C,memo:f,sender:y}):fH({assetValue:C,recipient:T,sender:y})},yf=async(y,T)=>{return(await ey(T)).fromAmino(y)},o5=async({rpcUrl:y,sender:T})=>{let f=await(await ty(y)).getAccount(T);if(!f)throw new gq("toolbox_cosmos_account_not_found",{sender:T});return f};var E5=V(()=>{z0();yH();iq=my(AT.THORChain).gas,dq=my(AT.Maya).gas});var v5=()=>{};var p5=V(()=>{v5()});var CH=V(()=>{i1();E5();yH();p5()});import{stringToPath as rq}from"@cosmjs/crypto";import{DirectSecp256k1HdWallet as aq}from"@cosmjs/proto-signing";import{base64 as XH,bech32 as UH}from"@scure/base";import{AssetValue as GH,applyFeeMultiplier as b5,Chain as qy,CosmosChainPrefixes as m5,DerivationPath as sq,derivationPathToString as j5,FeeOption as QH,getChainConfig as eq,getRPCUrl as M0,NetworkDerivationPath as yX,SwapKitError as Sf,SwapKitNumber as qH,updateDerivationPath as fX}from"@swapkit/helpers";import{SwapKitApi as t5}from"@swapkit/helpers/api";import{match as TX,P as K5}from"ts-pattern";async function ZH(y,T){try{let f=(await t5.getGasRate()).find((H)=>H.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}async function _H({phrase:y,prefix:T,...C}){let f="derivationPath"in C?C.derivationPath:`${sq[C.chain]}/${C.index}`;return await aq.fromMnemonic(y,{hdPaths:[rq(f)],prefix:T})}async function HX({privateKey:y,prefix:T}){let C=await import("@cosmjs/proto-signing");return(C.DirectSecp256k1Wallet??C.default?.DirectSecp256k1Wallet).fromKey(y,T)}function c5(y){return async function({signature:C,message:f,address:H}){let U=await y(H);if(!U?.pubkey)throw new Sf("toolbox_cosmos_verify_signature_no_pubkey");let q=await import("@cosmjs/crypto"),X=q.Secp256k1Signature??q.default?.Secp256k1Signature,G=q.Secp256k1??q.default?.Secp256k1,Q=X.fromFixedLength(XH.decode(C));return G.verifySignature(Q,XH.decode(f),U.pubkey.value)}}function N0({chain:y,...T}){let C=m5[y],f="index"in T?T.index||0:0,H=j5("derivationPath"in T&&T.derivationPath?T.derivationPath:fX(yX[y],{index:f})),U;async function q(){if(U)return U;return U=await TX(T).with({phrase:K5.string},({phrase:_})=>_H({derivationPath:H,phrase:_,prefix:C})).with({signer:K5.any},({signer:_})=>_).otherwise(()=>{return}),U}async function X(_){let B=await M0(y);return(await ty(B)).getAccount(_)}async function G(){let _=await q(),[B]=await _?.getAccounts()||[];return B?.address}async function Q(){let _=await q(),[B]=await _?.getAccounts()||[];if(!B?.pubkey)throw new Sf("toolbox_cosmos_signer_not_defined");return XH.encode(B?.pubkey)}async function Y(_){let B=await q(),M=await G(),D=await M0(y);if(!(B&&M))throw new Sf("toolbox_cosmos_signer_not_defined");return await(await Yf(D,B)).sign(M,_.msgs,_.fee,_.memo,{accountNumber:BigInt(_.accountNumber),chainId:_.chainId,sequence:_.sequence})}async function z(_){let B=await q(),M=await G(),D=await M0(y);if(!(B&&M))throw new Sf("toolbox_cosmos_signer_not_defined");let J=await(await Yf(D,B)).signAndBroadcast(M,_.msgs,_.fee,_.memo);if(J.code!==0)throw new Sf("core_swap_transaction_error",{code:J.code,message:J.rawLog});return J.transactionHash}async function W({recipient:_,assetValue:B,memo:M="",feeRate:D,feeOptionKey:R=QH.Fast}){let J=await q(),k=await G();if(!(J&&k))throw new Sf("toolbox_cosmos_signer_not_defined");let O=await M0(y),A=GH.from({chain:y}),Z=L0(A),L=D||qX((await u5(y,l5[y]))[R],Z),w=await Yf(O,J),$=sy(B.symbol),F=[{amount:B.getBaseValue("string"),denom:$}],{transactionHash:n}=await w.sendTokens(k,_,F,L,M);return n}return{createPrivateKeyFromPhrase:GX(H),createTransaction:s1,fetchFeeRateFromSwapKit:ZH,getAccount:X,getAddress:G,getBalance:async(_,B)=>{let M=await h5(y)(_),D=await Promise.all(M.filter(({denom:R})=>R&&!R.includes("IBC/")&&!([qy.THORChain,qy.Maya].includes(y)&&R.split("-").length>2)).map(({denom:R,amount:J})=>{let k=[qy.THORChain,qy.Maya].includes(y)&&(R.includes("/")||R.includes("˜"))?`${y}.${R}`:R;return e1(k,J)}));if(D.length===0)return[GH.from({chain:y})];return D},getBalanceAsDenoms:h5(y),getFees:()=>u5(y,l5[y]),getPubKey:Q,getSignerFromPhrase:({phrase:_,derivationPath:B})=>_H({derivationPath:j5(B),index:f,phrase:_,prefix:C}),getSignerFromPrivateKey:async(_)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(_,C)},signAndBroadcastTransaction:z,signTransaction:Y,transfer:W,validateAddress:g5(y),verifySignature:c5(X)}}async function CX(y,T){try{let f=(await t5.getGasRate()).find((H)=>H.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}function UX({assetValue:{chain:y}}){return GH.from({chain:y,value:XX(y)})}async function u5(y,T){let{chainId:C,baseDecimal:f}=eq(y),H=await ZH(C,T);return{average:qH.fromBigInt(BigInt(H),f),fast:qH.fromBigInt(BigInt(b5(H,QH.Fast,!0)),f),fastest:qH.fromBigInt(BigInt(b5(H,QH.Fastest,!0)),f)}}function qX(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function XX(y){return{[qy.Cosmos]:0.007,[qy.Kujira]:0.02,[qy.Noble]:0.01,[qy.THORChain]:0.02,[qy.Maya]:0.02,[qy.Harbor]:0.02}[y]||0}function g5(y){let T=m5[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:H,words:U}=UH.decode(f);return UH.encode(H,U)===f.toLocaleLowerCase()}catch{return!1}}}function h5(y){return async function(C){let f=await M0(y);return(await(await ty(f)).getAllBalances(C)).map((X)=>({...X,denom:X.denom.includes("/")?X.denom.toUpperCase():X.denom}))}}function GX(y){return async function(C){let f=await import("@cosmjs/crypto"),H=f.stringToPath??f.default?.stringToPath,U=f.Slip10Curve??f.default?.Slip10Curve,q=f.Slip10??f.default?.Slip10,X=f.EnglishMnemonic??f.default?.EnglishMnemonic,G=f.Bip39??f.default?.Bip39,Q=new X(C),Y=await G.mnemonicToSeed(Q),{privkey:z}=q.derivePath(U.Secp256k1,Y,H(y));return z}}var l5;var NT=V(()=>{z0();l5={[qy.Cosmos]:1000,[qy.Kujira]:1000,[qy.Noble]:1000,[qy.THORChain]:5000000,[qy.Maya]:5000000,[qy.Harbor]:5000000}});import{base64 as Lf}from"@scure/base";import{Chain as QX,CosmosChainPrefixes as _X,derivationPathToString as ZX,FeeOption as WH,getChainConfig as WX,getRPCUrl as s5,NetworkDerivationPath as YX,RequestClient as JX,SKConfig as i5,SwapKitError as of,SwapKitNumber as d5,updateDerivationPath as LX}from"@swapkit/helpers";import{match as r5,P as a5}from"ts-pattern";function zX({prefix:y,derivationPath:T}){return async function(f,H=0){let U=await import("@cosmjs/amino"),q=U.Secp256k1HdWallet??U.default?.Secp256k1HdWallet,X=await import("@cosmjs/crypto"),G=X.stringToPath??X.default?.stringToPath;return q.fromMnemonic(f,{hdPaths:[G(`${T}/${H}`)],prefix:y})}}function AX(y){return Lf.encode(y)}function MX(y){return async function({wallet:C,tx:f}){let{msgs:H,accountNumber:U,sequence:q,chainId:X,fee:G,memo:Q}=typeof f==="string"?JSON.parse(f):f,Y=(await C.getAccounts())?.[0]?.address||"",z=await ey(y),W=await Jf(),_=await a1(C,{aminoTypes:z,registry:W}),B=[];for(let R of H){let J=await yf(R,y);B.push(J)}let{signatures:[M]}=await _.sign(Y,B,G,Q,{accountNumber:BigInt(U),chainId:X,sequence:q});return{bodyBytes:await A0({chain:y,memo:Q,msgs:H.map(ff)}),signature:AX(M)}}}function NX({prefix:y,chain:T}){return async function(f,H,U,q,X){let G=await s5(T),{encodeSecp256k1Pubkey:Q,pubkeyToAddress:Y}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:W,fee:_}=JSON.parse(f),B=await e5(U,q),M=H.map((J)=>[Y(Q(Lf.decode(J.pubKey)),y),Lf.decode(J.signature)]),D=await ty(G),{transactionHash:R}=await D.broadcastTx(z(B,W,_,X,new Map(M)));return R}}async function e5(y,T,C=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:H}=(await import("@cosmjs/amino")).default;return f(y.map((U)=>H(Lf.decode(U))),T,C)}function BX(y){return Lf.decode(y)}async function DX({privateKey:y,message:T}){let{Secp256k1:C}=(await import("@cosmjs/crypto")).default,f=await C.createSignature(Lf.decode(T),y);return Lf.encode(Buffer.concat([f.r(32),f.s(32)]))}function YH({chain:y,...T}){let{isStagenet:C}=i5.get("envs"),f=i5.get("thornodeUrls"),H=y===QX.Maya,U=r5({isMayachain:H,isStagenet:C}).with({isMayachain:!0},({isStagenet:J})=>J?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:J})=>J?f.THOR_STAGENET:f.THOR),q=`${C?"s":""}${_X[y]}`,X="index"in T?T.index||0:0,G="derivationPath"in T&&T.derivationPath?T.derivationPath:LX(YX[y],{index:X}),Q=N0({chain:y,...T}),Y=my(y),z;function W(){return z??=r5(T).with({phrase:a5.string},({phrase:J})=>Q.getSignerFromPhrase({derivationPath:G,phrase:J})).with({signer:a5.any},({signer:J})=>Promise.resolve(J)).otherwise(()=>Promise.resolve(void 0)),z}async function _(){let J=await s5(y),k=await W();if(!k)throw new of("toolbox_cosmos_no_signer");let O=await Jf(),A=await ey(y),Z=await Yf(J,k,{aminoTypes:A,registry:O});return{signer:k,signingClient:Z}}async function B({fee:J,memo:k,msgs:O}){let{signer:A,signingClient:Z}=await _(),L=(await A.getAccounts())?.[0]?.address;if(!L)throw new of("toolbox_cosmos_signer_not_defined");let w=await Z.signAndBroadcast(L,O,J,k);if(w.code!==0)throw new of("core_swap_transaction_error",{code:w.code,message:w.rawLog});return w.transactionHash}async function M(){let J,k=`${U}/${H?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:O}}=await JX.get(k);if(!O||Number.isNaN(O)||O<0)throw new of("toolbox_cosmos_invalid_fee",{nativeFee:O.toString()});J=new d5(O)}catch{J=new d5({decimal:WX(y).baseDecimal,value:H?1:0.02})}return{[WH.Average]:J,[WH.Fast]:J,[WH.Fastest]:J}}async function D({assetValue:J,memo:k="",recipient:O}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:Z,signingClient:L}=await _(),w=(await Z.getAccounts())?.[0]?.address;if(!w)throw new of("toolbox_cosmos_no_signer");let $="signAmino"in Z,F=MT({assetValue:J,memo:k,recipient:O,sender:w});if($){let N=await yf(F,y),{signatures:x,authInfoBytes:S}=await L.sign(w,[N],Y,k),p=A.encode({authInfoBytes:S,bodyBytes:await A0({chain:y,memo:k,msgs:[F].map(ff)}),signatures:x}).finish();return(await L.broadcastTx(p)).transactionHash}let n=ff(F),I=await yf(n,y);return B({fee:Y,memo:k,msgs:[I]})}async function R(J){let{signer:k,signingClient:O}=await _(),A=(await k.getAccounts())?.[0]?.address;if(!A)throw new of("toolbox_cosmos_signer_not_defined");return O.sign(A,J.msgs,J.fee,J.memo,{accountNumber:BigInt(J.accountNumber),chainId:J.chainId,sequence:J.sequence})}return{...Q,broadcastMultisigTx:NX({chain:y,prefix:q}),buildAminoMsg:MT,buildEncodedTxBody:A0,convertToSignable:yf,createDefaultAminoTypes:()=>ey(y),createDefaultRegistry:Jf,createMultisig:e5,createTransaction:HH,deposit:D,getFees:M,importSignature:BX,parseAminoMessageForDirectSigning:ff,pubkeyToAddress:async(J)=>{let{pubkeyToAddress:k}=(await import("@cosmjs/amino")).default;return k(J,q)},secp256k1HdWalletFromMnemonic:zX({derivationPath:ZX(G),prefix:q}),signAndBroadcastTransaction:B,signMultisigTx:MX(y),signTransaction:R,signWithPrivateKey:DX,transfer:D}}var JH=V(()=>{CH();z0();NT()});import{Chain as B0,SwapKitError as OX}from"@swapkit/helpers";var RX=(y,T)=>{switch(y){case B0.Cosmos:case B0.Kujira:case B0.Noble:return N0({chain:y,...T});case B0.Maya:case B0.THORChain:return YH({chain:y,...T});default:throw new OX("toolbox_cosmos_not_supported",{chain:y})}};var y2=V(()=>{NT();JH();NT();JH()});var BT={};Ty(BT,{verifySignature:()=>c5,transferMsgAmino:()=>fH,toBase64:()=>Kq,parseAminoMessageForDirectSigning:()=>ff,getSignerFromPrivateKey:()=>HX,getSignerFromPhrase:()=>_H,getMsgSendDenom:()=>sy,getFeeRateFromSwapKit:()=>CX,getDenomWithChain:()=>L0,getDefaultChainFee:()=>my,getCosmosToolbox:()=>RX,getCosmosAddressValidator:()=>g5,getAssetFromDenom:()=>e1,fromBase64:()=>lq,fetchFeeRateFromSwapKit:()=>ZH,estimateTransactionFee:()=>UX,depositMsgAmino:()=>TH,createTransaction:()=>HH,createThorchainToolbox:()=>YH,createStargateClient:()=>ty,createSigningStargateClient:()=>Yf,createOfflineStargateClient:()=>a1,createDefaultRegistry:()=>Jf,createDefaultAminoTypes:()=>ey,createCosmosToolbox:()=>N0,cosmosCreateTransaction:()=>s1,convertToSignable:()=>yf,buildTransferTx:()=>P5,buildEncodedTxBody:()=>A0,buildDepositTx:()=>V5,buildAminoMsg:()=>MT,bech32ToBase64:()=>Y0,base64ToBech32:()=>J0,YUM_KUJIRA_FACTORY_DENOM:()=>k5,USK_KUJIRA_FACTORY_DENOM:()=>r1,THORCHAIN_GAS_VALUE:()=>iq,MAYA_GAS_VALUE:()=>dq,DEFAULT_NOBLE_FEE_MAINNET:()=>$5,DEFAULT_KUJI_FEE_MAINNET:()=>F5,DEFAULT_COSMOS_FEE_MAINNET:()=>w5});var DT=V(()=>{CH();y2();z0()});function kX({builder:y,grouping:T="na",orders:C}){return{builder:y,grouping:T,orders:C,type:"order"}}function wX({cancels:y}){return{cancels:y,type:"cancel"}}function FX({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function $X({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function nX({modifies:y}){return{modifies:y,type:"batchModify"}}function xX({asset:y,isCross:T,leverage:C}){return{asset:y,isCross:T,leverage:C,type:"updateLeverage"}}function IX({asset:y,isBuy:T,ntli:C}){return{asset:y,isBuy:T,ntli:C,type:"updateIsolatedMargin"}}function SX({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function oX({time:y}){return{time:y,type:"scheduleCancel"}}function PX({amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H}){return{amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H,type:"usdClassTransfer"}}function VX({amount:y,destination:T,destinationDex:C,fromSubAccount:f,hyperliquidChain:H,nonce:U,signatureChainId:q,sourceDex:X,token:G}){return{amount:y,destination:T,destinationDex:C,fromSubAccount:f,hyperliquidChain:H,nonce:U,signatureChainId:q,sourceDex:X,token:G,type:"sendAsset"}}function EX({agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H}){return{agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H,type:"approveAgent"}}function vX({builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H}){return{builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H,type:"approveBuilderFee"}}function pX({hyperliquidChain:y,isUndelegate:T,nonce:C,signatureChainId:f,validator:H,wei:U}){return{hyperliquidChain:y,isUndelegate:T,nonce:C,signatureChainId:f,type:"tokenDelegate",validator:H,wei:U}}import{SwapKitError as LH}from"@swapkit/helpers";import{keccak256 as bX,Signature as jX}from"ethers";function zy(...y){let T=y.reduce((H,U)=>H+U.length,0),C=new Uint8Array(T),f=0;for(let H of y)C.set(H,f),f+=H.length;return C}function tX(y,T,C){if(C<T)return new Uint8Array([y+C]);if(C<=255)return new Uint8Array([y+T,C]);if(C<=65535)return new Uint8Array([y+T+1,C>>8,C&255]);return new Uint8Array([y+T+2,C>>>24&255,C>>>16&255,C>>>8&255,C&255])}function Tf(y,T){let C=new Uint8Array(T),f=y;for(let H=T-1;H>=0;H-=1)C[H]=Number(f&0xffn),f>>=8n;return C}function f2(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return zy(new Uint8Array([205]),Tf(y,2));if(y<=0xffffffffn)return zy(new Uint8Array([206]),Tf(y,4));return zy(new Uint8Array([207]),Tf(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return zy(new Uint8Array([209]),Tf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return zy(new Uint8Array([210]),Tf(BigInt.asUintN(32,y),4));return zy(new Uint8Array([211]),Tf(BigInt.asUintN(64,y),8))}function C2(y){let T=mX.encode(y);if(T.length<32)return zy(new Uint8Array([160+T.length]),T);return zy(tX(217,0,T.length),T)}function cX(y){let T=y.map((f)=>zH(f)),C=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return zy(C,...T)}function gX(y){let T=Object.entries(y).filter(([,f])=>typeof f<"u"),C=T.length<16?new Uint8Array([128+T.length]):T.length<=65535?new Uint8Array([222,T.length>>8,T.length&255]):new Uint8Array([223,T.length>>>24&255,T.length>>>16&255,T.length>>>8&255,T.length&255]);return zy(C,...T.flatMap(([f,H])=>[C2(f),zH(H)]))}function zH(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return C2(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new LH("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return f2(BigInt(y))}if(typeof y==="bigint")return f2(y);if(y instanceof Uint8Array){let T=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return zy(T,y)}if(Array.isArray(y))return cX(y);if(typeof y==="object")return gX(y);throw new LH("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function iX(y){let T=y.startsWith("0x")?y.slice(2):y;if(T.length%2!==0||/[^a-fA-F0-9]/u.test(T))throw new LH("helpers_invalid_params",{hexValue:y});let C=new Uint8Array(T.length/2);for(let f=0;f<T.length;f+=2)C[f/2]=Number.parseInt(T.slice(f,f+2),16);return C}function U2(y){return{domain:KX,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...lX.Agent]}}}function q2(y){let T=hX[y.type],C=uX[y.type],{type:f,...H}=y;return{domain:{chainId:Number.parseInt(H.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:T2,version:"1"},message:{...H,hyperliquidChain:H.hyperliquidChain||H2},primaryType:T,types:{[T]:C}}}function X2(y){let T=jX.from(y);return{r:T.r,s:T.s,v:T.v}}function G2(y,T,{expiresAfter:C,vaultAddress:f}={}){let H=zH(y),U=Tf(BigInt(T),8),q=f?zy(new Uint8Array([1]),iX(f.toLowerCase())):new Uint8Array([0]),X=typeof C==="number"?zy(new Uint8Array([0]),Tf(BigInt(C),8)):new Uint8Array;return bX(zy(H,U,q,X))}function Q2(y){let T=y.hyperliquidChain||H2;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:T};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:T};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:T};case"tokenDelegate":return{...y,hyperliquidChain:T,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:T};default:return y}}var T2="0x0000000000000000000000000000000000000000",KX,lX,H2="Mainnet",uX,hX,mX;var _2=V(()=>{KX={chainId:1337,name:"Exchange",verifyingContract:T2,version:"1"},lX={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},uX={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"}]},hX={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},mX=new TextEncoder});import{AssetValue as NH,Chain as dX,derivationPathToString as rX,getChainConfig as Y2,getRPCUrl as aX,NetworkDerivationPath as sX,RequestClient as Pf,SwapKitError as Vf,updateDerivationPath as eX}from"@swapkit/helpers";import{HDNodeWallet as yG}from"ethers";import{match as fG,P as AH}from"ts-pattern";function $y(y,T){if(!DH(y))throw new Vf(T,{address:y});return y.toLowerCase()}async function zf(y){let T=await OT();return Pf.post(`${T}/info`,{json:y})}function GG({dex:y,user:T}){return zf({...y?{dex:y}:{},type:"clearinghouseState",user:$y(T,"helpers_invalid_params")})}function QG({user:y}){return zf({type:"spotClearinghouseState",user:$y(y,"helpers_invalid_params")})}function _G({dex:y,user:T}){return zf({...y?{dex:y}:{},type:"openOrders",user:$y(T,"helpers_invalid_params")})}function ZG({dex:y,user:T}){return zf({...y?{dex:y}:{},type:"frontendOpenOrders",user:$y(T,"helpers_invalid_params")})}function WG({oidOrCloid:y,user:T}){return zf({oid:y,type:"orderStatus",user:$y(T,"helpers_invalid_params")})}function YG({aggregateByTime:y,user:T}){return zf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:$y(T,"helpers_invalid_params")})}function JG({aggregateByTime:y,endTime:T,startTime:C,user:f}){return zf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:C,type:"userFillsByTime",user:$y(f,"helpers_invalid_params")})}function Z2({coin:y,token:T,value:C,spotMeta:f}){if(!C||Number(C)<=0)return null;let H=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,U=TG[H]||J2,q=f?.tokens?.find((G)=>G.name===y||T!==void 0&&G.index===Number(T)),X=q?`${vy}.${H}-${q.name}:${q.tokenId}`:`${vy}.${H}`;return new NH({decimal:U,identifier:X,value:C})}function LG(y){let T=new Map;for(let C of y){let f=C.toString({includeSynthProtocol:!0}),H=T.get(f);T.set(f,H?H.add(C):C)}if(![...T.values()].some((C)=>C.isGasAsset||C.ticker==="HYPE")){let C=NH.from({chain:vy,value:0});T.set(C.toString({includeSynthProtocol:!0}),C)}return[...T.values()]}async function OT(){try{return await aX(vy)}catch{let[y]=Y2(vy).rpcUrls;if(!y)throw new Vf("helpers_chain_no_public_or_set_rpc_url",{chain:vy});return y}}async function BH(){return`${await OT()}/exchange`}function zG(y){let T=XG[y.type],{type:C,...f}=y,H=qG[C];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:UG,version:"1"},message:f,primaryType:T,types:{[T]:H}}}async function L2({action:y,expiresAfter:T,nonce:C,vaultAddress:f}){let H=C||Date.now(),U=f?$y(f,"helpers_invalid_params"):void 0,q=await BH(),X=G2(y,H,{expiresAfter:T,vaultAddress:U});return{action:y,endpoint:q,expiresAfter:T,nonce:H,typedData:U2(X),vaultAddress:U}}async function z2({action:y,nonce:T,signatureChainId:C}){let f=T||y.nonce||Date.now(),H=C||y.signatureChainId||"0xa4b1",U=Q2({...y,nonce:f,signatureChainId:H});return{action:U,endpoint:await BH(),nonce:f,typedData:q2(U)}}async function MH({assetValue:y,recipient:T,sender:C,signatureChainId:f,time:H}){let U=$y(T,"core_transaction_invalid_recipient_address"),q=$y(C,"core_transaction_invalid_sender_address"),X=await BH(),G=y.getValue("string"),Q=H||Date.now(),Y=y.address;if(!Y)throw new Vf("helpers_invalid_params",{asset:y.toString(),from:q});let z={amount:G,destination:U,hyperliquidChain:HG,signatureChainId:f||CG,time:Q,token:Y,type:"spotSend"};return{action:z,endpoint:X,nonce:Q,typedData:zG(z)}}async function W2(y){let T=await Pf.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(T.status!=="ok")throw new Vf("core_transaction_failed",{response:T});return T}async function AG(y,T){let C=await OT(),f=T-5000;for(let H=0;H<5;H++){if(H>0)await new Promise((U)=>setTimeout(U,1000));try{let U=await Pf.post(`${C}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),q=Array.isArray(U)?U.find((X)=>X.time&&X.time>=T&&(X.delta?.type==="spotTransfer"||X.delta?.type==="internalTransfer")):void 0;if(q?.hash)return q.hash}catch{}}return""}function DH(y){return y.startsWith("0x")&&Q0(y)}function MG(y){let T=Jy(vy),C=y&&"index"in y?y.index||0:0,f=rX(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:eX(sX[vy],{index:C})),H,U=!1;function q(){if(U)return H;return H=fG(y).with({phrase:AH.string},({phrase:W})=>{return yG.fromPhrase(W,void 0,f)}).with({signer:AH.not(AH.nullish)},({signer:W})=>W).otherwise(()=>{return}),U=!0,H}async function X(){let W=q();return W?await W.getAddress():""}async function G(W){let _=q();if(!_)throw new Vf("toolbox_hypercore_no_signer");let B=await _.signTypedData(W.typedData.domain,W.typedData.types,W.typedData.message);return{action:W.action,endpoint:W.endpoint,nonce:W.nonce,signature:X2(B),..."expiresAfter"in W?{expiresAfter:W.expiresAfter}:{},..."vaultAddress"in W?{vaultAddress:W.vaultAddress}:{}}}async function Q(W){let _=$y(W,"helpers_invalid_params");try{let B=await OT(),[M,D,R]=await Promise.all([Pf.post(`${B}/info`,{json:{type:"spotClearinghouseState",user:_}}),Pf.post(`${B}/info`,{json:{type:"clearinghouseState",user:_}}),Pf.post(`${B}/info`,{json:{type:"spotMeta"}})]),J=(M.spotState?.balances||M.balances||[]).map(({coin:O,token:A,total:Z})=>Z2({coin:O,spotMeta:R,token:A,value:Z})).filter((O)=>!!O),k=Z2({coin:"USDC",spotMeta:R,value:D.withdrawable||D.marginSummary?.accountValue||D.marginSummary?.totalRawUsd});return LG(k?[...J,k]:J)}catch{return T(_)}}async function Y(W){let _=q();if(!_)throw new Vf("toolbox_hypercore_no_signer");let B=W.sender||await _.getAddress(),M=await MH({...W,feeRate:0,sender:B}),D=await G(M);return await W2(D),AG(B,M.nonce)}function z(){return NH.from({chain:vy,value:0})}return{broadcastTransaction:W2,createL1ActionRequest:L2,createTransaction:MH,createUserSignedActionRequest:z2,estimateTransactionFee:z,getAddress:X,getBalance:Q,getState:{clearinghouse:GG,frontendOpenOrders:ZG,openOrders:_G,orderStatus:WG,spotClearinghouse:QG,userFills:YG,userFillsByTime:JG},signTransaction:G,transfer:Y,validateAddress:DH}}var vy,J2,TG,HG="Mainnet",CG="0xa4b1",UG="0x0000000000000000000000000000000000000000",qG,XG;var A2=V(()=>{l1();uy();_2();vy=dX.Hype,{baseDecimal:J2}=Y2(vy),TG={HYPE:J2,USDC:6,USDT:6},qG={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},XG={spotSend:"HyperliquidTransaction:SpotSend"}});var OH={};Ty(OH,{validateHyperCoreAddress:()=>DH,getHyperCoreToolbox:()=>MG,createUserSignedActionRequest:()=>z2,createTransaction:()=>MH,createL1ActionRequest:()=>L2,buildUsdClassTransferAction:()=>PX,buildUpdateLeverageAction:()=>xX,buildUpdateIsolatedMarginAction:()=>IX,buildTopUpIsolatedOnlyMarginAction:()=>SX,buildTokenDelegateAction:()=>pX,buildSendAssetAction:()=>VX,buildScheduleCancelAction:()=>oX,buildOrderAction:()=>kX,buildModifyAction:()=>$X,buildCancelByCloidAction:()=>FX,buildCancelAction:()=>wX,buildBatchModifyAction:()=>nX,buildApproveBuilderFeeAction:()=>vX,buildApproveAgentAction:()=>EX});var RH=V(()=>{A2()});import{PublicKey as Hf}from"@solana/web3.js";import{AssetValue as RT,Chain as gy,DerivationPath as NG,derivationPathToString as BG,getChainConfig as D2,getRPCUrl as DG,NetworkDerivationPath as OG,SwapKitError as Ef,updateDerivationPath as RG}from"@swapkit/helpers";import{match as kG,P as M2}from"ts-pattern";async function O2(y){let T=RT.from({address:y,chain:gy.Solana});if(T.symbol!=="UNKNOWN")return{decimals:T.decimal||0,id:y,logoURI:T.getIconUrl(),name:T.symbol,symbol:T.ticker};let C=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(C);if(!f.ok)return null;let H=await f.json();if(!Array.isArray(H)||H.length===0)return null;return H.find((q)=>q.id===y)||null}catch{return null}}async function wG(y){let T=await cy(),{PublicKey:C}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),H=new C(y),{baseDecimal:U}=D2(gy.Solana),q=await T.getBalance(H),X=[RT.from({chain:gy.Solana,fromBaseDecimal:U,value:q||0})],G=await T.getParsedTokenAccountsByOwner(H,{programId:f});for(let{account:Q}of G.value){let Y=Q.data.parsed.info,z=Y.mint,W=Y.tokenAmount.amount;if(Number(W)===0)continue;let _=await O2(z),B=_?.symbol||"UNKNOWN",M=_?.decimals||Y.tokenAmount.decimals;X.push(RT.from({asset:`${gy.Solana}.${B}-${z}`,fromBaseDecimal:M,value:W}))}return X}function wH(y){try{let T=new Hf(y);return Hf.isOnCurve(T.toBytes())}catch{return!1}}function FG(y){let T=y&&"index"in y?y.index||0:0,C=BG(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:RG(OG[gy.Solana],{index:T})),f;async function H(){if(f)return f;return f=await kG(y).with({phrase:M2.string},({phrase:q})=>kH({derivationPath:C,phrase:q})).with({signer:M2.any},({signer:q})=>q).otherwise(()=>{return}),f}async function U(){let q=await H();return q?.publicKey?B2(q.publicKey):""}return{broadcastTransaction:kT(cy),createKeysForPath:kH,createTransaction:FH(cy),createTransactionFromInstructions:IG,estimateTransactionFee:$G(cy),getAddress:U,getAddressFromPubKey:B2,getBalance:Jy(gy.Solana),getBalanceFromRPC:wG,getConnection:cy,getPubkeyFromAddress:(q)=>new Hf(q),signAndBroadcastTransaction:async(q)=>{let X=await N2(cy,H)(q);return kT(cy)(X)},signTransaction:N2(cy,H),transfer:SG(cy,H),validateAddress:wH}}function $G(y){return async({recipient:T,assetValue:C,memo:f,isProgramDerivedAddress:H,sender:U})=>{let q=await y(),G=(await FH(y)({assetValue:C,isProgramDerivedAddress:H,memo:f,recipient:T,sender:U})).compileMessage(),Q=await q.getFeeForMessage(G);if(Q.value===null)throw new Ef("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Y}=D2(gy.Solana);return RT.from({chain:gy.Solana,fromBaseDecimal:Y,value:Q.value})}}async function cy(){let{Connection:y}=await import("@solana/web3.js"),T=await DG(gy.Solana);return new y(T,{commitment:"confirmed",fetchMiddleware:(C,f,H)=>{let U={};for(let[q,X]of Object.entries(f?.headers??{})){let G=q.toLowerCase();if(G!=="pragma"&&G!=="solana-client")U[q]=X}H(C,{...f,headers:U})}})}function nG(y){return async({assetValue:T,recipient:C,sender:f,isProgramDerivedAddress:H})=>{let U=await y(),q=new Hf(f);if(T.isGasAsset){let{Transaction:X,SystemProgram:G}=await import("@solana/web3.js");return new X().add(G.transfer({fromPubkey:q,lamports:T.getBaseValue("number"),toPubkey:new Hf(C)}))}if(T.address)return xG({amount:T.getBaseValue("number"),connection:U,decimals:T.decimal,from:q,isProgramDerivedAddress:H,recipient:C,tokenAddress:T.address});return}}async function xG({tokenAddress:y,recipient:T,from:C,connection:f,amount:H,decimals:U,isProgramDerivedAddress:q}){let{getAssociatedTokenAddress:X,getAccount:G,createAssociatedTokenAccountInstruction:Q,createTransferCheckedInstruction:Y}=await import("@solana/spl-token"),{Transaction:z}=await import("@solana/web3.js"),W=new z,_=new Hf(y),B=await X(_,C),M=new Hf(T),D=await X(_,M,q),R=!1;try{await G(f,D),R=!0}catch{}if(!R)W.add(Q(C,D,M,_));return W.add(Y(B,_,D,C,H,U)),W}function FH(y){return async({recipient:T,assetValue:C,memo:f,isProgramDerivedAddress:H,sender:U})=>{let{createMemoInstruction:q}=await import("@solana/spl-memo"),X=new Hf(U);if(!(H||wH(T)))throw new Ef("core_transaction_invalid_recipient_address");let G=await y(),Q=await nG(y)({assetValue:C,isProgramDerivedAddress:H,recipient:T,sender:U});if(!Q)throw new Ef("core_transaction_invalid_sender_address");if(f)Q.add(q(f));let Y=await G.getLatestBlockhash();return Q.recentBlockhash=Y.blockhash,Q.feePayer=X,Q}}async function IG({instructions:y}){let{Transaction:T}=await import("@solana/web3.js"),C=new T().add(...y);if(!C)throw new Ef("core_transaction_invalid_sender_address");return C}function SG(y,T){return async({recipient:C,assetValue:f,memo:H,isProgramDerivedAddress:U})=>{let q=await T();if(!q)throw new Ef("core_transaction_invalid_sender_address");let X=q.publicKey?.toString()??(await q.connect()).publicKey.toString(),G=await FH(y)({assetValue:f,isProgramDerivedAddress:U,memo:H,recipient:C,sender:X});if("signTransaction"in q){let Q=await q.signTransaction(G);return kT(y)(Q)}return G.sign(q),kT(y)(G)}}function kT(y){return async(T)=>{return(await y()).sendRawTransaction(T.serialize())}}function N2(y,T){return async(C)=>{let f=await T();if(!f)throw new Ef("toolbox_solana_no_signer");let{VersionedTransaction:H}=await import("@solana/web3.js");if(!(C instanceof H)){let q=await(await y()).getLatestBlockhash();C.recentBlockhash=q.blockhash,C.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(C);return C.sign([f]),C}}async function kH({phrase:y,derivationPath:T=NG.SOL}){let{HDKey:C}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:H}=await import("@solana/web3.js"),U=f(y),q=C.fromMasterSeed(U);return H.fromSeed(q.derive(T,!0).privateKey)}function B2(y){return y.toString()}var R2=V(()=>{uy()});var $H={};Ty($H,{validateSolanaAddress:()=>wH,getSolanaToolbox:()=>FG,fetchTokenMetaData:()=>O2,createKeysForPath:()=>kH});var nH=V(()=>{R2()});import{AssetValue as wT,Chain as FT,DerivationPath as w2,derivationPathToString as oG,getChainConfig as PG,getRPCUrl as SH,NetworkDerivationPath as VG,SwapKitError as Oy,updateDerivationPath as EG}from"@swapkit/helpers";import{match as xH,P as vf}from"ts-pattern";function $T(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function nT({phrase:y,derivationPath:T=w2.STRK}){let{HDKey:C}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:H,hash:U,encode:q,CallData:X}=await import("starknet"),G=f(y),Y=C.fromMasterSeed(G).derive(T);if(!Y.privateKey)throw new Oy("toolbox_starknet_no_signer");let z=q.addHexPrefix(Buffer.from(Y.privateKey).toString("hex")),W=H.starkCurve.grindKey(z),_=q.addHexPrefix(W),B=H.starkCurve.getStarkKey(_),M=X.compile([B,0]);return{address:U.calculateContractAddressFromHash(B,oH,M,0),privateKey:_,publicKey:B}}async function PH({phrase:y,derivationPath:T=w2.STRK}){let{Account:C,RpcProvider:f}=await import("starknet"),{privateKey:H,address:U}=await nT({derivationPath:T,phrase:y}),q=await SH(FT.Starknet),X=new f({nodeUrl:q});return new C({address:U,provider:X,signer:H})}function F2(y){let T=FT.Starknet,C=y&&"index"in y?y.index||0:0,f=oG(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:EG(VG[T],{index:C})),H,U,q;async function X(){if(U)return U;let{RpcProvider:A}=await import("starknet"),Z=await SH(T);return U=new A({nodeUrl:Z}),U}async function G(A){let Z=await X(),L=A||await W();if(!L)return!1;try{return await Z.getClassHashAt(L),!0}catch(w){if(w instanceof Error&&w.message.includes("Contract not found"))return!1;let $=w;if($?.code===20||$?.code===19)return!1;throw w}}async function Q(){let{CallData:A,hash:Z}=await import("starknet"),L=await X(),w=await z();if(!w)throw new Oy("toolbox_starknet_no_signer");if(!q)throw new Oy({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await G())return w.address;let F=A.compile([q,0]);if(Z.calculateContractAddressFromHash(q,oH,F,0).toLowerCase()!==w.address.toLowerCase())throw new Oy({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let I={addressSalt:q,classHash:oH,constructorCalldata:F},{transaction_hash:N}=await w.deployAccount(I);return await L.waitForTransaction(N),N}async function Y(){if(!await G()){if(!q)throw new Oy({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 Q()}}async function z(){if(H)return H;return H=await xH(y).with({phrase:vf.string},async({phrase:A})=>{let{Account:Z,RpcProvider:L}=await import("starknet"),{privateKey:w,address:$,publicKey:F}=await nT({derivationPath:f,phrase:A});q=F;let n=await SH(FT.Starknet),I=new L({nodeUrl:n});return new Z({address:$,provider:I,signer:w})}).with({address:vf.string,privateKey:vf.string},async({privateKey:A,address:Z})=>{let{Account:L}=await import("starknet"),w=await X();return new L({address:Z,provider:w,signer:A})}).with({signer:vf.instanceOf(Object)},({signer:A})=>A).otherwise(()=>{return}),H}async function W(){return(await z())?.address??""}async function _(A){let Z=await X(),{uint256:L,CallData:w}=await import("starknet"),$=[],F=[IH,k2];for(let n of F)try{let[I="0",N="0"]=await Z.callContract({calldata:w.compile({account:A}),contractAddress:n,entrypoint:"balanceOf"}),x=L.uint256ToBN({high:I,low:N});xH(n).with(IH,()=>{$.push(wT.from({chain:T,value:x}))}).with(k2,()=>{if(x>0n)$.push(wT.from({asset:`${T}.ETH-${n}`,value:x}))}).otherwise(()=>{})}catch{}return $}async function B({recipient:A,assetValue:Z}){let{CallData:L,uint256:w}=await import("starknet");if(!$T(A))throw new Oy("core_transaction_invalid_recipient_address",{address:A});let $=Z.isGasAsset?IH:Z.address;if(!$)throw new Oy("toolbox_starknet_invalid_address",{address:$,assetValue:Z});let F=w.bnToUint256(Z.getBaseValue("bigint"));return[{calldata:L.compile([A,F]),contractAddress:$,entrypoint:"transfer"}]}async function M({recipient:A,assetValue:Z,sender:L}){let{baseDecimal:w}=PG(FT.Starknet),$=await z(),F=await xH({sender:L,signer:$}).with({sender:vf.string},async({sender:n})=>{let{Account:I}=await import("starknet"),N=await X();return new I({address:n,provider:N,signer:"0x0"})}).with({signer:vf.nonNullable},({signer:n})=>n).otherwise((n)=>{throw new Oy({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:n}})});try{let n=await B({assetValue:Z,recipient:A}),I=await F.estimateInvokeFee(n);if(I?.overall_fee)return wT.from({chain:T,fromBaseDecimal:w,value:I.overall_fee})}catch(n){throw new Oy("toolbox_starknet_fee_estimation_failed",n)}return wT.from({chain:T,value:"0.00001"})}async function D({recipient:A,assetValue:Z,memo:L}){let w=await z();if(!w)throw new Oy("toolbox_starknet_no_signer");await Y();let $=await B({assetValue:Z,memo:L,recipient:A});return(await w.execute($)).transaction_hash}async function R(A){let Z=await z();if(!Z)throw new Oy("toolbox_starknet_no_signer");let L=await Z.signMessage(A);return Array.isArray(L)?L:[L.r.toString(),L.s.toString()]}async function J(A){let Z=await z();if(!Z)throw new Oy("toolbox_starknet_no_signer");return await Y(),(await Z.execute(A)).transaction_hash}function k(A){return J(A)}function O(A,Z=!0){try{return Jy(T)(A,Z)}catch{return _(A)}}return{broadcastTransaction:J,createKeysForPath:PH,createTransaction:B,deployAccount:Q,estimateTransactionFee:M,getAddress:W,getBalance:O,getProvider:X,isAccountDeployed:G,signAndBroadcastTransaction:k,signMessage:R,transfer:D,validateAddress:$T}}var IH="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",k2="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",oH="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var $2=V(()=>{uy()});var xT={};Ty(xT,{validateStarknetAddress:()=>$T,starknetCreateKeysForPath:()=>PH,getStarknetToolbox:()=>F2,deriveStarknetKeys:()=>nT});var IT=V(()=>{$2()});import{isValidSuiAddress as vG}from"@mysten/sui/utils";import{AssetValue as pf,Chain as bf,getChainConfig as n2,getRPCUrlSync as pG,SwapKitError as Ry}from"@swapkit/helpers";import{match as bG,P as x2}from"ts-pattern";async function oT(y,T,C,f,H=[],U){let q=await y.getCoins({coinType:C,cursor:U,owner:T}),X=[...H,...q.data],G=X.reduce((Q,Y)=>Q+BigInt(Y.balance),0n);return q.hasNextPage&&G<f?oT(y,T,C,f,X,q.nextCursor):X}function PT({coinObjectId:y,digest:T,version:C}){return{digest:T,objectId:y,version:C}}function KG(y,T,C){let f=T.reduce((Q,Y)=>Q+BigInt(Y.balance),0n);if(f<C)throw new Ry("toolbox_sui_insufficient_balance",{available:f.toString(),required:C.toString()});let{selectedCoins:H}=T.reduce((Q,Y)=>{if(Q.total>=C)return Q;return{selectedCoins:[...Q.selectedCoins,Y],total:Q.total+BigInt(Y.balance)}},{selectedCoins:[],total:0n}),U=H[0],q=y.objectRef(PT(U)),X=H.slice(1).map((Q)=>y.objectRef(PT(Q)));if(X.length>0)y.mergeCoins(q,X);let[G]=y.splitCoins(q,[C]);return G}function I2(y,T){let C=y.reduce((f,H)=>f+BigInt(H.balance),0n);if(C<T)throw new Ry("toolbox_sui_insufficient_balance",{available:C.toString(),required:T.toString()})}function o2(y){try{return vG(y)}catch{return!1}}function S2(y){return"signWithIntent"in y}function lG({provider:y,...T}={}){let C;async function f(){if(C)return C;return C=await bG(T).with({phrase:x2.string},async({phrase:M})=>{let{Ed25519Keypair:D}=await import("@mysten/sui/keypairs/ed25519");return D.deriveKeypair(M)}).with({signer:x2.any},({signer:M})=>M).otherwise(()=>{return}),C}async function H(M=y){let{SuiClient:D}=await import("@mysten/sui/client");return new D({url:M||pG(bf.Sui)})}async function U(M){return BigInt(await M.getReferenceGasPrice())}async function q(){return(await f())?.toSuiAddress()||""}function X(M){try{let D=pf.from({address:M,chain:bf.Sui});return{asset:D.toString(),decimals:D.decimal}}catch{}return null}async function G(M){let D=M||await q();if(!D)throw new Ry("toolbox_sui_address_required");let{baseDecimal:R,chain:J}=n2(bf.Sui);try{let O=await(await H()).getAllBalances({owner:D}),A=O.find(({coinType:L})=>L===ST)?.totalBalance||"0",Z=[pf.from({chain:J,fromBaseDecimal:R,value:A})];for(let{coinType:L,totalBalance:w}of O){if(L===ST||Number(w)<=0)continue;let $=X(L);if($)Z.push(pf.from({asset:$.asset,fromBaseDecimal:$.decimals,value:w}))}return Z}catch{return[pf.from({chain:J})]}}async function Q(M){let D=pf.from({chain:bf.Sui,value:"0.01"});if(!M)return D;try{let R=await H(),{txBytes:J}=await Y(M),{effects:{status:k,gasUsed:O}}=await R.dryRunTransactionBlock({transactionBlock:J});if(k.status!=="success")return D;let{baseDecimal:A}=n2(bf.Sui),Z=BigInt(O.computationCost)+BigInt(O.storageCost)-BigInt(O.storageRebate);return pf.from({chain:bf.Sui,fromBaseDecimal:A,value:Z.toString()})}catch{return D}}async function Y({recipient:M,assetValue:D,gasBudget:R,sender:J}){let{Transaction:k}=await import("@mysten/sui/transactions"),O=J||await q(),A=R||jG;if(!O)throw new Ry("toolbox_sui_no_sender");try{let Z=await H(),L=new k;if(L.setSender(O),D.isGasAsset||D.symbol==="SUI"){let $=D.getBaseValue("bigint"),[F,n]=await Promise.all([U(Z),oT(Z,O,ST,$+BigInt(A))]);I2(n,$+BigInt(A)),L.setGasPrice(F),L.setGasPayment(n.map(PT));let[I]=L.splitCoins(L.gas,[D.getBaseValue("string")]);L.transferObjects([I],M)}else{let $=D.address;if(!$)throw new Ry("toolbox_sui_missing_coin_type");let F=D.getBaseValue("bigint"),[n,I,N]=await Promise.all([U(Z),oT(Z,O,ST,BigInt(A)),oT(Z,O,$,F)]);if(!N.length)throw new Ry("toolbox_sui_no_coins_found",{coinType:$});I2(I,BigInt(A)),L.setGasPrice(n),L.setGasPayment(I.map(PT));let x=KG(L,N,F);L.transferObjects([x],M)}L.setGasBudget(A);let w=await L.build({client:Z});return{tx:L,txBytes:w}}catch(Z){if(Z instanceof Ry)throw Z;throw new Ry("toolbox_sui_transaction_creation_error",{error:Z})}}async function z(M){let D=await f();if(!D)throw new Ry("toolbox_sui_no_signer");if(M instanceof Uint8Array)return D.signTransaction(M);let{txBytes:R}="tx"in M?M:await Y(M);return D.signTransaction(R)}async function W({assetValue:M,gasBudget:D,recipient:R}){let J=await f();if(!J)throw new Ry("toolbox_sui_no_signer");let k=J.toSuiAddress()||await q();if(!k)throw new Ry("toolbox_sui_no_sender");let{txBytes:O}=await Y({assetValue:M,gasBudget:D,recipient:R,sender:k}),A=await H();if(!S2(J)){let L=await J.signTransaction(O),{digest:w}=await A.executeTransactionBlock({signature:L.signature,transactionBlock:L.bytes});return w}let{digest:Z}=await A.signAndExecuteTransaction({signer:J,transaction:O});return Z}async function _(M){let D=await H(),{digest:R}=await D.executeTransactionBlock({signature:M.signature,transactionBlock:M.bytes});return R}async function B(M){let D=await f();if(!D)throw new Ry("toolbox_sui_no_signer");let R=await H(),J;if(typeof M==="string")J=Uint8Array.from(Buffer.from(M,"base64"));else if(M instanceof Uint8Array)J=M;else J=await M.build({client:R});if(!S2(D)){let O=await D.signTransaction(J),{digest:A}=await R.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return A}let{digest:k}=await R.signAndExecuteTransaction({signer:D,transaction:J});return k}return{broadcastTransaction:_,createTransaction:Y,estimateTransactionFee:Q,getAddress:q,getBalance:G,signAndBroadcastTransaction:B,signTransaction:z,transfer:W,validateAddress:o2}}var ST="0x2::sui::SUI",jG=50000000;var P2=()=>{};var VT={};Ty(VT,{validateSuiAddress:()=>o2,getSuiToolbox:()=>lG});var ET=V(()=>{P2()});import{getHttpEndpoint as uG}from"@orbs-network/ton-access";import{AssetValue as hG,Chain as O0,getChainConfig as mG,SKConfig as tG,SwapKitError as D0,SwapKitNumber as cG}from"@swapkit/helpers";import{mnemonicToWalletKey as gG}from"@ton/crypto";import{Address as iy,beginCell as VH,Cell as V2,external as iG,internal as dG,JettonMaster as rG,loadStateInit as aG,SendMode as E2,storeMessage as sG,TonClient as eG,toNano as j2,WalletContractV4 as y4}from"@ton/ton";import{match as v2,P as EH}from"ts-pattern";async function U4(){let y=Date.now();if(vT&&y-b2<C4)return vT;return vT=await uG(),b2=y,vT}async function q4(){let[y]=tG.get("rpcUrls")[O0.Ton]??[];if(y)return y;return await U4()}function X4(y={}){let T,C,f;async function H(){if(!T){let O=y.provider??await q4();T=new eG({endpoint:O})}return T}async function U(){return(await X()).address.toString()}async function q(){if(f)return f;return f=await v2(y).with({phrase:EH.string},async({phrase:O})=>gG(O.split(" "))).with({signer:EH.any},({signer:O})=>O).otherwise(()=>{return}),f}async function X(O){if(!C||O){let A=await q(),Z=await H(),L=O||A;if(!L)throw new D0("core_wallet_connection_not_found");let w=y4.create({publicKey:L.publicKey,workchain:0});C=Z.open(w)}return C}let G=Jy(O0.Ton);async function Q({assetValue:O,recipient:A,memo:Z,sender:L}){if(O.isGasAsset){let p=Z?k(Z).toBoc().toString("base64"):void 0;return[{address:A,amount:O.getBaseValue("string"),payload:p}]}let w=O.address;if(!w)throw new D0({errorKey:"core_swap_contract_not_found",info:{asset:O.toString()}});let $=L??await U(),F=await R({jettonMasterAddress:w,ownerAddress:$}),n=iy.parse(A),I=iy.parse($),N=O.getBaseValue("bigint"),x=Z?k(Z):void 0,S=J({destinationAddress:n,forwardPayload:x,jettonAmount:N,responseAddress:I});return[{address:F.toString(),amount:H4.toString(),payload:S.toBoc().toString("base64")}]}function Y({sender:O,...A}){return Q({...A,sender:O})}function z(O){return O.map((A)=>{let Z=A.payload?V2.fromBase64(A.payload):void 0,L=A.stateInit?aG(V2.fromBase64(A.stateInit).asSlice()):void 0,w=iy.parse(A.address),$=iy.isFriendly(A.address)?iy.parseFriendly(A.address).isBounceable:!0;return dG({body:Z,bounce:$,init:L,to:w,value:BigInt(A.amount)})})}async function W(O){let A=await q(),Z=await X();if(!Z||!A)throw new D0("core_wallet_connection_not_found");let L=await H(),{state:w}=await L.getContractState(Z.address),$=w==="active",F=$?await Z.getSeqno():0,n=Z.createTransfer({messages:z(O),secretKey:A.secretKey,sendMode:p2,seqno:F}),I=iG({body:n,init:$?void 0:Z.init,to:Z.address});return VH().store(sG(I)).endCell()}async function _(O){return await(await H()).sendFile(O.toBoc()),O.hash().toString("hex")}async function B(O){let A=await W(O);return _(A)}async function M({assetValue:O,recipient:A,memo:Z}){let L=await Y({assetValue:O,memo:Z,recipient:A});return B(L)}async function D({sender:O,...A}){let{baseDecimal:Z}=mG(O0.Ton),L=await v2(O).with(EH.string,(F)=>{return iy.parseFriendly(F).address}).otherwise(async()=>{return(await X()).address});if(!L)throw new D0("toolbox_fee_estimation_failed",{chain:O0.Ton});let w=hG.from({chain:O0.Ton,value:"0.01"}),$=await H();try{let F=await Y({sender:O,...A}),n=await q(),I=await X();if(!I||!n)return w;let N=await I.getSeqno(),x=I.createTransfer({messages:z(F),secretKey:n.secretKey,sendMode:p2,seqno:N}),{source_fees:S}=await $.estimateExternalMessageFee(L,{body:x,ignoreSignature:!0,initCode:null,initData:null}),p=S.in_fwd_fee+S.storage_fee+S.gas_fee+S.fwd_fee;return w.set(cG.fromBigInt(BigInt(p),Z))}catch{return w}}async function R({jettonMasterAddress:O,ownerAddress:A}){try{let Z=await H(),L=iy.parse(O),w=iy.parse(A);return await Z.open(rG.create(L)).getWalletAddress(w)}catch{throw new D0({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:O,ownerAddress:A}})}}function J({jettonAmount:O,destinationAddress:A,responseAddress:Z,forwardAmount:L=T4,forwardPayload:w}){let $=VH().storeUint(f4,32).storeUint(0,64).storeCoins(O).storeAddress(A).storeAddress(Z).storeBit(0).storeCoins(L);if(w)$.storeBit(1).storeRef(w);else $.storeBit(0);return $.endCell()}function k(O){return VH().storeUint(0,32).storeStringTail(O).endCell()}return{broadcastTransaction:_,createTransaction:Y,estimateTransactionFee:D,getAddress:U,getBalance:G,getJettonWalletAddress:R,sign:W,signAndBroadcastTransaction:B,transfer:M,validateAddress:K2}}function K2(y){try{return iy.parse(y),!0}catch{return!1}}var f4=260734629,T4,H4,p2,C4=60000,vT,b2=0;var l2=V(()=>{uy();T4=j2("0.01"),H4=j2("0.05"),p2=E2.PAY_GAS_SEPARATELY+E2.IGNORE_ERRORS});var pT={};Ty(pT,{validateTonAddress:()=>K2,getTONToolbox:()=>X4});var bT=V(()=>{l2()});import{NetworkDerivationPath as G4}from"@swapkit/helpers";function ny(y,T){if(!Number.isInteger(T)||T<0)throw RangeError(`${y} must be a non-negative integer, got: ${T}`)}function Cf({accountIndex:y,chain:T,derivationPath:C}){if(y!==void 0)ny("accountIndex",y);let f=[...C?.slice(0,3)??G4[T].slice(0,3)];if(y!==void 0)f[2]=y;return f}function jf({accountIndex:y,change:T=!1,chain:C,derivationPath:f,index:H}){return ny("index",H),[...Cf({accountIndex:y,chain:C,derivationPath:f}),Number(T),H]}function Af(y){return y[2]??0}function u2({deriveAddress:y,getBalance:T,getUtxos:C}){async function f(X){let{accountIndex:G,count:Q,startIndex:Y=0,change:z=!1}=X;if(ny("count",Q),Q<1)throw RangeError("count must be at least 1");ny("startIndex",Y);let W=[];for(let _=0;_<Q;_++){let B=await y({accountIndex:G,change:z,index:Y+_});if(B)W.push(B)}return W}async function H(X){let{gapLimit:G=20,change:Q=!1}=X??{},Y=[],z=0,W=0;while(z<G){let _=await y({change:Q,index:W});if(!_)break;if((await T(_.address)).some((D)=>D.getValue("number")>0))Y.push(_),z=0;else z++;W++}return Y}async function U(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),Y=[...G,...Q],z=await Promise.all(Y.map(async(_)=>{let M=(await T(_.address)).reduce((D,R)=>D+R.getValue("number"),0);return{..._,balance:M}})),W=z.reduce((_,B)=>_+B.balance,0);return{addresses:z,total:W}}async function q(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),Y=[...G,...Q];return(await Promise.all(Y.map(async(W)=>{return(await C(W.address)).map((B)=>({...B,address:W.address,derivationIndex:W.index,isChange:W.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:U,getAggregatedUtxos:q,scanForAddresses:H}}var R0=()=>{};import{Chain as Xy,getRPCUrl as Q4,RequestClient as jT,SKConfig as _4,SwapKitError as py,warnOnce as Z4}from"@swapkit/helpers";import{NETWORKS as Kf}from"@swapkit/utxo-signer";async function W4({chain:y,txHash:T}){let C=`${k0(y)}/push/transaction`,f=JSON.stringify({data:T});try{let H=await jT.post(C,{body:f,headers:{"Content-Type":"application/json"}});if(H.context.code!==200)throw new py("toolbox_utxo_broadcast_failed",{error:H.context.error||"Transaction broadcast failed"});return H.data?.transaction_hash||T}catch(H){let U=await Q4(y);if(U){let q=JSON.stringify({id:bC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),X=await jT.post(U,{body:q,headers:{"Content-Type":"application/json"}});if(X.error)throw new py("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new py("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw H}}function k0(y){return`https://api.blockchair.com/${Y4(y)}`}function h2(y){switch(y){case Xy.Bitcoin:return 5;case Xy.Dogecoin:return 1e4;case Xy.Litecoin:return 1;case Xy.Zcash:return 1;default:return 2}}function Y4(y){switch(y){case Xy.BitcoinCash:return"bitcoin-cash";case Xy.Litecoin:return"litecoin";case Xy.Dash:return"dash";case Xy.Dogecoin:return"dogecoin";case Xy.Zcash:return"zcash";case Xy.Polkadot:return"polkadot";default:return"bitcoin"}}async function J4(y){try{let{feePerKb:T}=await jT.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),C=T/1000;return Math.max(C,h2(y))}catch{return h2(y)}}async function KT(y,T){let C=await jT.get(`${y}${T?`${y.includes("?")?"&":"?"}key=${T}`:""}`);if(!C||C.context.code!==200)throw new py("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return C.data}async function t2({address:y,chain:T,apiKey:C}){if(!y)throw new py("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await KT(`${k0(T)}/dashboards/address/${y}?transaction_details=true`,C))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function L4({address:y,chain:T,apiKey:C}){return(await t2({address:y,apiKey:C,chain:T}))?.address.balance||0}async function c2({chain:y,apiKey:T,txHash:C}){if(!C)throw new py("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await KT(`${k0(y)}/raw/transaction/${C}`,T))?.[C]?.raw_transaction||""}catch(f){let H=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${H}`),""}}async function A4({chain:y,apiKey:T,txHash:C}){if(!C)throw new py("toolbox_utxo_invalid_params",{error:"TxHash is required"});let H=(await KT(`${k0(y)}/dashboards/transaction/${C}`,T))?.[C];if(!H)throw new py("toolbox_utxo_tx_not_found",{txHash:C});let{transaction:U,inputs:q,outputs:X}=H,G=q.map((Y)=>Y.spending_sequence),Q=U.is_rbf===!0||G.some((Y)=>Y<z4);return{blockId:U.block_id,confirmed:U.block_id!==-1,fee:U.fee,inputs:q,isRBF:Q,outputs:X,sequences:G,size:U.size,txid:U.hash,weight:U.weight}}async function M4({chain:y,address:T,apiKey:C,offset:f=0,limit:H=30}){return(await KT(`${k0(y)}/outputs?q=recipient(${T}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${H}&offset=${f}`,C)).map(({is_spent:G,script_hex:Q,block_id:Y,transaction_hash:z,index:W,value:_,spending_signature_hex:B})=>({hash:z,index:W,is_confirmed:Y!==-1,is_spent:G,script_hex:Q,txHex:B,value:_}))}function N4(y){return y.reduce((T,C)=>T+C.value,0)}function m2(y,T){let C=[...y].sort((f,H)=>H.value-f.value);if(T){let f=[],H=0;for(let U of C)if(f.push(U),H+=U.value,H>=T)break;return f}return C}async function g2({chain:y,address:T,apiKey:C,targetValue:f,accumulativeValue:H=0,offset:U=0,limit:q=30}){if(!T)throw new py("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await M4({address:T,apiKey:C,chain:y,limit:q,offset:U,targetValue:f}),Q=X.length<q,Y=X.filter(({is_spent:D})=>!D),z=N4(Y),W=H+z,_=f&&W>=f;if(Q||_)return m2(Y,f);let B=await g2({accumulativeValue:W,address:T,apiKey:C,chain:y,limit:q,offset:U+q,targetValue:f}),M=[...Y,...B];return m2(M,f)}catch(X){let G=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${G}`),[]}}async function B4({address:y,chain:T,apiKey:C,fetchTxHex:f=!0,targetValue:H}){let U=await g2({address:y,apiKey:C,chain:T,targetValue:H}),q=[];for(let{hash:X,index:G,script_hex:Q,value:Y}of U){let z;if(f)z=await c2({apiKey:C,chain:T,txHash:X});q.push({address:y,hash:X,index:G,txHex:z,value:Y,witnessUtxo:{script:Buffer.from(Q,"hex"),value:Y}})}return q}function yy(y){let T=_4.get("apiKeys").blockchair||"";return Z4({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(C)=>W4({chain:y,txHash:C}),getAddressData:(C)=>t2({address:C,apiKey:T,chain:y}),getBalance:(C)=>L4({address:C,apiKey:T,chain:y}),getRawTx:(C)=>c2({apiKey:T,chain:y,txHash:C}),getSuggestedTxFee:()=>J4(y),getTransactionDetails:(C)=>A4({apiKey:T,chain:y,txHash:C}),getUtxos:(C)=>B4({...C,apiKey:T,chain:y})}}function D4(y){return y}function O4(){return function(T){switch(T){case Xy.Bitcoin:return Kf.bitcoin;case Xy.BitcoinCash:return Kf.bitcoinCash;case Xy.Dash:return Kf.dash;case Xy.Litecoin:return Kf.litecoin;case Xy.Dogecoin:return Kf.dogecoin;case Xy.Zcash:return Kf.zcash;default:throw new py("toolbox_utxo_not_supported",{chain:T})}}}var z4=4294967294;var i2=V(()=>{uy()});import{CashAddrType as lT,decodeCashAddr as R4,encodeCashAddr as k4}from"@swapkit/utxo-signer";function $4(y,T,C){return k4({hash:C,prefix:y,type:w4[T]})}function n4(y){let T=R4(y),C=F4[T.type];if(!C)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:C}}var w4,F4,vH;var d2=V(()=>{w4={P2PKH:lT.P2PKH,P2SH:lT.P2SH},F4={[lT.P2PKH]:"P2PKH",[lT.P2SH]:"P2SH"};vH={decode:n4,encode:$4}});import{sha256 as x4}from"@noble/hashes/sha2.js";import{createBase58check as I4}from"@scure/base";import{SwapKitError as a2}from"@swapkit/helpers";function bH(y){try{return uT(y),!0}catch{return!1}}function jH(y){return uT(y)?.network}function dy(y){let T=uT(y);if(T?.format==="legacy")return y;return P4(T)}function w0(y){let T=uT(y);return V4(T)}function uT(y){try{let T=S4(y);if(T)return T}catch{}try{let T=o4(y);if(T)return T}catch{}throw new a2("toolbox_utxo_invalid_address",{address:y})}function S4(y){try{let T=s2.decode(y);if(T.length!==21)throw new a2("toolbox_utxo_invalid_address",{address:y});let C=T[0],f=Array.prototype.slice.call(T,1);switch(C){case Mf.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case Mf.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case Mf.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case Mf.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case Mf.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case Mf.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function o4(y){if(y.indexOf(":")!==-1)try{return r2(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let C of T)try{return r2(`${C}:${y}`)}catch{}}return}function r2(y){try{let{hash:T,prefix:C,type:f}=vH.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(T,0),network:C==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function P4(y){let T=Mf.legacy[y.network][y.type],C=Buffer.alloc(1+y.hash.length);return C[0]=T,C.set(y.hash,1),s2.encode(C)}function V4(y){let T=y.network==="mainnet"?"bitcoincash":"bchtest",C=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return vH.encode(T,C,f)}var s2,pH,Mf;var e2=V(()=>{d2();s2=I4(x4);((C)=>{C.Mainnet="mainnet";C.Testnet="testnet"})(pH||={});Mf={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as E4}from"@swapkit/helpers";import{Script as v4}from"@swapkit/utxo-signer";function My(y){let T=new Uint8Array(Buffer.from(y,"utf8"));return v4.encode(["RETURN",T])}var p4=1000,mT=10,tT=2,yU=10,b4=41,j4=107,cT,hT,F0,lf=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new E4("toolbox_utxo_invalid_address",{address:y})},Nf=({inputs:y,outputs:T,feeRate:C})=>{let f=y[0]&&"address"in y[0]&&y[0].address?lf(y[0].address):"P2PKH",U=(C?y.filter((Q)=>Q.value>=hT["type"in Q&&Q.type?Q.type:"P2PKH"]*Math.ceil(C)):y).reduce((Q,Y)=>Q+Uf(Y),0),q=T?.reduce((Q,Y)=>Q+$0(Y),0)||F0[f],X=mT+U+q;return f==="P2WPKH"?Math.ceil(X+tT/4):X},Uf=(y)=>{if("type"in y&&y.type)return hT[y.type];if("address"in y&&y.address)return hT[lf(y.address)];return b4+j4},$0=(y,T)=>{if(y?.script)return yU+y.script.length+(y.script.length>=74?2:1);if(T)return F0[T];if("address"in y&&y.address)return F0[lf(y.address)];return F0.P2PKH};var KH=V(()=>{((C)=>{C.P2PKH="P2PKH";C.P2WPKH="P2WPKH"})(cT||={});hT={["P2PKH"]:148,["P2WPKH"]:68},F0={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as Bf,SwapKitError as K4}from"@swapkit/helpers";function n0(y){switch(y){case Bf.Bitcoin:case Bf.BitcoinCash:return 550;case Bf.Dash:case Bf.Litecoin:return 5500;case Bf.Dogecoin:return 1e5;case Bf.Zcash:return 546;default:throw new K4("toolbox_utxo_not_supported",{chain:y})}}function xy({inputs:y,outputs:T,feeRate:C=1,chain:f=Bf.Bitcoin,changeAddress:H=""}){let U=y[0]&&"address"in y[0]&&y[0].address?lf(y[0].address):"P2PKH",q=y.filter((B)=>Uf(B)*C<=B.value),G=U==="P2WPKH"?Math.ceil(tT/4):0,Q=mT+G+T.reduce((B,M)=>B+$0(M),0),Y=T.reduce((B,M)=>B+M.value,0),z=Q*C,W=0,_=[];for(let B of q){let M=Uf(B),D=C*M;z+=D,W+=B.value,_.push(B);let R=z+Y;if(W<R)continue;let J=W-R,k=C*$0({address:H,value:0});if(J>k){let O=k+z,A=W-(Y+Math.ceil(O));if(A>Math.max(Uf({value:0})*C,n0(f)))return{fee:Math.ceil(O),inputs:_,outputs:T.concat({address:H,value:A})}}return{fee:Math.ceil(z),inputs:_,outputs:T}}return{fee:Math.ceil(C*Nf({inputs:y,outputs:T}))}}var fU=V(()=>{KH()});var uf=V(()=>{i2();e2();fU();KH()});import{Address as l4,ZCASH_NETWORK as u4}from"@swapkit/utxo-signer";function Df(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function qf(y){let T=Df(y);return bH(T)&&jH(T)==="mainnet"}function hf(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let C=l4(u4).decode(y);return C.type==="pkh"||C.type==="sh"}catch{return!1}}var x0=V(()=>{uf()});import{secp256k1 as h4}from"@noble/curves/secp256k1.js";import{hex as Of}from"@scure/base";import{HDKey as UU}from"@scure/bip32";import{mnemonicToSeedSync as uH}from"@scure/bip39";import{AssetValue as gT,applyFeeMultiplier as TU,Chain as fy,derivationPathToString as I0,FeeOption as by,NetworkDerivationPath as qU,SwapKitError as g,SwapKitNumber as m4,updateDerivationPath as t4,warnOnce as c4}from"@swapkit/helpers";import{Address as g4,BCHSigHash as hH,CashAddrPrefix as i4,CashAddrType as d4,encodeCashAddr as r4,NETWORKS as mf,p2pkh as HU,p2wpkh as a4,RBF_SEQUENCE as s4,SigHash as XU,Transaction as lH,WIF as GU}from"@swapkit/utxo-signer";import{match as QU}from"ts-pattern";function mH({address:y,chain:T}){return QU(T).with(fy.BitcoinCash,()=>qf(y)).with(fy.Zcash,()=>hf(y)).otherwise(()=>{try{return g4(Zy(T)).decode(y),!0}catch{return!1}})}function Zy(y){return QU(y).with(fy.Bitcoin,()=>mf.bitcoin).with(fy.BitcoinCash,()=>mf.bitcoinCash).with(fy.Dash,()=>mf.dash).with(fy.Dogecoin,()=>mf.dogecoin).with(fy.Litecoin,()=>mf.litecoin).with(fy.Zcash,()=>mf.zcash).exhaustive()}function e4({phrase:y,derivationPath:T,network:C,seed:f}){let H=f??uH(y),q=UU.fromMasterSeed(H,C.bip32).derive(T);if(!q.privateKey)throw new g("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return q.privateKey}function CU(y){return h4.getPublicKey(y,!0)}function o0({publicKey:y,chain:T,network:C}){if(T===fy.BitcoinCash){let U=HU(y,C);if(!U.hash)throw new g("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r4({hash:U.hash,prefix:i4.MAINNET,type:d4.P2PKH}).replace(/^bitcoincash:/,"")}let H=!S0.includes(T)?a4(y,C):HU(y,C);if(!H.address)throw new g("toolbox_utxo_invalid_address",{error:"Could not derive address"});return H.address}function tf({phrase:y,derivationPath:T,chain:C,wif:f,seed:H}){let U=Zy(C);if(f){let Q=GU(U).decode(f),Y=CU(Q);return{privateKey:Q,publicKey:Y}}if(!y)throw new g("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let q=T||I0(qU[C]),X=e4({derivationPath:q,network:U,phrase:y,seed:H}),G=CU(X);return{privateKey:X,publicKey:G}}function y6(y,T){return GU(Zy(T)).encode(y)}function f6({phrase:y,derivationPath:T,chain:C,seed:f}){let H=T.split("/");if(H.length<4)throw new g("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${H.length}): ${T}`});let U=Zy(C),q=f??uH(y),X=UU.fromMasterSeed(q,U.bip32),G=H.slice(0,4).join("/");return X.derive(G)}function Xf({inputs:y,outputs:T,chain:C,tx:f,sender:H,compiledMemo:U,enableRBF:q=!1}){let X=Zy(C),G=!S0.includes(C),Q=q?s4:void 0,Y=new Set;for(let z of y){let W=`${z.hash}:${z.index}`;if(Y.has(W))throw new g("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Y.add(W);let _=typeof z.hash==="string"?Of.decode(z.hash):z.hash;if(G&&z.witnessUtxo)f.addInput({index:z.index,sequence:Q,txid:_,witnessUtxo:{amount:BigInt(z.witnessUtxo.value),script:z.witnessUtxo.script}});else if(z.txHex)f.addInput({index:z.index,nonWitnessUtxo:Of.decode(z.txHex),sequence:Q,txid:_,...C===fy.BitcoinCash?{sighashType:hH.ALL}:{}});else throw new g("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let z of T){let W="address"in z&&z.address?z.address:H;if(C===fy.BitcoinCash)W=dy(W);if(z.script){if(U)f.addOutput({amount:0n,script:U})}else f.addOutputAddress(W,BigInt(z.value),X)}return{inputs:y,tx:f}}async function cf(y){let T=await yy(y).getSuggestedTxFee();return{[by.Average]:T,[by.Fast]:TU(T,by.Fast),[by.Fastest]:TU(T,by.Fastest)}}async function _U({assetValue:y,recipient:T,memo:C,sender:f,fetchTxHex:H=!1}){let U=y.chain,q=(await cf(U))[by.Fastest],X=H||S0.includes(U),G=y.getBaseValue("number"),Q=Math.ceil(G+q*5000);return{inputs:await yy(U).getUtxos({address:f,fetchTxHex:X,targetValue:Q}),outputs:[{address:T,value:G},...C?[{address:"",script:My(C),value:0}]:[]]}}async function ZU({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H,fetchTxHex:U=!1,enableRBF:q=!1}){let X=y.chain,G=C?My(C):null,Q=await _U({assetValue:y,fetchTxHex:U,memo:C,recipient:T,sender:H}),{inputs:Y,outputs:z}=xy({...Q,chain:X,feeRate:f});if(!(Y&&z))throw new g("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let W=new lH({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:_,tx:B}=Xf({chain:X,compiledMemo:G,enableRBF:q,inputs:Y,outputs:z,sender:H,tx:W});return{inputs:_,tx:B,utxos:Q.inputs}}async function WU({assetValue:y,feeOptionKey:T=by.Fast,feeRate:C,memo:f,sender:H,recipient:U}){let q=y.chain,X=await _U({assetValue:y,memo:f,recipient:U,sender:H}),G=C?Math.floor(C):(await cf(q))[T];return xy({...X,chain:q,feeRate:G})}function T6(y){return async function({from:C,memo:f,feeRate:H,feeOptionKey:U=by.Fast,recipients:q=1}){let X=await yy(y).getAddressData(C),G=H?Math.ceil(H):(await cf(y))[U],Q=X?.utxo.map((M)=>({...M,hash:"",type:"P2PKH"})).filter((M)=>M.value>Math.max(n0(y),Uf(M)*G));if(!Q?.length)return gT.from({chain:y});let Y=BigInt(Q.reduce((M,D)=>M+D.value,0)),z=gT.from({chain:y,value:Y}),W=typeof q==="number"?Array.from({length:q},()=>({address:C,value:0})):q;if(f)W.push({address:C,script:My(f),value:0});let _=Nf({inputs:Q,outputs:W}),B=gT.from({chain:y,value:BigInt(_*G)});return z.sub(B)}}function H6(y){return async function(C){let{fee:f}=await WU(C);return gT.from({chain:y,value:m4.fromBigInt(BigInt(f),8).getValue("string")})}}function C6({chain:y,phrase:T,derivationPath:C,seed:f}){let H=Zy(y),{privateKey:U,publicKey:q}=tf({chain:y,derivationPath:C,phrase:T,seed:f}),X=y===fy.BitcoinCash?[hH.ALL]:[XU.ALL];return{getAddress:()=>o0({chain:y,network:H,publicKey:q}),privateKey:U,publicKey:q,signTransaction:(G)=>{return G.sign(U,X),G}}}function U6(y,T){return async function({memo:f,recipient:H,feeOptionKey:U,feeRate:q,assetValue:X,enableRBF:G=!1}){let Q=await T?.getAddress();if(!(T&&Q))throw new g("toolbox_utxo_no_signer");if(!H)throw new g("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});c4({condition:G&&!iT.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let Y=G&&iT.includes(y),z=q||(await cf(y))[U||by.Fast],{tx:W}=await ZU({assetValue:X,enableRBF:Y,feeRate:z,memo:f,recipient:H,sender:Q}),_=await T.signTransaction(W);return _.finalize(),yy(y).broadcastTx(Of.encode(_.extract()))}}function tH(y){return(T)=>mH({address:T,chain:y})}function cH(y){let T=Zy(y);return function(f){if(!f)throw new g("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return o0({chain:y,network:T,publicKey:f.publicKey})}}function Gf({chain:y,...T}){let C="phrase"in T?T.phrase:void 0,f="index"in T?T.index||0:0,H=C?uH(C):void 0,U="derivationPath"in T&&T.derivationPath?T.derivationPath:t4(qU[y],{index:f}),q=I0(U),X=C?C6({chain:y,derivationPath:q,phrase:C,seed:H}):void 0,G="signer"in T?T.signer:void 0,Q=X||G,Y=C?tf({chain:y,derivationPath:q,phrase:C,seed:H}):void 0;function z(){if(Q)return Q.getAddress();return Promise.resolve(void 0)}function W(F){if(!C)return;let n=Cf({accountIndex:F,chain:y,derivationPath:U});return f6({chain:y,derivationPath:I0(n),phrase:C,seed:H})}let _=W();function B(){if(!_)return;return _.publicExtendedKey}function M({accountIndex:F}={}){let n=F===void 0?_:W(F);if(!n)return;let I=Cf({accountIndex:F,chain:y,derivationPath:U});return{accountIndex:Af(I),path:I0(I),xpub:n.publicExtendedKey}}function D({accountIndex:F,index:n,change:I=!1}){let N=F===void 0?_:W(F);if(!N)return;let x=jf({accountIndex:F,chain:y,change:I,derivationPath:U,index:n}),S=Zy(y),p=N.deriveChild(Number(I)).deriveChild(n);if(!p.publicKey)throw new g("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let E=o0({chain:y,network:S,publicKey:p.publicKey}),j=Of.encode(p.publicKey);return{accountIndex:Af(x),address:E,change:I,index:n,path:I0(x),pubkey:j}}async function R(F){if(!iT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let n=await yy(y).getTransactionDetails(F);return{canReplace:n.isRBF&&!n.confirmed,confirmed:n.confirmed,enabled:n.isRBF,fee:n.fee,sequences:n.sequences,supported:!0}}async function J({txid:F,newFeeRate:n,recipient:I,memo:N}){if(!iT.includes(y))throw new g("toolbox_utxo_rbf_not_supported",{chain:y});let x=await yy(y).getTransactionDetails(F);if(!x.isRBF)throw new g("toolbox_utxo_tx_not_replaceable",{txid:F});if(x.confirmed)throw new g("toolbox_utxo_tx_already_confirmed",{blockId:x.blockId,txid:F});let S=x.inputs.reduce((e,wy)=>e+wy.value,0),E=x.outputs.find((e)=>e.recipient===I)?.value||0;if(E===0)throw new g("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let j=await Promise.all(x.inputs.map(async(e)=>{let wy=await yy(y).getRawTx(e.transaction_hash);return{hash:e.transaction_hash,index:e.index,txHex:wy,value:e.value,witnessUtxo:void 0}})),h=N?My(N):null,s=Nf({feeRate:n,inputs:j.map((e)=>({...e,type:"P2WPKH"})),outputs:[{address:I,value:E}]}),t=Math.ceil(s*n);if(t<=x.fee)throw new g("toolbox_utxo_rbf_fee_too_low",{newFee:t,originalFee:x.fee});let Ay=t-x.fee,Cy=E-Ay;if(Cy<=0)throw new g("toolbox_utxo_rbf_insufficient_change");let oy=new lH({allowLegacyWitnessUtxo:!0,version:1}),Py=[{address:I,value:Cy},...N?[{address:"",script:My(N),value:0}]:[]],Vy=S-Cy-t,Yy=await z();if(Vy>n0(y)&&Yy)Py.push({address:Yy,value:Vy});return Xf({chain:y,compiledMemo:h,inputs:j,outputs:Py,sender:Yy||I,tx:oy}),{feeDelta:Ay,newFee:t,originalFee:x.fee,tx:oy}}async function k({txid:F,newFeeRate:n,recipient:I,memo:N}){let{tx:x,originalFee:S,newFee:p}=await J({memo:N,newFeeRate:n,recipient:I,txid:F}),E=await w(x);E.finalize();let j=await yy(y).broadcastTx(Of.encode(E.extract()));return{newFee:p,originalFee:S,txid:j}}function O({accountIndex:F,index:n,change:I=!1}){ny("index",n);let N=F===void 0?_:W(F);if(!N)return;return N.deriveChild(Number(I)).deriveChild(n).privateKey||void 0}function A({tx:F,inputDerivations:n}){if(!_)throw new g("toolbox_utxo_no_signer");let I=y===fy.BitcoinCash?[hH.ALL]:[XU.ALL];for(let N=0;N<n.length;N++){let x=n[N];if(!x)continue;let{derivationIndex:S,isChange:p}=x,E=O({change:p,index:S});if(!E)throw new g("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${N} at index ${S}`});F.signIdx(E,N,I)}return F}async function Z({utxos:F,recipient:n,assetValue:I,memo:N,feeRate:x,feeOptionKey:S,changeAddress:p}){if(!_)throw new g("toolbox_utxo_no_signer");let E=x||(await cf(y))[S||by.Fast],j=N?My(N):null,h=[{address:n,value:I.getBaseValue("number")}];if(j)h.push({address:"",script:j,value:0});let s=F.map(({hash:Yy,index:e,value:wy,txHex:E8,witnessUtxo:L1})=>({hash:Yy,index:e,txHex:E8,value:wy,witnessUtxo:L1?{script:L1.script,value:L1.value}:void 0})),{inputs:t,outputs:Ay}=xy({chain:y,feeRate:E,inputs:s,outputs:h});if(!(t&&Ay))throw new g("toolbox_utxo_insufficient_balance",{assetValue:I,sender:"multiple addresses"});let Cy=new lH({allowLegacyWitnessUtxo:!0,version:1}),oy=F[0]?.address,Py=p||await z()||oy||n;Xf({chain:y,compiledMemo:j,inputs:t,outputs:Ay,sender:Py,tx:Cy});let Vy=t.map((Yy)=>{let e=F.find((wy)=>wy.hash===Yy.hash&&wy.index===Yy.index);return e?{derivationIndex:e.derivationIndex,isChange:e.isChange}:{derivationIndex:0,isChange:!1}});return A({inputDerivations:Vy,tx:Cy}),Cy.finalize(),yy(y).broadcastTx(Of.encode(Cy.extract()))}function L({address:F,gapLimit:n=20}){if(!_)return;for(let I=0;I<n;I++){let N=D({change:!1,index:I}),x=D({change:!0,index:I}),S=N?.address===F?!1:x?.address===F;if(N?.address===F||x?.address===F)return{change:S,index:I}}return}function w(F){if(!Q)throw new g("toolbox_utxo_no_signer");return Q.signTransaction(F)}async function $(F){let n=await w(F);return n.finalize(),await yy(y).broadcastTx(Of.encode(n.extract()))}return{accumulative:xy,broadcastTx:(F)=>yy(y).broadcastTx(F),bumpFee:k,calculateTxSize:Nf,createKeysForPath:(F)=>tf({...F,chain:y}),createReplacementTransaction:J,createTransaction:ZU,deriveAddressAtIndex:D,derivePrivateKeyAtIndex:O,estimateMaxSendableAmount:T6(y),estimateTransactionFee:H6(y),getAddress:z,getAddressFromKeys:cH(y),getBalance:Jy(y),getExtendedPublicKey:B,getExtendedPublicKeyInfo:M,getFeeRates:()=>cf(y),getInputsOutputsFee:WU,getNetworkForChain:()=>Zy(y),getPrivateKeyFromMnemonic:(F)=>y6(tf({...F,chain:y}).privateKey,y),isRBFEnabled:R,keys:Y,resolveDerivationIndex:L,signAndBroadcastTransaction:$,signTransaction:w,signTransactionWithMultipleKeys:A,transfer:U6(y,Q),transferFromMultipleAddresses:Z,validateAddress:tH(y)}}var S0,iT;var gf=V(()=>{uy();R0();uf();x0();S0=[fy.Dash,fy.Dogecoin,fy.Zcash,fy.BitcoinCash],iT=[fy.Bitcoin]});import{hex as YU}from"@scure/base";import{Chain as q6,derivationPathToString as X6,FeeOption as G6,NetworkDerivationPath as Q6,SwapKitError as ry,updateDerivationPath as _6}from"@swapkit/helpers";import{BCHSigHash as Z6,CashAddrPrefix as JU,CashAddrType as LU,encodeCashAddr as zU,NETWORKS as W6,p2pkh as AU,Transaction as MU}from"@swapkit/utxo-signer";function P0(y){return Df(w0(y))}function Y6(y){let T=Zy(jy);function C(H){return H.sign(y.privateKey,[Z6.ALL]),H}function f(){let H=AU(y.publicKey,T);if(!H.hash)throw new ry("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let U=zU({hash:H.hash,prefix:JU.MAINNET,type:LU.P2PKH});return Promise.resolve(U.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:C}}function gH(y){let T="phrase"in y?y.phrase:void 0,C="index"in y?y.index||0:0,f=X6("derivationPath"in y&&y.derivationPath?y.derivationPath:_6(Q6[jy],{index:C})),H=T?tf({chain:jy,derivationPath:f,phrase:T}):void 0,U=H?Y6(H):("signer"in y)?y.signer:void 0;function q(){return Promise.resolve(U?.getAddress())}let{getBalance:X,getFeeRates:G,broadcastTx:Q,...Y}=Gf({chain:jy});function z(B,M=!0){return X(Df(w0(B)))}function W(B){if(!U)throw new ry("toolbox_utxo_no_signer");return U.signTransaction(B)}async function _(B){let M=await W(B);return M.finalize(),await Q(YU.encode(M.extract()))}return{...Y,broadcastTx:Q,buildTx:L6,createTransaction:NU,getAddress:q,getAddressFromKeys:z6,getBalance:z,getFeeRates:G,signAndBroadcastTransaction:_,signTransaction:W,stripPrefix:Df,stripToCashAddress:P0,transfer:J6({broadcastTx:Q,getFeeRates:G,signer:U}),validateAddress:qf}}async function NU({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){if(!qf(T))throw new ry("toolbox_utxo_invalid_address",{address:T});let U=Math.ceil(y.getBaseValue("number")+f*7500),q=await yy(jy).getUtxos({address:P0(H),fetchTxHex:!0,targetValue:U}),X=C?My(C):null,G=[],Q=dy(T);if(G.push({address:Q,value:y.getBaseValue("number")}),X)G.push({script:X,value:0});let{inputs:Y,outputs:z}=xy({chain:jy,feeRate:f,inputs:q,outputs:G});if(!(Y&&z))throw new ry("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let W=new MU({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),_=dy(H),{inputs:B,tx:M}=Xf({chain:jy,compiledMemo:X,inputs:Y,outputs:z.map((D)=>("address"in D)&&D.address?{...D,address:dy(D.address)}:D),sender:_,tx:W});return{inputs:B,tx:M,utxos:Y}}function J6({broadcastTx:y,getFeeRates:T,signer:C}){return async function({recipient:H,assetValue:U,feeOptionKey:q=G6.Fast,...X}){let G=await C?.getAddress();if(!(C&&G))throw new ry("toolbox_utxo_no_signer");if(!H)throw new ry("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Q=X.feeRate||(await T())[q],{tx:Y}=await NU({...X,assetValue:U,feeRate:Q,recipient:H,sender:G}),z=await C.signTransaction(Y);return z.finalize(),y(YU.encode(z.extract()))}}async function L6({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){let U=w0(T);if(!qf(U))throw new ry("toolbox_utxo_invalid_address",{address:U});let q=Math.ceil(y.getBaseValue("number")+f*7500),X=await yy(jy).getUtxos({address:P0(H),fetchTxHex:!0,targetValue:q}),G=Number(f.toFixed(0)),Q=C?My(C):null,Y=[];if(Y.push({address:dy(T),value:y.getBaseValue("number")}),Q)Y.push({script:Q,value:0});let{inputs:z,outputs:W}=xy({chain:jy,feeRate:G,inputs:X,outputs:Y});if(!(z&&W))throw new ry("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let _=new MU({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:B,tx:M}=Xf({chain:jy,compiledMemo:Q,inputs:z,outputs:W,sender:dy(H),tx:_});return{inputs:B,tx:M,utxos:X}}function z6(y){let T=W6.bitcoinCash,C=AU(y.publicKey,T);if(!C.hash)throw new ry("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return zU({hash:C.hash,prefix:JU.MAINNET,type:LU.P2PKH}).replace(/^bitcoincash:/,"")}var jy;var dT=V(()=>{uf();gf();x0();jy=q6.BitcoinCash});import{createBase58check as A6,hex as M6}from"@scure/base";import{HDKey as DU}from"@scure/bip32";import{mnemonicToSeedSync as OU}from"@scure/bip39";import{Chain as rT,derivationPathToString as N6,FeeOption as B6,NetworkDerivationPath as D6,SKConfig as RU,SwapKitError as V0,updateDerivationPath as O6}from"@swapkit/helpers";import{Address as R6,createZcashTransaction as k6,OutScript as w6,PCZT as F6,utils as kU,WIF as $6,ZCASH_NETWORK as n6,ZCASH_TEST_NETWORK as x6,ZcashConsensusBranchId as I6,ZcashPSBT as S6,ZcashSigHash as iH,ZcashVersionGroupId as o6}from"@swapkit/utxo-signer";import{match as P6,P as dH}from"ts-pattern";function wU(){let{isStagenet:y}=RU.get("envs");return y?x6:n6}function E6(y){return V6.encode(y)}function v6({phrase:y,derivationPath:T}){let C=OU(y),H=DU.fromMasterSeed(C).derive(T);if(!H.privateKey||!H.publicKey)throw new V0("toolbox_utxo_invalid_params");let{privateKey:U,publicKey:q}=H,X=kU.hash160(q),{isStagenet:G}=RU.get("envs"),Q=G?new Uint8Array([29,37]):new Uint8Array([28,184]),Y=new Uint8Array(Q.length+X.length);Y.set(Q,0),Y.set(X,Q.length);let z=E6(Y);return{getAddress:()=>Promise.resolve(z),signTransaction:(W)=>{if(W instanceof S6){let _=W.toPCZT();return _.signAllInputs(U,q,iH.ALL),_.finalizeAllInputs(),Promise.resolve(_.extract())}if(W instanceof F6)return W.signAllInputs(U,q,iH.ALL),W.finalizeAllInputs(),Promise.resolve(W.extract());return W.signAllInputs(U,q,iH.ALL),Promise.resolve(W)}}}function p6({inputs:y,outputs:T,tx:C,sender:f,compiledMemo:H}){let U=wU();for(let q of y){let X=R6(U).decode(f),G=w6.encode(X);C.addInput({index:q.index,script:G,sequence:4294967295,txid:M6.decode(q.hash),value:BigInt(q.value)})}for(let q of T){let X="address"in q&&q.address?q.address:f,G=q.script;if(G&&!H)continue;if(G&&H)C.addOutput({amount:0n,script:H});else C.addOutputAddress(X,BigInt(q.value),U)}return{inputs:y,tx:C}}async function BU(y){let{assetValue:T,recipient:C,memo:f,feeRate:H,sender:U,fetchTxHex:q}=y,X=f?My(f):null,G=await yy(rT.Zcash).getUtxos({address:U,fetchTxHex:q!==!1}),Q=[{address:C,value:Number(T.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:Y,outputs:z}=xy({chain:rT.Zcash,changeAddress:U,feeRate:H,inputs:G,outputs:Q});if(!(Y&&z))throw new V0("toolbox_utxo_insufficient_balance",{assetValue:T,sender:U});let W=k6({consensusBranchId:I6.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:o6.SAPLING}),{tx:_,inputs:B}=p6({compiledMemo:X,inputs:Y,outputs:z,sender:U,tx:W});return{inputs:B,outputs:z,tx:_}}function rH(y){let T=P6(y).with({signer:dH.not(dH.nullish)},({signer:G})=>G).with({phrase:dH.string},({phrase:G,derivationPath:Q,index:Y=0})=>{let z=Q||D6[rT.Zcash]||[44,133,0,0,0],W=O6(z,{index:Y}),_=N6(W);return v6({derivationPath:_,phrase:G})}).otherwise(()=>{return}),C=Gf({chain:rT.Zcash,signer:T});async function f(G){if(!T)throw new V0("toolbox_utxo_no_signer");return await T.signTransaction(G)}async function H(G){let Q=await f(G);return C.broadcastTx(Q.toHex())}async function U({recipient:G,assetValue:Q,feeOptionKey:Y=B6.Fast,...z}){let W=await T?.getAddress();if(!(T&&W))throw new V0("toolbox_utxo_no_signer");let _=z.feeRate||(await C.getFeeRates())[Y],{tx:B}=await BU({...z,assetValue:Q,feeRate:_,recipient:G,sender:W}),D=(await T.signTransaction(B)).toHex();return C.broadcastTx(D)}function q({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let Y=OU(G),W=DU.fromMasterSeed(Y).derive(Q);if(!W.privateKey||!W.publicKey)throw new V0("toolbox_utxo_invalid_params");return{privateKey:W.privateKey,publicKey:W.publicKey}}function X({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let Y=q({derivationPath:Q,phrase:G}),z=wU();return $6(z).encode(Y.privateKey)}return{...C,createKeysForPath:q,createTransaction:BU,getPrivateKeyFromMnemonic:X,signAndBroadcastTransaction:H,signTransaction:f,transfer:U,validateAddress:hf}}var V6;var aH=V(()=>{uf();gf();x0();V6=A6(kU.sha256)});import{hex as b6}from"@scure/base";import{HDKey as j6}from"@scure/bip32";import{derivationPathToString as K6}from"@swapkit/helpers";function FU({xpub:y,chain:T,count:C,startIndex:f=0,accountIndex:H}){if(ny("count",C),C<1)throw RangeError("count must be at least 1");ny("startIndex",f);let U=Zy(T),q=j6.fromExtendedKey(y,U.bip32),X=Cf({accountIndex:H,chain:T}),G=Af(X),Q=[];for(let Y of[!1,!0]){let z=q.deriveChild(Number(Y));for(let W=0;W<C;W++){let _=f+W,B=z.deriveChild(_);if(!B.publicKey)continue;let M=jf({accountIndex:H,chain:T,change:Y,index:_});Q.push({accountIndex:G,address:o0({chain:T,network:U,publicKey:B.publicKey}),change:Y,index:_,path:K6(M),pubkey:b6.encode(B.publicKey)})}}return Q}var $U=V(()=>{R0();gf()});import{Chain as df,SwapKitError as l6}from"@swapkit/helpers";function u6(y,T){switch(y){case df.BitcoinCash:return gH(T||{});case df.Zcash:return rH(T);case df.Bitcoin:case df.Dogecoin:case df.Litecoin:case df.Dash:return Gf({chain:y,...T});default:throw new l6("toolbox_utxo_not_supported",{chain:y})}}var nU=V(()=>{dT();gf();aH();R0();$U();dT();x0()});var sH={};Ty(sH,{validateZcashAddress:()=>hf,validateUtxoAddress:()=>mH,validateBchAddress:()=>qf,toLegacyAddress:()=>dy,toCashAddress:()=>w0,stripToCashAddress:()=>P0,stripPrefix:()=>Df,nonSegwitChains:()=>S0,isValidAddress:()=>bH,getUtxoToolbox:()=>u6,getUtxoNetwork:()=>O4,getUtxoApi:()=>yy,getUTXOAddressValidator:()=>tH,getUTXOAddressPath:()=>jf,getUTXOAccountPath:()=>Cf,getUTXOAccountIndexFromPath:()=>Af,getScriptTypeForAddress:()=>lf,getOutputSize:()=>$0,getNetworkForChain:()=>Zy,getInputSize:()=>Uf,getDustThreshold:()=>n0,detectAddressNetwork:()=>jH,deriveAddressesFromXpub:()=>FU,createZcashToolbox:()=>rH,createUTXOToolbox:()=>Gf,createHDWalletHelpers:()=>u2,createCustomUtxoApi:()=>D4,createBCHToolbox:()=>gH,compileMemo:()=>My,calculateTxSize:()=>Nf,assertDerivationIndex:()=>ny,addressFromKeysGetter:()=>cH,addInputsAndOutputs:()=>Xf,accumulative:()=>xy,UtxoNetwork:()=>pH,UTXOScriptType:()=>cT,TX_OVERHEAD:()=>mT,SEGWIT_MARKER_FLAG_WEIGHT:()=>tT,OutputSizes:()=>F0,OP_RETURN_OVERHEAD:()=>yU,MIN_TX_FEE:()=>p4,InputSizes:()=>hT});var eH=V(()=>{gf();R0();uf();nU();dT();aH()});import{KeyPairSigner as h6}from"@near-js/signers";import{derivationPathToString as m6,SwapKitError as t6}from"@swapkit/helpers";import*as xU from"near-seed-phrase";function E0(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function aT(y){let{KeyPair:T}=await import("@near-js/crypto"),C=y.index||0,f=y.derivationPath?m6(y.derivationPath.slice(0,3)):`m/44'/397'/${C}'`,{secretKey:H}=xU.parseSeedPhrase(y.phrase,f),U=T.fromString(H);return SU(U)}async function yC(y){let{KeyPair:T}=await import("@near-js/crypto"),C=T.fromString(y);return SU(C)}function SU(y){return new IU(y)}async function sT(y,T){let f=(await y.query({account_id:T,finality:"final",request_type:"view_access_key_list"})).keys.find((X)=>X.access_key.permission==="FullAccess");if(!f)throw new t6("toolbox_near_no_public_key_found");let{PublicKey:H}=await import("@near-js/crypto"),U=H.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:U}}var IU;var fC=V(()=>{IU=class IU extends h6{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),T=Buffer.from(y.data).toString("hex");return Promise.resolve(T)}}});function TC(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function HC(y){return"contractId"in y&&"methodName"in y}function CC(y){return"actions"in y}function UC(y){return"newAccountId"in y}function qC(y){return"contractCode"in y}function XC(y){return"customEstimator"in y}function GC(y){let T=0;for(let C of y)switch(C.enum){case"transfer":T+=Number(Gy.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(Gy.CONTRACT_CALL);break;case"createAccount":T+=Number(Gy.ACCOUNT_CREATION);break;case"deployContract":T+=Number(Gy.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(Gy.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(Gy.ACCESS_KEY_DELETION);break;case"stake":T+=Number(Gy.STAKE);break;default:T+=Number(Gy.CONTRACT_CALL)}return T.toString()}function QC(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Gy.TOKEN_TRANSFER;if(y==="storage_deposit")return Gy.STORAGE_DEPOSIT;return Gy.CONTRACT_CALL}function c6(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function g6(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Gy;var _C=V(()=>{Gy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function ZC({account:y,contractId:T,viewMethods:C,changeMethods:f}){let{Contract:H}=await import("@near-js/accounts");return new H(y,T,{changeMethods:f,useLocalViewExecution:!0,viewMethods:C})}import{JsonRpcProvider as i6}from"@near-js/providers";import{AssetValue as WC,Chain as rf,getRPCUrl as oU,SwapKitError as Qy}from"@swapkit/helpers";import{match as PU,P as VU}from"ts-pattern";function d6(y){let T;async function C(){if(T)return T;return T=await PU(y).with({phrase:VU.string},async(N)=>{return await aT(N)}).with({signer:VU.any},({signer:N})=>N).otherwise(()=>{return}),T}async function f(){let N=await oU(rf.Near);return new i6({url:N})}async function H(N){let{Account:x}=await import("@near-js/accounts"),S=await f(),p=await C(),E=N||await U();return new x(E,S,p)}async function U(){let N=await C();if(!N)throw new Qy("toolbox_near_no_signer");return await N.getAddress()}async function q(N){return(await L({changeMethods:[],contractId:N.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:N.accountId})}async function X(N){let S=[await W({args:{account_id:N.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await W({args:{amount:N.assetValue.getBaseValue("string"),memo:N.memo||null,receiver_id:N.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return w({actions:S,receiverId:N.contractId})}async function G(N){if(!await C())throw new Qy("toolbox_near_no_signer");let{assetValue:S,recipient:p,memo:E}=N,j=await U();if(!S.isGasAsset&&S.address){if(!await q({accountId:p,contractId:S.address}))return X({assetValue:S,contractId:S.address,memo:E,recipient:p})}let h=await Q({...N,sender:j});return J(h)}async function Q({recipient:N,assetValue:x,memo:S,attachedDeposit:p,sender:E,functionCall:j}){let h=await f();if(!E0(N))throw new Qy("toolbox_near_invalid_address",{recipient:N});if(!E0(E))throw new Qy("toolbox_near_invalid_address",{sender:E});if(j)return z({...j,sender:E});if(!x.isGasAsset){let wy=x.address;if(!wy)throw new Qy("toolbox_near_missing_contract_address");return z({args:{amount:x.getBaseValue("string"),memo:S||null,receiver_id:N},attachedDeposit:p||"1",contractId:wy,gas:"250000000000000",methodName:"ft_transfer",sender:E})}let{publicKey:s,nonce:t}=await sT(h,E),Ay=x.getBaseValue("bigint"),{actionCreators:Cy,createTransaction:oy}=await import("@near-js/transactions"),{baseDecode:Py}=await import("@near-js/utils"),Vy=[Cy.transfer(Ay)];if(S&&p)Vy.push(Cy.functionCall("memo",{memo:S},BigInt("250000000000000"),BigInt(p)));let Yy=await h.block({finality:"final"}),e=Py(Yy.header.hash);return oy(E,s,N,t+1,Vy,e)}function Y(N){let x=N.encode();return Buffer.from(x).toString("base64")}async function z({args:N,attachedDeposit:x,contractId:S,gas:p,methodName:E,sender:j}){let h=await f(),{publicKey:s,nonce:t}=await sT(h,j),{createTransaction:Ay,actionCreators:Cy}=await import("@near-js/transactions"),{baseDecode:oy}=await import("@near-js/utils"),Py=await h.block({finality:"final"}),Vy=oy(Py.header.hash),Yy=[Cy.functionCall(E,Buffer.from(JSON.stringify(N)),BigInt(p),BigInt(x))];return Ay(j,s,S,t+1,Yy,Vy)}async function W(N){let{actionCreators:x}=await import("@near-js/transactions");return x.functionCall(N.methodName,Buffer.from(JSON.stringify(N.args)),BigInt(N.gas),BigInt(N.attachedDeposit))}async function _(N){let x=await C();if(!x)throw new Qy("toolbox_near_no_signer");await B(N);let[S,p]=await x.signTransaction(N);return p}async function B(N){let x=N.publicKey;if(x.toString?.().startsWith("ed25519:")||x.toString?.().startsWith("secp256k1:"))return;let{KeyType:S,PublicKey:p}=await import("@near-js/crypto"),E=x.data||x.ed25519Key?.data,j=x.secp256k1Key?.data;if(E){N.publicKey=new p({data:Uint8Array.from(E),keyType:S.ED25519});return}if(j)N.publicKey=new p({data:Uint8Array.from(j),keyType:S.SECP256K1})}function M(N){if(typeof N==="string")return N;if(Array.isArray(N))return N.map(M).find(Boolean);if(!(N&&typeof N==="object"))return;let x=N;return x.transaction?.hash||x.transaction_outcome?.id}function D(N){return N instanceof Error?N.message:String(N)}async function R(N){let S=await(await f()).sendTransaction(N),p=M(S);if(!p)throw new Qy("toolbox_near_transfer_failed",{result:S});return p}async function J(N){let x=await C();if(!x)throw new Qy("toolbox_near_no_signer");let S;try{S=await _(N)}catch(p){let E;try{E=x.signAndSendTransaction?await x.signAndSendTransaction({actions:N.actions,receiverId:N.receiverId,signerId:N.signerId}):await x.signAndSendTransactions?.({transactions:[N]})}catch(h){throw new Qy({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:D(p),signAndSendError:D(h)}},h)}let j=M(E);if(j)return j;throw p}return R(S)}async function k(N){let x=await C();if("assetValue"in N){let p=await O();try{let E=await oU(rf.Near),j=await fetch(E,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:h}}=await j.json(),{execution:s,send_sir:t}=h.transaction_costs.action_receipt_creation_config,{execution:Ay,send_sir:Cy}=h.transaction_costs.action_creation_config.transfer_cost,oy=BigInt(Cy)+BigInt(Ay),Py=BigInt(t)+BigInt(s),Yy=(oy+Py)*BigInt(p.toString());return WC.from({chain:rf.Near,value:Yy})}catch(E){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",E);let j=BigInt("115123062500"),h=BigInt("108059500000"),t=(j+h)*BigInt(p.toString());return WC.from({chain:rf.Near,value:t})}}let S=x?await H():void 0;return $(N,S)}async function O(){let N=await f();try{return await N.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function A(N,x,S){if(!await C())throw new Qy("toolbox_near_no_signer");let E=await H(),{formatNearAmount:j}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),s=j(S)||"0";return(await E.createAccount(N,h.fromString(x),BigInt(s))).transaction.hash}async function Z(N){let x=await C();try{if(!x)throw new Qy("toolbox_near_no_signer");let{actionCreators:S}=await import("@near-js/transactions"),{contractId:p,methodName:E,args:j,deposit:h}=N,s=await H(),t=await $({args:j||{},contractId:p,methodName:E}),Ay=S.functionCall(E,j||{},t.getBaseValue("bigint"),BigInt(h||"1"));return(await s.signAndSendTransaction({actions:[Ay],receiverId:p})).transaction_outcome.id}catch(S){throw new Qy("toolbox_near_transfer_failed",{error:S})}}async function L(N){let x=await H();return ZC({account:x,changeMethods:N.changeMethods,contractId:N.contractId,viewMethods:N.viewMethods})}async function w(N){if(!await C())throw new Qy("toolbox_near_no_signer");if(N.actions.length===0)throw new Qy("toolbox_near_empty_batch");return(await(await H()).signAndSendTransaction({actions:N.actions,receiverId:N.receiverId})).transaction.hash}async function $(N,x){let S=await PU(N).when(TC,()=>Gy.SIMPLE_TRANSFER).when(HC,(E)=>QC(E.methodName)).when(CC,(E)=>GC(E.actions)).when(UC,()=>Gy.ACCOUNT_CREATION).when(qC,()=>Gy.CONTRACT_DEPLOYMENT).when(XC,(E)=>{if(!x)throw new Qy("toolbox_near_no_account");return E.customEstimator(x)}).otherwise(()=>{throw new Qy("toolbox_near_invalid_gas_params")}),p=BigInt(S)*BigInt(1000000000000);return WC.from({chain:rf.Near,value:p})}function F(N,x){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),$(N,x)}async function n(){let N=await f();try{return(await N.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function I(){let N=await C();return N?(await N.getPublicKey()).toString():""}return{broadcastTransaction:R,callFunction:Z,createAction:W,createContract:L,createContractFunctionCall:z,createSubAccount:A,createTransaction:Q,estimateGas:F,estimateGasLimit:$,estimateTransactionFee:k,executeBatchTransaction:w,getAddress:U,getBalance:Jy(rf.Near),getGasPrice:n,getNearProvider:f,getPublicKey:I,getSignerFromPhrase:aT,getSignerFromPrivateKey:yC,serializeTransaction:Y,signAndBroadcastTransaction:J,signTransaction:_,transfer:G,validateAddress:E0}}var YC=V(()=>{uy();fC();_C()});var EU=V(()=>{YC()});var JC={};Ty(JC,{validateNearAddress:()=>E0,tgasToGas:()=>c6,isSimpleTransfer:()=>TC,isCustomEstimator:()=>XC,isContractDeployment:()=>qC,isContractCall:()=>HC,isBatchTransaction:()=>CC,isAccountCreation:()=>UC,getNearToolbox:()=>d6,getNearSignerFromPrivateKey:()=>yC,getNearSignerFromPhrase:()=>aT,getFullAccessPublicKey:()=>sT,getContractMethodGas:()=>QC,gasToTGas:()=>g6,estimateBatchGas:()=>GC,createNearContract:()=>ZC,GAS_COSTS:()=>Gy});var LC=V(()=>{fC();_C();YC();EU()});var AC={};Ty(AC,{validateRadixAddress:()=>pU,getRadixToolbox:()=>C9});import{GatewayApiClient as r6}from"@radixdlt/babylon-gateway-api-sdk";import{RadixDappToolkit as a6}from"@radixdlt/radix-dapp-toolkit";import{AssetValue as vU,Chain as zC,SKConfig as s6,SwapKitError as e6}from"@swapkit/helpers";function pU(y){return y.startsWith("account_rdx1")&&y.length===66}function y9({networkApi:y}){return async function(C){let f=await f9({address:C,networkApi:y}),H=await T9({networkApi:y,resources:f});if(!H.some((q)=>q.isGasAsset))return[vU.from({chain:zC.Radix}),...H];return H}}async function f9({address:y,networkApi:T}){let C=!0,f,H=[],U=await H9(T);while(C){let q={address:y,at_ledger_state:{state_version:U},cursor:f,limit_per_page:100},X=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:q});if(H=H.concat(X.items),X.next_cursor)f=X.next_cursor;else C=!1}return H}async function T9({resources:y,networkApi:T}){let C=[],f=50,H=[];for(let U=0;U<y.length;U+=50)H.push(y.slice(U,U+50));for(let U of H){let q=U.map((Q)=>Q.resource_address),X=await T.state.getEntityDetailsVaultAggregated(q),G=new Map;for(let Q of X)if(Q.details!==void 0){let Y=Q.metadata?.items.find((W)=>W.key==="symbol"),z=Y?.value.typed.type==="String"?Y.value.typed.value:"?";if(Q.details.type==="FungibleResource")G.set(Q.address,{decimals:Q.details.divisibility,symbol:z})}for(let Q of U)if(Q.aggregation_level==="Global"){let Y=G.get(Q.resource_address)||{decimals:0,symbol:"?"},z=vU.from({asset:Y.symbol!==zC.Radix?`${zC.Radix}.${Y.symbol}-${Q.resource_address}`:"XRD.XRD",value:Q.amount});C.push(z)}}return C}async function H9(y){return(await y.status.getCurrent()).ledger_state.state_version}function C9({dappConfig:y}={}){let T=y||s6.get("integrations").radix,C=a6({...T,networkId:T.network?.networkId||1}),f=r6.initialize(C.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:y9({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new e6("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:pU}}var MC=()=>{};import{SwapKitError as U9}from"@swapkit/helpers";function eT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function v0(y){if(eT(y))return y.toUpperCase();if(y.length<=3){let C=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${C}${"0".repeat(10)}`.toUpperCase()}let T=Buffer.from(y).toString("hex").toUpperCase();if(T.length>40)throw new U9({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function q9(y){if(!eT(y))return y;if(y.toUpperCase().startsWith("00")){let T=y.slice(24,30);try{let C=Buffer.from(T,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(C)&&C.length>0)return C}catch{}return y.toUpperCase()}try{let T=y.replace(/0+$/,""),C=T.length%2===0?T:`${T}0`,f=Buffer.from(C,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function af(y){if(eT(y))return y.toUpperCase();if(y.length<=3)return y;return v0(y)}var y1=()=>{};import{RequestClient as X9,warnOnce as G9}from"@swapkit/helpers";async function Q9(y,T){let C=af(y),f=f1.find((H)=>af(H.currency)===C&&H.issuer===T);if(f)return f;try{let H=await X9.get(`https://api.xrplmeta.org/token/${y}:${T}`);if(H)return{currency:y,decimals:15,description:H.desc,domain:H.domain,icon:H.icon,issuer:T,name:H.name,verified:H.self_assessment?.is_regulated||H.self_assessment?.is_licensed}}catch(H){G9({condition:!0,id:`xrpl_token_lookup_${y}_${T}`,warning:`Failed to fetch XRPL token info for ${y}:${T}: ${H}`})}return{currency:y,decimals:15,issuer:T,verified:!1}}function _9(y){return f1.filter((T)=>T.issuer===y)}function Z9(y,T){let C=af(y);return f1.some((f)=>af(f.currency)===C&&f.issuer===T)}var f1;var bU=V(()=>{y1();f1=[{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 NC={};Ty(NC,{validateRippleAddress:()=>C1,parseXrplTokenIdentifier:()=>tU,normalizeCurrency:()=>af,isKnownToken:()=>Z9,isHexCurrency:()=>eT,hexToCurrency:()=>q9,hashes:()=>M9,getXrplTokenInfo:()=>Q9,getRippleToolbox:()=>A9,getKnownTokensByIssuer:()=>_9,formatXrplTokenIdentifier:()=>cU,currencyToHex:()=>v0,XRPL_TOKEN_ERROR_CODES:()=>H1,XRPL_KNOWN_TOKENS:()=>f1});import{AssetValue as T1,Chain as Iy,getChainConfig as jU,getRPCUrl as W9,SwapKitError as Wy}from"@swapkit/helpers";import{match as KU,P as lU}from"ts-pattern";import{Client as Y9,isValidAddress as mU,Wallet as J9,xrpToDrops as L9}from"xrpl";import{hashes as M9}from"xrpl";function tU(y){let T=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!T?.[1]||!T?.[2])return null;if(!mU(T[2]))return null;return{currency:T[1],issuer:T[2]}}function cU(y,T){return`${Iy.Ripple}.${y}-${T}`}function z9(y){if(y.isGasAsset)return L9(y.getValue("string"));let T=tU(y.toString());if(!T)throw new Wy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:T.currency,issuer:T.issuer,value:y.getValue("string")}}function hU(y){let T=J9.fromMnemonic(y);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(C)=>Promise.resolve(T.sign(C))}}function C1(y){return mU(y)}function A9(y={}){let T=KU(y).with({phrase:lU.string},({phrase:J})=>hU(J)).with({signer:lU.any},({signer:J})=>J).otherwise(()=>{return}),C;async function f(){let J=await W9(Iy.Ripple);if(!J)throw new Wy({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Iy.Ripple}});let k=new Y9(J);return await k.connect(),k}async function H(){if(C){let J=await C.catch(()=>null);if(J?.isConnected())return J}return C=f(),C}let U=()=>{if(!T)throw new Wy({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},q=async(J)=>{let k=J||await U(),{baseDecimal:O}=jU(Iy.Ripple),A=await H();try{let[Z,L]=await Promise.all([A.request({account:k,command:"account_info"}),A.request({account:k,command:"account_lines"})]),w=Z.result.account_data.Balance,$=[T1.from({chain:Iy.Ripple,fromBaseDecimal:O,value:w})];for(let F of L.result.lines){let n=cU(F.currency,F.account);if(Number.parseFloat(F.balance)!==0)$.push(T1.from({asset:n,asyncTokenLookup:!1,value:F.balance}))}return $}catch(Z){if(Z.data?.error_code===uU.ACCOUNT_NOT_FOUND)return[T1.from({chain:Iy.Ripple,value:0})];throw new Wy({errorKey:"toolbox_ripple_get_balance_error",info:{address:k,error:Z}})}},X=async()=>{let{baseDecimal:J}=jU(Iy.Ripple),A=(await(await H()).request({command:"fee"})).result.drops.open_ledger_fee;return T1.from({chain:Iy.Ripple,fromBaseDecimal:J,value:A})};async function G(J){let k=J||await U(),O=await H();try{return(await O.request({account:k,command:"account_lines"})).result.lines.map((Z)=>({account:Z.account,authorized:Z.authorized??!1,balance:Z.balance,currency:Z.currency,freeze:Z.freeze??!1,freezePeer:Z.freeze_peer??!1,limit:Z.limit,limitPeer:Z.limit_peer,noRipple:Z.no_ripple??!1,noRipplePeer:Z.no_ripple_peer??!1,peerAuthorized:Z.peer_authorized??!1,qualityIn:Z.quality_in??0,qualityOut:Z.quality_out??0}))}catch(A){if(A.data?.error_code===uU.ACCOUNT_NOT_FOUND)return[];throw new Wy({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:k,error:A}})}}async function Q({address:J,currency:k,issuer:O}){let A=await G(J),Z=v0(k);return A.some((L)=>{return v0(L.currency)===Z&&L.account===O})}async function Y({currency:J,issuer:k,limit:O,sender:A}){let Z=A||await U();if(!C1(k))throw new Wy({errorKey:"core_transaction_invalid_recipient_address",info:{address:k}});let L=Number.parseFloat(O);if(Number.isNaN(L)||L<0)throw new Wy({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:O}});let w=await H(),$={Account:Z,LimitAmount:{currency:J,issuer:k,value:O},TransactionType:"TrustSet"};return w.autofill($)}async function z({assetValue:J,recipient:k,memo:O,sender:A,destinationTag:Z,extendBySeconds:L=150}){if(!C1(k))throw new Wy({errorKey:"core_transaction_invalid_recipient_address"});let w=A||await U();if(J.chain!==Iy.Ripple)throw new Wy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let $=z9(J),F={Account:w,Amount:$,Destination:k,TransactionType:"Payment",...Z!==void 0&&{DestinationTag:Z}};if(O)F.Memos=[{Memo:{MemoData:Buffer.from(O).toString("hex")}}];let I=await(await H()).autofill(F);if(I.LastLedgerSequence&&L>0)I.LastLedgerSequence+=Math.ceil(L/4);return I}function W(J){if(!T)throw new Wy({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(J)}async function _(J){let O=await(await H()).submitAndWait(J),{result:A}=O;if(A.validated)return A.hash;let Z=A.meta?.TransactionResult,L=KU(Z).with(H1.tecNO_LINE,()=>"No trust line exists for this token").with(H1.tecPATH_DRY,()=>"Payment path could not deliver funds").with(H1.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new Wy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Iy.Ripple,...L?{reason:L}:{txResult:Z}}})}let B=async(J)=>{try{let k=await W(J);return _(k.tx_blob)}catch(k){if(k instanceof Wy)throw k;throw new Wy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Iy.Ripple,error:k}})}};async function M(J){if(!T)throw new Wy({errorKey:"toolbox_ripple_signer_not_found"});let k=await T.getAddress(),O=await z({...J,sender:k}),A=await W(O);return _(A.tx_blob)}async function D(J){if(!T)throw new Wy({errorKey:"toolbox_ripple_signer_not_found"});let k=await T.getAddress(),O=await Y({...J,sender:k}),A=await W(O);return _(A.tx_blob)}function R(){let J=C;if(C=null,J)J.then((k)=>{if(k?.isConnected())return k.disconnect();return}).catch((k)=>{console.warn("XRPL Cleanup failed silently:",k)})}return{broadcastTransaction:_,createSigner:hU,createTransaction:z,disconnect:R,estimateTransactionFee:X,getAddress:U,getBalance:q,getTrustLines:G,hasTrustLine:Q,setTrustLine:Y,setTrustLineAndBroadcast:D,signAndBroadcastTransaction:B,signTransaction:W,transfer:M,validateAddress:C1}}var uU,H1;var BC=V(()=>{y1();y1();bU();uU={ACCOUNT_NOT_FOUND:19},H1={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});import{sha256 as N9}from"@noble/hashes/sha2.js";import{bytesToHex as gU,hexToBytes as iU}from"@noble/hashes/utils.js";import{SwapKitError as sf}from"@swapkit/helpers";function DC(y,T){let C=0n,f=0n,H=T;while(H<y.length&&H-T<10){let U=y[H++];if(U===void 0)break;if(C|=BigInt(U&127)<<f,f+=7n,(U&128)===0)return[C,H]}throw new sf("toolbox_tron_transaction_creation_failed")}function p0(y){let T=[],C=y<0n?y+2n**64n:y;while(C>=128n)T.push(Number(C&0x7fn)|128),C>>=7n;return T.push(Number(C)),T}function U1(y,T,C){let f=y.get(T);if(f)f.push(C);else y.set(T,[C])}function R9(y){let T=new Map,C=0;while(C<y.length){let[f,H]=DC(y,C);C=H;let U=Number(f>>3n),q=Number(f&7n);if(q===q1){let[X,G]=DC(y,C);C=G,U1(T,U,{data:new Uint8Array(p0(X)),wireType:q1})}else if(q===X1){let[X,G]=DC(y,C);C=G;let Q=Number(X);if(Q<0||C+Q>y.length)throw new sf("toolbox_tron_transaction_creation_failed");let Y=y.slice(C,C+Q);C+=Q,U1(T,U,{data:Y,wireType:X1})}else if(q===dU){if(C+8>y.length)throw new sf("toolbox_tron_transaction_creation_failed");let X=y.slice(C,C+8);C+=8,U1(T,U,{data:X,wireType:dU})}else if(q===rU){if(C+4>y.length)throw new sf("toolbox_tron_transaction_creation_failed");let X=y.slice(C,C+4);C+=4,U1(T,U,{data:X,wireType:rU})}else throw new sf("toolbox_tron_transaction_creation_failed")}return T}function k9(y){let T=[];for(let[U,q]of[...y.entries()].sort(([X],[G])=>X-G))for(let{wireType:X,data:G}of q){let Q=BigInt(U<<3|X);if(T.push(new Uint8Array(p0(Q))),X===X1)T.push(new Uint8Array(p0(BigInt(G.length))));T.push(G)}let C=T.reduce((U,q)=>U+q.length,0),f=new Uint8Array(C),H=0;for(let U of T)f.set(U,H),H+=U.length;return f}function aU(y,T){if(!y||y.length%2!==0)throw new sf("toolbox_tron_transaction_creation_failed");let C=iU(y),f=R9(C);if(T.expiration!==void 0)f.set(B9,[{data:new Uint8Array(p0(BigInt(T.expiration))),wireType:q1}]);if(T.data!==void 0)f.set(D9,[{data:iU(T.data),wireType:X1}]);if(T.fee_limit!==void 0)f.set(O9,[{data:new Uint8Array(p0(BigInt(T.fee_limit))),wireType:q1}]);let H=k9(f),U=gU(H),q=gU(N9(H));return{raw_data_hex:U,txID:q}}var q1=0,dU=1,X1=2,rU=5,B9=8,D9=10,O9=18;var sU=()=>{};import{secp256k1 as eU}from"@noble/curves/secp256k1.js";import{sha256 as y8}from"@noble/hashes/sha2.js";import{keccak_256 as w9}from"@noble/hashes/sha3.js";import{bytesToHex as ef,hexToBytes as G1}from"@noble/hashes/utils.js";import{createBase58check as F9}from"@scure/base";import{SwapKitError as f8}from"@swapkit/helpers";function Sy(y){if(typeof y!=="string")return!1;try{let T=Q1.decode(y);return T.length===21&&T[0]===T8}catch{return!1}}function H8(y){return ef(Q1.decode(y))}function n9(y){return Q1.decode(y).slice(1)}function C8(y){let T=eU.getPublicKey(G1(y),!1),C=w9(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T8,f.set(C,1),Q1.encode(f)}function U8({txID:y,privateKey:T}){let C=eU.sign(G1(y),G1(T),{format:"recovered",prehash:!1}),f=C[0]??0,H=ef(C.slice(1,33)),U=ef(C.slice(33,65)),q=(f+27).toString(16).padStart(2,"0");return H+U+q}function y0({txID:y,raw_data_hex:T}){let C=ef(y8(G1(T)));if(y!==C)throw new f8("toolbox_tron_invalid_transaction_integrity",{expected:C,txID:y})}function x9(y){return`000000000000000000000000${ef(n9(y))}`}function I9(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=$9)throw new f8("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function f0(y){return y.map(({type:T,value:C})=>T==="address"?x9(C):I9(BigInt(C))).join("")}function q8(y){return ef(new TextEncoder().encode(y))}var Q1,T8=65,$9;var OC=V(()=>{Q1=F9(y8),$9=2n**256n});import{Chain as S9,getRPCUrlSync as o9,SwapKitError as Ny,warnOnce as _1}from"@swapkit/helpers";function G8(){try{return o9(S9.Tron)}catch{return X8}}function Q8(){let y=new AbortController,T=setTimeout(()=>y.abort(),p9);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function Rf(y,T){let{signal:C,cleanup:f}=Q8();try{let H=await fetch(`${G8()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:C});if(!H.ok)throw new Ny("toolbox_tron_trongrid_api_error",{message:`${H.status} ${H.statusText} on ${y}`});return await H.json()}finally{f()}}async function _8(y,T){let{signal:C,cleanup:f}=Q8();try{let H=await fetch(`${T??G8()}${y}`,{headers:{"Content-Type":"application/json"},signal:C});if(!H.ok)throw new Ny("toolbox_tron_trongrid_api_error",{message:`${H.status} ${H.statusText} on ${y}`});return await H.json()}finally{f()}}async function Z8(y){if(!Sy(y))throw new Ny("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await _8(`/v1/accounts/${y}`,X8);if(!(T.success&&T.data)||T.data.length===0)return;let C;try{C=H8(y).toLowerCase()}catch{C=y.toLowerCase()}let f=T.data.find((H)=>H.address.toLowerCase()===C);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(T){if(T instanceof Ny)throw T;throw new Ny("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function W8({from:y,to:T,amount:C}){let H=await Rf("/wallet/createtransaction",{amount:C,owner_address:y,to_address:T,visible:!0});if(!H.txID||!H.raw_data_hex||!H.raw_data)throw new Ny("toolbox_tron_transaction_creation_failed");let q=H.raw_data?.contract?.[0]?.parameter?.value;if(q?.to_address!==T||q?.owner_address!==y||q?.amount!==C)throw new Ny("toolbox_tron_transaction_creation_failed");return y0(H),H}async function Y8({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f,feeLimit:H,callValue:U=0}){let q=await Rf("/wallet/triggersmartcontract",{call_value:U,contract_address:T,fee_limit:H,function_selector:C,owner_address:y,parameter:f,visible:!0});if(!q.result.result||!q.transaction?.txID||!q.transaction?.raw_data_hex)throw new Ny("toolbox_tron_transaction_creation_failed");let G=q.transaction.raw_data?.contract?.[0]?.parameter?.value;if(G?.contract_address!==T||G?.owner_address!==y)throw new Ny("toolbox_tron_transaction_creation_failed");return y0(q.transaction),q.transaction}function J8({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f}){return Rf("/wallet/triggerconstantcontract",{contract_address:T,function_selector:C,owner_address:y,parameter:f,visible:!0})}function b9({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f}){return Rf("/wallet/estimateenergy",{contract_address:T,function_selector:C,owner_address:y,parameter:f,visible:!0})}async function b0(y){try{let{result:T,txid:C}=await Rf("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!T||!C)throw new Ny("toolbox_tron_token_transfer_failed");return C}catch(T){throw new Ny("toolbox_tron_broadcast_failed",{error:T})}}async function j0(){let y={};try{let{chainParameter:T}=await _8("/wallet/getchainparameters");for(let C of T)y[C.key]=C.value}catch(T){_1({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${T instanceof Error?T.message:T}`})}return{bandwidthFee:y.getTransactionFee??P9,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??V9,energyFee:y.getEnergyFee??E9,memoFee:y.getMemoFee??v9}}async function RC(y){try{let T=await Rf("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(T.freeNetLimit??600)-(T.freeNetUsed??0),total:T.NetLimit??0,used:T.NetUsed??0},energy:{total:T.EnergyLimit??0,used:T.EnergyUsed??0}}}catch(T){return _1({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${T instanceof Error?T.message:T}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function K0(y){try{let T=await Rf("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function kC(y){try{let T=await b9({...y,ownerAddress:y.sender}),C=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new Ny("toolbox_tron_trongrid_api_error",{message:T.result.message||"estimateenergy failed"});if(C!==void 0){if(Number.isFinite(C)&&C>0)return C;throw new Ny("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){_1({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${T instanceof Error?T.message:T}`})}try{let{energy_used:T}=await J8({...y,ownerAddress:y.sender});return T}catch(T){return _1({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${T instanceof Error?T.message:T}`}),65000}}async function L8({assetAddress:y,owner:T,spender:C}){let f=f0([{type:"address",value:T},{type:"address",value:C}]),U=(await J8({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:C,parameter:f})).constant_result?.[0];if(!U)return 0n;try{return BigInt(`0x${U}`)}catch{return 0n}}var X8="https://api.trongrid.io",P9=1000,V9=1e6,E9=420,v9=1e6,p9=30000;var z8=V(()=>{OC()});import{bytesToHex as j9}from"@noble/hashes/utils.js";import{HDKey as K9}from"@scure/bip32";import{mnemonicToSeedSync as l9}from"@scure/bip39";import{AssetValue as ay,BaseDecimal as Z1,Chain as ky,derivationPathToString as O8,getRPCUrl as u9,NetworkDerivationPath as R8,SwapKitError as _y,updateDerivationPath as k8,warnOnce as A8}from"@swapkit/helpers";import{match as h9,P as wC}from"ts-pattern";function F8({phrase:y,derivationPath:T}){let C=K9.fromMasterSeed(l9(y)).derive(T);if(!C.privateKey)throw new _y("toolbox_tron_no_signer");return j9(C.privateKey)}function $8({phrase:y,derivationPath:T,index:C}){let f=T||O8(k8(R8[ky.Tron],{index:C||0}));return F8({derivationPath:f,phrase:y})}function t9({phrase:y,derivationPath:T}){let C=F8({derivationPath:T,phrase:y}),f=C8(C);return{getAddress:()=>Promise.resolve(f),signTransaction:(H)=>{y0(H);let U=U8({privateKey:C,txID:H.txID});return Promise.resolve({...H,signature:[U]})}}}function D8({transaction:y,memo:T,expiration:C,feeLimit:f}){let H={},U={};if(f!==void 0&&y.raw_data)H.fee_limit=f,U.fee_limit=f;if(T){let G=q8(T);H.data=G,U.data=G}if(C){let G=y.raw_data.expiration+C*1000;H.expiration=G,U.expiration=G}if(Object.keys(H).length===0)return y;let{raw_data_hex:q,txID:X}=aU(y.raw_data_hex,H);return{...y,raw_data:{...y.raw_data,...U},raw_data_hex:q,txID:X}}function n8(y={}){let T="index"in y?y.index||0:0,C=O8("derivationPath"in y&&y.derivationPath?y.derivationPath:k8(R8[ky.Tron],{index:T})),f,H=!1;function U(){if(H)return Promise.resolve(f);return f=h9(y).with({phrase:wC.string},({phrase:Z})=>t9({derivationPath:C,phrase:Z})).with({signer:wC.not(wC.nullish)},({signer:Z})=>Z).otherwise(()=>{return}),H=!0,Promise.resolve(f)}async function q(){let Z=await U();if(!Z)throw new _y("toolbox_tron_no_signer");return Z.getAddress()}async function X(Z,L){let w=Z||N8,$=L??(await j0()).energyFee,F=w*$,n=Math.ceil(F*1.5);return Math.min(Math.max(n,1e7),150000000)}async function G({contractAddress:Z,functionSelector:L,parameter:w,sender:$,memo:F,expiration:n,extraEnergy:I=0}){let N=await kC({contractAddress:Z,functionSelector:L,parameter:w,sender:$}),x=await X(N+I),S=await Y8({contractAddress:Z,feeLimit:x,functionSelector:L,ownerAddress:$,parameter:w});return D8({expiration:n,feeLimit:x,memo:F,transaction:S})}async function Q(Z){if(!Sy(Z))return[ay.from({chain:ky.Tron})];try{let L=await Z8(Z);if(!L)return[ay.from({chain:ky.Tron})];let w=[ay.from({chain:ky.Tron,fromBaseDecimal:6,value:String(L.balance)})],$=L.trc20?.find((F)=>($C in F));if($){let F=$[$C];w.push(ay.from({asset:`TRON.USDT-${$C}`,fromBaseDecimal:6,value:F}))}return w}catch(L){return A8({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${L instanceof Error?L.message:L}`}),[ay.from({chain:ky.Tron})]}}async function Y({recipient:Z,assetValue:L,memo:w,expiration:$}){if(!Sy(Z))throw new _y("toolbox_tron_token_transfer_failed",{message:"invalid address"});let F=await U();if(!F)throw new _y("toolbox_tron_no_signer");try{let n=await q(),I=await D({assetValue:L,expiration:$,memo:w,recipient:Z,sender:n}),N=await F.signTransaction(I),x=await b0(N);if(!x)throw new _y("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return x}catch(n){throw new _y("toolbox_tron_token_transfer_failed",{message:n instanceof Error?n.message:String(n)})}}function z({requiredBandwidth:Z,resources:L,feePerUnit:w}){let $=Math.max(0,L.free+L.total-L.used);return Z>$?(Z-$)*w:0}async function W({memo:Z,recipient:L,senderAddress:w}){let[$,F,n]=await Promise.all([j0(),K0(L),RC(w)]),I=F?0:$.createAccountFee,N=z({feePerUnit:$.bandwidthFee,requiredBandwidth:M8,resources:n.bandwidth}),x=Z?$.memoFee:0;return ay.from({chain:ky.Tron,fromBaseDecimal:Z1.TRON,value:I+N+x})}async function _({assetValue:Z,memo:L,recipient:w,senderAddress:$}){let F=Z.address;if(!F)throw new _y("toolbox_tron_invalid_token_identifier",{identifier:Z.toString()});let[n,I,N,x]=await Promise.all([j0(),K0(w),RC($),kC({contractAddress:F,functionSelector:"transfer(address,uint256)",parameter:f0([{type:"address",value:w},{type:"uint256",value:Z.getBaseValue("string")}]),sender:$})]),p=x+(I?0:FC),E=z({feePerUnit:n.bandwidthFee,requiredBandwidth:B8,resources:N.bandwidth}),j=Math.max(0,N.energy.total-N.energy.used),h=p>j?(p-j)*n.energyFee:0,s=L?n.memoFee:0;return ay.from({chain:ky.Tron,fromBaseDecimal:Z1.TRON,value:E+h+s})}async function B({assetValue:Z,memo:L,recipient:w}){let[$,F]=await Promise.all([j0(),K0(w)]);if(Z.isGasAsset){let x=F?0:$.createAccountFee,S=L?$.memoFee:0;return ay.from({chain:ky.Tron,fromBaseDecimal:Z1.TRON,value:x+M8*$.bandwidthFee+S})}let I=await X(N8+(F?0:FC),$.energyFee),N=L?$.memoFee:0;return ay.from({chain:ky.Tron,fromBaseDecimal:Z1.TRON,value:I+B8*$.bandwidthFee+N})}async function M({assetValue:Z,memo:L,recipient:w,sender:$}){let F=await U();try{let n=$?$:F?await q():void 0;if(!n)return B({assetValue:Z,memo:L,recipient:w});return Z.isGasAsset?W({memo:L,recipient:w,senderAddress:n}):_({assetValue:Z,memo:L,recipient:w,senderAddress:n})}catch(n){throw A8({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${n instanceof Error?n.message:n}`}),new _y("toolbox_fee_estimation_failed",{chain:ky.Tron,error:n})}}async function D({recipient:Z,assetValue:L,memo:w,sender:$,expiration:F}){if(!Sy(Z)||!Sy($))throw new _y("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(L.isGasAsset){let N=await W8({amount:L.getBaseValue("number"),from:$,to:Z});return D8({expiration:F,memo:w,transaction:N})}let n=L.address;if(!n)throw new _y("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let I=await K0(Z);return G({contractAddress:n,expiration:F,extraEnergy:I?0:FC,functionSelector:"transfer(address,uint256)",memo:w,parameter:f0([{type:"address",value:Z},{type:"uint256",value:L.getBaseValue("string")}]),sender:$})}async function R(Z){y0(Z);let L=await U();if(!L)throw new _y("toolbox_tron_no_signer");return L.signTransaction(Z)}async function J(Z){let L=await R(Z);return b0(L)}function k({assetAddress:Z,spenderAddress:L,from:w}){return L8({assetAddress:Z,owner:w,spender:L})}async function O({assetAddress:Z,spenderAddress:L,from:w,amount:$}){let F=await k({assetAddress:Z,from:w,spenderAddress:L});if(!$)return F>0n;return F>=BigInt($)}async function A({assetAddress:Z,spenderAddress:L,amount:w,from:$}){if(!Sy(Z)||!Sy(L))throw new _y("toolbox_tron_approve_failed");let F=await U();if(!F)throw new _y("toolbox_tron_no_signer");let n=$||await q(),I=w!==void 0?BigInt(w).toString():m9;try{let N=await G({contractAddress:Z,functionSelector:"approve(address,uint256)",parameter:f0([{type:"address",value:L},{type:"uint256",value:I}]),sender:n}),x=await F.signTransaction(N),S=await b0(x);if(!S)throw new _y("toolbox_tron_approve_failed");return S}catch(N){if(N instanceof _y)throw N;throw new _y("toolbox_tron_approve_failed",{error:N})}}return{approve:A,broadcastTransaction:b0,createTransaction:D,estimateTransactionFee:M,getAddress:q,getApprovedAmount:k,getBalance:Q,getRpcUrl:()=>u9(ky.Tron),isApproved:O,signAndBroadcastTransaction:J,signTransaction:R,transfer:Y,validateAddress:Sy}}var w8,M8=268,N8=65000,FC=25000,B8=345,$C="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",m9="115792089237316195423570985008687907853269984665640564039457584007913129639935";var x8=V(()=>{sU();z8();OC();w8=Sy});var nC={};Ty(nC,{validateTronAddress:()=>w8,getTronToolbox:()=>n8,getTronPrivateKeyFromMnemonic:()=>$8});var xC=V(()=>{x8()});import{AssetValue as l0,Chain as Ky,derivationPathToString as c9,getChainConfig as g9,getRPCUrl as I8,NetworkDerivationPath as i9,SKConfig as d9,SwapKitError as T0}from"@swapkit/helpers";import{match as r9,P as a9}from"ts-pattern";function W1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return s9.test(y)}function e9(y){if(typeof y!=="object"||y===null)return;let T="response"in y?y.response:void 0;return typeof T?.status==="number"?T.status:void 0}function yQ(y){return e9(y)===504}function fQ(y){return y.hash?.().toString("hex")}function TQ(y){return[...new Set([y,...d9.get("rpcUrls")[Ky.Stellar]])].filter(Boolean)}async function HQ(y){if(!W1(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}function S8(y={}){let T,C=y.derivationPath||i9[Ky.Stellar],f=c9(C.slice(0,3));async function H({phrase:R,path:J}){let{HDKey:k}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:O}=await import("@scure/bip39"),{Keypair:A}=await import("@stellar/stellar-sdk"),Z=O(R),w=k.fromMasterSeed(Z).derive(J,!0);return A.fromRawEd25519Seed(Buffer.from(w.privateKey))}async function U(){if(T)return T;let R=r9(y).with({phrase:a9.string},({phrase:J})=>J).otherwise(()=>{return});if(!R)throw new T0("toolbox_stellar_no_signer");return T=await H({path:f,phrase:R}),T}async function q(R){let{Horizon:J}=await import("@stellar/stellar-sdk"),k=R||await I8(Ky.Stellar);return new J.Server(k)}async function X(R,J){for(let k of J)try{return(await(await q(k)).transactions().transaction(R).call()).hash||R}catch{}return}async function G(R,J){let k=await I8(Ky.Stellar),O=TQ(k),A=fQ(R),Z;for(let L of O)try{let w=await q(L),{hash:$}=await w.submitTransaction(R);return $}catch(w){if(Z=w,!yQ(w))break;let $=A?await X(A,O):void 0;if($)return $}throw new T0(J,Z)}async function Q(){try{return(await U()).publicKey()}catch{return""}}async function Y(R){let J=R||await Q();if(!J)throw new T0("toolbox_stellar_account_not_found");try{return(await(await q()).loadAccount(J)).balances.map((A)=>{if(A.asset_type==="native")return l0.from({chain:Ky.Stellar,value:A.balance});let Z="asset_code"in A?A.asset_code:"",L="asset_issuer"in A?A.asset_issuer:"";return l0.from({asset:`${Ky.Stellar}.${Z}-${L}`,asyncTokenLookup:!1,value:A.balance})})}catch{return[l0.from({chain:Ky.Stellar,value:0})]}}async function z({recipient:R,assetValue:J,memo:k,sender:O}){if(k){if(new TextEncoder().encode(k).length>28)throw new T0("helpers_invalid_memo_type")}if(!await HQ(R))throw new T0("core_transaction_invalid_recipient_address");let Z=O||await Q();if(!Z)throw new T0("toolbox_stellar_no_signer");let{Asset:L,Memo:w,Networks:$,Operation:F,TransactionBuilder:n}=await import("@stellar/stellar-sdk"),I=await q(),N=await I.fetchBaseFee(),x=await I.loadAccount(Z),S=new n(x,{fee:String(N),networkPassphrase:$.PUBLIC});if(J.isGasAsset)try{await I.loadAccount(R),S.addOperation(F.payment({amount:J.getValue("string"),asset:L.native(),destination:R}))}catch{S.addOperation(F.createAccount({destination:R,startingBalance:J.getValue("string")}))}else S.addOperation(F.payment({amount:J.getValue("string"),asset:new L(J.symbol,J.address),destination:R}));if(k)S.addMemo(w.text(k));return S.setTimeout(30).build()}async function W(R){let{TransactionBuilder:J,Networks:k}=await import("@stellar/stellar-sdk"),O=await U(),A=J.fromXDR(R.toXDR(),k.PUBLIC);return A.sign(O),A}function _(R){return G(R,"toolbox_stellar_broadcast_error")}async function B({recipient:R,assetValue:J,memo:k}){let O=await U(),A=O.publicKey(),Z=await z({assetValue:J,memo:k,recipient:R,sender:A});return Z.sign(O),G(Z,"toolbox_stellar_transaction_failed")}async function M(R){let J=await W(R);return _(J)}async function D(){let{baseDecimal:R}=g9(Ky.Stellar);try{let O=(await(await q()).feeStats()).fee_charged.p50;return l0.from({chain:Ky.Stellar,fromBaseDecimal:R,value:O})}catch{return l0.from({chain:Ky.Stellar,fromBaseDecimal:R,value:"100"})}}return{broadcastTransaction:_,createTransaction:z,estimateTransactionFee:D,getAddress:Q,getBalance:Y,signAndBroadcastTransaction:M,signTransaction:W,transfer:B,validateAddress:W1}}var s9;var o8=V(()=>{s9=/^G[A-Z2-7]{55}$/});var Y1={};Ty(Y1,{validateStellarAddress:()=>W1,getStellarToolbox:()=>S8});var J1=V(()=>{o8()});import{AssetValue as CQ,Chain as K,CosmosChains as IC,EVMChains as SC,FeeOption as UQ,SwapKitError as qQ,UTXOChains as V8}from"@swapkit/helpers";async function FJ(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:T}=await Promise.resolve().then(() => (h0(),u0)),{validateEVMAddress:C}=await Promise.resolve().then(() => (l1(),J5)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (g1(),c1)),{getCosmosAddressValidator:H}=await Promise.resolve().then(() => (DT(),BT)),{validateHyperCoreAddress:U}=await Promise.resolve().then(() => (RH(),OH)),{validateSolanaAddress:q}=await Promise.resolve().then(() => (nH(),$H)),{validateStarknetAddress:X}=await Promise.resolve().then(() => (IT(),xT)),{validateSuiAddress:G}=await Promise.resolve().then(() => (ET(),VT)),{validateTonAddress:Q}=await Promise.resolve().then(() => (bT(),pT)),{getUTXOAddressValidator:Y}=await Promise.resolve().then(() => (eH(),sH)),{validateNearAddress:z}=await Promise.resolve().then(() => (LC(),JC)),{validateRadixAddress:W}=await Promise.resolve().then(() => (MC(),AC)),{validateRippleAddress:_}=await Promise.resolve().then(() => (BC(),NC)),{validateTronAddress:B}=await Promise.resolve().then(() => (xC(),nC)),{validateStellarAddress:M}=await Promise.resolve().then(() => (J1(),Y1));return function({address:R,chain:J}){return y(J).with(...SC,()=>C(R)).with(...V8,(O)=>{return Y(O)(R)}).with(...IC,(O)=>{return H(O)(R)}).with(K.Aptos,()=>T(R)).with(K.Radix,()=>W(R)).with(K.Hype,()=>U(R)).with(K.Near,()=>z(R)).with(K.Ripple,()=>_(R)).with(K.Solana,()=>q(R)).with(K.Stellar,()=>M(R)).with(K.Starknet,()=>X(R)).with(K.Sui,()=>G(R)).with(K.Ton,()=>Q(R)).with(K.Tron,()=>B(R)).with(K.Cardano,()=>f(R)).otherwise(()=>!1)}}function $J(y){return async function(C){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...SC,async(H)=>{let U=await P8(H),q=await U.createTransaction(C),X="feeOptionKey"in C?C.feeOptionKey:UQ.Fast;return U.estimateTransactionFee({...q,feeOption:X})}).with(K.Bitcoin,K.BitcoinCash,K.Dogecoin,K.Dash,K.Litecoin,K.Solana,K.Ripple,K.Tron,K.Near,K.Cardano,K.Hype,async(H)=>{return(await P8(H)).estimateTransactionFee(C)}).with(K.Aptos,async()=>{let{getAptosToolbox:H}=await Promise.resolve().then(() => (h0(),u0));return H().estimateTransactionFee(C)}).with(K.Starknet,async()=>{let{getStarknetToolbox:H}=await Promise.resolve().then(() => (IT(),xT));return(await H()).estimateTransactionFee(C)}).with(K.Stellar,async()=>{let{getStellarToolbox:H}=await Promise.resolve().then(() => (J1(),Y1));return H().estimateTransactionFee()}).with(K.Sui,async()=>{let{getSuiToolbox:H}=await Promise.resolve().then(() => (ET(),VT));return H().estimateTransactionFee(C)}).with(K.Ton,async()=>{let{getTONToolbox:H}=await Promise.resolve().then(() => (bT(),pT));return H().estimateTransactionFee(C)}).with(...IC,async()=>{let{estimateTransactionFee:H}=await Promise.resolve().then(() => (DT(),BT));return H(C)}).otherwise(async()=>CQ.from({chain:y}))}}async function P8(y,T){let{match:C}=await import("ts-pattern");return C(y).returnType().with(...SC,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (K1(),Z5));return await f(y,T)}).with(...V8,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (eH(),sH));return f(y,T)}).with(...IC,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (DT(),BT));return f(y,T)}).with(K.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (h0(),u0));return f(T)}).with(K.Hype,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (RH(),OH));return f(T)}).with(K.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (MC(),AC));return f(T)}).with(K.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (BC(),NC));return f(T)}).with(K.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (nH(),$H));return f(T)}).with(K.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (J1(),Y1));return f(T)}).with(K.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (IT(),xT));return f(T)}).with(K.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (ET(),VT));return f(T)}).with(K.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (xC(),nC));return f(T)}).with(K.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (LC(),JC));return f(T)}).with(K.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (g1(),c1));return f(T)}).with(K.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (bT(),pT));return f(T)}).otherwise(()=>{throw new qQ("toolbox_not_supported",{chain:y})})}export{P8 as getToolbox,$J as getFeeEstimator,FJ as getAddressValidator};
|
|
1
|
+
var p8=Object.defineProperty;var l8=(y)=>y;function j8(y,T){this[y]=l8.bind(null,T)}var Ty=(y,T)=>{for(var H in T)p8(y,H,{get:T[H],enumerable:!0,configurable:!0,set:j8.bind(T,H)})};var E=(y,T)=>()=>(y&&(T=y(y=0)),T);var S=((y)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(y,{get:(T,H)=>(typeof require<"u"?require:T)[H]}):y)(function(y){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+y+'" is not supported')});import{AssetValue as HT,Chain as Ky,derivationPathToString as K8,getChainConfig as z1,getRPCUrlSync as VH,NetworkDerivationPath as u8,SwapKitError as Uy}from"@swapkit/helpers";import{match as bH,P as N1}from"ts-pattern";function Rf(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let T=y.slice(2);if(T.length===0||T.length>64)return!1;return h8.test(T)}function vH({derivationPath:y,provider:T,...H}={}){let f,C=K8(y||u8[Ky.Aptos],{allHardened:!0});async function U(){if(f)return f;return f=await bH(H).with({phrase:N1.string},async({phrase:J})=>{let{Ed25519Account:O}=await import("@aptos-labs/ts-sdk");return O.fromDerivationPath({mnemonic:J,path:C})}).with({signer:N1.any},({signer:J})=>J).otherwise(()=>{return}),f}async function o(){let{Aptos:J,AptosConfig:O,Network:D}=await import("@aptos-labs/ts-sdk"),W=new O({clientConfig:{http2:!1},fullnode:T||VH(Ky.Aptos),network:D.MAINNET});return new J(W)}async function q(){return(await U())?.accountAddress.toString()||""}async function X(J){let O=J||await q();if(!O)throw new Uy("toolbox_aptos_address_required");let{baseDecimal:D,chain:W}=z1(Ky.Aptos);try{let R=await o(),B=await R.getAccountAPTAmount({accountAddress:O}),A=[HT.from({chain:W,fromBaseDecimal:D,value:B.toString()})],_=await R.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:O}}}});for(let L of _){if(L.asset_type===Gf.COIN_TYPE||Number(L.amount)<=0)continue;let x=L.asset_type;if(x){let w=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??D;A.push(HT.from({asset:`${Ky.Aptos}.APT-${x}`,fromBaseDecimal:w,value:String(L.amount)}))}}return A}catch{return[HT.from({chain:W})]}}async function G(J){if(!J){let{baseDecimal:_}=z1(Ky.Aptos),L=T||VH(Ky.Aptos),x=await fetch(`${L}/estimate_gas_price`),{gas_estimate:k}=await x.json();return HT.from({chain:Ky.Aptos,fromBaseDecimal:_,value:String(k)})}let O=await U();if(!O)throw new Uy("toolbox_aptos_no_signer");let D=await M(J),W=await o(),[R]=await W.transaction.simulate.simple({signerPublicKey:O.publicKey,transaction:D});if(!R)throw new Uy("toolbox_aptos_transaction_creation_error");let B=BigInt(R.gas_used)*BigInt(R.gas_unit_price),{baseDecimal:A}=z1(Ky.Aptos);return HT.from({chain:Ky.Aptos,fromBaseDecimal:A,value:B.toString()})}async function M({recipient:J,assetValue:O,maxGasAmount:D,sender:W}){if(!Rf(J))throw new Uy("core_transaction_invalid_recipient_address");let R=W||await q();if(!R)throw new Uy("toolbox_aptos_no_sender");let{AccountAddress:B}=await import("@aptos-labs/ts-sdk"),A=await o(),_=B.from(R);try{let L=O.isGasAsset?Gf.TRANSFER:Gf.FUNGIBLE_STORE_TRANSFER,x=bH({address:O?.address,isGasAsset:O.isGasAsset}).with({isGasAsset:!0},()=>[B.from(J),O.getBaseValue("bigint")]).with({address:N1.string},({address:k})=>[B.from(k),B.from(J),O.getBaseValue("bigint")]).otherwise(()=>null);if(!x)throw new Uy("toolbox_aptos_missing_asset_type");return A.transaction.build.simple({data:{function:L,functionArguments:x,typeArguments:O.isGasAsset?[]:[Gf.FUNGIBLE_ASSET_METADATA]},options:D?{maxGasAmount:D}:void 0,sender:_})}catch(L){if(L instanceof Uy)throw L;throw new Uy("toolbox_aptos_transaction_creation_error",L)}}async function Y(J){let O=await U();if(!O)throw new Uy("toolbox_aptos_no_signer");return(await o()).transaction.sign({signer:O,transaction:J})}async function Z({assetValue:J,maxGasAmount:O,recipient:D}){let W=await U();if(!W)throw new Uy("toolbox_aptos_no_signer");if(!Rf(D))throw new Uy("core_transaction_invalid_recipient_address");try{let R=W.accountAddress.toString(),B=await M({assetValue:J,maxGasAmount:O,recipient:D,sender:R});return(await(await o()).signAndSubmitTransaction({signer:W,transaction:B})).hash}catch(R){if(R instanceof Uy)throw R;throw new Uy("toolbox_aptos_transaction_creation_error",R)}}async function Q({senderAuthenticator:J,transaction:O}){try{return(await(await o()).transaction.submit.simple({senderAuthenticator:J,transaction:O})).hash}catch(D){throw new Uy("toolbox_aptos_broadcast_error",D)}}async function N(J){let O=await Y(J);return Q({senderAuthenticator:O,transaction:J})}return{broadcastTransaction:Q,createTransaction:M,estimateTransactionFee:G,getAddress:q,getBalance:X,signAndBroadcastTransaction:N,signTransaction:Y,transfer:Z,validateAddress:Rf}}function pH({provider:y}){return async function({assetValue:H,recipient:f}){if(!Rf(f))throw new Uy("core_transaction_invalid_recipient_address");let{AccountAddress:C}=await import("@aptos-labs/ts-sdk");if(H.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[C.from(f).toString(),H.getBaseValue("string")],function:Gf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let U=H.address;if(!U)throw new Uy("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[U,C.from(f).toString(),H.getBaseValue("string")],function:Gf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Gf.FUNGIBLE_ASSET_METADATA]})).hash}}var Gf,h8;var lH=E(()=>{Gf={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"},h8=/^[0-9a-fA-F]+$/});var uT={};Ty(uT,{validateAptosAddress:()=>Rf,getAptosToolbox:()=>vH,createAptosExtensionTransfer:()=>pH});var hT=E(()=>{lH()});import{AssetValue as jH,getChainConfig as m8}from"@swapkit/helpers";import{SwapKitApi as t8}from"@swapkit/helpers/api";function KH(){function y(){let T=Date.now(),H=B1||T;return B1=H,T>B1?T:H+1}return c8+y().toString(36)}function Wy(y){return async function(H,f=!0){let C=await t8.getChainBalance({address:H,chain:y,scamFilter:f}),{baseDecimal:U}=m8(y),o=C.map(({identifier:X,value:G,decimal:M})=>{return new jH({decimal:M||U,identifier:X,value:G})});if(!o.some((X)=>X.isGasAsset))return[jH.from({chain:y}),...o];return o}}var c8,B1=0;var uy=E(()=>{c8=typeof process<"u"&&process.pid?process.pid.toString(36):""});function UT(y){return{getBalance:Wy(y)}}function g8(y){return y}var mT=E(()=>{uy()});import{Chain as d,getChainConfig as x1,getRPCUrl as i8,SwapKitError as tT}from"@swapkit/helpers";import{getAddress as hH,Interface as d8,JsonRpcProvider as r8}from"ethers";import{match as mH}from"ts-pattern";function tH(y){return new r8(y)}async function w1(y,T){return tH(T||await i8(y))}function oT(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function k1(y){let{explorerUrl:T,chainIdHex:H,rpcUrls:f}=x1(y);return function(){return y!==d.Ethereum?{...a8({chain:y}),blockExplorerUrls:[T],chainId:H,rpcUrls:f}:void 0}}function n1(y){return![d.Adi,d.Arbitrum,d.BinanceSmartChain].includes(y)}function a8({chain:y}){let{name:T,nativeCurrency:H,baseDecimal:f}=x1(y);return mH(y).with(d.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:d.Ethereum}})).with(d.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:d.Ethereum}})).with(d.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(d.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:d.Ethereum}})).with(d.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(d.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(d.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(d.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(d.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:d.Ethereum}})).with(d.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:d.Polygon}})).otherwise(()=>({chainName:T,nativeCurrency:{decimals:f,name:H,symbol:H}}))}async function $1(y,T){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let H={...T,nonce:T.nonce!==void 0?BigInt(T.nonce):void 0};return await y.authorize(H)}function cH(y,T){let H=T!==void 0?`index ${T}: `:"",f=(C,U)=>{throw new tT({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:C,message:`${H}${U}`}})};mH(y).when(({chainId:C})=>typeof C!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:C})=>!s8(C),()=>f("address","address must be a valid checksummed address")).when(({nonce:C})=>typeof C!=="bigint"||C<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:C})=>!C,()=>f("signature","signature is required")).when(({signature:C})=>typeof C?.yParity!=="number"||![0,1].includes(C.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:C})=>!uH(C?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:C})=>!uH(C?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function gH(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:T})=>y[T]!=null).map(({key:T,type:H})=>({name:T,type:H}))}function O1(y){return y.charAt(0).toUpperCase()+y.slice(1)}function D1(y,T){if(y.isTuple()&&y.components){let H=O1(y.name);return T[H]=y.components.map((f)=>({name:f.name,type:D1(f,T)})),H}if(y.isArray()){let H=y.arrayChildren;if(H?.isTuple()&&H.components){let f=O1(y.name.replace(/s$/,""));return T[f]=H.components.map((C)=>({name:C.name,type:D1(C,T)})),`${f}[]`}return`${H?.type??"bytes"}[]`}return y.type}function R1(y,T){if(typeof y==="bigint")return y;if(T?.isTuple()&&typeof y?.toObject==="function"){let H=y.toObject(),f={};for(let[C,U]of(T.components??[]).entries())f[U.name]=R1(H[U.name]??y[C],U);return f}if(Array.isArray(y)){let H=T?.arrayChildren;return y.map((f)=>R1(f,H??void 0))}return y}function e8({chain:y,abi:T,data:H,to:f}){let U=new d8(T).parseTransaction({data:H});if(!U)throw new tT({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let o={},q=O1(U.name);o[q]=U.fragment.inputs.map((Z)=>({name:Z.name,type:D1(Z,o)}));let X={};for(let[Z,Q]of U.fragment.inputs.entries())X[Q.name]=R1(U.args[Z],Q);let{chainId:G}=x1(y),M={chainId:Number(G),verifyingContract:hH(f)},Y=gH(M);return{domain:M,message:X,primaryType:q,types:{EIP712Domain:Y,...o}}}function F1(y,T){if(!Array.isArray(y)||y.length===0)throw new tT({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[H,f]of y.entries())if(cH(f,H),T!==void 0&&f.chainId!==T)throw new tT({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${H}: authorization chainId (${f.chainId}) does not match transaction chainId (${T})`}})}var uH=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),s8=(y)=>{try{return typeof y==="string"&&!!hH(y)}catch{return!1}};var qT=()=>{};var iH;var dH=E(()=>{iH=[{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"}]});import{AssetValue as yo,applyFeeMultiplierToBigInt as Ly,Chain as wy,EVMChains as fo,FeeOption as u,isGasAsset as To,SwapKitError as c,SwapKitNumber as cT}from"@swapkit/helpers";import{erc20ABI as XT}from"@swapkit/helpers/contracts";import{BrowserProvider as Co,Contract as rH,getAddress as gT,Interface as aH}from"ethers";import{match as sH}from"ts-pattern";function xf({chain:y=wy.Ethereum,provider:T,signer:H,isEIP1559Compatible:f=!0}){return{approve:Xo({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),approvedAmount:f5({chain:y,provider:T}),broadcastTransaction:T.broadcastTransaction,call:V1({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),createApprovalTx:Zo({chain:y,provider:T,signer:H}),createContract:S1({chain:y,provider:T}),createContractTxObject:Qf({chain:y,provider:T}),createTransaction:I1({chain:y,provider:T,signer:H}),createTransferTx:I1({chain:y,provider:T,signer:H}),EIP1193SendTransaction:kf(T),estimateCall:T5({provider:T,signer:H}),estimateGasLimit:Qo({chain:y,provider:T,signer:H}),estimateGasPrices:_f({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:Mo({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return H?H.getAddress():void 0},getBalance:UT(y).getBalance,getNetworkParams:k1(y),isApproved:qo({chain:y,provider:T}),sendTransaction:C5({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),signAuthorization:_o({signer:H}),signMessage:H?(C)=>H.signMessage(C):void 0,signTypedData:H?({domain:C,types:U,value:o})=>H.signTypedData(C,U,o):void 0,transfer:Go({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),validateAddress:QT}}function QT(y){try{return gT(y),!0}catch{return!1}}function wf(y){return y instanceof Co}function _T(y,T,H){return new rH(y,aH.from(T),H)}function S1({provider:y}){return function(H,f){return new rH(H,aH.from(f),y)}}function P1({abi:y,funcName:T}){let H=y.find((f)=>f.name===T);if(!H)throw new c("toolbox_evm_no_abi_fragment",{funcName:T});return H.stateMutability&&Ho.includes(H.stateMutability)}function eH(y){return gT(y)}function kf(y){return function({value:H,...f}){if(!wf(y))throw new c("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:C,gasPrice:U,maxFeePerGas:o,maxPriorityFeePerGas:q,...X}=f;return y.send("eth_sendTransaction",[{...X,value:oT(BigInt(H||0))}])}}function y5(y,T){let H=nf(y,T);if(H)return gT(H.toLowerCase());throw new c("toolbox_evm_invalid_gas_asset_address")}function nf({chain:y,symbol:T,ticker:H},f){try{let C=y===wy.BinanceSmartChain&&T==="BNB"&&H==="BNB",U=y===wy.Hyperevm&&T==="HYPE"&&H==="HYPE",o=y===f&&T===f&&H===f,q=oo.includes(y)&&T==="ETH"&&H==="ETH";if(o||C||U||q)return E1[f];return gT(T.slice(H.length+1).replace(/^0X/,""))}catch{return null}}function Qf({provider:y}){return async({contractAddress:T,abi:H,funcName:f,funcParams:C=[],txOverrides:U})=>_T(T,H,y).getFunction(f).populateTransaction(...C.concat(U).filter((o)=>typeof o<"u"))}function _f({chain:y,provider:T,isEIP1559Compatible:H=!0}){return sH(y).with(wy.Gnosis,()=>{return async function(){try{let{gasPrice:C,maxPriorityFeePerGas:U}=await T.getFeeData();if(!C||U===null)throw new c("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:Ly(C,u.Average),maxPriorityFeePerGas:Ly(U,u.Average)},[u.Fast]:{maxFeePerGas:Ly(C,u.Fast),maxPriorityFeePerGas:Ly(U,u.Fast)},[u.Fastest]:{maxFeePerGas:Ly(C,u.Fastest),maxPriorityFeePerGas:Ly(U,u.Fastest)}}}catch(C){throw new c("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}).with(wy.Arbitrum,()=>{return async function(){try{let{gasPrice:C}=await T.getFeeData();if(!C)throw new c("toolbox_evm_no_fee_data");let U=C*12n/10n;return{[u.Average]:{gasPrice:U},[u.Fast]:{gasPrice:Ly(U,u.Fast)},[u.Fastest]:{gasPrice:Ly(U,u.Fastest)}}}catch(C){throw new c("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:C,maxPriorityFeePerGas:U,gasPrice:o}=await T.getFeeData();if(H){if(C===null||U===null)throw new c("toolbox_evm_no_fee_data");return{[u.Average]:{maxFeePerGas:C,maxPriorityFeePerGas:U},[u.Fast]:{maxFeePerGas:Ly(C,u.Fast),maxPriorityFeePerGas:Ly(U,u.Fast)},[u.Fastest]:{maxFeePerGas:Ly(C,u.Fastest),maxPriorityFeePerGas:Ly(U,u.Fastest)}}}if(!o)throw new c("toolbox_evm_no_gas_price");return{[u.Average]:{gasPrice:o},[u.Fast]:{gasPrice:Ly(o,u.Fast)},[u.Fastest]:{gasPrice:Ly(o,u.Fastest)}}}catch(C){throw new c("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}})}function V1({provider:y,isEIP1559Compatible:T,signer:H,chain:f}){return async function({callProvider:U,contractAddress:o,abi:q,funcName:X,funcParams:G=[],txOverrides:M={},feeOption:Y=u.Fast}){let Z=U||y;if(!o)throw new c("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=P1({abi:q,funcName:X});if(Q&&wf(Z)&&H){let O=Qf({chain:f,provider:Z}),D=M?.from||await H?.getAddress(),W=await O({abi:q,contractAddress:o,funcName:X,funcParams:G,txOverrides:{...M,from:D}});return kf(Z)(W)}let N=_T(o,q,Z);if(Q){if(!H)throw new c("toolbox_evm_no_signer");let O=M?.from||await H.getAddress();if(!O)throw new c("toolbox_evm_no_signer_address");let D=N.connect(H),W=_f({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:R,maxPriorityFeePerGas:B,gasPrice:A}=(await W())[Y],_=await N.getFunction(X).estimateGas(...G,M),L=await D[X](...G,{...M,gasLimit:_,gasPrice:A,maxFeePerGas:R,maxPriorityFeePerGas:B,nonce:M?.nonce||await Z.getTransactionCount(O)});return typeof L?.hash==="string"?L?.hash:L}let J=await N[X]?.(...G);return typeof J?.hash==="string"?J?.hash:J}}function f5({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:C,from:U}){return V1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:XT,contractAddress:f,funcName:"allowance",funcParams:[U,C]})}}function qo({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:C,from:U,amount:o=GT}){let q=await f5({chain:T,provider:y})({assetAddress:f,from:U,spenderAddress:C});return cT.fromBigInt(q).gte(cT.fromBigInt(BigInt(o)))}}function Xo({signer:y,isEIP1559Compatible:T=!0,provider:H,chain:f}){return async function({assetAddress:U,spenderAddress:o,feeOptionKey:q=u.Fast,amount:X,gasLimitFallback:G,from:M,nonce:Y}){let Z=[o,BigInt(X||GT)],Q=await y?.getAddress()||M,N={abi:XT,contractAddress:U,funcName:"approve",funcParams:Z,signer:y,txOverrides:{from:Q}};if(wf(H)){let O=Qf({chain:f,provider:H}),D=kf(H),W=await O(N);return D(W)}return V1({chain:f,isEIP1559Compatible:T,provider:H,signer:y})({...N,feeOption:q,funcParams:Z,txOverrides:{from:Q,gasLimit:G?BigInt(G.toString()):void 0,nonce:Y}})}}function Go({signer:y,isEIP1559Compatible:T=!0,provider:H}){return async function({assetValue:C,memo:U,recipient:o,feeOptionKey:q=u.Fast,sender:X,...G}){let{hexlify:M,toUtf8Bytes:Y}=await import("ethers"),Z=C.getBaseValue("bigint"),Q=C.chain,N=X||await y?.getAddress(),J=C5({chain:Q,isEIP1559Compatible:T,provider:H,signer:y});if(!N)throw new c("toolbox_evm_no_from_address");if(C.isGasAsset){let A={...G,data:M(Y(U||"")),feeOptionKey:q,from:N,to:o,value:Z};return J(A)}if(!nf(C,Q))throw new c("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:W,gasPrice:R}=(await _f({chain:Q,isEIP1559Compatible:T,provider:H})())[q],B=await I1({chain:Q,provider:H,signer:y})({assetValue:C,data:M(Y(U||"")),gasPrice:R,maxFeePerGas:D,maxPriorityFeePerGas:W,memo:U,recipient:o,sender:N});return J(B)}}function T5({provider:y,signer:T}){return function({contractAddress:f,abi:C,funcName:U,funcParams:o=[],txOverrides:q}){if(!f)throw new c("toolbox_evm_no_contract_address");let X=_T(f,C,y);return T?X.connect(T).getFunction(U).estimateGas(...o,q):X.getFunction(U).estimateGas(...o,q)}}function Qo({provider:y,signer:T}){return async function({assetValue:f,recipient:C,memo:U,data:o,sender:q,funcName:X,funcParams:G,txOverrides:M}){let Y=f.bigIntValue,Z=f.isGasAsset?null:nf(f,f.chain);if(Z&&X)return T5({provider:y,signer:T})({abi:XT,contractAddress:Z,funcName:X,funcParams:G,txOverrides:M});let{hexlify:Q,toUtf8Bytes:N}=await import("ethers");return y.estimateGas({data:o?o:U?Q(N(U)):void 0,from:q,to:C,value:Y})}}function _o({signer:y}){if(!y)return;return(T)=>$1(y,T)}function C5({provider:y,signer:T,isEIP1559Compatible:H=!0,chain:f}){return async function({feeOptionKey:U=u.Fast,...o}){let{from:q,to:X,data:G,value:M,...Y}=o;if(!T)throw new c("toolbox_evm_no_signer");if(!X)throw new c("toolbox_evm_no_to_address");let Z={...Y,data:G||"0x",from:q,to:X,value:BigInt(M||0)};if(wf(y))return kf(y)(Z);let Q=q||await T.getAddress(),N=o.nonce||await y.getTransactionCount(Q),J=(await y.getNetwork()).chainId,O=v1(Z,H);if(O==="eip7702")F1(Z.authorizations||[],J);let D=sH(O).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),W={...Z,chainId:J,nonce:N,type:D,...O==="eip7702"&&{authorizationList:Z.authorizations}},R=_f({chain:f,isEIP1559Compatible:H,provider:y}),A=O!=="legacy"&&!(Z.maxFeePerGas&&Z.maxPriorityFeePerGas)||!Z.gasPrice?Object.entries((await R())[U]).reduce((L,[x,k])=>({...L,[x]:oT(BigInt(k))}),{}):{},_;try{_=oT(Z.gasLimit||await y.estimateGas(W)*11n/10n)}catch(L){throw new c("toolbox_evm_error_estimating_gas_limit",{error:L})}try{let L={...W,gasLimit:_,...A};try{return(await T.sendTransaction(L)).hash}catch{let x=await T.signTransaction({...L,from:Q});return(await y.broadcastTransaction(x)).hash}}catch(L){throw new c("toolbox_evm_error_sending_transaction",{error:L})}}}function I1({provider:y,signer:T}){return async function({assetValue:f,memo:C,recipient:U,data:o,sender:q,maxFeePerGas:X,maxPriorityFeePerGas:G,gasPrice:M,...Y}){let Z=f.getBaseValue("bigint"),Q=f.chain,N=q||await T?.getAddress();if(!N)throw new c("toolbox_evm_no_from_address");if(To(f)){let{hexlify:D,toUtf8Bytes:W}=await import("ethers");return{...Y,data:o||D(W(C||"")),from:N,to:U,value:Z}}let J=nf(f,Q);if(!J)throw new c("toolbox_evm_no_contract_address");return Qf({chain:f.chain,provider:y})({abi:XT,contractAddress:J,funcName:"transfer",funcParams:[U,Z],txOverrides:{from:N,gasPrice:M,maxFeePerGas:X,maxPriorityFeePerGas:G}})}}function Zo({provider:y,signer:T,chain:H}){return async function({assetAddress:C,spenderAddress:U,amount:o,from:q}){let X=await T?.getAddress()||q,G=Qf({chain:H,provider:y}),M=["bigint","number"].includes(typeof o)?o:o||GT;return await G({abi:XT,contractAddress:C,funcName:"approve",funcParams:[U,BigInt(M)],txOverrides:{from:X}})}}function Mo({provider:y,isEIP1559Compatible:T=!0,chain:H}){return async function({feeOption:C=u.Fast,...U}){let q=await _f({chain:H,isEIP1559Compatible:T,provider:y})(),X=await y.estimateGas(U),G=yo.from({chain:H}),{gasPrice:M,maxFeePerGas:Y,maxPriorityFeePerGas:Z}=q[C];if(!T&&M)return G.set(cT.fromBigInt(M*X,G.decimal));if(Y&&Z){let Q=(Y+Z)*X;return G.set(cT.fromBigInt(Q,G.decimal))}throw new c("toolbox_evm_no_gas_price")}}var GT,Ho,Uo,E1,oo,iT=(y)=>y.type===4||(y.authorizations?.length??0)>0,b1=(y)=>!iT(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),v1=(y,T=!0)=>{if(iT(y))return"eip7702";if(b1(y)||T)return"eip1559";return"legacy"};var dT=E(()=>{mT();qT();GT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Ho=["payable","nonpayable"];Uo=fo.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),E1={...Uo,[wy.Optimism]:"0x4200000000000000000000000000000000000042",[wy.Polygon]:"0x0000000000000000000000000000000000001010"},oo=[wy.Arbitrum,wy.Aurora,wy.Base,wy.Optimism]});import{Chain as r,FeeOption as Wo}from"@swapkit/helpers";import{HDNodeWallet as Lo}from"ethers";import{match as Yo,P as H5}from"ts-pattern";function rT(y){let T=a(r.Ethereum)(y);async function H(f,C="0x5ba1e12693dc8f9c48aad8770482f4739beed696",U="aggregate",o=Wo.Fast){let q=await T.createContractTxObject({abi:iH,contractAddress:C,funcName:U,funcParams:[f]});return T.sendTransaction({...q,feeOptionKey:o})}return{...T,multicall:H}}function a(y){return function({provider:H,...f}){let C=n1(y),U=Yo(f).with({phrase:H5.string},({phrase:q})=>Lo.fromPhrase(q).connect(H)).with({signer:H5.any},({signer:q})=>q).otherwise(()=>{return});return xf({chain:y,isEIP1559Compatible:C,provider:H,signer:U})}}var aT,sT,eT,y0,f0,T0,C0,U5,H0,U0,o0,q0,X0,G0,Q0,_0,Z0,M0,ZT,W0,L0;var p1=E(()=>{dH();qT();dT();aT=a(r.Adi),sT=a(r.Arbitrum),eT=a(r.Aurora),y0=a(r.Avalanche),f0=a(r.Base),T0=a(r.Berachain),C0=a(r.BinanceSmartChain),U5=a(r.Botanix),H0=a(r.Core),U0=a(r.Corn),o0=a(r.Cronos),q0=a(r.Gnosis),X0=a(r.Hyperevm),G0=a(r.Linea),Q0=a(r.Polygon),_0=a(r.MegaETH),Z0=a(r.Monad),M0=a(r.Plasma),ZT=a(r.Sonic),W0=a(r.Unichain),L0=a(r.XLayer)});var o5;var q5=E(()=>{o5=[{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"}]});import{applyFeeMultiplierToBigInt as $f,Chain as Jo,FeeOption as hy,SwapKitError as l1}from"@swapkit/helpers";import{Contract as zo,HDNodeWallet as No}from"ethers";import{match as Bo,P as X5}from"ts-pattern";function j1(y){return new zo(Oo,o5,y)}function G5(y){return async function(){let H=j1(y);if(H&&"l1BaseFee"in H)return await H?.l1BaseFee();return}}function Q5(y){return async function({from:H,to:f,nonce:C,...U}){let{Transaction:o}=await import("ethers");if(!f)throw new l1("toolbox_evm_invalid_transaction",{error:"Missing to address"});return o.from({...U,authorizationList:U.authorizationList,nonce:C?C:H?await y.getTransactionCount(H):0,to:f}).serialized}}function _5(y){return async function(H){let f=j1(y),C=await Q5(y)(H);if(f&&"getL1Fee"in f)return f.getL1Fee(C)}}function Z5(y){return async function(H){let C=(await y.getFeeData()).gasPrice??0n,U=await y.estimateGas(H);return C*U}}function Do(y){return async function(H){let f=await _5(y)(H)??0n,C=await Z5(y)(H);return f+C}}function Ro(y){return async function(H){let f=j1(y),C=await Q5(y)(H);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(C)}}function xo(y){return async function(){try{let{maxFeePerGas:H,maxPriorityFeePerGas:f,gasPrice:C}=await y.getFeeData(),U=await G5(y)(),o=C;if(!(H&&f))throw new l1("toolbox_evm_no_fee_data");return{[hy.Average]:{gasPrice:o,l1GasPrice:U,maxFeePerGas:H,maxPriorityFeePerGas:f},[hy.Fast]:{gasPrice:$f(o,hy.Fast),l1GasPrice:$f(U||0n,hy.Fast),maxFeePerGas:H,maxPriorityFeePerGas:$f(f,hy.Fast)},[hy.Fastest]:{gasPrice:$f(o,hy.Fastest),l1GasPrice:$f(U||0n,hy.Fastest),maxFeePerGas:H,maxPriorityFeePerGas:$f(f,hy.Fastest)}}}catch(H){throw new l1("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}function Y0({provider:y,...T}){let H=Bo(T).with({phrase:X5.string},({phrase:U})=>No.fromPhrase(U).connect(y)).with({signer:X5.any},({signer:U})=>U).otherwise(()=>{return}),f=xf({provider:y,signer:H}),C=G5(y);return{...f,estimateGasPrices:xo(y),estimateL1Gas:Ro(y),estimateL1GasCost:_5(y),estimateL2GasCost:Z5(y),estimateTotalGasCost:Do(y),getBalance:UT(Jo.Optimism).getBalance,getL1GasPrice:C}}var Oo="0x420000000000000000000000000000000000000f";var K1=E(()=>{mT();q5();dT()});var W5={};Ty(W5,{validateEVMAddress:()=>QT,toChecksumAddress:()=>eH,isStateChangingCall:()=>P1,isEIP7702Transaction:()=>iT,isEIP1559Transaction:()=>b1,isBrowserProvider:()=>wf,getTokenAddress:()=>nf,getEvmToolboxAsync:()=>M5,getEvmToolbox:()=>u1,getEstimateGasPrices:()=>_f,getEVMTxType:()=>v1,getEIP1193SendTransaction:()=>kf,getCreateContractTxObject:()=>Qf,getCreateContract:()=>S1,getChecksumAddressFromAsset:()=>y5,createContract:()=>_T,XLayerToolbox:()=>L0,UNIToolbox:()=>W0,SONICToolbox:()=>ZT,PLASMAToolbox:()=>M0,OPToolbox:()=>Y0,MONADToolbox:()=>Z0,MEGAETHToolbox:()=>_0,MAX_APPROVAL:()=>GT,MATICToolbox:()=>Q0,LINEAToolbox:()=>G0,HYPEREVMToolbox:()=>X0,GNOToolbox:()=>q0,ETHToolbox:()=>rT,ContractAddress:()=>E1,CROToolbox:()=>o0,CORNToolbox:()=>U0,COREToolbox:()=>H0,BotanixToolbox:()=>U5,BaseEVMToolbox:()=>xf,BSCToolbox:()=>C0,BERAToolbox:()=>T0,BASEToolbox:()=>f0,AVAXToolbox:()=>y0,AURORAToolbox:()=>eT,ARBToolbox:()=>sT,ADIToolbox:()=>aT});import{Chain as g}from"@swapkit/helpers";import{match as wo}from"ts-pattern";function u1(y,T){return wo(y).with(g.Adi,()=>aT(T)).with(g.Arbitrum,()=>sT(T)).with(g.Aurora,()=>eT(T)).with(g.Avalanche,()=>y0(T)).with(g.Base,()=>f0(T)).with(g.Berachain,()=>T0(T)).with(g.BinanceSmartChain,()=>C0(T)).with(g.Botanix,()=>ZT(T)).with(g.Core,()=>H0(T)).with(g.Corn,()=>U0(T)).with(g.Cronos,()=>o0(T)).with(g.Ethereum,()=>rT(T)).with(g.Gnosis,()=>q0(T)).with(g.Hyperevm,()=>X0(T)).with(g.Linea,()=>G0(T)).with(g.MegaETH,()=>_0(T)).with(g.Monad,()=>Z0(T)).with(g.Optimism,()=>Y0(T)).with(g.Plasma,()=>M0(T)).with(g.Polygon,()=>Q0(T)).with(g.Sonic,()=>ZT(T)).with(g.Unichain,()=>W0(T)).with(g.XLayer,()=>L0(T)).exhaustive()}async function M5(y,T){let H={...T,provider:T?.provider||await w1(y)};return u1(y,H)}var h1=E(()=>{qT();p1();K1();dT();p1();K1()});var L5;var Y5=E(()=>{((H)=>{H.Test="goerli";H.Main="homestead"})(L5||={})});var A5={};Ty(A5,{validateEVMAddress:()=>QT,validateAuthorizations:()=>F1,validateAuthorization:()=>cH,toHexString:()=>oT,toChecksumAddress:()=>eH,signAuthorization:()=>$1,parseEIP712FromEVMTx:()=>e8,isStateChangingCall:()=>P1,isEIP7702Transaction:()=>iT,isEIP1559Transaction:()=>b1,isBrowserProvider:()=>wf,getTokenAddress:()=>nf,getProviderSync:()=>tH,getProvider:()=>w1,getNetworkParams:()=>k1,getIsEIP1559Compatible:()=>n1,getEvmToolboxAsync:()=>M5,getEvmToolbox:()=>u1,getEvmApi:()=>UT,getEstimateGasPrices:()=>_f,getEVMTxType:()=>v1,getEIP1193SendTransaction:()=>kf,getCreateContractTxObject:()=>Qf,getCreateContract:()=>S1,getChecksumAddressFromAsset:()=>y5,createCustomEvmApi:()=>g8,createContract:()=>_T,buildEIP712DomainType:()=>gH,XLayerToolbox:()=>L0,UNIToolbox:()=>W0,SONICToolbox:()=>ZT,PLASMAToolbox:()=>M0,OPToolbox:()=>Y0,MONADToolbox:()=>Z0,MEGAETHToolbox:()=>_0,MAX_APPROVAL:()=>GT,MATICToolbox:()=>Q0,LINEAToolbox:()=>G0,HYPEREVMToolbox:()=>X0,GNOToolbox:()=>q0,EthNetwork:()=>L5,ETHToolbox:()=>rT,ContractAddress:()=>E1,CROToolbox:()=>o0,CORNToolbox:()=>U0,COREToolbox:()=>H0,BotanixToolbox:()=>U5,BaseEVMToolbox:()=>xf,BSCToolbox:()=>C0,BERAToolbox:()=>T0,BASEToolbox:()=>f0,AVAXToolbox:()=>y0,AURORAToolbox:()=>eT,ARBToolbox:()=>sT,ADIToolbox:()=>aT});var m1=E(()=>{mT();qT();h1();Y5()});import{bech32 as ko}from"@scure/base";import{mnemonicToEntropy as no}from"@scure/bip39";import{wordlist as $o}from"@scure/bip39/wordlists/english.js";import{Bip32PrivateKey as Fo}from"@stricahq/bip32ed25519";import{Transaction as Io,types as g1,address as So,crypto as t1,utils as J5}from"@stricahq/typhonjs";import{AssetValue as Ff,Chain as Zf,getChainConfig as Po,SwapKitError as MT}from"@swapkit/helpers";import Ny from"bignumber.js";async function i1(y,T){let H=await fetch(`${O5}${y}`,{...T,headers:{project_id:B5,...T?.headers}});if(!H.ok)throw Error(`Blockfrost API error: ${H.status} ${H.statusText}`);return H.json()}async function D5(y){try{return await i1(`/addresses/${y}/utxos`)}catch{return[]}}async function Vo(){return(await i1("/blocks/latest")).slot}async function bo(){let y=await i1("/epochs/latest/parameters"),T={PlutusScriptV1:y.cost_models.PlutusV1?Object.values(y.cost_models.PlutusV1):[],PlutusScriptV2:y.cost_models.PlutusV2?Object.values(y.cost_models.PlutusV2):[],PlutusScriptV3:y.cost_models.PlutusV3?Object.values(y.cost_models.PlutusV3):[]};return{collateralPercent:new Ny(y.collateral_percent),languageView:T,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new Ny(y.min_fee_a),minFeeB:new Ny(y.min_fee_b),minFeeRefScriptCostPerByte:new Ny(15),priceMem:new Ny(y.price_mem),priceSteps:new Ny(y.price_step),stakeKeyDeposit:new Ny(2000000),utxoCostPerByte:new Ny(y.coins_per_utxo_size)}}async function N5(y){let T=await fetch(`${O5}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:B5},method:"POST"});if(!T.ok){let H=await T.text();throw Error(`Transaction submission failed: ${H}`)}return T.json()}function vo(y,T){return y.map((H)=>{let f=H.amount.find((o)=>o.unit==="lovelace"),C=f?new Ny(f.quantity):new Ny(0),U=H.amount.filter((o)=>o.unit!=="lovelace").map((o)=>({amount:new Ny(o.quantity),assetName:o.unit.slice(56),policyId:o.unit.slice(0,56)}));return{address:T,amount:C,index:H.output_index,tokens:U,txId:H.tx_hash}})}async function po(y){try{let T=await D5(y),H=0n,f=new Map;for(let o of T){if(!o.amount||!Array.isArray(o.amount))continue;for(let q of o.amount){let{unit:X,quantity:G}=q;if(X==="lovelace")H+=BigInt(G);else{let M=f.get(X)||0n;f.set(X,M+BigInt(G))}}}let C=[],{baseDecimal:U}=Po(Zf.Cardano);if(H>0n)C.push(Ff.from({chain:Zf.Cardano,fromBaseDecimal:U,value:H.toString()}));for(let[o,q]of f)C.push(Ff.from({asset:`${Zf.Cardano}.${o}`,value:q.toString()}));if(C.length===0)return[Ff.from({chain:Zf.Cardano})];return C}catch(T){let H=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${H}`),[Ff.from({chain:Zf.Cardano})]}}function R5(y){if(!y||typeof y!=="string")return!1;try{let T=ko.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function lo(y,T=0,H=0){let f=no(y,$o),U=(await Fo.fromEntropy(Buffer.from(Array.from(f)))).derive(c1+1852).derive(c1+1815).derive(c1+T),o=U.derive(0).derive(H),q=o.toBip32PublicKey().toPublicKey().toBytes(),X=t1.hash28(q),M=U.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),Y=t1.hash28(M),Z={hash:X,type:g1.HashType.ADDRESS},Q={hash:Y,type:g1.HashType.ADDRESS},J=new So.BaseAddress(Eo,Z,Q).getBech32(),O=o.toPrivateKey();return{getAddress:()=>J,publicKey:q,publicKeyHash:X,signTransaction:async(D)=>{try{let W=await import("@stricahq/cbors"),R=Buffer.from(D,"hex"),B=W.Decoder.decode(R),[A,_,L,x]=B.value,k=W.Encoder.encode(A),w=t1.hash32(k),n=O.sign(w),F=_ instanceof Map?_:new Map,z=F.get(z5)||[];z.push([q,n]),F.set(z5,z);let $=[A,F,L,x];return W.Encoder.encode($).toString("hex")}catch(W){throw new MT("toolbox_cardano_sign_transaction_failed",{message:String(W)})}}}}function jo(y){let T,H,f;async function C(){if(!f)f=await bo();return f}async function U(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let Q=y.index??0;return T=await lo(y.phrase,0,Q),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function o(){if(H)return H;let Q=await U();if(!Q)return"";if("getAddress"in Q)return H=await Q.getAddress(),H;return""}async function q(Q){let N=Q||await o();if(!N)throw new MT("core_wallet_connection_not_found");return po(N)}async function X(Q){if(Q)try{let{tx:D}=await G(Q),W=D.getFee();return Ff.from({chain:Zf.Cardano,fromBaseDecimal:6,value:W.toString()})}catch{}let N=await C(),J=400,O=N.minFeeB.plus(N.minFeeA.times(J));return Ff.from({chain:Zf.Cardano,fromBaseDecimal:6,value:O.toString()})}async function G({sender:Q="",recipient:N,assetValue:J,memo:O,pureLovelaceOnly:D=!1}){let W=Q||await o();if(!W)throw new MT("core_wallet_connection_not_found");let[R,B,A]=await Promise.all([D5(W),Vo(),C()]),_=R.filter((V)=>D?V.amount.every((l)=>l.unit==="lovelace"):V.amount.some((l)=>l.unit==="lovelace")).sort((V,l)=>{let h=V.amount.some((t)=>t.unit!=="lovelace"),s=l.amount.some((t)=>t.unit!=="lovelace");if(h===s)return 0;return h?1:-1}),L=J5.getAddressFromString(W),x=J5.getAddressFromString(N),k=vo(_,L),w=new Ny(J.getBaseValue("string")),n=[{address:x,amount:w,tokens:[]}],F;if(O){let V=new Map;V.set("msg",[O]),F={metadata:[{data:V,label:674}]}}let z={...A,minFeeB:A.minFeeB.plus(A.minFeeA.times(4))},I=new Io({protocolParams:z}).paymentTransaction({auxiliaryData:F,changeAddress:L,inputs:k,outputs:n,ttl:B+3600}),{payload:v}=I.buildTransaction();return{tx:I,unsignedTx:v}}async function M(Q){let N=await U();if(!N||!("signTransaction"in N))throw new MT("core_wallet_connection_not_found");return N.signTransaction(Q)}async function Y({recipient:Q,assetValue:N,memo:J}){let O=await U();if(!O||!("signTransaction"in O))throw new MT("core_wallet_connection_not_found");let{unsignedTx:D}=await G({assetValue:N,memo:J,recipient:Q,sender:await o()}),W=await M(D);return await N5(W)}async function Z(Q){let N=await M(Q);return await N5(N)}return{createTransaction:G,estimateTransactionFee:X,getAddress:o,getBalance:q,signAndBroadcastTransaction:Z,signTransaction:M,transfer:Y,validateAddress:R5}}var B5="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",O5="https://cardano-mainnet.blockfrost.io/api/v0",Eo,c1=2147483648,z5=0;var x5=E(()=>{Eo=g1.NetworkId.MAINNET});var d1={};Ty(d1,{validateCardanoAddress:()=>R5,getCardanoToolbox:()=>jo});var r1=E(()=>{x5()});import{base64 as J0,bech32 as A0}from"@scure/base";import{SwapKitError as Ko}from"@swapkit/helpers";function WT(y){return J0.encode(Uint8Array.from(A0.fromWords(A0.decode(y).words)))}function LT(y,T="thor"){return A0.encode(T,A0.toWords(J0.decode(y)))}function uo(y){return J0.encode(y)}function ho(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Ko("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return J0.decode(y)}var a1=()=>{};import{AssetValue as s1,Chain as K,getChainConfig as Vy,getRPCUrl as mo,SwapKitError as w5}from"@swapkit/helpers";function my(y){switch(y){case K.Maya:return{amount:[],gas:"10000000000"};case K.THORChain:return{amount:[],gas:"500000000"};case K.Kujira:return $5;case K.Noble:return F5;default:return n5}}async function ty(y){let T=await import("@cosmjs/stargate"),H=T.StargateClient??T.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return H.connect({headers:f,url:y})}async function Mf(y,T,H={}){let f=await import("@cosmjs/stargate"),C=f.SigningStargateClient??f.default?.SigningStargateClient,U=f.GasPrice??f.default?.GasPrice,o=typeof H==="string"?H:"0.0003uatom",q=typeof H==="string"?{}:H;return C.connectWithSigner(y,T,{gasPrice:U.fromString(o),...q})}async function yC(y,T){let H=await import("@cosmjs/stargate");return(H.SigningStargateClient??H.default?.SigningStargateClient).offline(y,T)}async function fC({sender:y,recipient:T,assetValue:H,memo:f="",feeRate:C,sequence:U,accountNumber:o}){let{chain:q,chainId:X}=H,G=await mo(q),Y=await(await ty(G)).getAccount(y);if(!Y)throw new w5("toolbox_cosmos_account_not_found",{sender:y});let Z=s1.from({chain:q}),Q=sy(Z.symbol),N=my(q),J=Q&&C?{amount:[{amount:C.toString(),denom:Q}],gas:N.gas}:N,O={amount:[{amount:H.getBaseValue("string"),denom:sy(H.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:o??Number(Y.accountNumber),chainId:X,fee:J,memo:f,msgs:[{typeUrl:to(q),value:O}],sequence:U??Y.sequence}}var e1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",k5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",n5,$5,F5,sy=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return e1;case"uYUM":case"YUM":return k5;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},YT=({symbol:y,chain:T})=>{if(T===K.Maya)return(y.toUpperCase()!=="CACAO"?y:`${K.Maya}.${y}`).toUpperCase();if(T===K.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${K.THORChain}.${y}`:y).toUpperCase();return sy(y,!1)},to=(y)=>{switch(y){case K.Maya:case K.THORChain:return"/types.MsgSend";case K.Cosmos:case K.Kujira:case K.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new w5("toolbox_cosmos_not_supported",{chain:y})}},co,TC=(y,T)=>{let H=co[y.toLowerCase()];if(!H)return s1.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:C,decimals:U}=H,o=f?{chain:f}:{asset:C};return s1.from({...o,fromBaseDecimal:U,value:T})};var AT=E(()=>{n5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},F5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};co={atom:{chain:K.Cosmos,decimals:Vy(K.Cosmos).baseDecimal},cacao:{chain:K.Maya,decimals:10},kuji:{chain:K.Kujira,decimals:Vy(K.Kujira).baseDecimal},maya:{asset:`${K.Maya}.${K.Maya}`,decimals:4},rune:{chain:K.THORChain,decimals:Vy(K.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:Vy(K.THORChain).baseDecimal},uatom:{chain:K.Cosmos,decimals:Vy(K.Cosmos).baseDecimal},ukuji:{chain:K.Kujira,decimals:Vy(K.Kujira).baseDecimal},usdc:{chain:K.Noble,decimals:Vy(K.Noble).baseDecimal},uusdc:{chain:K.Noble,decimals:Vy(K.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:Vy(K.THORChain).baseDecimal},[e1.toLowerCase()]:{asset:`${K.Kujira}.USK`,decimals:Vy(K.Kujira).baseDecimal}}});var I5={};Ty(I5,{$root:()=>P});import Cy from"protobufjs/minimal.js";var p,By,b,P;var S5=E(()=>{p=Cy.Reader,By=Cy.Writer,b=Cy.util,P=Cy.roots.default||(Cy.roots.default={});P.common=(()=>{let y={};return y.Asset=(()=>{function T(H){if(H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.chain="",T.prototype.symbol="",T.prototype.ticker="",T.prototype.synth=!1,T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))C.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))C.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))C.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))C.uint32(32).bool(f.synth);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.common.Asset;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:o.chain=f.string();break;case 2:o.symbol=f.string();break;case 3:o.ticker=f.string();break;case 4:o.synth=f.bool();break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!b.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!b.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!b.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Asset)return f;let C=new P.common.Asset;if(f.chain!=null)C.chain=String(f.chain);if(f.symbol!=null)C.symbol=String(f.symbol);if(f.ticker!=null)C.ticker=String(f.ticker);if(f.synth!=null)C.synth=Boolean(f.synth);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)U.chain="",U.symbol="",U.ticker="",U.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))U.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))U.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))U.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))U.synth=f.synth;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y.Coin=(()=>{function T(H){if(H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.asset=null,T.prototype.amount="",T.prototype.decimals=b.Long?b.Long.fromBits(0,0,!1):0,T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))P.common.Asset.encode(f.asset,C.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))C.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))C.uint32(24).int64(f.decimals);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.common.Coin;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:o.asset=P.common.Asset.decode(f,f.uint32());break;case 2:o.amount=f.string();break;case 3:o.decimals=f.int64();break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let C=P.common.Asset.verify(f.asset);if(C)return"asset."+C}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!b.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!b.isInteger(f.decimals)&&!(f.decimals&&b.isInteger(f.decimals.low)&&b.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Coin)return f;let C=new P.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");C.asset=P.common.Asset.fromObject(f.asset)}if(f.amount!=null)C.amount=String(f.amount);if(f.decimals!=null){if(b.Long)(C.decimals=b.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")C.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")C.decimals=f.decimals;else if(typeof f.decimals==="object")C.decimals=new b.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)if(U.asset=null,U.amount="",b.Long){let o=new b.Long(0,0,!1);U.decimals=C.longs===String?o.toString():C.longs===Number?o.toNumber():o}else U.decimals=C.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))U.asset=P.common.Asset.toObject(f.asset,C);if(f.amount!=null&&f.hasOwnProperty("amount"))U.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")U.decimals=C.longs===String?String(f.decimals):f.decimals;else U.decimals=C.longs===String?b.Long.prototype.toString.call(f.decimals):C.longs===Number?new b.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y.PubKeySet=(()=>{function T(H){if(H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.secp256k1="",T.prototype.ed25519="",T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))C.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))C.uint32(18).string(f.ed25519);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.common.PubKeySet;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:o.secp256k1=f.string();break;case 2:o.ed25519=f.string();break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!b.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!b.isString(f.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.PubKeySet)return f;let C=new P.common.PubKeySet;if(f.secp256k1!=null)C.secp256k1=String(f.secp256k1);if(f.ed25519!=null)C.ed25519=String(f.ed25519);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)U.secp256k1="",U.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))U.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))U.ed25519=f.ed25519;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y.Tx=(()=>{function T(H){if(this.coins=[],this.gas=[],H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.id="",T.prototype.chain="",T.prototype.fromAddress="",T.prototype.toAddress="",T.prototype.coins=b.emptyArray,T.prototype.gas=b.emptyArray,T.prototype.memo="",T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))C.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))C.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))C.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))C.uint32(34).string(f.toAddress);if(f.coins?.length)for(let U=0;U<f.coins.length;++U)P.common.Coin.encode(f.coins[U],C.uint32(42).fork()).ldelim();if(f.gas?.length)for(let U=0;U<f.gas.length;++U)P.common.Coin.encode(f.gas[U],C.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))C.uint32(58).string(f.memo);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.common.Tx;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:o.id=f.string();break;case 2:o.chain=f.string();break;case 3:o.fromAddress=f.string();break;case 4:o.toAddress=f.string();break;case 5:if(!o.coins?.length)o.coins=[];o.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 6:if(!o.gas?.length)o.gas=[];o.gas.push(P.common.Coin.decode(f,f.uint32()));break;case 7:o.memo=f.string();break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!b.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!b.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!b.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!b.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let C=0;C<f.coins.length;++C){let U=P.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let C=0;C<f.gas.length;++C){let U=P.common.Coin.verify(f.gas[C]);if(U)return"gas."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!b.isString(f.memo))return"memo: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Tx)return f;let C=new P.common.Tx;if(f.id!=null)C.id=String(f.id);if(f.chain!=null)C.chain=String(f.chain);if(f.fromAddress!=null)C.fromAddress=String(f.fromAddress);if(f.toAddress!=null)C.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");C.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".common.Tx.coins: object expected");C.coins[U]=P.common.Coin.fromObject(f.coins[U])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");C.gas=[];for(let U=0;U<f.gas.length;++U){if(typeof f.gas[U]!=="object")throw TypeError(".common.Tx.gas: object expected");C.gas[U]=P.common.Coin.fromObject(f.gas[U])}}if(f.memo!=null)C.memo=String(f.memo);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.coins=[],U.gas=[];if(C.defaults)U.id="",U.chain="",U.fromAddress="",U.toAddress="",U.memo="";if(f.id!=null&&f.hasOwnProperty("id"))U.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))U.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))U.toAddress=f.toAddress;if(f.coins?.length){U.coins=[];for(let o=0;o<f.coins.length;++o)U.coins[o]=P.common.Coin.toObject(f.coins[o],C)}if(f.gas?.length){U.gas=[];for(let o=0;o<f.gas.length;++o)U.gas[o]=P.common.Coin.toObject(f.gas[o],C)}if(f.memo!=null&&f.hasOwnProperty("memo"))U.memo=f.memo;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y.Fee=(()=>{function T(H){if(this.coins=[],H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.coins=b.emptyArray,T.prototype.poolDeduct="",T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.coins?.length)for(let U=0;U<f.coins.length;++U)P.common.Coin.encode(f.coins[U],C.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))C.uint32(18).string(f.poolDeduct);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.common.Fee;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:if(!o.coins?.length)o.coins=[];o.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:o.poolDeduct=f.string();break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let C=0;C<f.coins.length;++C){let U=P.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!b.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.Fee)return f;let C=new P.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");C.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".common.Fee.coins: object expected");C.coins[U]=P.common.Coin.fromObject(f.coins[U])}}if(f.poolDeduct!=null)C.poolDeduct=String(f.poolDeduct);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.coins=[];if(C.defaults)U.poolDeduct="";if(f.coins?.length){U.coins=[];for(let o=0;o<f.coins.length;++o)U.coins[o]=P.common.Coin.toObject(f.coins[o],C)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))U.poolDeduct=f.poolDeduct;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y.ProtoUint=(()=>{function T(H){if(H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.value="",T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))C.uint32(10).string(f.value);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.common.ProtoUint;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:o.value=f.string();break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!b.isString(f.value))return"value: string expected"}return null},T.fromObject=function(f){if(f instanceof P.common.ProtoUint)return f;let C=new P.common.ProtoUint;if(f.value!=null)C.value=String(f.value);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)U.value="";if(f.value!=null&&f.hasOwnProperty("value"))U.value=f.value;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y})();P.types=(()=>{let y={};return y.MsgDeposit=(()=>{function T(H){if(this.coins=[],H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.coins=b.emptyArray,T.prototype.memo="",T.prototype.signer=b.newBuffer([]),T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.coins?.length)for(let U=0;U<f.coins.length;++U)P.common.Coin.encode(f.coins[U],C.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))C.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))C.uint32(26).bytes(f.signer);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.types.MsgDeposit;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:if(!o.coins?.length)o.coins=[];o.coins.push(P.common.Coin.decode(f,f.uint32()));break;case 2:o.memo=f.string();break;case 3:o.signer=f.bytes();break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let C=0;C<f.coins.length;++C){let U=P.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!b.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||b.isString(f.signer)))return"signer: buffer expected"}return null},T.fromObject=function(f){if(f instanceof P.types.MsgDeposit)return f;let C=new P.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");C.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");C.coins[U]=P.common.Coin.fromObject(f.coins[U])}}if(f.memo!=null)C.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")b.base64.decode(f.signer,C.signer=b.newBuffer(b.base64.length(f.signer)),0);else if(f.signer.length)C.signer=f.signer}return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.coins=[];if(C.defaults){if(U.memo="",C.bytes===String)U.signer="";else if(U.signer=[],C.bytes!==Array)U.signer=b.newBuffer(U.signer)}if(f.coins?.length){U.coins=[];for(let o=0;o<f.coins.length;++o)U.coins[o]=P.common.Coin.toObject(f.coins[o],C)}if(f.memo!=null&&f.hasOwnProperty("memo"))U.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))U.signer=C.bytes===String?b.base64.encode(f.signer,0,f.signer.length):C.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y.MsgSend=(()=>{function T(H){if(this.amount=[],H){for(let f=Object.keys(H),C=0;C<f.length;++C)if(H[f[C]]!=null)this[f[C]]=H[f[C]]}}return T.prototype.fromAddress=b.newBuffer([]),T.prototype.toAddress=b.newBuffer([]),T.prototype.amount=b.emptyArray,T.create=function(f){return new T(f)},T.encode=function(f,C){if(!C)C=By.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))C.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))C.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let U=0;U<f.amount.length;++U)P.cosmos.base.v1beta1.Coin.encode(f.amount[U],C.uint32(26).fork()).ldelim();return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof p))f=p.create(f);let U=C===void 0?f.len:f.pos+C,o=new P.types.MsgSend;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:o.fromAddress=f.bytes();break;case 2:o.toAddress=f.bytes();break;case 3:if(!o.amount?.length)o.amount=[];o.amount.push(P.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof p))f=new p(f);return this.decode(f,f.uint32())},T.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||b.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||b.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let C=0;C<f.amount.length;++C){let U=P.cosmos.base.v1beta1.Coin.verify(f.amount[C]);if(U)return"amount."+U}}return null},T.fromObject=function(f){if(f instanceof P.types.MsgSend)return f;let C=new P.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")b.base64.decode(f.fromAddress,C.fromAddress=b.newBuffer(b.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)C.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")b.base64.decode(f.toAddress,C.toAddress=b.newBuffer(b.base64.length(f.toAddress)),0);else if(f.toAddress.length)C.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");C.amount=[];for(let U=0;U<f.amount.length;++U){if(typeof f.amount[U]!=="object")throw TypeError(".types.MsgSend.amount: object expected");C.amount[U]=P.cosmos.base.v1beta1.Coin.fromObject(f.amount[U])}}return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.amount=[];if(C.defaults){if(C.bytes===String)U.fromAddress="";else if(U.fromAddress=[],C.bytes!==Array)U.fromAddress=b.newBuffer(U.fromAddress);if(C.bytes===String)U.toAddress="";else if(U.toAddress=[],C.bytes!==Array)U.toAddress=b.newBuffer(U.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=C.bytes===String?b.base64.encode(f.fromAddress,0,f.fromAddress.length):C.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))U.toAddress=C.bytes===String?b.base64.encode(f.toAddress,0,f.toAddress.length):C.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){U.amount=[];for(let o=0;o<f.amount.length;++o)U.amount[o]=P.cosmos.base.v1beta1.Coin.toObject(f.amount[o],C)}return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},T})(),y})();P.cosmos=(()=>{let y={};return y.base=(()=>{let T={};return T.v1beta1=(()=>{let H={};return H.Coin=(()=>{function f(C){if(C){for(let U=Object.keys(C),o=0;o<U.length;++o)if(C[U[o]]!=null)this[U[o]]=C[U[o]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(U){return new f(U)},f.encode=function(U,o){if(!o)o=By.create();if(U.denom!=null&&Object.hasOwnProperty.call(U,"denom"))o.uint32(10).string(U.denom);if(U.amount!=null&&Object.hasOwnProperty.call(U,"amount"))o.uint32(18).string(U.amount);return o},f.encodeDelimited=function(U,o){return this.encode(U,o).ldelim()},f.decode=function(U,o){if(!(U instanceof p))U=p.create(U);let q=o===void 0?U.len:U.pos+o,X=new P.cosmos.base.v1beta1.Coin;while(U.pos<q){let G=U.uint32();switch(G>>>3){case 1:X.denom=U.string();break;case 2:X.amount=U.string();break;default:U.skipType(G&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof p))U=new p(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.denom!=null&&U.hasOwnProperty("denom")){if(!b.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!b.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.Coin)return U;let o=new P.cosmos.base.v1beta1.Coin;if(U.denom!=null)o.denom=String(U.denom);if(U.amount!=null)o.amount=String(U.amount);return o},f.toObject=function(U,o){if(!o)o={};let q={};if(o.defaults)q.denom="",q.amount="";if(U.denom!=null&&U.hasOwnProperty("denom"))q.denom=U.denom;if(U.amount!=null&&U.hasOwnProperty("amount"))q.amount=U.amount;return q},f.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},f})(),H.DecCoin=(()=>{function f(C){if(C){for(let U=Object.keys(C),o=0;o<U.length;++o)if(C[U[o]]!=null)this[U[o]]=C[U[o]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(U){return new f(U)},f.encode=function(U,o){if(!o)o=By.create();if(U.denom!=null&&Object.hasOwnProperty.call(U,"denom"))o.uint32(10).string(U.denom);if(U.amount!=null&&Object.hasOwnProperty.call(U,"amount"))o.uint32(18).string(U.amount);return o},f.encodeDelimited=function(U,o){return this.encode(U,o).ldelim()},f.decode=function(U,o){if(!(U instanceof p))U=p.create(U);let q=o===void 0?U.len:U.pos+o,X=new P.cosmos.base.v1beta1.DecCoin;while(U.pos<q){let G=U.uint32();switch(G>>>3){case 1:X.denom=U.string();break;case 2:X.amount=U.string();break;default:U.skipType(G&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof p))U=new p(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.denom!=null&&U.hasOwnProperty("denom")){if(!b.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!b.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.DecCoin)return U;let o=new P.cosmos.base.v1beta1.DecCoin;if(U.denom!=null)o.denom=String(U.denom);if(U.amount!=null)o.amount=String(U.amount);return o},f.toObject=function(U,o){if(!o)o={};let q={};if(o.defaults)q.denom="",q.amount="";if(U.denom!=null&&U.hasOwnProperty("denom"))q.denom=U.denom;if(U.amount!=null&&U.hasOwnProperty("amount"))q.amount=U.amount;return q},f.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},f})(),H.IntProto=(()=>{function f(C){if(C){for(let U=Object.keys(C),o=0;o<U.length;++o)if(C[U[o]]!=null)this[U[o]]=C[U[o]]}}return f.prototype.int="",f.create=function(U){return new f(U)},f.encode=function(U,o){if(!o)o=By.create();if(U.int!=null&&Object.hasOwnProperty.call(U,"int"))o.uint32(10).string(U.int);return o},f.encodeDelimited=function(U,o){return this.encode(U,o).ldelim()},f.decode=function(U,o){if(!(U instanceof p))U=p.create(U);let q=o===void 0?U.len:U.pos+o,X=new P.cosmos.base.v1beta1.IntProto;while(U.pos<q){let G=U.uint32();switch(G>>>3){case 1:X.int=U.string();break;default:U.skipType(G&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof p))U=new p(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.int!=null&&U.hasOwnProperty("int")){if(!b.isString(U.int))return"int: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.IntProto)return U;let o=new P.cosmos.base.v1beta1.IntProto;if(U.int!=null)o.int=String(U.int);return o},f.toObject=function(U,o){if(!o)o={};let q={};if(o.defaults)q.int="";if(U.int!=null&&U.hasOwnProperty("int"))q.int=U.int;return q},f.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},f})(),H.DecProto=(()=>{function f(C){if(C){for(let U=Object.keys(C),o=0;o<U.length;++o)if(C[U[o]]!=null)this[U[o]]=C[U[o]]}}return f.prototype.dec="",f.create=function(U){return new f(U)},f.encode=function(U,o){if(!o)o=By.create();if(U.dec!=null&&Object.hasOwnProperty.call(U,"dec"))o.uint32(10).string(U.dec);return o},f.encodeDelimited=function(U,o){return this.encode(U,o).ldelim()},f.decode=function(U,o){if(!(U instanceof p))U=p.create(U);let q=o===void 0?U.len:U.pos+o,X=new P.cosmos.base.v1beta1.DecProto;while(U.pos<q){let G=U.uint32();switch(G>>>3){case 1:X.dec=U.string();break;default:U.skipType(G&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof p))U=new p(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.dec!=null&&U.hasOwnProperty("dec")){if(!b.isString(U.dec))return"dec: string expected"}return null},f.fromObject=function(U){if(U instanceof P.cosmos.base.v1beta1.DecProto)return U;let o=new P.cosmos.base.v1beta1.DecProto;if(U.dec!=null)o.dec=String(U.dec);return o},f.toObject=function(U,o){if(!o)o={};let q={};if(o.defaults)q.dec="";if(U.dec!=null&&U.hasOwnProperty("dec"))q.dec=U.dec;return q},f.prototype.toJSON=function(){return this.constructor.toObject(this,Cy.util.toJSONOptions)},f})(),H})(),T})(),y})()});import{Chain as go}from"@swapkit/helpers";async function Wf(){let{$root:y}=await Promise.resolve().then(() => (S5(),I5)),T=await import("@cosmjs/proto-signing"),H=T.Registry??T.default?.Registry,f=await import("@cosmjs/stargate"),C=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new H([...C,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function ey(y){let T=await import("@cosmjs/stargate"),H=T.AminoTypes??T.default?.AminoTypes,f=y===go.THORChain?"thorchain":"mayachain";return new H({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:C,...U})=>({...U,signer:WT(C)}),toAmino:({signer:C,...U})=>({...U,signer:LT(C)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:C,to_address:U,...o})=>({...o,fromAddress:WT(C),toAddress:WT(U)}),toAmino:({fromAddress:C,toAddress:U,...o})=>({...o,from_address:LT(C),to_address:LT(U)})}})}var CC=E(()=>{a1()});import{AssetValue as io,Chain as z0,getChainConfig as P5,getRPCUrl as E5,SwapKitError as ro}from"@swapkit/helpers";function oC(y){let{assetValue:T,recipient:H,memo:f,sender:C,asSignable:U,asAminoMessage:o}=y;if(H)return b5({asAminoMessage:o,asSignable:U,assetValue:T,memo:f,recipient:H,sender:C});return v5({asAminoMessage:o,asSignable:U,assetValue:T,memo:f,sender:C})}async function b5({sender:y,recipient:T,assetValue:H,memo:f="",asSignable:C=!0,asAminoMessage:U=!1,sequence:o,accountNumber:q}){let X=H.chain,G=await E5(X),M=await V5({rpcUrl:G,sender:y}),{chainId:Y}=P5(X),Z=HC({assetValue:H,recipient:T,sender:y}),Q=C?await yf(U?Z:ff(Z),X):Z;return{accountNumber:q||Number(M.accountNumber),chainId:Y,fee:my(X),memo:f,msgs:[Q],sequence:o||M.sequence}}async function v5({sender:y,assetValue:T,memo:H="",asSignable:f=!0,asAminoMessage:C=!1,sequence:U,accountNumber:o}){let q=T.chain,X=await E5(q),G=await V5({rpcUrl:X,sender:y}),{chainId:M}=P5(q),Y=UC({assetValue:T,memo:H,sender:y}),Z=f?await yf(C?Y:ff(Y),q):Y;return{accountNumber:o||Number(G.accountNumber),chainId:M,fee:my(q),memo:H,msgs:[Z],sequence:U||G.sequence}}function ff(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((T)=>{let H=io.from({asset:T.asset}),f=(H.isSynthetic?H.symbol.split("/")?.[1]:H.symbol)?.toUpperCase(),C=(H.isSynthetic?H.symbol.split("/")?.[0]:H.chain)?.toUpperCase();return{...T,asset:{chain:C,symbol:f,synth:H.isSynthetic,ticker:H.ticker}}})}}}async function JT({chain:y,memo:T,msgs:H}){let f=await Wf(),C=await ey(y),U={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:H.map((o)=>C.fromAmino(o))}};return f.encode(U)}var ao,so,HC=({sender:y,recipient:T,assetValue:H})=>{return{type:`${H.chain===z0.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:H.getBaseValue("string"),denom:sy(H.symbol,!0)}],from_address:y,to_address:T}}},UC=({sender:y,assetValue:T,memo:H=""})=>{return{type:`${T.chain===z0.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:YT(T)}],memo:H,signer:y}}},N0=({sender:y,recipient:T,assetValue:H,memo:f})=>{return!T?UC({assetValue:H,memo:f,sender:y}):HC({assetValue:H,recipient:T,sender:y})},yf=async(y,T)=>{return(await ey(T)).fromAmino(y)},V5=async({rpcUrl:y,sender:T})=>{let f=await(await ty(y)).getAccount(T);if(!f)throw new ro("toolbox_cosmos_account_not_found",{sender:T});return f};var p5=E(()=>{AT();CC();ao=my(z0.THORChain).gas,so=my(z0.Maya).gas});var l5=()=>{};var j5=E(()=>{l5()});var qC=E(()=>{a1();p5();CC();j5()});import{stringToPath as eo}from"@cosmjs/crypto";import{DirectSecp256k1HdWallet as yq}from"@cosmjs/proto-signing";import{base64 as QC,bech32 as XC}from"@scure/base";import{AssetValue as _C,applyFeeMultiplier as K5,Chain as oy,CosmosChainPrefixes as g5,DerivationPath as fq,derivationPathToString as u5,FeeOption as ZC,getChainConfig as Tq,getRPCUrl as zT,NetworkDerivationPath as Cq,SwapKitError as If,SwapKitNumber as GC,updateDerivationPath as Hq}from"@swapkit/helpers";import{SwapKitApi as i5}from"@swapkit/helpers/api";import{match as Uq,P as h5}from"ts-pattern";async function WC(y,T){try{let f=(await i5.getGasRate()).find((C)=>C.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}async function MC({phrase:y,prefix:T,...H}){let f="derivationPath"in H?H.derivationPath:`${fq[H.chain]}/${H.index}`;return await yq.fromMnemonic(y,{hdPaths:[eo(f)],prefix:T})}async function oq({privateKey:y,prefix:T}){let H=await import("@cosmjs/proto-signing");return(H.DirectSecp256k1Wallet??H.default?.DirectSecp256k1Wallet).fromKey(y,T)}function d5(y){return async function({signature:H,message:f,address:C}){let U=await y(C);if(!U?.pubkey)throw new If("toolbox_cosmos_verify_signature_no_pubkey");let o=await import("@cosmjs/crypto"),q=o.Secp256k1Signature??o.default?.Secp256k1Signature,X=o.Secp256k1??o.default?.Secp256k1,G=q.fromFixedLength(QC.decode(H));return X.verifySignature(G,QC.decode(f),U.pubkey.value)}}function NT({chain:y,...T}){let H=g5[y],f="index"in T?T.index||0:0,C=u5("derivationPath"in T&&T.derivationPath?T.derivationPath:Hq(Cq[y],{index:f})),U;async function o(){if(U)return U;return U=await Uq(T).with({phrase:h5.string},({phrase:Q})=>MC({derivationPath:C,phrase:Q,prefix:H})).with({signer:h5.any},({signer:Q})=>Q).otherwise(()=>{return}),U}async function q(Q){let N=await zT(y);return(await ty(N)).getAccount(Q)}async function X(){let Q=await o(),[N]=await Q?.getAccounts()||[];return N?.address}async function G(){let Q=await o(),[N]=await Q?.getAccounts()||[];if(!N?.pubkey)throw new If("toolbox_cosmos_signer_not_defined");return QC.encode(N?.pubkey)}async function M(Q){let N=await o(),J=await X(),O=await zT(y);if(!(N&&J))throw new If("toolbox_cosmos_signer_not_defined");return await(await Mf(O,N)).sign(J,Q.msgs,Q.fee,Q.memo,{accountNumber:BigInt(Q.accountNumber),chainId:Q.chainId,sequence:Q.sequence})}async function Y(Q){let N=await o(),J=await X(),O=await zT(y);if(!(N&&J))throw new If("toolbox_cosmos_signer_not_defined");let W=await(await Mf(O,N)).signAndBroadcast(J,Q.msgs,Q.fee,Q.memo);if(W.code!==0)throw new If("core_swap_transaction_error",{code:W.code,message:W.rawLog});return W.transactionHash}async function Z({recipient:Q,assetValue:N,memo:J="",feeRate:O,feeOptionKey:D=ZC.Fast}){let W=await o(),R=await X();if(!(W&&R))throw new If("toolbox_cosmos_signer_not_defined");let B=await zT(y),A=_C.from({chain:y}),_=YT(A),L=O||Gq((await t5(y,m5[y]))[D],_),x=await Mf(B,W),k=sy(N.symbol),w=[{amount:N.getBaseValue("string"),denom:k}],{transactionHash:n}=await x.sendTokens(R,Q,w,L,J);return n}return{createPrivateKeyFromPhrase:_q(C),createTransaction:fC,fetchFeeRateFromSwapKit:WC,getAccount:q,getAddress:X,getBalance:async(Q,N)=>{let J=await c5(y)(Q),O=await Promise.all(J.filter(({denom:D})=>D&&!D.includes("IBC/")&&!([oy.THORChain,oy.Maya].includes(y)&&D.split("-").length>2)).map(({denom:D,amount:W})=>{let R=[oy.THORChain,oy.Maya].includes(y)&&(D.includes("/")||D.includes("˜"))?`${y}.${D}`:D;return TC(R,W)}));if(O.length===0)return[_C.from({chain:y})];return O},getBalanceAsDenoms:c5(y),getFees:()=>t5(y,m5[y]),getPubKey:G,getSignerFromPhrase:({phrase:Q,derivationPath:N})=>MC({derivationPath:u5(N),index:f,phrase:Q,prefix:H}),getSignerFromPrivateKey:async(Q)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(Q,H)},signAndBroadcastTransaction:Y,signTransaction:M,transfer:Z,validateAddress:r5(y),verifySignature:d5(q)}}async function qq(y,T){try{let f=(await i5.getGasRate()).find((C)=>C.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}function Xq({assetValue:{chain:y}}){return _C.from({chain:y,value:Qq(y)})}async function t5(y,T){let{chainId:H,baseDecimal:f}=Tq(y),C=await WC(H,T);return{average:GC.fromBigInt(BigInt(C),f),fast:GC.fromBigInt(BigInt(K5(C,ZC.Fast,!0)),f),fastest:GC.fromBigInt(BigInt(K5(C,ZC.Fastest,!0)),f)}}function Gq(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function Qq(y){return{[oy.Cosmos]:0.007,[oy.Kujira]:0.02,[oy.Noble]:0.01,[oy.THORChain]:0.02,[oy.Maya]:0.02,[oy.Harbor]:0.02}[y]||0}function r5(y){let T=g5[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:C,words:U}=XC.decode(f);return XC.encode(C,U)===f.toLocaleLowerCase()}catch{return!1}}}function c5(y){return async function(H){let f=await zT(y);return(await(await ty(f)).getAllBalances(H)).map((q)=>({...q,denom:q.denom.includes("/")?q.denom.toUpperCase():q.denom}))}}function _q(y){return async function(H){let f=await import("@cosmjs/crypto"),C=f.stringToPath??f.default?.stringToPath,U=f.Slip10Curve??f.default?.Slip10Curve,o=f.Slip10??f.default?.Slip10,q=f.EnglishMnemonic??f.default?.EnglishMnemonic,X=f.Bip39??f.default?.Bip39,G=new q(H),M=await X.mnemonicToSeed(G),{privkey:Y}=o.derivePath(U.Secp256k1,M,C(y));return Y}}var m5;var B0=E(()=>{AT();m5={[oy.Cosmos]:1000,[oy.Kujira]:1000,[oy.Noble]:1000,[oy.THORChain]:5000000,[oy.Maya]:5000000,[oy.Harbor]:5000000}});import{base64 as Lf}from"@scure/base";import{Chain as Zq,CosmosChainPrefixes as Mq,derivationPathToString as Wq,FeeOption as LC,getChainConfig as Lq,getRPCUrl as f2,NetworkDerivationPath as Yq,RequestClient as Aq,SKConfig as a5,SwapKitError as Sf,SwapKitNumber as s5,updateDerivationPath as Jq}from"@swapkit/helpers";import{match as e5,P as y2}from"ts-pattern";function zq({prefix:y,derivationPath:T}){return async function(f,C=0){let U=await import("@cosmjs/amino"),o=U.Secp256k1HdWallet??U.default?.Secp256k1HdWallet,q=await import("@cosmjs/crypto"),X=q.stringToPath??q.default?.stringToPath;return o.fromMnemonic(f,{hdPaths:[X(`${T}/${C}`)],prefix:y})}}function Nq(y){return Lf.encode(y)}function Bq(y){return async function({wallet:H,tx:f}){let{msgs:C,accountNumber:U,sequence:o,chainId:q,fee:X,memo:G}=typeof f==="string"?JSON.parse(f):f,M=(await H.getAccounts())?.[0]?.address||"",Y=await ey(y),Z=await Wf(),Q=await yC(H,{aminoTypes:Y,registry:Z}),N=[];for(let D of C){let W=await yf(D,y);N.push(W)}let{signatures:[J]}=await Q.sign(M,N,X,G,{accountNumber:BigInt(U),chainId:q,sequence:o});return{bodyBytes:await JT({chain:y,memo:G,msgs:C.map(ff)}),signature:Nq(J)}}}function Oq({prefix:y,chain:T}){return async function(f,C,U,o,q){let X=await f2(T),{encodeSecp256k1Pubkey:G,pubkeyToAddress:M}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:Y}=(await import("@cosmjs/stargate")).default,{sequence:Z,fee:Q}=JSON.parse(f),N=await T2(U,o),J=C.map((W)=>[M(G(Lf.decode(W.pubKey)),y),Lf.decode(W.signature)]),O=await ty(X),{transactionHash:D}=await O.broadcastTx(Y(N,Z,Q,q,new Map(J)));return D}}async function T2(y,T,H=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:C}=(await import("@cosmjs/amino")).default;return f(y.map((U)=>C(Lf.decode(U))),T,H)}function Dq(y){return Lf.decode(y)}async function Rq({privateKey:y,message:T}){let{Secp256k1:H}=(await import("@cosmjs/crypto")).default,f=await H.createSignature(Lf.decode(T),y);return Lf.encode(Buffer.concat([f.r(32),f.s(32)]))}function YC({chain:y,...T}){let{isStagenet:H}=a5.get("envs"),f=a5.get("thornodeUrls"),C=y===Zq.Maya,U=e5({isMayachain:C,isStagenet:H}).with({isMayachain:!0},({isStagenet:W})=>W?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:W})=>W?f.THOR_STAGENET:f.THOR),o=`${H?"s":""}${Mq[y]}`,q="index"in T?T.index||0:0,X="derivationPath"in T&&T.derivationPath?T.derivationPath:Jq(Yq[y],{index:q}),G=NT({chain:y,...T}),M=my(y),Y;function Z(){return Y??=e5(T).with({phrase:y2.string},({phrase:W})=>G.getSignerFromPhrase({derivationPath:X,phrase:W})).with({signer:y2.any},({signer:W})=>Promise.resolve(W)).otherwise(()=>Promise.resolve(void 0)),Y}async function Q(){let W=await f2(y),R=await Z();if(!R)throw new Sf("toolbox_cosmos_no_signer");let B=await Wf(),A=await ey(y),_=await Mf(W,R,{aminoTypes:A,registry:B});return{signer:R,signingClient:_}}async function N({fee:W,memo:R,msgs:B}){let{signer:A,signingClient:_}=await Q(),L=(await A.getAccounts())?.[0]?.address;if(!L)throw new Sf("toolbox_cosmos_signer_not_defined");let x=await _.signAndBroadcast(L,B,W,R);if(x.code!==0)throw new Sf("core_swap_transaction_error",{code:x.code,message:x.rawLog});return x.transactionHash}async function J(){let W,R=`${U}/${C?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:B}}=await Aq.get(R);if(!B||Number.isNaN(B)||B<0)throw new Sf("toolbox_cosmos_invalid_fee",{nativeFee:B.toString()});W=new s5(B)}catch{W=new s5({decimal:Lq(y).baseDecimal,value:C?1:0.02})}return{[LC.Average]:W,[LC.Fast]:W,[LC.Fastest]:W}}async function O({assetValue:W,memo:R="",recipient:B}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:_,signingClient:L}=await Q(),x=(await _.getAccounts())?.[0]?.address;if(!x)throw new Sf("toolbox_cosmos_no_signer");let k="signAmino"in _,w=N0({assetValue:W,memo:R,recipient:B,sender:x});if(k){let z=await yf(w,y),{signatures:$,authInfoBytes:I}=await L.sign(x,[z],M,R),v=A.encode({authInfoBytes:I,bodyBytes:await JT({chain:y,memo:R,msgs:[w].map(ff)}),signatures:$}).finish();return(await L.broadcastTx(v)).transactionHash}let n=ff(w),F=await yf(n,y);return N({fee:M,memo:R,msgs:[F]})}async function D(W){let{signer:R,signingClient:B}=await Q(),A=(await R.getAccounts())?.[0]?.address;if(!A)throw new Sf("toolbox_cosmos_signer_not_defined");return B.sign(A,W.msgs,W.fee,W.memo,{accountNumber:BigInt(W.accountNumber),chainId:W.chainId,sequence:W.sequence})}return{...G,broadcastMultisigTx:Oq({chain:y,prefix:o}),buildAminoMsg:N0,buildEncodedTxBody:JT,convertToSignable:yf,createDefaultAminoTypes:()=>ey(y),createDefaultRegistry:Wf,createMultisig:T2,createTransaction:oC,deposit:O,getFees:J,importSignature:Dq,parseAminoMessageForDirectSigning:ff,pubkeyToAddress:async(W)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(W,o)},secp256k1HdWalletFromMnemonic:zq({derivationPath:Wq(X),prefix:o}),signAndBroadcastTransaction:N,signMultisigTx:Bq(y),signTransaction:D,signWithPrivateKey:Rq,transfer:O}}var AC=E(()=>{qC();AT();B0()});import{Chain as BT,SwapKitError as xq}from"@swapkit/helpers";var wq=(y,T)=>{switch(y){case BT.Cosmos:case BT.Kujira:case BT.Noble:return NT({chain:y,...T});case BT.Maya:case BT.THORChain:return YC({chain:y,...T});default:throw new xq("toolbox_cosmos_not_supported",{chain:y})}};var C2=E(()=>{B0();AC();B0();AC()});var O0={};Ty(O0,{verifySignature:()=>d5,transferMsgAmino:()=>HC,toBase64:()=>uo,parseAminoMessageForDirectSigning:()=>ff,getSignerFromPrivateKey:()=>oq,getSignerFromPhrase:()=>MC,getMsgSendDenom:()=>sy,getFeeRateFromSwapKit:()=>qq,getDenomWithChain:()=>YT,getDefaultChainFee:()=>my,getCosmosToolbox:()=>wq,getCosmosAddressValidator:()=>r5,getAssetFromDenom:()=>TC,fromBase64:()=>ho,fetchFeeRateFromSwapKit:()=>WC,estimateTransactionFee:()=>Xq,depositMsgAmino:()=>UC,createTransaction:()=>oC,createThorchainToolbox:()=>YC,createStargateClient:()=>ty,createSigningStargateClient:()=>Mf,createOfflineStargateClient:()=>yC,createDefaultRegistry:()=>Wf,createDefaultAminoTypes:()=>ey,createCosmosToolbox:()=>NT,cosmosCreateTransaction:()=>fC,convertToSignable:()=>yf,buildTransferTx:()=>b5,buildEncodedTxBody:()=>JT,buildDepositTx:()=>v5,buildAminoMsg:()=>N0,bech32ToBase64:()=>WT,base64ToBech32:()=>LT,YUM_KUJIRA_FACTORY_DENOM:()=>k5,USK_KUJIRA_FACTORY_DENOM:()=>e1,THORCHAIN_GAS_VALUE:()=>ao,MAYA_GAS_VALUE:()=>so,DEFAULT_NOBLE_FEE_MAINNET:()=>F5,DEFAULT_KUJI_FEE_MAINNET:()=>$5,DEFAULT_COSMOS_FEE_MAINNET:()=>n5});var D0=E(()=>{qC();C2();AT()});function kq({builder:y,grouping:T="na",orders:H}){return{builder:y,grouping:T,orders:H,type:"order"}}function nq({cancels:y}){return{cancels:y,type:"cancel"}}function $q({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function Fq({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function Iq({modifies:y}){return{modifies:y,type:"batchModify"}}function Sq({asset:y,isCross:T,leverage:H}){return{asset:y,isCross:T,leverage:H,type:"updateLeverage"}}function Pq({asset:y,isBuy:T,ntli:H}){return{asset:y,isBuy:T,ntli:H,type:"updateIsolatedMargin"}}function Eq({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function Vq({time:y}){return{time:y,type:"scheduleCancel"}}function bq({amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C}){return{amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C,type:"usdClassTransfer"}}function vq({amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:C,nonce:U,signatureChainId:o,sourceDex:q,token:X}){return{amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:C,nonce:U,signatureChainId:o,sourceDex:q,token:X,type:"sendAsset"}}function pq({agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C}){return{agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C,type:"approveAgent"}}function lq({builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C}){return{builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C,type:"approveBuilderFee"}}function jq({hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,validator:C,wei:U}){return{hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,type:"tokenDelegate",validator:C,wei:U}}import{SwapKitError as JC}from"@swapkit/helpers";import{keccak256 as Kq,Signature as uq}from"ethers";function Yy(...y){let T=y.reduce((C,U)=>C+U.length,0),H=new Uint8Array(T),f=0;for(let C of y)H.set(C,f),f+=C.length;return H}function iq(y,T,H){if(H<T)return new Uint8Array([y+H]);if(H<=255)return new Uint8Array([y+T,H]);if(H<=65535)return new Uint8Array([y+T+1,H>>8,H&255]);return new Uint8Array([y+T+2,H>>>24&255,H>>>16&255,H>>>8&255,H&255])}function Tf(y,T){let H=new Uint8Array(T),f=y;for(let C=T-1;C>=0;C-=1)H[C]=Number(f&0xffn),f>>=8n;return H}function H2(y){if(y>=0n){if(y<=0x7fn)return new Uint8Array([Number(y)]);if(y<=0xffn)return new Uint8Array([204,Number(y)]);if(y<=0xffffn)return Yy(new Uint8Array([205]),Tf(y,2));if(y<=0xffffffffn)return Yy(new Uint8Array([206]),Tf(y,4));return Yy(new Uint8Array([207]),Tf(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return Yy(new Uint8Array([209]),Tf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return Yy(new Uint8Array([210]),Tf(BigInt.asUintN(32,y),4));return Yy(new Uint8Array([211]),Tf(BigInt.asUintN(64,y),8))}function q2(y){let T=gq.encode(y);if(T.length<32)return Yy(new Uint8Array([160+T.length]),T);return Yy(iq(217,0,T.length),T)}function dq(y){let T=y.map((f)=>zC(f)),H=y.length<16?new Uint8Array([144+y.length]):y.length<=65535?new Uint8Array([220,y.length>>8,y.length&255]):new Uint8Array([221,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Yy(H,...T)}function rq(y){let T=Object.entries(y).filter(([,f])=>typeof f<"u"),H=T.length<16?new Uint8Array([128+T.length]):T.length<=65535?new Uint8Array([222,T.length>>8,T.length&255]):new Uint8Array([223,T.length>>>24&255,T.length>>>16&255,T.length>>>8&255,T.length&255]);return Yy(H,...T.flatMap(([f,C])=>[q2(f),zC(C)]))}function zC(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return q2(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new JC("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return H2(BigInt(y))}if(typeof y==="bigint")return H2(y);if(y instanceof Uint8Array){let T=y.length<=255?new Uint8Array([196,y.length]):y.length<=65535?new Uint8Array([197,y.length>>8,y.length&255]):new Uint8Array([198,y.length>>>24&255,y.length>>>16&255,y.length>>>8&255,y.length&255]);return Yy(T,y)}if(Array.isArray(y))return dq(y);if(typeof y==="object")return rq(y);throw new JC("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function aq(y){let T=y.startsWith("0x")?y.slice(2):y;if(T.length%2!==0||/[^a-fA-F0-9]/u.test(T))throw new JC("helpers_invalid_params",{hexValue:y});let H=new Uint8Array(T.length/2);for(let f=0;f<T.length;f+=2)H[f/2]=Number.parseInt(T.slice(f,f+2),16);return H}function X2(y){return{domain:hq,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...mq.Agent]}}}function G2(y){let T=cq[y.type],H=tq[y.type],{type:f,...C}=y;return{domain:{chainId:Number.parseInt(C.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:U2,version:"1"},message:{...C,hyperliquidChain:C.hyperliquidChain||o2},primaryType:T,types:{[T]:H}}}function Q2(y){let T=uq.from(y);return{r:T.r,s:T.s,v:T.v}}function _2(y,T,{expiresAfter:H,vaultAddress:f}={}){let C=zC(y),U=Tf(BigInt(T),8),o=f?Yy(new Uint8Array([1]),aq(f.toLowerCase())):new Uint8Array([0]),q=typeof H==="number"?Yy(new Uint8Array([0]),Tf(BigInt(H),8)):new Uint8Array;return Kq(Yy(C,U,o,q))}function Z2(y){let T=y.hyperliquidChain||o2;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:T};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:T};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:T};case"tokenDelegate":return{...y,hyperliquidChain:T,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:T};default:return y}}var U2="0x0000000000000000000000000000000000000000",hq,mq,o2="Mainnet",tq,cq,gq;var M2=E(()=>{hq={chainId:1337,name:"Exchange",verifyingContract:U2,version:"1"},mq={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},tq={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"}]},cq={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},gq=new TextEncoder});import{AssetValue as OC,Chain as sq,derivationPathToString as eq,getChainConfig as Y2,getRPCUrl as yX,NetworkDerivationPath as fX,RequestClient as Pf,SwapKitError as Ef,updateDerivationPath as TX}from"@swapkit/helpers";import{HDNodeWallet as CX}from"ethers";import{match as HX,P as NC}from"ts-pattern";function ky(y,T){if(!RC(y))throw new Ef(T,{address:y});return y.toLowerCase()}async function Yf(y){let T=await R0();return Pf.post(`${T}/info`,{json:y})}function _X({dex:y,user:T}){return Yf({...y?{dex:y}:{},type:"clearinghouseState",user:ky(T,"helpers_invalid_params")})}function ZX({user:y}){return Yf({type:"spotClearinghouseState",user:ky(y,"helpers_invalid_params")})}function MX({dex:y,user:T}){return Yf({...y?{dex:y}:{},type:"openOrders",user:ky(T,"helpers_invalid_params")})}function WX({dex:y,user:T}){return Yf({...y?{dex:y}:{},type:"frontendOpenOrders",user:ky(T,"helpers_invalid_params")})}function LX({oidOrCloid:y,user:T}){return Yf({oid:y,type:"orderStatus",user:ky(T,"helpers_invalid_params")})}function YX({aggregateByTime:y,user:T}){return Yf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:ky(T,"helpers_invalid_params")})}function AX({aggregateByTime:y,endTime:T,startTime:H,user:f}){return Yf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:H,type:"userFillsByTime",user:ky(f,"helpers_invalid_params")})}function W2({coin:y,token:T,value:H,spotMeta:f}){if(!H||Number(H)<=0)return null;let C=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,U=UX[C]||A2,o=f?.tokens?.find((X)=>X.name===y||T!==void 0&&X.index===Number(T)),q=o?`${by}.${C}-${o.name}:${o.tokenId}`:`${by}.${C}`;return new OC({decimal:U,identifier:q,value:H})}function JX(y){let T=new Map;for(let H of y){let f=H.toString({includeSynthProtocol:!0}),C=T.get(f);T.set(f,C?C.add(H):H)}if(![...T.values()].some((H)=>H.isGasAsset||H.ticker==="HYPE")){let H=OC.from({chain:by,value:0});T.set(H.toString({includeSynthProtocol:!0}),H)}return[...T.values()]}async function R0(){try{return await yX(by)}catch{let[y]=Y2(by).rpcUrls;if(!y)throw new Ef("helpers_chain_no_public_or_set_rpc_url",{chain:by});return y}}async function DC(){return`${await R0()}/exchange`}function zX(y){let T=QX[y.type],{type:H,...f}=y,C=GX[H];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:XX,version:"1"},message:f,primaryType:T,types:{[T]:C}}}async function J2({action:y,expiresAfter:T,nonce:H,vaultAddress:f}){let C=H||Date.now(),U=f?ky(f,"helpers_invalid_params"):void 0,o=await DC(),q=_2(y,C,{expiresAfter:T,vaultAddress:U});return{action:y,endpoint:o,expiresAfter:T,nonce:C,typedData:X2(q),vaultAddress:U}}async function z2({action:y,nonce:T,signatureChainId:H}){let f=T||y.nonce||Date.now(),C=H||y.signatureChainId||"0xa4b1",U=Z2({...y,nonce:f,signatureChainId:C});return{action:U,endpoint:await DC(),nonce:f,typedData:G2(U)}}async function BC({assetValue:y,recipient:T,sender:H,signatureChainId:f,time:C}){let U=ky(T,"core_transaction_invalid_recipient_address"),o=ky(H,"core_transaction_invalid_sender_address"),q=await DC(),X=y.getValue("string"),G=C||Date.now(),M=y.address;if(!M)throw new Ef("helpers_invalid_params",{asset:y.toString(),from:o});let Y={amount:X,destination:U,hyperliquidChain:oX,signatureChainId:f||qX,time:G,token:M,type:"spotSend"};return{action:Y,endpoint:q,nonce:G,typedData:zX(Y)}}async function L2(y){let T=await Pf.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(T.status!=="ok")throw new Ef("core_transaction_failed",{response:T});return T}async function NX(y,T){let H=await R0(),f=T-5000;for(let C=0;C<5;C++){if(C>0)await new Promise((U)=>setTimeout(U,1000));try{let U=await Pf.post(`${H}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),o=Array.isArray(U)?U.find((q)=>q.time&&q.time>=T&&(q.delta?.type==="spotTransfer"||q.delta?.type==="internalTransfer")):void 0;if(o?.hash)return o.hash}catch{}}return""}function RC(y){return y.startsWith("0x")&&QT(y)}function BX(y){let T=Wy(by),H=y&&"index"in y?y.index||0:0,f=eq(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:TX(fX[by],{index:H})),C,U=!1;function o(){if(U)return C;return C=HX(y).with({phrase:NC.string},({phrase:Z})=>{return CX.fromPhrase(Z,void 0,f)}).with({signer:NC.not(NC.nullish)},({signer:Z})=>Z).otherwise(()=>{return}),U=!0,C}async function q(){let Z=o();return Z?await Z.getAddress():""}async function X(Z){let Q=o();if(!Q)throw new Ef("toolbox_hypercore_no_signer");let N=await Q.signTypedData(Z.typedData.domain,Z.typedData.types,Z.typedData.message);return{action:Z.action,endpoint:Z.endpoint,nonce:Z.nonce,signature:Q2(N),..."expiresAfter"in Z?{expiresAfter:Z.expiresAfter}:{},..."vaultAddress"in Z?{vaultAddress:Z.vaultAddress}:{}}}async function G(Z){let Q=ky(Z,"helpers_invalid_params");try{let N=await R0(),[J,O,D]=await Promise.all([Pf.post(`${N}/info`,{json:{type:"spotClearinghouseState",user:Q}}),Pf.post(`${N}/info`,{json:{type:"clearinghouseState",user:Q}}),Pf.post(`${N}/info`,{json:{type:"spotMeta"}})]),W=(J.spotState?.balances||J.balances||[]).map(({coin:B,token:A,total:_})=>W2({coin:B,spotMeta:D,token:A,value:_})).filter((B)=>!!B),R=W2({coin:"USDC",spotMeta:D,value:O.withdrawable||O.marginSummary?.accountValue||O.marginSummary?.totalRawUsd});return JX(R?[...W,R]:W)}catch{return T(Q)}}async function M(Z){let Q=o();if(!Q)throw new Ef("toolbox_hypercore_no_signer");let N=Z.sender||await Q.getAddress(),J=await BC({...Z,feeRate:0,sender:N}),O=await X(J);return await L2(O),NX(N,J.nonce)}function Y(){return OC.from({chain:by,value:0})}return{broadcastTransaction:L2,createL1ActionRequest:J2,createTransaction:BC,createUserSignedActionRequest:z2,estimateTransactionFee:Y,getAddress:q,getBalance:G,getState:{clearinghouse:_X,frontendOpenOrders:WX,openOrders:MX,orderStatus:LX,spotClearinghouse:ZX,userFills:YX,userFillsByTime:AX},signTransaction:X,transfer:M,validateAddress:RC}}var by,A2,UX,oX="Mainnet",qX="0xa4b1",XX="0x0000000000000000000000000000000000000000",GX,QX;var N2=E(()=>{m1();uy();M2();by=sq.Hype,{baseDecimal:A2}=Y2(by),UX={HYPE:A2,USDC:6,USDT:6},GX={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},QX={spotSend:"HyperliquidTransaction:SpotSend"}});var xC={};Ty(xC,{validateHyperCoreAddress:()=>RC,getHyperCoreToolbox:()=>BX,createUserSignedActionRequest:()=>z2,createTransaction:()=>BC,createL1ActionRequest:()=>J2,buildUsdClassTransferAction:()=>bq,buildUpdateLeverageAction:()=>Sq,buildUpdateIsolatedMarginAction:()=>Pq,buildTopUpIsolatedOnlyMarginAction:()=>Eq,buildTokenDelegateAction:()=>jq,buildSendAssetAction:()=>vq,buildScheduleCancelAction:()=>Vq,buildOrderAction:()=>kq,buildModifyAction:()=>Fq,buildCancelByCloidAction:()=>$q,buildCancelAction:()=>nq,buildBatchModifyAction:()=>Iq,buildApproveBuilderFeeAction:()=>lq,buildApproveAgentAction:()=>pq});var wC=E(()=>{N2()});import{PublicKey as Cf}from"@solana/web3.js";import{AssetValue as x0,Chain as gy,DerivationPath as OX,derivationPathToString as DX,getChainConfig as R2,getRPCUrl as RX,NetworkDerivationPath as xX,SwapKitError as Vf,updateDerivationPath as wX}from"@swapkit/helpers";import{match as kX,P as B2}from"ts-pattern";async function x2(y){let T=x0.from({address:y,chain:gy.Solana});if(T.symbol!=="UNKNOWN")return{decimals:T.decimal||0,id:y,logoURI:T.getIconUrl(),name:T.symbol,symbol:T.ticker};let H=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(H);if(!f.ok)return null;let C=await f.json();if(!Array.isArray(C)||C.length===0)return null;return C.find((o)=>o.id===y)||null}catch{return null}}async function nX(y){let T=await cy(),{PublicKey:H}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),C=new H(y),{baseDecimal:U}=R2(gy.Solana),o=await T.getBalance(C),q=[x0.from({chain:gy.Solana,fromBaseDecimal:U,value:o||0})],X=await T.getParsedTokenAccountsByOwner(C,{programId:f});for(let{account:G}of X.value){let M=G.data.parsed.info,Y=M.mint,Z=M.tokenAmount.amount;if(Number(Z)===0)continue;let Q=await x2(Y),N=Q?.symbol||"UNKNOWN",J=Q?.decimals||M.tokenAmount.decimals;q.push(x0.from({asset:`${gy.Solana}.${N}-${Y}`,fromBaseDecimal:J,value:Z}))}return q}function nC(y){try{let T=new Cf(y);return Cf.isOnCurve(T.toBytes())}catch{return!1}}function $X(y){let T=y&&"index"in y?y.index||0:0,H=DX(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:wX(xX[gy.Solana],{index:T})),f;async function C(){if(f)return f;return f=await kX(y).with({phrase:B2.string},({phrase:o})=>kC({derivationPath:H,phrase:o})).with({signer:B2.any},({signer:o})=>o).otherwise(()=>{return}),f}async function U(){let o=await C();return o?.publicKey?D2(o.publicKey):""}return{broadcastTransaction:w0(cy),createKeysForPath:kC,createTransaction:$C(cy),createTransactionFromInstructions:PX,estimateTransactionFee:FX(cy),getAddress:U,getAddressFromPubKey:D2,getBalance:Wy(gy.Solana),getBalanceFromRPC:nX,getConnection:cy,getPubkeyFromAddress:(o)=>new Cf(o),signAndBroadcastTransaction:async(o)=>{let q=await O2(cy,C)(o);return w0(cy)(q)},signTransaction:O2(cy,C),transfer:EX(cy,C),validateAddress:nC}}function FX(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:U})=>{let o=await y(),X=(await $C(y)({assetValue:H,isProgramDerivedAddress:C,memo:f,recipient:T,sender:U})).compileMessage(),G=await o.getFeeForMessage(X);if(G.value===null)throw new Vf("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:M}=R2(gy.Solana);return x0.from({chain:gy.Solana,fromBaseDecimal:M,value:G.value})}}async function cy(){let{Connection:y}=await import("@solana/web3.js"),T=await RX(gy.Solana);return new y(T,{commitment:"confirmed",fetchMiddleware:(H,f,C)=>{let U={};for(let[o,q]of Object.entries(f?.headers??{})){let X=o.toLowerCase();if(X!=="pragma"&&X!=="solana-client")U[o]=q}C(H,{...f,headers:U})}})}function IX(y){return async({assetValue:T,recipient:H,sender:f,isProgramDerivedAddress:C})=>{let U=await y(),o=new Cf(f);if(T.isGasAsset){let{Transaction:q,SystemProgram:X}=await import("@solana/web3.js");return new q().add(X.transfer({fromPubkey:o,lamports:T.getBaseValue("number"),toPubkey:new Cf(H)}))}if(T.address)return SX({amount:T.getBaseValue("number"),connection:U,decimals:T.decimal,from:o,isProgramDerivedAddress:C,recipient:H,tokenAddress:T.address});return}}async function SX({tokenAddress:y,recipient:T,from:H,connection:f,amount:C,decimals:U,isProgramDerivedAddress:o}){let{getAssociatedTokenAddress:q,getAccount:X,createAssociatedTokenAccountInstruction:G,createTransferCheckedInstruction:M}=await import("@solana/spl-token"),{Transaction:Y}=await import("@solana/web3.js"),Z=new Y,Q=new Cf(y),N=await q(Q,H),J=new Cf(T),O=await q(Q,J,o),D=!1;try{await X(f,O),D=!0}catch{}if(!D)Z.add(G(H,O,J,Q));return Z.add(M(N,Q,O,H,C,U)),Z}function $C(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:U})=>{let{createMemoInstruction:o}=await import("@solana/spl-memo"),q=new Cf(U);if(!(C||nC(T)))throw new Vf("core_transaction_invalid_recipient_address");let X=await y(),G=await IX(y)({assetValue:H,isProgramDerivedAddress:C,recipient:T,sender:U});if(!G)throw new Vf("core_transaction_invalid_sender_address");if(f)G.add(o(f));let M=await X.getLatestBlockhash();return G.recentBlockhash=M.blockhash,G.feePayer=q,G}}async function PX({instructions:y}){let{Transaction:T}=await import("@solana/web3.js"),H=new T().add(...y);if(!H)throw new Vf("core_transaction_invalid_sender_address");return H}function EX(y,T){return async({recipient:H,assetValue:f,memo:C,isProgramDerivedAddress:U})=>{let o=await T();if(!o)throw new Vf("core_transaction_invalid_sender_address");let q=o.publicKey?.toString()??(await o.connect()).publicKey.toString(),X=await $C(y)({assetValue:f,isProgramDerivedAddress:U,memo:C,recipient:H,sender:q});if("signTransaction"in o){let G=await o.signTransaction(X);return w0(y)(G)}return X.sign(o),w0(y)(X)}}function w0(y){return async(T)=>{return(await y()).sendRawTransaction(T.serialize())}}function O2(y,T){return async(H)=>{let f=await T();if(!f)throw new Vf("toolbox_solana_no_signer");let{VersionedTransaction:C}=await import("@solana/web3.js");if(!(H instanceof C)){let o=await(await y()).getLatestBlockhash();H.recentBlockhash=o.blockhash,H.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(H);return H.sign([f]),H}}async function kC({phrase:y,derivationPath:T=OX.SOL}){let{HDKey:H}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:C}=await import("@solana/web3.js"),U=f(y),o=H.fromMasterSeed(U);return C.fromSeed(o.derive(T,!0).privateKey)}function D2(y){return y.toString()}var w2=E(()=>{uy()});var FC={};Ty(FC,{validateSolanaAddress:()=>nC,getSolanaToolbox:()=>$X,fetchTokenMetaData:()=>x2,createKeysForPath:()=>kC});var IC=E(()=>{w2()});import{AssetValue as k0,Chain as n0,DerivationPath as n2,derivationPathToString as VX,getChainConfig as bX,getRPCUrl as EC,NetworkDerivationPath as vX,SwapKitError as Oy,updateDerivationPath as pX}from"@swapkit/helpers";import{match as SC,P as bf}from"ts-pattern";function $0(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function F0({phrase:y,derivationPath:T=n2.STRK}){let{HDKey:H}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:C,hash:U,encode:o,CallData:q}=await import("starknet"),X=f(y),M=H.fromMasterSeed(X).derive(T);if(!M.privateKey)throw new Oy("toolbox_starknet_no_signer");let Y=o.addHexPrefix(Buffer.from(M.privateKey).toString("hex")),Z=C.starkCurve.grindKey(Y),Q=o.addHexPrefix(Z),N=C.starkCurve.getStarkKey(Q),J=q.compile([N,0]);return{address:U.calculateContractAddressFromHash(N,VC,J,0),privateKey:Q,publicKey:N}}async function bC({phrase:y,derivationPath:T=n2.STRK}){let{Account:H,RpcProvider:f}=await import("starknet"),{privateKey:C,address:U}=await F0({derivationPath:T,phrase:y}),o=await EC(n0.Starknet),q=new f({nodeUrl:o});return new H({address:U,provider:q,signer:C})}function $2(y){let T=n0.Starknet,H=y&&"index"in y?y.index||0:0,f=VX(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:pX(vX[T],{index:H})),C,U,o;async function q(){if(U)return U;let{RpcProvider:A}=await import("starknet"),_=await EC(T);return U=new A({nodeUrl:_}),U}async function X(A){let _=await q(),L=A||await Z();if(!L)return!1;try{return await _.getClassHashAt(L),!0}catch(x){if(x instanceof Error&&x.message.includes("Contract not found"))return!1;let k=x;if(k?.code===20||k?.code===19)return!1;throw x}}async function G(){let{CallData:A,hash:_}=await import("starknet"),L=await q(),x=await Y();if(!x)throw new Oy("toolbox_starknet_no_signer");if(!o)throw new Oy({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await X())return x.address;let w=A.compile([o,0]);if(_.calculateContractAddressFromHash(o,VC,w,0).toLowerCase()!==x.address.toLowerCase())throw new Oy({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let F={addressSalt:o,classHash:VC,constructorCalldata:w},{transaction_hash:z}=await x.deployAccount(F);return await L.waitForTransaction(z),z}async function M(){if(!await X()){if(!o)throw new Oy({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 G()}}async function Y(){if(C)return C;return C=await SC(y).with({phrase:bf.string},async({phrase:A})=>{let{Account:_,RpcProvider:L}=await import("starknet"),{privateKey:x,address:k,publicKey:w}=await F0({derivationPath:f,phrase:A});o=w;let n=await EC(n0.Starknet),F=new L({nodeUrl:n});return new _({address:k,provider:F,signer:x})}).with({address:bf.string,privateKey:bf.string},async({privateKey:A,address:_})=>{let{Account:L}=await import("starknet"),x=await q();return new L({address:_,provider:x,signer:A})}).with({signer:bf.instanceOf(Object)},({signer:A})=>A).otherwise(()=>{return}),C}async function Z(){return(await Y())?.address??""}async function Q(A){let _=await q(),{uint256:L,CallData:x}=await import("starknet"),k=[],w=[PC,k2];for(let n of w)try{let[F="0",z="0"]=await _.callContract({calldata:x.compile({account:A}),contractAddress:n,entrypoint:"balanceOf"}),$=L.uint256ToBN({high:F,low:z});SC(n).with(PC,()=>{k.push(k0.from({chain:T,value:$}))}).with(k2,()=>{if($>0n)k.push(k0.from({asset:`${T}.ETH-${n}`,value:$}))}).otherwise(()=>{})}catch{}return k}async function N({recipient:A,assetValue:_}){let{CallData:L,uint256:x}=await import("starknet");if(!$0(A))throw new Oy("core_transaction_invalid_recipient_address",{address:A});let k=_.isGasAsset?PC:_.address;if(!k)throw new Oy("toolbox_starknet_invalid_address",{address:k,assetValue:_});let w=x.bnToUint256(_.getBaseValue("bigint"));return[{calldata:L.compile([A,w]),contractAddress:k,entrypoint:"transfer"}]}async function J({recipient:A,assetValue:_,sender:L}){let{baseDecimal:x}=bX(n0.Starknet),k=await Y(),w=await SC({sender:L,signer:k}).with({sender:bf.string},async({sender:n})=>{let{Account:F}=await import("starknet"),z=await q();return new F({address:n,provider:z,signer:"0x0"})}).with({signer:bf.nonNullable},({signer:n})=>n).otherwise((n)=>{throw new Oy({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:n}})});try{let n=await N({assetValue:_,recipient:A}),F=await w.estimateInvokeFee(n);if(F?.overall_fee)return k0.from({chain:T,fromBaseDecimal:x,value:F.overall_fee})}catch(n){throw new Oy("toolbox_starknet_fee_estimation_failed",n)}return k0.from({chain:T,value:"0.00001"})}async function O({recipient:A,assetValue:_,memo:L}){let x=await Y();if(!x)throw new Oy("toolbox_starknet_no_signer");await M();let k=await N({assetValue:_,memo:L,recipient:A});return(await x.execute(k)).transaction_hash}async function D(A){let _=await Y();if(!_)throw new Oy("toolbox_starknet_no_signer");let L=await _.signMessage(A);return Array.isArray(L)?L:[L.r.toString(),L.s.toString()]}async function W(A){let _=await Y();if(!_)throw new Oy("toolbox_starknet_no_signer");return await M(),(await _.execute(A)).transaction_hash}function R(A){return W(A)}function B(A,_=!0){try{return Wy(T)(A,_)}catch{return Q(A)}}return{broadcastTransaction:W,createKeysForPath:bC,createTransaction:N,deployAccount:G,estimateTransactionFee:J,getAddress:Z,getBalance:B,getProvider:q,isAccountDeployed:X,signAndBroadcastTransaction:R,signMessage:D,transfer:O,validateAddress:$0}}var PC="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",k2="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",VC="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var F2=E(()=>{uy()});var I0={};Ty(I0,{validateStarknetAddress:()=>$0,starknetCreateKeysForPath:()=>bC,getStarknetToolbox:()=>$2,deriveStarknetKeys:()=>F0});var S0=E(()=>{F2()});import{isValidSuiAddress as lX}from"@mysten/sui/utils";import{AssetValue as vf,Chain as pf,getChainConfig as I2,getRPCUrlSync as jX,SwapKitError as Dy}from"@swapkit/helpers";import{match as KX,P as S2}from"ts-pattern";async function E0(y,T,H,f,C=[],U){let o=await y.getCoins({coinType:H,cursor:U,owner:T}),q=[...C,...o.data],X=q.reduce((G,M)=>G+BigInt(M.balance),0n);return o.hasNextPage&&X<f?E0(y,T,H,f,q,o.nextCursor):q}function V0({coinObjectId:y,digest:T,version:H}){return{digest:T,objectId:y,version:H}}function hX(y,T,H){let f=T.reduce((G,M)=>G+BigInt(M.balance),0n);if(f<H)throw new Dy("toolbox_sui_insufficient_balance",{available:f.toString(),required:H.toString()});let{selectedCoins:C}=T.reduce((G,M)=>{if(G.total>=H)return G;return{selectedCoins:[...G.selectedCoins,M],total:G.total+BigInt(M.balance)}},{selectedCoins:[],total:0n}),U=C[0],o=y.objectRef(V0(U)),q=C.slice(1).map((G)=>y.objectRef(V0(G)));if(q.length>0)y.mergeCoins(o,q);let[X]=y.splitCoins(o,[H]);return X}function P2(y,T){let H=y.reduce((f,C)=>f+BigInt(C.balance),0n);if(H<T)throw new Dy("toolbox_sui_insufficient_balance",{available:H.toString(),required:T.toString()})}function V2(y){try{return lX(y)}catch{return!1}}function E2(y){return"signWithIntent"in y}function mX({provider:y,...T}={}){let H;async function f(){if(H)return H;return H=await KX(T).with({phrase:S2.string},async({phrase:J})=>{let{Ed25519Keypair:O}=await import("@mysten/sui/keypairs/ed25519");return O.deriveKeypair(J)}).with({signer:S2.any},({signer:J})=>J).otherwise(()=>{return}),H}async function C(J=y){let{SuiJsonRpcClient:O}=await import("@mysten/sui/jsonRpc");return new O({network:"mainnet",url:J||jX(pf.Sui)})}async function U(J){return BigInt(await J.getReferenceGasPrice())}async function o(){return(await f())?.toSuiAddress()||""}function q(J){try{let O=vf.from({address:J,chain:pf.Sui});return{asset:O.toString(),decimals:O.decimal}}catch{}return null}async function X(J){let O=J||await o();if(!O)throw new Dy("toolbox_sui_address_required");let{baseDecimal:D,chain:W}=I2(pf.Sui);try{let B=await(await C()).getAllBalances({owner:O}),A=B.find(({coinType:L})=>L===P0)?.totalBalance||"0",_=[vf.from({chain:W,fromBaseDecimal:D,value:A})];for(let{coinType:L,totalBalance:x}of B){if(L===P0||Number(x)<=0)continue;let k=q(L);if(k)_.push(vf.from({asset:k.asset,fromBaseDecimal:k.decimals,value:x}))}return _}catch{return[vf.from({chain:W})]}}async function G(J){let O=vf.from({chain:pf.Sui,value:"0.01"});if(!J)return O;try{let D=await C(),{txBytes:W}=await M(J),{effects:{status:R,gasUsed:B}}=await D.dryRunTransactionBlock({transactionBlock:W});if(R.status!=="success")return O;let{baseDecimal:A}=I2(pf.Sui),_=BigInt(B.computationCost)+BigInt(B.storageCost)-BigInt(B.storageRebate);return vf.from({chain:pf.Sui,fromBaseDecimal:A,value:_.toString()})}catch{return O}}async function M({recipient:J,assetValue:O,gasBudget:D,sender:W}){let{Transaction:R}=await import("@mysten/sui/transactions"),B=W||await o(),A=D||uX;if(!B)throw new Dy("toolbox_sui_no_sender");try{let _=await C(),L=new R;if(L.setSender(B),O.isGasAsset||O.symbol==="SUI"){let k=O.getBaseValue("bigint"),[w,n]=await Promise.all([U(_),E0(_,B,P0,k+BigInt(A))]);P2(n,k+BigInt(A)),L.setGasPrice(w),L.setGasPayment(n.map(V0));let[F]=L.splitCoins(L.gas,[O.getBaseValue("string")]);L.transferObjects([F],J)}else{let k=O.address;if(!k)throw new Dy("toolbox_sui_missing_coin_type");let w=O.getBaseValue("bigint"),[n,F,z]=await Promise.all([U(_),E0(_,B,P0,BigInt(A)),E0(_,B,k,w)]);if(!z.length)throw new Dy("toolbox_sui_no_coins_found",{coinType:k});P2(F,BigInt(A)),L.setGasPrice(n),L.setGasPayment(F.map(V0));let $=hX(L,z,w);L.transferObjects([$],J)}L.setGasBudget(A);let x=await L.build({client:_});return{tx:L,txBytes:x}}catch(_){if(_ instanceof Dy)throw _;throw new Dy("toolbox_sui_transaction_creation_error",{error:_})}}async function Y(J){let O=await f();if(!O)throw new Dy("toolbox_sui_no_signer");if(J instanceof Uint8Array)return O.signTransaction(J);let{txBytes:D}="tx"in J?J:await M(J);return O.signTransaction(D)}async function Z({assetValue:J,gasBudget:O,recipient:D}){let W=await f();if(!W)throw new Dy("toolbox_sui_no_signer");let R=W.toSuiAddress()||await o();if(!R)throw new Dy("toolbox_sui_no_sender");let{txBytes:B}=await M({assetValue:J,gasBudget:O,recipient:D,sender:R}),A=await C();if(!E2(W)){let L=await W.signTransaction(B),{digest:x}=await A.executeTransactionBlock({signature:L.signature,transactionBlock:L.bytes});return x}let{digest:_}=await A.signAndExecuteTransaction({signer:W,transaction:B});return _}async function Q(J){let O=await C(),{digest:D}=await O.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return D}async function N(J){let O=await f();if(!O)throw new Dy("toolbox_sui_no_signer");let D=await C(),W;if(typeof J==="string")W=Uint8Array.from(Buffer.from(J,"base64"));else if(J instanceof Uint8Array)W=J;else W=await J.build({client:D});if(!E2(O)){let B=await O.signTransaction(W),{digest:A}=await D.executeTransactionBlock({signature:B.signature,transactionBlock:B.bytes});return A}let{digest:R}=await D.signAndExecuteTransaction({signer:O,transaction:W});return R}return{broadcastTransaction:Q,createTransaction:M,estimateTransactionFee:G,getAddress:o,getBalance:X,signAndBroadcastTransaction:N,signTransaction:Y,transfer:Z,validateAddress:V2}}var P0="0x2::sui::SUI",uX=50000000;var b2=()=>{};var b0={};Ty(b0,{validateSuiAddress:()=>V2,getSuiToolbox:()=>mX});var v0=E(()=>{b2()});import{getHttpEndpoint as tX}from"@orbs-network/ton-access";import{AssetValue as cX,Chain as OT,getChainConfig as gX,SKConfig as iX,SwapKitError as lf,SwapKitNumber as dX}from"@swapkit/helpers";import{mnemonicToWalletKey as rX}from"@ton/crypto";import{Address as iy,beginCell as vC,Cell as v2,external as aX,internal as sX,JettonMaster as eX,loadStateInit as yG,SendMode as l0,storeMessage as fG,TonClient as TG,toNano as K2,WalletContractV4 as CG}from"@ton/ton";import{match as p2,P as pC}from"ts-pattern";async function GG(){let y=Date.now();if(p0&&y-j2<XG)return p0;return p0=await tX(),j2=y,p0}async function QG(){let[y]=iX.get("rpcUrls")[OT.Ton]??[];if(y)return y;return await GG()}function _G(y={}){let T,H,f;async function C(){if(!T){let B=y.provider??await QG();T=new TG({endpoint:B})}return T}async function U(){return(await q()).address.toString()}async function o(){if(f)return f;return f=await p2(y).with({phrase:pC.string},async({phrase:B})=>rX(B.split(" "))).with({signer:pC.any},({signer:B})=>B).otherwise(()=>{return}),f}async function q(B){if(!H||B){let A=await o(),_=await C(),L=B||A;if(!L)throw new lf("core_wallet_connection_not_found");let x=CG.create({publicKey:L.publicKey,workchain:0});H=_.open(x)}return H}let X=Wy(OT.Ton);async function G({assetValue:B,recipient:A,memo:_,sender:L,sweep:x}){if(B.isGasAsset){let V=_?R(_).toBoc().toString("base64"):void 0,l=x?qG:void 0;return[{address:A,amount:B.getBaseValue("string"),payload:V,sendMode:l}]}if(x)throw new lf({errorKey:"core_swap_invalid_params",info:{asset:B.toString(),reason:"TON sweep is only supported for the native gas asset"}});let k=B.address;if(!k)throw new lf({errorKey:"core_swap_contract_not_found",info:{asset:B.toString()}});let w=L??await U(),n=await D({jettonMasterAddress:k,ownerAddress:w}),F=iy.parse(A),z=iy.parse(w),$=B.getBaseValue("bigint"),I=_?R(_):void 0,v=W({destinationAddress:F,forwardPayload:I,jettonAmount:$,responseAddress:z});return[{address:n.toString(),amount:oG.toString(),payload:v.toBoc().toString("base64")}]}function M({sender:B,...A}){return G({...A,sender:B})}function Y(B){return B.map((A)=>{let _=A.payload?v2.fromBase64(A.payload):void 0,L=A.stateInit?yG(v2.fromBase64(A.stateInit).asSlice()):void 0,x=iy.parse(A.address),k=iy.isFriendly(A.address)?iy.parseFriendly(A.address).isBounceable:!0;return sX({body:_,bounce:k,init:L,to:x,value:BigInt(A.amount)})})}async function Z(B){let A=await o(),_=await q();if(!_||!A)throw new lf("core_wallet_connection_not_found");let L=await C(),{state:x}=await L.getContractState(_.address),k=x==="active",w=k?await _.getSeqno():0,n=_.createTransfer({messages:Y(B),secretKey:A.secretKey,sendMode:B[0]?.sendMode??l2,seqno:w}),F=aX({body:n,init:k?void 0:_.init,to:_.address});return vC().store(fG(F)).endCell()}async function Q(B){return await(await C()).sendFile(B.toBoc()),B.hash().toString("hex")}async function N(B){let A=await Z(B);return Q(A)}async function J({assetValue:B,recipient:A,memo:_,sweep:L}){let x=await M({assetValue:B,memo:_,recipient:A,sweep:L});return N(x)}async function O({sender:B,...A}){let{baseDecimal:_}=gX(OT.Ton),L=await p2(B).with(pC.string,(w)=>{return iy.parseFriendly(w).address}).otherwise(async()=>{return(await q()).address});if(!L)throw new lf("toolbox_fee_estimation_failed",{chain:OT.Ton});let x=cX.from({chain:OT.Ton,value:"0.01"}),k=await C();try{let w=await M({sender:B,...A}),n=await o(),F=await q();if(!F||!n)return x;let z=await F.getSeqno(),$=F.createTransfer({messages:Y(w),secretKey:n.secretKey,sendMode:w[0]?.sendMode??l2,seqno:z}),{source_fees:I}=await k.estimateExternalMessageFee(L,{body:$,ignoreSignature:!0,initCode:null,initData:null}),v=I.in_fwd_fee+I.storage_fee+I.gas_fee+I.fwd_fee;return x.set(dX.fromBigInt(BigInt(v),_))}catch{return x}}async function D({jettonMasterAddress:B,ownerAddress:A}){try{let _=await C(),L=iy.parse(B),x=iy.parse(A);return await _.open(eX.create(L)).getWalletAddress(x)}catch{throw new lf({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:B,ownerAddress:A}})}}function W({jettonAmount:B,destinationAddress:A,responseAddress:_,forwardAmount:L=UG,forwardPayload:x}){let k=vC().storeUint(HG,32).storeUint(0,64).storeCoins(B).storeAddress(A).storeAddress(_).storeBit(0).storeCoins(L);if(x)k.storeBit(1).storeRef(x);else k.storeBit(0);return k.endCell()}function R(B){return vC().storeUint(0,32).storeStringTail(B).endCell()}return{broadcastTransaction:Q,createTransaction:M,estimateTransactionFee:O,getAddress:U,getBalance:X,getJettonWalletAddress:D,sign:Z,signAndBroadcastTransaction:N,transfer:J,validateAddress:u2}}function u2(y){try{return iy.parse(y),!0}catch{return!1}}var HG=260734629,UG,oG,l2,qG,XG=60000,p0,j2=0;var h2=E(()=>{uy();UG=K2("0.01"),oG=K2("0.05"),l2=l0.PAY_GAS_SEPARATELY+l0.IGNORE_ERRORS,qG=l0.CARRY_ALL_REMAINING_BALANCE+l0.IGNORE_ERRORS});var j0={};Ty(j0,{validateTonAddress:()=>u2,getTONToolbox:()=>_G});var K0=E(()=>{h2()});import{NetworkDerivationPath as ZG}from"@swapkit/helpers";function ny(y,T){if(!Number.isInteger(T)||T<0)throw RangeError(`${y} must be a non-negative integer, got: ${T}`)}function Hf({accountIndex:y,chain:T,derivationPath:H}){if(y!==void 0)ny("accountIndex",y);let f=[...H?.slice(0,3)??ZG[T].slice(0,3)];if(y!==void 0)f[2]=y;return f}function jf({accountIndex:y,change:T=!1,chain:H,derivationPath:f,index:C}){return ny("index",C),[...Hf({accountIndex:y,chain:H,derivationPath:f}),Number(T),C]}function Af(y){return y[2]??0}function m2({deriveAddress:y,getBalance:T,getUtxos:H}){async function f(q){let{accountIndex:X,count:G,startIndex:M=0,change:Y=!1}=q;if(ny("count",G),G<1)throw RangeError("count must be at least 1");ny("startIndex",M);let Z=[];for(let Q=0;Q<G;Q++){let N=await y({accountIndex:X,change:Y,index:M+Q});if(N)Z.push(N)}return Z}async function C(q){let{gapLimit:X=20,change:G=!1}=q??{},M=[],Y=0,Z=0;while(Y<X){let Q=await y({change:G,index:Z});if(!Q)break;if((await T(Q.address)).some((O)=>O.getValue("number")>0))M.push(Q),Y=0;else Y++;Z++}return M}async function U(q=20){let[X,G]=await Promise.all([C({change:!1,gapLimit:q}),C({change:!0,gapLimit:q})]),M=[...X,...G],Y=await Promise.all(M.map(async(Q)=>{let J=(await T(Q.address)).reduce((O,D)=>O+D.getValue("number"),0);return{...Q,balance:J}})),Z=Y.reduce((Q,N)=>Q+N.balance,0);return{addresses:Y,total:Z}}async function o(q=20){let[X,G]=await Promise.all([C({change:!1,gapLimit:q}),C({change:!0,gapLimit:q})]),M=[...X,...G];return(await Promise.all(M.map(async(Z)=>{return(await H(Z.address)).map((N)=>({...N,address:Z.address,derivationIndex:Z.index,isChange:Z.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:U,getAggregatedUtxos:o,scanForAddresses:C}}var DT=()=>{};import{Chain as qy,getRPCUrl as MG,RequestClient as u0,SKConfig as WG,SwapKitError as vy,warnOnce as LG}from"@swapkit/helpers";import{NETWORKS as Kf}from"@swapkit/utxo-signer";async function YG({chain:y,txHash:T}){let H=`${RT(y)}/push/transaction`,f=JSON.stringify({data:T});try{let C=await u0.post(H,{body:f,headers:{"Content-Type":"application/json"}});if(C.context.code!==200)throw new vy("toolbox_utxo_broadcast_failed",{error:C.context.error||"Transaction broadcast failed"});return C.data?.transaction_hash||T}catch(C){let U=await MG(y);if(U){let o=JSON.stringify({id:KH(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),q=await u0.post(U,{body:o,headers:{"Content-Type":"application/json"}});if(q.error)throw new vy("toolbox_utxo_broadcast_failed",{error:q.error?.message});if(q.result.includes('"code":-26'))throw new vy("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return q.result}throw C}}function RT(y){return`https://api.blockchair.com/${AG(y)}`}function t2(y){switch(y){case qy.Bitcoin:return 5;case qy.Dogecoin:return 1e4;case qy.Litecoin:return 1;case qy.Zcash:return 1;default:return 2}}function AG(y){switch(y){case qy.BitcoinCash:return"bitcoin-cash";case qy.Litecoin:return"litecoin";case qy.Dash:return"dash";case qy.Dogecoin:return"dogecoin";case qy.Zcash:return"zcash";case qy.Polkadot:return"polkadot";default:return"bitcoin"}}async function JG(y){try{let{feePerKb:T}=await u0.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),H=T/1000;return Math.max(H,t2(y))}catch{return t2(y)}}async function h0(y,T){let H=await u0.get(`${y}${T?`${y.includes("?")?"&":"?"}key=${T}`:""}`);if(!H||H.context.code!==200)throw new vy("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return H.data}async function g2({address:y,chain:T,apiKey:H}){if(!y)throw new vy("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await h0(`${RT(T)}/dashboards/address/${y}?transaction_details=true`,H))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function zG({address:y,chain:T,apiKey:H}){return(await g2({address:y,apiKey:H,chain:T}))?.address.balance||0}async function i2({chain:y,apiKey:T,txHash:H}){if(!H)throw new vy("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await h0(`${RT(y)}/raw/transaction/${H}`,T))?.[H]?.raw_transaction||""}catch(f){let C=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${C}`),""}}async function BG({chain:y,apiKey:T,txHash:H}){if(!H)throw new vy("toolbox_utxo_invalid_params",{error:"TxHash is required"});let C=(await h0(`${RT(y)}/dashboards/transaction/${H}`,T))?.[H];if(!C)throw new vy("toolbox_utxo_tx_not_found",{txHash:H});let{transaction:U,inputs:o,outputs:q}=C,X=o.map((M)=>M.spending_sequence),G=U.is_rbf===!0||X.some((M)=>M<NG);return{blockId:U.block_id,confirmed:U.block_id!==-1,fee:U.fee,inputs:o,isRBF:G,outputs:q,sequences:X,size:U.size,txid:U.hash,weight:U.weight}}async function OG({chain:y,address:T,apiKey:H,offset:f=0,limit:C=30}){return(await h0(`${RT(y)}/outputs?q=recipient(${T}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${C}&offset=${f}`,H)).map(({is_spent:X,script_hex:G,block_id:M,transaction_hash:Y,index:Z,value:Q,spending_signature_hex:N})=>({hash:Y,index:Z,is_confirmed:M!==-1,is_spent:X,script_hex:G,txHex:N,value:Q}))}function DG(y){return y.reduce((T,H)=>T+H.value,0)}function c2(y,T){let H=[...y].sort((f,C)=>C.value-f.value);if(T){let f=[],C=0;for(let U of H)if(f.push(U),C+=U.value,C>=T)break;return f}return H}async function d2({chain:y,address:T,apiKey:H,targetValue:f,accumulativeValue:C=0,offset:U=0,limit:o=30}){if(!T)throw new vy("toolbox_utxo_invalid_params",{error:"Address is required"});try{let q=await OG({address:T,apiKey:H,chain:y,limit:o,offset:U,targetValue:f}),G=q.length<o,M=q.filter(({is_spent:O})=>!O),Y=DG(M),Z=C+Y,Q=f&&Z>=f;if(G||Q)return c2(M,f);let N=await d2({accumulativeValue:Z,address:T,apiKey:H,chain:y,limit:o,offset:U+o,targetValue:f}),J=[...M,...N];return c2(J,f)}catch(q){let X=q instanceof Error?q.message:String(q);return console.error(`Failed to fetch unspent UTXOs: ${X}`),[]}}async function RG({address:y,chain:T,apiKey:H,fetchTxHex:f=!0,targetValue:C}){let U=await d2({address:y,apiKey:H,chain:T,targetValue:C}),o=[];for(let{hash:q,index:X,script_hex:G,value:M}of U){let Y;if(f)Y=await i2({apiKey:H,chain:T,txHash:q});o.push({address:y,hash:q,index:X,txHex:Y,value:M,witnessUtxo:{script:Buffer.from(G,"hex"),value:M}})}return o}function yy(y){let T=WG.get("apiKeys").blockchair||"";return LG({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(H)=>YG({chain:y,txHash:H}),getAddressData:(H)=>g2({address:H,apiKey:T,chain:y}),getBalance:(H)=>zG({address:H,apiKey:T,chain:y}),getRawTx:(H)=>i2({apiKey:T,chain:y,txHash:H}),getSuggestedTxFee:()=>JG(y),getTransactionDetails:(H)=>BG({apiKey:T,chain:y,txHash:H}),getUtxos:(H)=>RG({...H,apiKey:T,chain:y})}}function xG(y){return y}function wG(){return function(T){switch(T){case qy.Bitcoin:return Kf.bitcoin;case qy.BitcoinCash:return Kf.bitcoinCash;case qy.Dash:return Kf.dash;case qy.Litecoin:return Kf.litecoin;case qy.Dogecoin:return Kf.dogecoin;case qy.Zcash:return Kf.zcash;default:throw new vy("toolbox_utxo_not_supported",{chain:T})}}}var NG=4294967294;var r2=E(()=>{uy()});import{CashAddrType as m0,decodeCashAddr as kG,encodeCashAddr as nG}from"@swapkit/utxo-signer";function IG(y,T,H){return nG({hash:H,prefix:y,type:$G[T]})}function SG(y){let T=kG(y),H=FG[T.type];if(!H)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:H}}var $G,FG,lC;var a2=E(()=>{$G={P2PKH:m0.P2PKH,P2SH:m0.P2SH},FG={[m0.P2PKH]:"P2PKH",[m0.P2SH]:"P2SH"};lC={decode:SG,encode:IG}});import{sha256 as PG}from"@noble/hashes/sha2.js";import{createBase58check as EG}from"@scure/base";import{SwapKitError as e2}from"@swapkit/helpers";function KC(y){try{return t0(y),!0}catch{return!1}}function uC(y){return t0(y)?.network}function dy(y){let T=t0(y);if(T?.format==="legacy")return y;return vG(T)}function xT(y){let T=t0(y);return pG(T)}function t0(y){try{let T=VG(y);if(T)return T}catch{}try{let T=bG(y);if(T)return T}catch{}throw new e2("toolbox_utxo_invalid_address",{address:y})}function VG(y){try{let T=yU.decode(y);if(T.length!==21)throw new e2("toolbox_utxo_invalid_address",{address:y});let H=T[0],f=Array.prototype.slice.call(T,1);switch(H){case Jf.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case Jf.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case Jf.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case Jf.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case Jf.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case Jf.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function bG(y){if(y.indexOf(":")!==-1)try{return s2(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let H of T)try{return s2(`${H}:${y}`)}catch{}}return}function s2(y){try{let{hash:T,prefix:H,type:f}=lC.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(T,0),network:H==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function vG(y){let T=Jf.legacy[y.network][y.type],H=Buffer.alloc(1+y.hash.length);return H[0]=T,H.set(y.hash,1),yU.encode(H)}function pG(y){let T=y.network==="mainnet"?"bitcoincash":"bchtest",H=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return lC.encode(T,H,f)}var yU,jC,Jf;var fU=E(()=>{a2();yU=EG(PG);((H)=>{H.Mainnet="mainnet";H.Testnet="testnet"})(jC||={});Jf={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as lG}from"@swapkit/helpers";import{Script as jG}from"@swapkit/utxo-signer";function Jy(y){let T=new Uint8Array(Buffer.from(y,"utf8"));return jG.encode(["RETURN",T])}var KG=1000,g0=10,i0=2,TU=10,uG=41,hG=107,d0,c0,wT,uf=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new lG("toolbox_utxo_invalid_address",{address:y})},zf=({inputs:y,outputs:T,feeRate:H})=>{let f=y[0]&&"address"in y[0]&&y[0].address?uf(y[0].address):"P2PKH",U=(H?y.filter((G)=>G.value>=c0["type"in G&&G.type?G.type:"P2PKH"]*Math.ceil(H)):y).reduce((G,M)=>G+Uf(M),0),o=T?.reduce((G,M)=>G+kT(M),0)||wT[f],q=g0+U+o;return f==="P2WPKH"?Math.ceil(q+i0/4):q},Uf=(y)=>{if("type"in y&&y.type)return c0[y.type];if("address"in y&&y.address)return c0[uf(y.address)];return uG+hG},kT=(y,T)=>{if(y?.script)return TU+y.script.length+(y.script.length>=74?2:1);if(T)return wT[T];if("address"in y&&y.address)return wT[uf(y.address)];return wT.P2PKH};var hC=E(()=>{((H)=>{H.P2PKH="P2PKH";H.P2WPKH="P2WPKH"})(d0||={});c0={["P2PKH"]:148,["P2WPKH"]:68},wT={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as Nf,SwapKitError as mG}from"@swapkit/helpers";function nT(y){switch(y){case Nf.Bitcoin:case Nf.BitcoinCash:return 550;case Nf.Dash:case Nf.Litecoin:return 5500;case Nf.Dogecoin:return 1e5;case Nf.Zcash:return 546;default:throw new mG("toolbox_utxo_not_supported",{chain:y})}}function $y({inputs:y,outputs:T,feeRate:H=1,chain:f=Nf.Bitcoin,changeAddress:C=""}){let U=y[0]&&"address"in y[0]&&y[0].address?uf(y[0].address):"P2PKH",o=y.filter((N)=>Uf(N)*H<=N.value),X=U==="P2WPKH"?Math.ceil(i0/4):0,G=g0+X+T.reduce((N,J)=>N+kT(J),0),M=T.reduce((N,J)=>N+J.value,0),Y=G*H,Z=0,Q=[];for(let N of o){let J=Uf(N),O=H*J;Y+=O,Z+=N.value,Q.push(N);let D=Y+M;if(Z<D)continue;let W=Z-D,R=H*kT({address:C,value:0});if(W>R){let B=R+Y,A=Z-(M+Math.ceil(B));if(A>Math.max(Uf({value:0})*H,nT(f)))return{fee:Math.ceil(B),inputs:Q,outputs:T.concat({address:C,value:A})}}return{fee:Math.ceil(Y),inputs:Q,outputs:T}}return{fee:Math.ceil(H*zf({inputs:y,outputs:T}))}}var CU=E(()=>{hC()});var hf=E(()=>{r2();fU();CU();hC()});import{Address as tG,ZCASH_NETWORK as cG}from"@swapkit/utxo-signer";function Bf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function of(y){let T=Bf(y);return KC(T)&&uC(T)==="mainnet"}function mf(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let H=tG(cG).decode(y);return H.type==="pkh"||H.type==="sh"}catch{return!1}}var $T=E(()=>{hf()});import{secp256k1 as gG}from"@noble/curves/secp256k1.js";import{hex as Of}from"@scure/base";import{HDKey as qU}from"@scure/bip32";import{mnemonicToSeedSync as tC}from"@scure/bip39";import{AssetValue as r0,applyFeeMultiplier as HU,Chain as fy,derivationPathToString as FT,FeeOption as py,NetworkDerivationPath as XU,SwapKitError as i,SwapKitNumber as iG,updateDerivationPath as dG,warnOnce as rG}from"@swapkit/helpers";import{Address as aG,BCHSigHash as cC,CashAddrPrefix as sG,CashAddrType as eG,encodeCashAddr as y4,NETWORKS as tf,p2pkh as UU,p2wpkh as f4,RBF_SEQUENCE as T4,SigHash as GU,Transaction as mC,WIF as QU}from"@swapkit/utxo-signer";import{match as _U}from"ts-pattern";function gC({address:y,chain:T}){return _U(T).with(fy.BitcoinCash,()=>of(y)).with(fy.Zcash,()=>mf(y)).otherwise(()=>{try{return aG(_y(T)).decode(y),!0}catch{return!1}})}function _y(y){return _U(y).with(fy.Bitcoin,()=>tf.bitcoin).with(fy.BitcoinCash,()=>tf.bitcoinCash).with(fy.Dash,()=>tf.dash).with(fy.Dogecoin,()=>tf.dogecoin).with(fy.Litecoin,()=>tf.litecoin).with(fy.Zcash,()=>tf.zcash).exhaustive()}function C4({phrase:y,derivationPath:T,network:H,seed:f}){let C=f??tC(y),o=qU.fromMasterSeed(C,H.bip32).derive(T);if(!o.privateKey)throw new i("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return o.privateKey}function oU(y){return gG.getPublicKey(y,!0)}function ST({publicKey:y,chain:T,network:H}){if(T===fy.BitcoinCash){let U=UU(y,H);if(!U.hash)throw new i("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return y4({hash:U.hash,prefix:sG.MAINNET,type:eG.P2PKH}).replace(/^bitcoincash:/,"")}let C=!IT.includes(T)?f4(y,H):UU(y,H);if(!C.address)throw new i("toolbox_utxo_invalid_address",{error:"Could not derive address"});return C.address}function cf({phrase:y,derivationPath:T,chain:H,wif:f,seed:C}){let U=_y(H);if(f){let G=QU(U).decode(f),M=oU(G);return{privateKey:G,publicKey:M}}if(!y)throw new i("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let o=T||FT(XU[H]),q=C4({derivationPath:o,network:U,phrase:y,seed:C}),X=oU(q);return{privateKey:q,publicKey:X}}function H4(y,T){return QU(_y(T)).encode(y)}function U4({phrase:y,derivationPath:T,chain:H,seed:f}){let C=T.split("/");if(C.length<4)throw new i("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${C.length}): ${T}`});let U=_y(H),o=f??tC(y),q=qU.fromMasterSeed(o,U.bip32),X=C.slice(0,4).join("/");return q.derive(X)}function qf({inputs:y,outputs:T,chain:H,tx:f,sender:C,compiledMemo:U,enableRBF:o=!1}){let q=_y(H),X=!IT.includes(H),G=o?T4:void 0,M=new Set;for(let Y of y){let Z=`${Y.hash}:${Y.index}`;if(M.has(Z))throw new i("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});M.add(Z);let Q=typeof Y.hash==="string"?Of.decode(Y.hash):Y.hash;if(X&&Y.witnessUtxo)f.addInput({index:Y.index,sequence:G,txid:Q,witnessUtxo:{amount:BigInt(Y.witnessUtxo.value),script:Y.witnessUtxo.script}});else if(Y.txHex)f.addInput({index:Y.index,nonWitnessUtxo:Of.decode(Y.txHex),sequence:G,txid:Q,...H===fy.BitcoinCash?{sighashType:cC.ALL}:{}});else throw new i("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let Y of T){let Z="address"in Y&&Y.address?Y.address:C;if(H===fy.BitcoinCash)Z=dy(Z);if(Y.script){if(U)f.addOutput({amount:0n,script:U})}else f.addOutputAddress(Z,BigInt(Y.value),q)}return{inputs:y,tx:f}}async function gf(y){let T=await yy(y).getSuggestedTxFee();return{[py.Average]:T,[py.Fast]:HU(T,py.Fast),[py.Fastest]:HU(T,py.Fastest)}}async function ZU({assetValue:y,recipient:T,memo:H,sender:f,fetchTxHex:C=!1}){let U=y.chain,o=(await gf(U))[py.Fastest],q=C||IT.includes(U),X=y.getBaseValue("number"),G=Math.ceil(X+o*5000);return{inputs:await yy(U).getUtxos({address:f,fetchTxHex:q,targetValue:G}),outputs:[{address:T,value:X},...H?[{address:"",script:Jy(H),value:0}]:[]]}}async function MU({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C,fetchTxHex:U=!1,enableRBF:o=!1}){let q=y.chain,X=H?Jy(H):null,G=await ZU({assetValue:y,fetchTxHex:U,memo:H,recipient:T,sender:C}),{inputs:M,outputs:Y}=$y({...G,chain:q,feeRate:f});if(!(M&&Y))throw new i("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Z=new mC({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),{inputs:Q,tx:N}=qf({chain:q,compiledMemo:X,enableRBF:o,inputs:M,outputs:Y,sender:C,tx:Z});return{inputs:Q,tx:N,utxos:G.inputs}}async function WU({assetValue:y,feeOptionKey:T=py.Fast,feeRate:H,memo:f,sender:C,recipient:U}){let o=y.chain,q=await ZU({assetValue:y,memo:f,recipient:U,sender:C}),X=H?Math.floor(H):(await gf(o))[T];return $y({...q,chain:o,feeRate:X})}function o4(y){return async function({from:H,memo:f,feeRate:C,feeOptionKey:U=py.Fast,recipients:o=1}){let q=await yy(y).getAddressData(H),X=C?Math.ceil(C):(await gf(y))[U],G=q?.utxo.map((J)=>({...J,hash:"",type:"P2PKH"})).filter((J)=>J.value>Math.max(nT(y),Uf(J)*X));if(!G?.length)return r0.from({chain:y});let M=BigInt(G.reduce((J,O)=>J+O.value,0)),Y=r0.from({chain:y,value:M}),Z=typeof o==="number"?Array.from({length:o},()=>({address:H,value:0})):o;if(f)Z.push({address:H,script:Jy(f),value:0});let Q=zf({inputs:G,outputs:Z}),N=r0.from({chain:y,value:BigInt(Q*X)});return Y.sub(N)}}function q4(y){return async function(H){let{fee:f}=await WU(H);return r0.from({chain:y,value:iG.fromBigInt(BigInt(f),8).getValue("string")})}}function X4({chain:y,phrase:T,derivationPath:H,seed:f}){let C=_y(y),{privateKey:U,publicKey:o}=cf({chain:y,derivationPath:H,phrase:T,seed:f}),q=y===fy.BitcoinCash?[cC.ALL]:[GU.ALL];return{getAddress:()=>ST({chain:y,network:C,publicKey:o}),privateKey:U,publicKey:o,signTransaction:(X)=>{return X.sign(U,q),X}}}function G4(y,T){return async function({memo:f,recipient:C,feeOptionKey:U,feeRate:o,assetValue:q,enableRBF:X=!1}){let G=await T?.getAddress();if(!(T&&G))throw new i("toolbox_utxo_no_signer");if(!C)throw new i("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});rG({condition:X&&!a0.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let M=X&&a0.includes(y),Y=o||(await gf(y))[U||py.Fast],{tx:Z}=await MU({assetValue:q,enableRBF:M,feeRate:Y,memo:f,recipient:C,sender:G}),Q=await T.signTransaction(Z);return Q.finalize(),yy(y).broadcastTx(Of.encode(Q.extract()))}}function iC(y){return(T)=>gC({address:T,chain:y})}function dC(y){let T=_y(y);return function(f){if(!f)throw new i("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return ST({chain:y,network:T,publicKey:f.publicKey})}}function Xf({chain:y,...T}){let H="phrase"in T?T.phrase:void 0,f="index"in T?T.index||0:0,C=H?tC(H):void 0,U="derivationPath"in T&&T.derivationPath?T.derivationPath:dG(XU[y],{index:f}),o=FT(U),q=H?X4({chain:y,derivationPath:o,phrase:H,seed:C}):void 0,X="signer"in T?T.signer:void 0,G=q||X,M=H?cf({chain:y,derivationPath:o,phrase:H,seed:C}):void 0;function Y(){if(G)return G.getAddress();return Promise.resolve(void 0)}function Z(w){if(!H)return;let n=Hf({accountIndex:w,chain:y,derivationPath:U});return U4({chain:y,derivationPath:FT(n),phrase:H,seed:C})}let Q=Z();function N(){if(!Q)return;return Q.publicExtendedKey}function J({accountIndex:w}={}){let n=w===void 0?Q:Z(w);if(!n)return;let F=Hf({accountIndex:w,chain:y,derivationPath:U});return{accountIndex:Af(F),path:FT(F),xpub:n.publicExtendedKey}}function O({accountIndex:w,index:n,change:F=!1}){let z=w===void 0?Q:Z(w);if(!z)return;let $=jf({accountIndex:w,chain:y,change:F,derivationPath:U,index:n}),I=_y(y),v=z.deriveChild(Number(F)).deriveChild(n);if(!v.publicKey)throw new i("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let V=ST({chain:y,network:I,publicKey:v.publicKey}),l=Of.encode(v.publicKey);return{accountIndex:Af($),address:V,change:F,index:n,path:FT($),pubkey:l}}async function D(w){if(!a0.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let n=await yy(y).getTransactionDetails(w);return{canReplace:n.isRBF&&!n.confirmed,confirmed:n.confirmed,enabled:n.isRBF,fee:n.fee,sequences:n.sequences,supported:!0}}async function W({txid:w,newFeeRate:n,recipient:F,memo:z}){if(!a0.includes(y))throw new i("toolbox_utxo_rbf_not_supported",{chain:y});let $=await yy(y).getTransactionDetails(w);if(!$.isRBF)throw new i("toolbox_utxo_tx_not_replaceable",{txid:w});if($.confirmed)throw new i("toolbox_utxo_tx_already_confirmed",{blockId:$.blockId,txid:w});let I=$.inputs.reduce((e,xy)=>e+xy.value,0),V=$.outputs.find((e)=>e.recipient===F)?.value||0;if(V===0)throw new i("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let l=await Promise.all($.inputs.map(async(e)=>{let xy=await yy(y).getRawTx(e.transaction_hash);return{hash:e.transaction_hash,index:e.index,txHex:xy,value:e.value,witnessUtxo:void 0}})),h=z?Jy(z):null,s=zf({feeRate:n,inputs:l.map((e)=>({...e,type:"P2WPKH"})),outputs:[{address:F,value:V}]}),t=Math.ceil(s*n);if(t<=$.fee)throw new i("toolbox_utxo_rbf_fee_too_low",{newFee:t,originalFee:$.fee});let Ay=t-$.fee,Hy=V-Ay;if(Hy<=0)throw new i("toolbox_utxo_rbf_insufficient_change");let Sy=new mC({allowLegacyWitnessUtxo:!0,version:1}),Py=[{address:F,value:Hy},...z?[{address:"",script:Jy(z),value:0}]:[]],Ey=I-Hy-t,My=await Y();if(Ey>nT(y)&&My)Py.push({address:My,value:Ey});return qf({chain:y,compiledMemo:h,inputs:l,outputs:Py,sender:My||F,tx:Sy}),{feeDelta:Ay,newFee:t,originalFee:$.fee,tx:Sy}}async function R({txid:w,newFeeRate:n,recipient:F,memo:z}){let{tx:$,originalFee:I,newFee:v}=await W({memo:z,newFeeRate:n,recipient:F,txid:w}),V=await x($);V.finalize();let l=await yy(y).broadcastTx(Of.encode(V.extract()));return{newFee:v,originalFee:I,txid:l}}function B({accountIndex:w,index:n,change:F=!1}){ny("index",n);let z=w===void 0?Q:Z(w);if(!z)return;return z.deriveChild(Number(F)).deriveChild(n).privateKey||void 0}function A({tx:w,inputDerivations:n}){if(!Q)throw new i("toolbox_utxo_no_signer");let F=y===fy.BitcoinCash?[cC.ALL]:[GU.ALL];for(let z=0;z<n.length;z++){let $=n[z];if(!$)continue;let{derivationIndex:I,isChange:v}=$,V=B({change:v,index:I});if(!V)throw new i("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${z} at index ${I}`});w.signIdx(V,z,F)}return w}async function _({utxos:w,recipient:n,assetValue:F,memo:z,feeRate:$,feeOptionKey:I,changeAddress:v}){if(!Q)throw new i("toolbox_utxo_no_signer");let V=$||(await gf(y))[I||py.Fast],l=z?Jy(z):null,h=[{address:n,value:F.getBaseValue("number")}];if(l)h.push({address:"",script:l,value:0});let s=w.map(({hash:My,index:e,value:xy,txHex:v8,witnessUtxo:J1})=>({hash:My,index:e,txHex:v8,value:xy,witnessUtxo:J1?{script:J1.script,value:J1.value}:void 0})),{inputs:t,outputs:Ay}=$y({chain:y,feeRate:V,inputs:s,outputs:h});if(!(t&&Ay))throw new i("toolbox_utxo_insufficient_balance",{assetValue:F,sender:"multiple addresses"});let Hy=new mC({allowLegacyWitnessUtxo:!0,version:1}),Sy=w[0]?.address,Py=v||await Y()||Sy||n;qf({chain:y,compiledMemo:l,inputs:t,outputs:Ay,sender:Py,tx:Hy});let Ey=t.map((My)=>{let e=w.find((xy)=>xy.hash===My.hash&&xy.index===My.index);return e?{derivationIndex:e.derivationIndex,isChange:e.isChange}:{derivationIndex:0,isChange:!1}});return A({inputDerivations:Ey,tx:Hy}),Hy.finalize(),yy(y).broadcastTx(Of.encode(Hy.extract()))}function L({address:w,gapLimit:n=20}){if(!Q)return;for(let F=0;F<n;F++){let z=O({change:!1,index:F}),$=O({change:!0,index:F}),I=z?.address===w?!1:$?.address===w;if(z?.address===w||$?.address===w)return{change:I,index:F}}return}function x(w){if(!G)throw new i("toolbox_utxo_no_signer");return G.signTransaction(w)}async function k(w){let n=await x(w);return n.finalize(),await yy(y).broadcastTx(Of.encode(n.extract()))}return{accumulative:$y,broadcastTx:(w)=>yy(y).broadcastTx(w),bumpFee:R,calculateTxSize:zf,createKeysForPath:(w)=>cf({...w,chain:y}),createReplacementTransaction:W,createTransaction:MU,deriveAddressAtIndex:O,derivePrivateKeyAtIndex:B,estimateMaxSendableAmount:o4(y),estimateTransactionFee:q4(y),getAddress:Y,getAddressFromKeys:dC(y),getBalance:Wy(y),getExtendedPublicKey:N,getExtendedPublicKeyInfo:J,getFeeRates:()=>gf(y),getInputsOutputsFee:WU,getNetworkForChain:()=>_y(y),getPrivateKeyFromMnemonic:(w)=>H4(cf({...w,chain:y}).privateKey,y),isRBFEnabled:D,keys:M,resolveDerivationIndex:L,signAndBroadcastTransaction:k,signTransaction:x,signTransactionWithMultipleKeys:A,transfer:G4(y,G),transferFromMultipleAddresses:_,validateAddress:iC(y)}}var IT,a0;var df=E(()=>{uy();DT();hf();$T();IT=[fy.Dash,fy.Dogecoin,fy.Zcash,fy.BitcoinCash],a0=[fy.Bitcoin]});import{hex as LU}from"@scure/base";import{Chain as Q4,derivationPathToString as _4,FeeOption as Z4,NetworkDerivationPath as M4,SwapKitError as ry,updateDerivationPath as W4}from"@swapkit/helpers";import{BCHSigHash as L4,CashAddrPrefix as YU,CashAddrType as AU,encodeCashAddr as JU,NETWORKS as Y4,p2pkh as zU,Transaction as NU}from"@swapkit/utxo-signer";function PT(y){return Bf(xT(y))}function A4(y){let T=_y(ly);function H(C){return C.sign(y.privateKey,[L4.ALL]),C}function f(){let C=zU(y.publicKey,T);if(!C.hash)throw new ry("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let U=JU({hash:C.hash,prefix:YU.MAINNET,type:AU.P2PKH});return Promise.resolve(U.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:H}}function rC(y){let T="phrase"in y?y.phrase:void 0,H="index"in y?y.index||0:0,f=_4("derivationPath"in y&&y.derivationPath?y.derivationPath:W4(M4[ly],{index:H})),C=T?cf({chain:ly,derivationPath:f,phrase:T}):void 0,U=C?A4(C):("signer"in y)?y.signer:void 0;function o(){return Promise.resolve(U?.getAddress())}let{getBalance:q,getFeeRates:X,broadcastTx:G,...M}=Xf({chain:ly});function Y(N,J=!0){return q(Bf(xT(N)))}function Z(N){if(!U)throw new ry("toolbox_utxo_no_signer");return U.signTransaction(N)}async function Q(N){let J=await Z(N);return J.finalize(),await G(LU.encode(J.extract()))}return{...M,broadcastTx:G,buildTx:z4,createTransaction:BU,getAddress:o,getAddressFromKeys:N4,getBalance:Y,getFeeRates:X,signAndBroadcastTransaction:Q,signTransaction:Z,stripPrefix:Bf,stripToCashAddress:PT,transfer:J4({broadcastTx:G,getFeeRates:X,signer:U}),validateAddress:of}}async function BU({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){if(!of(T))throw new ry("toolbox_utxo_invalid_address",{address:T});let U=Math.ceil(y.getBaseValue("number")+f*7500),o=await yy(ly).getUtxos({address:PT(C),fetchTxHex:!0,targetValue:U}),q=H?Jy(H):null,X=[],G=dy(T);if(X.push({address:G,value:y.getBaseValue("number")}),q)X.push({script:q,value:0});let{inputs:M,outputs:Y}=$y({chain:ly,feeRate:f,inputs:o,outputs:X});if(!(M&&Y))throw new ry("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Z=new NU({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!q,version:1}),Q=dy(C),{inputs:N,tx:J}=qf({chain:ly,compiledMemo:q,inputs:M,outputs:Y.map((O)=>("address"in O)&&O.address?{...O,address:dy(O.address)}:O),sender:Q,tx:Z});return{inputs:N,tx:J,utxos:M}}function J4({broadcastTx:y,getFeeRates:T,signer:H}){return async function({recipient:C,assetValue:U,feeOptionKey:o=Z4.Fast,...q}){let X=await H?.getAddress();if(!(H&&X))throw new ry("toolbox_utxo_no_signer");if(!C)throw new ry("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let G=q.feeRate||(await T())[o],{tx:M}=await BU({...q,assetValue:U,feeRate:G,recipient:C,sender:X}),Y=await H.signTransaction(M);return Y.finalize(),y(LU.encode(Y.extract()))}}async function z4({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){let U=xT(T);if(!of(U))throw new ry("toolbox_utxo_invalid_address",{address:U});let o=Math.ceil(y.getBaseValue("number")+f*7500),q=await yy(ly).getUtxos({address:PT(C),fetchTxHex:!0,targetValue:o}),X=Number(f.toFixed(0)),G=H?Jy(H):null,M=[];if(M.push({address:dy(T),value:y.getBaseValue("number")}),G)M.push({script:G,value:0});let{inputs:Y,outputs:Z}=$y({chain:ly,feeRate:X,inputs:q,outputs:M});if(!(Y&&Z))throw new ry("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Q=new NU({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:N,tx:J}=qf({chain:ly,compiledMemo:G,inputs:Y,outputs:Z,sender:dy(C),tx:Q});return{inputs:N,tx:J,utxos:q}}function N4(y){let T=Y4.bitcoinCash,H=zU(y.publicKey,T);if(!H.hash)throw new ry("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return JU({hash:H.hash,prefix:YU.MAINNET,type:AU.P2PKH}).replace(/^bitcoincash:/,"")}var ly;var s0=E(()=>{hf();df();$T();ly=Q4.BitcoinCash});import{createBase58check as B4,hex as O4}from"@scure/base";import{HDKey as DU}from"@scure/bip32";import{mnemonicToSeedSync as RU}from"@scure/bip39";import{Chain as e0,derivationPathToString as D4,FeeOption as R4,NetworkDerivationPath as x4,SKConfig as xU,SwapKitError as ET,updateDerivationPath as w4}from"@swapkit/helpers";import{Address as k4,createZcashTransaction as n4,OutScript as $4,PCZT as F4,utils as wU,WIF as I4,ZCASH_NETWORK as S4,ZCASH_TEST_NETWORK as P4,ZcashConsensusBranchId as E4,ZcashPSBT as V4,ZcashSigHash as aC,ZcashVersionGroupId as b4}from"@swapkit/utxo-signer";import{match as v4,P as sC}from"ts-pattern";function kU(){let{isStagenet:y}=xU.get("envs");return y?P4:S4}function l4(y){return p4.encode(y)}function j4({phrase:y,derivationPath:T}){let H=RU(y),C=DU.fromMasterSeed(H).derive(T);if(!C.privateKey||!C.publicKey)throw new ET("toolbox_utxo_invalid_params");let{privateKey:U,publicKey:o}=C,q=wU.hash160(o),{isStagenet:X}=xU.get("envs"),G=X?new Uint8Array([29,37]):new Uint8Array([28,184]),M=new Uint8Array(G.length+q.length);M.set(G,0),M.set(q,G.length);let Y=l4(M);return{getAddress:()=>Promise.resolve(Y),signTransaction:(Z)=>{if(Z instanceof V4){let Q=Z.toPCZT();return Q.signAllInputs(U,o,aC.ALL),Q.finalizeAllInputs(),Promise.resolve(Q.extract())}if(Z instanceof F4)return Z.signAllInputs(U,o,aC.ALL),Z.finalizeAllInputs(),Promise.resolve(Z.extract());return Z.signAllInputs(U,o,aC.ALL),Promise.resolve(Z)}}}function K4({inputs:y,outputs:T,tx:H,sender:f,compiledMemo:C}){let U=kU();for(let o of y){let q=k4(U).decode(f),X=$4.encode(q);H.addInput({index:o.index,script:X,sequence:4294967295,txid:O4.decode(o.hash),value:BigInt(o.value)})}for(let o of T){let q="address"in o&&o.address?o.address:f,X=o.script;if(X&&!C)continue;if(X&&C)H.addOutput({amount:0n,script:C});else H.addOutputAddress(q,BigInt(o.value),U)}return{inputs:y,tx:H}}async function OU(y){let{assetValue:T,recipient:H,memo:f,feeRate:C,sender:U,fetchTxHex:o}=y,q=f?Jy(f):null,X=await yy(e0.Zcash).getUtxos({address:U,fetchTxHex:o!==!1}),G=[{address:H,value:Number(T.getBaseValue("string"))},...q?[{script:q,value:0}]:[]],{inputs:M,outputs:Y}=$y({chain:e0.Zcash,changeAddress:U,feeRate:C,inputs:X,outputs:G});if(!(M&&Y))throw new ET("toolbox_utxo_insufficient_balance",{assetValue:T,sender:U});let Z=n4({consensusBranchId:E4.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:b4.SAPLING}),{tx:Q,inputs:N}=K4({compiledMemo:q,inputs:M,outputs:Y,sender:U,tx:Z});return{inputs:N,outputs:Y,tx:Q}}function eC(y){let T=v4(y).with({signer:sC.not(sC.nullish)},({signer:X})=>X).with({phrase:sC.string},({phrase:X,derivationPath:G,index:M=0})=>{let Y=G||x4[e0.Zcash]||[44,133,0,0,0],Z=w4(Y,{index:M}),Q=D4(Z);return j4({derivationPath:Q,phrase:X})}).otherwise(()=>{return}),H=Xf({chain:e0.Zcash,signer:T});async function f(X){if(!T)throw new ET("toolbox_utxo_no_signer");return await T.signTransaction(X)}async function C(X){let G=await f(X);return H.broadcastTx(G.toHex())}async function U({recipient:X,assetValue:G,feeOptionKey:M=R4.Fast,...Y}){let Z=await T?.getAddress();if(!(T&&Z))throw new ET("toolbox_utxo_no_signer");let Q=Y.feeRate||(await H.getFeeRates())[M],{tx:N}=await OU({...Y,assetValue:G,feeRate:Q,recipient:X,sender:Z}),O=(await T.signTransaction(N)).toHex();return H.broadcastTx(O)}function o({phrase:X,derivationPath:G="m/44'/133'/0'/0/0"}){let M=RU(X),Z=DU.fromMasterSeed(M).derive(G);if(!Z.privateKey||!Z.publicKey)throw new ET("toolbox_utxo_invalid_params");return{privateKey:Z.privateKey,publicKey:Z.publicKey}}function q({phrase:X,derivationPath:G="m/44'/133'/0'/0/0"}){let M=o({derivationPath:G,phrase:X}),Y=kU();return I4(Y).encode(M.privateKey)}return{...H,createKeysForPath:o,createTransaction:OU,getPrivateKeyFromMnemonic:q,signAndBroadcastTransaction:C,signTransaction:f,transfer:U,validateAddress:mf}}var p4;var yH=E(()=>{hf();df();$T();p4=B4(wU.sha256)});import{hex as u4}from"@scure/base";import{HDKey as h4}from"@scure/bip32";import{derivationPathToString as m4}from"@swapkit/helpers";function nU({xpub:y,chain:T,count:H,startIndex:f=0,accountIndex:C}){if(ny("count",H),H<1)throw RangeError("count must be at least 1");ny("startIndex",f);let U=_y(T),o=h4.fromExtendedKey(y,U.bip32),q=Hf({accountIndex:C,chain:T}),X=Af(q),G=[];for(let M of[!1,!0]){let Y=o.deriveChild(Number(M));for(let Z=0;Z<H;Z++){let Q=f+Z,N=Y.deriveChild(Q);if(!N.publicKey)continue;let J=jf({accountIndex:C,chain:T,change:M,index:Q});G.push({accountIndex:X,address:ST({chain:T,network:U,publicKey:N.publicKey}),change:M,index:Q,path:m4(J),pubkey:u4.encode(N.publicKey)})}}return G}var $U=E(()=>{DT();df()});import{Chain as rf,SwapKitError as t4}from"@swapkit/helpers";function c4(y,T){switch(y){case rf.BitcoinCash:return rC(T||{});case rf.Zcash:return eC(T);case rf.Bitcoin:case rf.Dogecoin:case rf.Litecoin:case rf.Dash:return Xf({chain:y,...T});default:throw new t4("toolbox_utxo_not_supported",{chain:y})}}var FU=E(()=>{s0();df();yH();DT();$U();s0();$T()});var fH={};Ty(fH,{validateZcashAddress:()=>mf,validateUtxoAddress:()=>gC,validateBchAddress:()=>of,toLegacyAddress:()=>dy,toCashAddress:()=>xT,stripToCashAddress:()=>PT,stripPrefix:()=>Bf,nonSegwitChains:()=>IT,isValidAddress:()=>KC,getUtxoToolbox:()=>c4,getUtxoNetwork:()=>wG,getUtxoApi:()=>yy,getUTXOAddressValidator:()=>iC,getUTXOAddressPath:()=>jf,getUTXOAccountPath:()=>Hf,getUTXOAccountIndexFromPath:()=>Af,getScriptTypeForAddress:()=>uf,getOutputSize:()=>kT,getNetworkForChain:()=>_y,getInputSize:()=>Uf,getDustThreshold:()=>nT,detectAddressNetwork:()=>uC,deriveAddressesFromXpub:()=>nU,createZcashToolbox:()=>eC,createUTXOToolbox:()=>Xf,createHDWalletHelpers:()=>m2,createCustomUtxoApi:()=>xG,createBCHToolbox:()=>rC,compileMemo:()=>Jy,calculateTxSize:()=>zf,assertDerivationIndex:()=>ny,addressFromKeysGetter:()=>dC,addInputsAndOutputs:()=>qf,accumulative:()=>$y,UtxoNetwork:()=>jC,UTXOScriptType:()=>d0,TX_OVERHEAD:()=>g0,SEGWIT_MARKER_FLAG_WEIGHT:()=>i0,OutputSizes:()=>wT,OP_RETURN_OVERHEAD:()=>TU,MIN_TX_FEE:()=>KG,InputSizes:()=>c0});var TH=E(()=>{df();DT();hf();FU();s0();yH()});import{KeyPairSigner as g4}from"@near-js/signers";import{derivationPathToString as i4,SwapKitError as d4}from"@swapkit/helpers";import*as IU from"near-seed-phrase";function VT(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function y1(y){let{KeyPair:T}=await import("@near-js/crypto"),H=y.index||0,f=y.derivationPath?i4(y.derivationPath.slice(0,3)):`m/44'/397'/${H}'`,{secretKey:C}=IU.parseSeedPhrase(y.phrase,f),U=T.fromString(C);return PU(U)}async function CH(y){let{KeyPair:T}=await import("@near-js/crypto"),H=T.fromString(y);return PU(H)}function PU(y){return new SU(y)}async function f1(y,T){let f=(await y.query({account_id:T,finality:"final",request_type:"view_access_key_list"})).keys.find((q)=>q.access_key.permission==="FullAccess");if(!f)throw new d4("toolbox_near_no_public_key_found");let{PublicKey:C}=await import("@near-js/crypto"),U=C.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:U}}var SU;var HH=E(()=>{SU=class SU extends g4{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),T=Buffer.from(y.data).toString("hex");return Promise.resolve(T)}}});function UH(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function oH(y){return"contractId"in y&&"methodName"in y}function qH(y){return"actions"in y}function XH(y){return"newAccountId"in y}function GH(y){return"contractCode"in y}function QH(y){return"customEstimator"in y}function _H(y){let T=0;for(let H of y)switch(H.enum){case"transfer":T+=Number(Xy.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(Xy.CONTRACT_CALL);break;case"createAccount":T+=Number(Xy.ACCOUNT_CREATION);break;case"deployContract":T+=Number(Xy.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(Xy.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(Xy.ACCESS_KEY_DELETION);break;case"stake":T+=Number(Xy.STAKE);break;default:T+=Number(Xy.CONTRACT_CALL)}return T.toString()}function ZH(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Xy.TOKEN_TRANSFER;if(y==="storage_deposit")return Xy.STORAGE_DEPOSIT;return Xy.CONTRACT_CALL}function r4(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function a4(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Xy;var MH=E(()=>{Xy={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 WH({account:y,contractId:T,viewMethods:H,changeMethods:f}){let{Contract:C}=await import("@near-js/accounts");return new C(y,T,{changeMethods:f,useLocalViewExecution:!0,viewMethods:H})}import{JsonRpcProvider as s4}from"@near-js/providers";import{AssetValue as LH,Chain as af,getRPCUrl as EU,SwapKitError as Gy}from"@swapkit/helpers";import{match as VU,P as bU}from"ts-pattern";function e4(y){let T;async function H(){if(T)return T;return T=await VU(y).with({phrase:bU.string},async(z)=>{return await y1(z)}).with({signer:bU.any},({signer:z})=>z).otherwise(()=>{return}),T}async function f(){let z=await EU(af.Near);return new s4({url:z})}async function C(z){let{Account:$}=await import("@near-js/accounts"),I=await f(),v=await H(),V=z||await U();return new $(V,I,v)}async function U(){let z=await H();if(!z)throw new Gy("toolbox_near_no_signer");return await z.getAddress()}async function o(z){return(await L({changeMethods:[],contractId:z.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:z.accountId})}async function q(z){let I=[await Z({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await Z({args:{amount:z.assetValue.getBaseValue("string"),memo:z.memo||null,receiver_id:z.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return x({actions:I,receiverId:z.contractId})}async function X(z){if(!await H())throw new Gy("toolbox_near_no_signer");let{assetValue:I,recipient:v,memo:V}=z,l=await U();if(!I.isGasAsset&&I.address){if(!await o({accountId:v,contractId:I.address}))return q({assetValue:I,contractId:I.address,memo:V,recipient:v})}let h=await G({...z,sender:l});return W(h)}async function G({recipient:z,assetValue:$,memo:I,attachedDeposit:v,sender:V,functionCall:l}){let h=await f();if(!VT(z))throw new Gy("toolbox_near_invalid_address",{recipient:z});if(!VT(V))throw new Gy("toolbox_near_invalid_address",{sender:V});if(l)return Y({...l,sender:V});if(!$.isGasAsset){let xy=$.address;if(!xy)throw new Gy("toolbox_near_missing_contract_address");return Y({args:{amount:$.getBaseValue("string"),memo:I||null,receiver_id:z},attachedDeposit:v||"1",contractId:xy,gas:"250000000000000",methodName:"ft_transfer",sender:V})}let{publicKey:s,nonce:t}=await f1(h,V),Ay=$.getBaseValue("bigint"),{actionCreators:Hy,createTransaction:Sy}=await import("@near-js/transactions"),{baseDecode:Py}=await import("@near-js/utils"),Ey=[Hy.transfer(Ay)];if(I&&v)Ey.push(Hy.functionCall("memo",{memo:I},BigInt("250000000000000"),BigInt(v)));let My=await h.block({finality:"final"}),e=Py(My.header.hash);return Sy(V,s,z,t+1,Ey,e)}function M(z){let $=z.encode();return Buffer.from($).toString("base64")}async function Y({args:z,attachedDeposit:$,contractId:I,gas:v,methodName:V,sender:l}){let h=await f(),{publicKey:s,nonce:t}=await f1(h,l),{createTransaction:Ay,actionCreators:Hy}=await import("@near-js/transactions"),{baseDecode:Sy}=await import("@near-js/utils"),Py=await h.block({finality:"final"}),Ey=Sy(Py.header.hash),My=[Hy.functionCall(V,Buffer.from(JSON.stringify(z)),BigInt(v),BigInt($))];return Ay(l,s,I,t+1,My,Ey)}async function Z(z){let{actionCreators:$}=await import("@near-js/transactions");return $.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function Q(z){let $=await H();if(!$)throw new Gy("toolbox_near_no_signer");await N(z);let[I,v]=await $.signTransaction(z);return v}async function N(z){let $=z.publicKey;if($.toString?.().startsWith("ed25519:")||$.toString?.().startsWith("secp256k1:"))return;let{KeyType:I,PublicKey:v}=await import("@near-js/crypto"),V=$.data||$.ed25519Key?.data,l=$.secp256k1Key?.data;if(V){z.publicKey=new v({data:Uint8Array.from(V),keyType:I.ED25519});return}if(l)z.publicKey=new v({data:Uint8Array.from(l),keyType:I.SECP256K1})}function J(z){if(typeof z==="string")return z;if(Array.isArray(z))return z.map(J).find(Boolean);if(!(z&&typeof z==="object"))return;let $=z;return $.transaction?.hash||$.transaction_outcome?.id}function O(z){return z instanceof Error?z.message:String(z)}async function D(z){let I=await(await f()).sendTransaction(z),v=J(I);if(!v)throw new Gy("toolbox_near_transfer_failed",{result:I});return v}async function W(z){let $=await H();if(!$)throw new Gy("toolbox_near_no_signer");let I;try{I=await Q(z)}catch(v){let V;try{V=$.signAndSendTransaction?await $.signAndSendTransaction({actions:z.actions,receiverId:z.receiverId,signerId:z.signerId}):await $.signAndSendTransactions?.({transactions:[z]})}catch(h){throw new Gy({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:O(v),signAndSendError:O(h)}},h)}let l=J(V);if(l)return l;throw v}return D(I)}async function R(z){let $=await H();if("assetValue"in z){let v=await B();try{let V=await EU(af.Near),l=await fetch(V,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:h}}=await l.json(),{execution:s,send_sir:t}=h.transaction_costs.action_receipt_creation_config,{execution:Ay,send_sir:Hy}=h.transaction_costs.action_creation_config.transfer_cost,Sy=BigInt(Hy)+BigInt(Ay),Py=BigInt(t)+BigInt(s),My=(Sy+Py)*BigInt(v.toString());return LH.from({chain:af.Near,value:My})}catch(V){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",V);let l=BigInt("115123062500"),h=BigInt("108059500000"),t=(l+h)*BigInt(v.toString());return LH.from({chain:af.Near,value:t})}}let I=$?await C():void 0;return k(z,I)}async function B(){let z=await f();try{return await z.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function A(z,$,I){if(!await H())throw new Gy("toolbox_near_no_signer");let V=await C(),{formatNearAmount:l}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),s=l(I)||"0";return(await V.createAccount(z,h.fromString($),BigInt(s))).transaction.hash}async function _(z){let $=await H();try{if(!$)throw new Gy("toolbox_near_no_signer");let{actionCreators:I}=await import("@near-js/transactions"),{contractId:v,methodName:V,args:l,deposit:h}=z,s=await C(),t=await k({args:l||{},contractId:v,methodName:V}),Ay=I.functionCall(V,l||{},t.getBaseValue("bigint"),BigInt(h||"1"));return(await s.signAndSendTransaction({actions:[Ay],receiverId:v})).transaction_outcome.id}catch(I){throw new Gy("toolbox_near_transfer_failed",{error:I})}}async function L(z){let $=await C();return WH({account:$,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function x(z){if(!await H())throw new Gy("toolbox_near_no_signer");if(z.actions.length===0)throw new Gy("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function k(z,$){let I=await VU(z).when(UH,()=>Xy.SIMPLE_TRANSFER).when(oH,(V)=>ZH(V.methodName)).when(qH,(V)=>_H(V.actions)).when(XH,()=>Xy.ACCOUNT_CREATION).when(GH,()=>Xy.CONTRACT_DEPLOYMENT).when(QH,(V)=>{if(!$)throw new Gy("toolbox_near_no_account");return V.customEstimator($)}).otherwise(()=>{throw new Gy("toolbox_near_invalid_gas_params")}),v=BigInt(I)*BigInt(1000000000000);return LH.from({chain:af.Near,value:v})}function w(z,$){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),k(z,$)}async function n(){let z=await f();try{return(await z.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function F(){let z=await H();return z?(await z.getPublicKey()).toString():""}return{broadcastTransaction:D,callFunction:_,createAction:Z,createContract:L,createContractFunctionCall:Y,createSubAccount:A,createTransaction:G,estimateGas:w,estimateGasLimit:k,estimateTransactionFee:R,executeBatchTransaction:x,getAddress:U,getBalance:Wy(af.Near),getGasPrice:n,getNearProvider:f,getPublicKey:F,getSignerFromPhrase:y1,getSignerFromPrivateKey:CH,serializeTransaction:M,signAndBroadcastTransaction:W,signTransaction:Q,transfer:X,validateAddress:VT}}var YH=E(()=>{uy();HH();MH()});var vU=E(()=>{YH()});var AH={};Ty(AH,{validateNearAddress:()=>VT,tgasToGas:()=>r4,isSimpleTransfer:()=>UH,isCustomEstimator:()=>QH,isContractDeployment:()=>GH,isContractCall:()=>oH,isBatchTransaction:()=>qH,isAccountCreation:()=>XH,getNearToolbox:()=>e4,getNearSignerFromPrivateKey:()=>CH,getNearSignerFromPhrase:()=>y1,getFullAccessPublicKey:()=>f1,getContractMethodGas:()=>ZH,gasToTGas:()=>a4,estimateBatchGas:()=>_H,createNearContract:()=>WH,GAS_COSTS:()=>Xy});var JH=E(()=>{HH();MH();YH();vU()});var NH={};Ty(NH,{validateRadixAddress:()=>lU,getRadixToolbox:()=>X6});import{GatewayApiClient as y6}from"@radixdlt/babylon-gateway-api-sdk";import{RadixDappToolkit as f6}from"@radixdlt/radix-dapp-toolkit";import{AssetValue as pU,Chain as zH,SKConfig as T6,SwapKitError as C6}from"@swapkit/helpers";function lU(y){return y.startsWith("account_rdx1")&&y.length===66}function H6({networkApi:y}){return async function(H){let f=await U6({address:H,networkApi:y}),C=await o6({networkApi:y,resources:f});if(!C.some((o)=>o.isGasAsset))return[pU.from({chain:zH.Radix}),...C];return C}}async function U6({address:y,networkApi:T}){let H=!0,f,C=[],U=await q6(T);while(H){let o={address:y,at_ledger_state:{state_version:U},cursor:f,limit_per_page:100},q=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:o});if(C=C.concat(q.items),q.next_cursor)f=q.next_cursor;else H=!1}return C}async function o6({resources:y,networkApi:T}){let H=[],f=50,C=[];for(let U=0;U<y.length;U+=50)C.push(y.slice(U,U+50));for(let U of C){let o=U.map((G)=>G.resource_address),q=await T.state.getEntityDetailsVaultAggregated(o),X=new Map;for(let G of q)if(G.details!==void 0){let M=G.metadata?.items.find((Z)=>Z.key==="symbol"),Y=M?.value.typed.type==="String"?M.value.typed.value:"?";if(G.details.type==="FungibleResource")X.set(G.address,{decimals:G.details.divisibility,symbol:Y})}for(let G of U)if(G.aggregation_level==="Global"){let M=X.get(G.resource_address)||{decimals:0,symbol:"?"},Y=pU.from({asset:M.symbol!==zH.Radix?`${zH.Radix}.${M.symbol}-${G.resource_address}`:"XRD.XRD",value:G.amount});H.push(Y)}}return H}async function q6(y){return(await y.status.getCurrent()).ledger_state.state_version}function X6({dappConfig:y}={}){let T=y||T6.get("integrations").radix,H=f6({...T,networkId:T.network?.networkId||1}),f=y6.initialize(H.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:H6({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new C6("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:lU}}var BH=()=>{};import{SwapKitError as G6}from"@swapkit/helpers";function T1(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function bT(y){if(T1(y))return y.toUpperCase();if(y.length<=3){let H=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${H}${"0".repeat(10)}`.toUpperCase()}let T=Buffer.from(y).toString("hex").toUpperCase();if(T.length>40)throw new G6({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function Q6(y){if(!T1(y))return y;if(y.toUpperCase().startsWith("00")){let T=y.slice(24,30);try{let H=Buffer.from(T,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(H)&&H.length>0)return H}catch{}return y.toUpperCase()}try{let T=y.replace(/0+$/,""),H=T.length%2===0?T:`${T}0`,f=Buffer.from(H,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function sf(y){if(T1(y))return y.toUpperCase();if(y.length<=3)return y;return bT(y)}var C1=()=>{};import{RequestClient as _6,warnOnce as Z6}from"@swapkit/helpers";async function M6(y,T){let H=sf(y),f=H1.find((C)=>sf(C.currency)===H&&C.issuer===T);if(f)return f;try{let C=await _6.get(`https://api.xrplmeta.org/token/${y}:${T}`);if(C)return{currency:y,decimals:15,description:C.desc,domain:C.domain,icon:C.icon,issuer:T,name:C.name,verified:C.self_assessment?.is_regulated||C.self_assessment?.is_licensed}}catch(C){Z6({condition:!0,id:`xrpl_token_lookup_${y}_${T}`,warning:`Failed to fetch XRPL token info for ${y}:${T}: ${C}`})}return{currency:y,decimals:15,issuer:T,verified:!1}}function W6(y){return H1.filter((T)=>T.issuer===y)}function L6(y,T){let H=sf(y);return H1.some((f)=>sf(f.currency)===H&&f.issuer===T)}var H1;var jU=E(()=>{C1();H1=[{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 OH={};Ty(OH,{validateRippleAddress:()=>q1,parseXrplTokenIdentifier:()=>gU,normalizeCurrency:()=>sf,isKnownToken:()=>L6,isHexCurrency:()=>T1,hexToCurrency:()=>Q6,hashes:()=>O6,getXrplTokenInfo:()=>M6,getRippleToolbox:()=>B6,getKnownTokensByIssuer:()=>W6,formatXrplTokenIdentifier:()=>iU,currencyToHex:()=>bT,XRPL_TOKEN_ERROR_CODES:()=>o1,XRPL_KNOWN_TOKENS:()=>H1});import{AssetValue as U1,Chain as Fy,getChainConfig as KU,getRPCUrl as Y6,SwapKitError as Zy}from"@swapkit/helpers";import{match as uU,P as hU}from"ts-pattern";import{Client as A6,isValidAddress as cU,Wallet as J6,xrpToDrops as z6}from"xrpl";import{hashes as O6}from"xrpl";function gU(y){let T=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!T?.[1]||!T?.[2])return null;if(!cU(T[2]))return null;return{currency:T[1],issuer:T[2]}}function iU(y,T){return`${Fy.Ripple}.${y}-${T}`}function N6(y){if(y.isGasAsset)return z6(y.getValue("string"));let T=gU(y.toString());if(!T)throw new Zy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:T.currency,issuer:T.issuer,value:y.getValue("string")}}function tU(y){let T=J6.fromMnemonic(y);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(H)=>Promise.resolve(T.sign(H))}}function q1(y){return cU(y)}function B6(y={}){let T=uU(y).with({phrase:hU.string},({phrase:W})=>tU(W)).with({signer:hU.any},({signer:W})=>W).otherwise(()=>{return}),H;async function f(){let W=await Y6(Fy.Ripple);if(!W)throw new Zy({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:Fy.Ripple}});let R=new A6(W);return await R.connect(),R}async function C(){if(H){let W=await H.catch(()=>null);if(W?.isConnected())return W}return H=f(),H}let U=()=>{if(!T)throw new Zy({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},o=async(W)=>{let R=W||await U(),{baseDecimal:B}=KU(Fy.Ripple),A=await C();try{let[_,L]=await Promise.all([A.request({account:R,command:"account_info"}),A.request({account:R,command:"account_lines"})]),x=_.result.account_data.Balance,k=[U1.from({chain:Fy.Ripple,fromBaseDecimal:B,value:x})];for(let w of L.result.lines){let n=iU(w.currency,w.account);if(Number.parseFloat(w.balance)!==0)k.push(U1.from({asset:n,asyncTokenLookup:!1,value:w.balance}))}return k}catch(_){if(_.data?.error_code===mU.ACCOUNT_NOT_FOUND)return[U1.from({chain:Fy.Ripple,value:0})];throw new Zy({errorKey:"toolbox_ripple_get_balance_error",info:{address:R,error:_}})}},q=async()=>{let{baseDecimal:W}=KU(Fy.Ripple),A=(await(await C()).request({command:"fee"})).result.drops.open_ledger_fee;return U1.from({chain:Fy.Ripple,fromBaseDecimal:W,value:A})};async function X(W){let R=W||await U(),B=await C();try{return(await B.request({account:R,command:"account_lines"})).result.lines.map((_)=>({account:_.account,authorized:_.authorized??!1,balance:_.balance,currency:_.currency,freeze:_.freeze??!1,freezePeer:_.freeze_peer??!1,limit:_.limit,limitPeer:_.limit_peer,noRipple:_.no_ripple??!1,noRipplePeer:_.no_ripple_peer??!1,peerAuthorized:_.peer_authorized??!1,qualityIn:_.quality_in??0,qualityOut:_.quality_out??0}))}catch(A){if(A.data?.error_code===mU.ACCOUNT_NOT_FOUND)return[];throw new Zy({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:R,error:A}})}}async function G({address:W,currency:R,issuer:B}){let A=await X(W),_=bT(R);return A.some((L)=>{return bT(L.currency)===_&&L.account===B})}async function M({currency:W,issuer:R,limit:B,sender:A}){let _=A||await U();if(!q1(R))throw new Zy({errorKey:"core_transaction_invalid_recipient_address",info:{address:R}});let L=Number.parseFloat(B);if(Number.isNaN(L)||L<0)throw new Zy({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:B}});let x=await C(),k={Account:_,LimitAmount:{currency:W,issuer:R,value:B},TransactionType:"TrustSet"};return x.autofill(k)}async function Y({assetValue:W,recipient:R,memo:B,sender:A,destinationTag:_,extendBySeconds:L=150}){if(!q1(R))throw new Zy({errorKey:"core_transaction_invalid_recipient_address"});let x=A||await U();if(W.chain!==Fy.Ripple)throw new Zy({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:W.toString()}});let k=N6(W),w={Account:x,Amount:k,Destination:R,TransactionType:"Payment",..._!==void 0&&{DestinationTag:_}};if(B)w.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];let F=await(await C()).autofill(w);if(F.LastLedgerSequence&&L>0)F.LastLedgerSequence+=Math.ceil(L/4);return F}function Z(W){if(!T)throw new Zy({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(W)}async function Q(W){let B=await(await C()).submitAndWait(W),{result:A}=B;if(A.validated)return A.hash;let _=A.meta?.TransactionResult,L=uU(_).with(o1.tecNO_LINE,()=>"No trust line exists for this token").with(o1.tecPATH_DRY,()=>"Payment path could not deliver funds").with(o1.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new Zy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Fy.Ripple,...L?{reason:L}:{txResult:_}}})}let N=async(W)=>{try{let R=await Z(W);return Q(R.tx_blob)}catch(R){if(R instanceof Zy)throw R;throw new Zy({errorKey:"toolbox_ripple_broadcast_error",info:{chain:Fy.Ripple,error:R}})}};async function J(W){if(!T)throw new Zy({errorKey:"toolbox_ripple_signer_not_found"});let R=await T.getAddress(),B=await Y({...W,sender:R}),A=await Z(B);return Q(A.tx_blob)}async function O(W){if(!T)throw new Zy({errorKey:"toolbox_ripple_signer_not_found"});let R=await T.getAddress(),B=await M({...W,sender:R}),A=await Z(B);return Q(A.tx_blob)}function D(){let W=H;if(H=null,W)W.then((R)=>{if(R?.isConnected())return R.disconnect();return}).catch((R)=>{console.warn("XRPL Cleanup failed silently:",R)})}return{broadcastTransaction:Q,createSigner:tU,createTransaction:Y,disconnect:D,estimateTransactionFee:q,getAddress:U,getBalance:o,getTrustLines:X,hasTrustLine:G,setTrustLine:M,setTrustLineAndBroadcast:O,signAndBroadcastTransaction:N,signTransaction:Z,transfer:J,validateAddress:q1}}var mU,o1;var DH=E(()=>{C1();C1();jU();mU={ACCOUNT_NOT_FOUND:19},o1={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});import{sha256 as D6}from"@noble/hashes/sha2.js";import{bytesToHex as dU,hexToBytes as rU}from"@noble/hashes/utils.js";import{SwapKitError as ef}from"@swapkit/helpers";function RH(y,T){let H=0n,f=0n,C=T;while(C<y.length&&C-T<10){let U=y[C++];if(U===void 0)break;if(H|=BigInt(U&127)<<f,f+=7n,(U&128)===0)return[H,C]}throw new ef("toolbox_tron_transaction_creation_failed")}function vT(y){let T=[],H=y<0n?y+2n**64n:y;while(H>=128n)T.push(Number(H&0x7fn)|128),H>>=7n;return T.push(Number(H)),T}function X1(y,T,H){let f=y.get(T);if(f)f.push(H);else y.set(T,[H])}function k6(y){let T=new Map,H=0;while(H<y.length){let[f,C]=RH(y,H);H=C;let U=Number(f>>3n),o=Number(f&7n);if(o===G1){let[q,X]=RH(y,H);H=X,X1(T,U,{data:new Uint8Array(vT(q)),wireType:G1})}else if(o===Q1){let[q,X]=RH(y,H);H=X;let G=Number(q);if(G<0||H+G>y.length)throw new ef("toolbox_tron_transaction_creation_failed");let M=y.slice(H,H+G);H+=G,X1(T,U,{data:M,wireType:Q1})}else if(o===aU){if(H+8>y.length)throw new ef("toolbox_tron_transaction_creation_failed");let q=y.slice(H,H+8);H+=8,X1(T,U,{data:q,wireType:aU})}else if(o===sU){if(H+4>y.length)throw new ef("toolbox_tron_transaction_creation_failed");let q=y.slice(H,H+4);H+=4,X1(T,U,{data:q,wireType:sU})}else throw new ef("toolbox_tron_transaction_creation_failed")}return T}function n6(y){let T=[];for(let[U,o]of[...y.entries()].sort(([q],[X])=>q-X))for(let{wireType:q,data:X}of o){let G=BigInt(U<<3|q);if(T.push(new Uint8Array(vT(G))),q===Q1)T.push(new Uint8Array(vT(BigInt(X.length))));T.push(X)}let H=T.reduce((U,o)=>U+o.length,0),f=new Uint8Array(H),C=0;for(let U of T)f.set(U,C),C+=U.length;return f}function eU(y,T){if(!y||y.length%2!==0)throw new ef("toolbox_tron_transaction_creation_failed");let H=rU(y),f=k6(H);if(T.expiration!==void 0)f.set(R6,[{data:new Uint8Array(vT(BigInt(T.expiration))),wireType:G1}]);if(T.data!==void 0)f.set(x6,[{data:rU(T.data),wireType:Q1}]);if(T.fee_limit!==void 0)f.set(w6,[{data:new Uint8Array(vT(BigInt(T.fee_limit))),wireType:G1}]);let C=n6(f),U=dU(C),o=dU(D6(C));return{raw_data_hex:U,txID:o}}var G1=0,aU=1,Q1=2,sU=5,R6=8,x6=10,w6=18;var y8=()=>{};import{secp256k1 as f8}from"@noble/curves/secp256k1.js";import{sha256 as T8}from"@noble/hashes/sha2.js";import{keccak_256 as $6}from"@noble/hashes/sha3.js";import{bytesToHex as yT,hexToBytes as _1}from"@noble/hashes/utils.js";import{createBase58check as F6}from"@scure/base";import{SwapKitError as C8}from"@swapkit/helpers";function Iy(y){if(typeof y!=="string")return!1;try{let T=Z1.decode(y);return T.length===21&&T[0]===H8}catch{return!1}}function U8(y){return yT(Z1.decode(y))}function S6(y){return Z1.decode(y).slice(1)}function o8(y){let T=f8.getPublicKey(_1(y),!1),H=$6(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=H8,f.set(H,1),Z1.encode(f)}function q8({txID:y,privateKey:T}){let H=f8.sign(_1(y),_1(T),{format:"recovered",prehash:!1}),f=H[0]??0,C=yT(H.slice(1,33)),U=yT(H.slice(33,65)),o=(f+27).toString(16).padStart(2,"0");return C+U+o}function fT({txID:y,raw_data_hex:T}){let H=yT(T8(_1(T)));if(y!==H)throw new C8("toolbox_tron_invalid_transaction_integrity",{expected:H,txID:y})}function P6(y){return`000000000000000000000000${yT(S6(y))}`}function E6(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=I6)throw new C8("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function TT(y){return y.map(({type:T,value:H})=>T==="address"?P6(H):E6(BigInt(H))).join("")}function X8(y){return yT(new TextEncoder().encode(y))}var Z1,H8=65,I6;var xH=E(()=>{Z1=F6(T8),I6=2n**256n});import{Chain as V6,getRPCUrlSync as b6,SwapKitError as zy,warnOnce as M1}from"@swapkit/helpers";function Q8(){try{return b6(V6.Tron)}catch{return G8}}function _8(){let y=new AbortController,T=setTimeout(()=>y.abort(),K6);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function Df(y,T){let{signal:H,cleanup:f}=_8();try{let C=await fetch(`${Q8()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:H});if(!C.ok)throw new zy("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function Z8(y,T){let{signal:H,cleanup:f}=_8();try{let C=await fetch(`${T??Q8()}${y}`,{headers:{"Content-Type":"application/json"},signal:H});if(!C.ok)throw new zy("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function M8(y){if(!Iy(y))throw new zy("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await Z8(`/v1/accounts/${y}`,G8);if(!(T.success&&T.data)||T.data.length===0)return;let H;try{H=U8(y).toLowerCase()}catch{H=y.toLowerCase()}let f=T.data.find((C)=>C.address.toLowerCase()===H);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(T){if(T instanceof zy)throw T;throw new zy("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function W8({from:y,to:T,amount:H}){let C=await Df("/wallet/createtransaction",{amount:H,owner_address:y,to_address:T,visible:!0});if(!C.txID||!C.raw_data_hex||!C.raw_data)throw new zy("toolbox_tron_transaction_creation_failed");let o=C.raw_data?.contract?.[0]?.parameter?.value;if(o?.to_address!==T||o?.owner_address!==y||o?.amount!==H)throw new zy("toolbox_tron_transaction_creation_failed");return fT(C),C}async function L8({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f,feeLimit:C,callValue:U=0}){let o=await Df("/wallet/triggersmartcontract",{call_value:U,contract_address:T,fee_limit:C,function_selector:H,owner_address:y,parameter:f,visible:!0});if(!o.result.result||!o.transaction?.txID||!o.transaction?.raw_data_hex)throw new zy("toolbox_tron_transaction_creation_failed");let X=o.transaction.raw_data?.contract?.[0]?.parameter?.value;if(X?.contract_address!==T||X?.owner_address!==y)throw new zy("toolbox_tron_transaction_creation_failed");return fT(o.transaction),o.transaction}function Y8({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return Df("/wallet/triggerconstantcontract",{contract_address:T,function_selector:H,owner_address:y,parameter:f,visible:!0})}function u6({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return Df("/wallet/estimateenergy",{contract_address:T,function_selector:H,owner_address:y,parameter:f,visible:!0})}async function pT(y){try{let{result:T,txid:H}=await Df("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!T||!H)throw new zy("toolbox_tron_token_transfer_failed");return H}catch(T){throw new zy("toolbox_tron_broadcast_failed",{error:T})}}async function lT(){let y={};try{let{chainParameter:T}=await Z8("/wallet/getchainparameters");for(let H of T)y[H.key]=H.value}catch(T){M1({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${T instanceof Error?T.message:T}`})}return{bandwidthFee:y.getTransactionFee??v6,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??p6,energyFee:y.getEnergyFee??l6,memoFee:y.getMemoFee??j6}}async function wH(y){try{let T=await Df("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(T.freeNetLimit??600)-(T.freeNetUsed??0),total:T.NetLimit??0,used:T.NetUsed??0},energy:{total:T.EnergyLimit??0,used:T.EnergyUsed??0}}}catch(T){return M1({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${T instanceof Error?T.message:T}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jT(y){try{let T=await Df("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function kH(y){try{let T=await u6({...y,ownerAddress:y.sender}),H=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new zy("toolbox_tron_trongrid_api_error",{message:T.result.message||"estimateenergy failed"});if(H!==void 0){if(Number.isFinite(H)&&H>0)return H;throw new zy("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){M1({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${T instanceof Error?T.message:T}`})}try{let{energy_used:T}=await Y8({...y,ownerAddress:y.sender});return T}catch(T){return M1({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${T instanceof Error?T.message:T}`}),65000}}async function A8({assetAddress:y,owner:T,spender:H}){let f=TT([{type:"address",value:T},{type:"address",value:H}]),U=(await Y8({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:H,parameter:f})).constant_result?.[0];if(!U)return 0n;try{return BigInt(`0x${U}`)}catch{return 0n}}var G8="https://api.trongrid.io",v6=1000,p6=1e6,l6=420,j6=1e6,K6=30000;var J8=E(()=>{xH()});import{bytesToHex as h6}from"@noble/hashes/utils.js";import{HDKey as m6}from"@scure/bip32";import{mnemonicToSeedSync as t6}from"@scure/bip39";import{AssetValue as ay,BaseDecimal as W1,Chain as Ry,derivationPathToString as R8,getRPCUrl as c6,NetworkDerivationPath as x8,SwapKitError as Qy,updateDerivationPath as w8,warnOnce as z8}from"@swapkit/helpers";import{match as g6,P as nH}from"ts-pattern";function n8({phrase:y,derivationPath:T}){let H=m6.fromMasterSeed(t6(y)).derive(T);if(!H.privateKey)throw new Qy("toolbox_tron_no_signer");return h6(H.privateKey)}function $8({phrase:y,derivationPath:T,index:H}){let f=T||R8(w8(x8[Ry.Tron],{index:H||0}));return n8({derivationPath:f,phrase:y})}function d6({phrase:y,derivationPath:T}){let H=n8({derivationPath:T,phrase:y}),f=o8(H);return{getAddress:()=>Promise.resolve(f),signTransaction:(C)=>{fT(C);let U=q8({privateKey:H,txID:C.txID});return Promise.resolve({...C,signature:[U]})}}}function D8({transaction:y,memo:T,expiration:H,feeLimit:f}){let C={},U={};if(f!==void 0&&y.raw_data)C.fee_limit=f,U.fee_limit=f;if(T){let X=T.startsWith("0x")?T.replace(/^0x/,""):X8(T);C.data=X,U.data=X}if(H){let X=y.raw_data.expiration+H*1000;C.expiration=X,U.expiration=X}if(Object.keys(C).length===0)return y;let{raw_data_hex:o,txID:q}=eU(y.raw_data_hex,C);return{...y,raw_data:{...y.raw_data,...U},raw_data_hex:o,txID:q}}function F8(y={}){let T="index"in y?y.index||0:0,H=R8("derivationPath"in y&&y.derivationPath?y.derivationPath:w8(x8[Ry.Tron],{index:T})),f,C=!1;function U(){if(C)return Promise.resolve(f);return f=g6(y).with({phrase:nH.string},({phrase:_})=>d6({derivationPath:H,phrase:_})).with({signer:nH.not(nH.nullish)},({signer:_})=>_).otherwise(()=>{return}),C=!0,Promise.resolve(f)}async function o(){let _=await U();if(!_)throw new Qy("toolbox_tron_no_signer");return _.getAddress()}async function q(_,L){let x=_||B8,k=L??(await lT()).energyFee,w=x*k,n=Math.ceil(w*1.5);return Math.min(Math.max(n,1e7),150000000)}async function X({contractAddress:_,functionSelector:L,parameter:x,sender:k,memo:w,expiration:n,extraEnergy:F=0}){let z=await kH({contractAddress:_,functionSelector:L,parameter:x,sender:k}),$=await q(z+F),I=await L8({contractAddress:_,feeLimit:$,functionSelector:L,ownerAddress:k,parameter:x});return D8({expiration:n,feeLimit:$,memo:w,transaction:I})}async function G(_){if(!Iy(_))return[ay.from({chain:Ry.Tron})];try{let L=await M8(_);if(!L)return[ay.from({chain:Ry.Tron})];let x=[ay.from({chain:Ry.Tron,fromBaseDecimal:6,value:String(L.balance)})],k=L.trc20?.find((w)=>(FH in w));if(k){let w=k[FH];x.push(ay.from({asset:`TRON.USDT-${FH}`,fromBaseDecimal:6,value:w}))}return x}catch(L){return z8({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${L instanceof Error?L.message:L}`}),[ay.from({chain:Ry.Tron})]}}async function M({recipient:_,assetValue:L,memo:x,expiration:k}){if(!Iy(_))throw new Qy("toolbox_tron_token_transfer_failed",{message:"invalid address"});let w=await U();if(!w)throw new Qy("toolbox_tron_no_signer");try{let n=await o(),F=await O({assetValue:L,expiration:k,memo:x,recipient:_,sender:n}),z=await w.signTransaction(F),$=await pT(z);if(!$)throw new Qy("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return $}catch(n){throw new Qy("toolbox_tron_token_transfer_failed",{message:n instanceof Error?n.message:String(n)})}}function Y({requiredBandwidth:_,resources:L,feePerUnit:x}){let k=Math.max(0,L.free+L.total-L.used);return _>k?(_-k)*x:0}async function Z({memo:_,recipient:L,senderAddress:x}){let[k,w,n]=await Promise.all([lT(),jT(L),wH(x)]),F=w?0:k.createAccountFee,z=Y({feePerUnit:k.bandwidthFee,requiredBandwidth:N8,resources:n.bandwidth}),$=_?k.memoFee:0;return ay.from({chain:Ry.Tron,fromBaseDecimal:W1.TRON,value:F+z+$})}async function Q({assetValue:_,memo:L,recipient:x,senderAddress:k}){let w=_.address;if(!w)throw new Qy("toolbox_tron_invalid_token_identifier",{identifier:_.toString()});let[n,F,z,$]=await Promise.all([lT(),jT(x),wH(k),kH({contractAddress:w,functionSelector:"transfer(address,uint256)",parameter:TT([{type:"address",value:x},{type:"uint256",value:_.getBaseValue("string")}]),sender:k})]),v=$+(F?0:$H),V=Y({feePerUnit:n.bandwidthFee,requiredBandwidth:O8,resources:z.bandwidth}),l=Math.max(0,z.energy.total-z.energy.used),h=v>l?(v-l)*n.energyFee:0,s=L?n.memoFee:0;return ay.from({chain:Ry.Tron,fromBaseDecimal:W1.TRON,value:V+h+s})}async function N({assetValue:_,memo:L,recipient:x}){let[k,w]=await Promise.all([lT(),jT(x)]);if(_.isGasAsset){let $=w?0:k.createAccountFee,I=L?k.memoFee:0;return ay.from({chain:Ry.Tron,fromBaseDecimal:W1.TRON,value:$+N8*k.bandwidthFee+I})}let F=await q(B8+(w?0:$H),k.energyFee),z=L?k.memoFee:0;return ay.from({chain:Ry.Tron,fromBaseDecimal:W1.TRON,value:F+O8*k.bandwidthFee+z})}async function J({assetValue:_,memo:L,recipient:x,sender:k}){let w=await U();try{let n=k?k:w?await o():void 0;if(!n)return N({assetValue:_,memo:L,recipient:x});return _.isGasAsset?Z({memo:L,recipient:x,senderAddress:n}):Q({assetValue:_,memo:L,recipient:x,senderAddress:n})}catch(n){throw z8({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${n instanceof Error?n.message:n}`}),new Qy("toolbox_fee_estimation_failed",{chain:Ry.Tron,error:n})}}async function O({recipient:_,assetValue:L,memo:x,sender:k,expiration:w}){if(!Iy(_)||!Iy(k))throw new Qy("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(L.isGasAsset){let z=await W8({amount:L.getBaseValue("number"),from:k,to:_});return D8({expiration:w,memo:x,transaction:z})}let n=L.address;if(!n)throw new Qy("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let F=await jT(_);return X({contractAddress:n,expiration:w,extraEnergy:F?0:$H,functionSelector:"transfer(address,uint256)",memo:x,parameter:TT([{type:"address",value:_},{type:"uint256",value:L.getBaseValue("string")}]),sender:k})}async function D(_){fT(_);let L=await U();if(!L)throw new Qy("toolbox_tron_no_signer");return L.signTransaction(_)}async function W(_){let L=await D(_);return pT(L)}function R({assetAddress:_,spenderAddress:L,from:x}){return A8({assetAddress:_,owner:x,spender:L})}async function B({assetAddress:_,spenderAddress:L,from:x,amount:k}){let w=await R({assetAddress:_,from:x,spenderAddress:L});if(!k)return w>0n;return w>=BigInt(k)}async function A({assetAddress:_,spenderAddress:L,amount:x,from:k}){if(!Iy(_)||!Iy(L))throw new Qy("toolbox_tron_approve_failed");let w=await U();if(!w)throw new Qy("toolbox_tron_no_signer");let n=k||await o(),F=x!==void 0?BigInt(x).toString():i6;try{let z=await X({contractAddress:_,functionSelector:"approve(address,uint256)",parameter:TT([{type:"address",value:L},{type:"uint256",value:F}]),sender:n}),$=await w.signTransaction(z),I=await pT($);if(!I)throw new Qy("toolbox_tron_approve_failed");return I}catch(z){if(z instanceof Qy)throw z;throw new Qy("toolbox_tron_approve_failed",{error:z})}}return{approve:A,broadcastTransaction:pT,createTransaction:O,estimateTransactionFee:J,getAddress:o,getApprovedAmount:R,getBalance:G,getRpcUrl:()=>c6(Ry.Tron),isApproved:B,signAndBroadcastTransaction:W,signTransaction:D,transfer:M,validateAddress:Iy}}var k8,N8=268,B8=65000,$H=25000,O8=345,FH="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",i6="115792089237316195423570985008687907853269984665640564039457584007913129639935";var I8=E(()=>{y8();J8();xH();k8=Iy});var IH={};Ty(IH,{validateTronAddress:()=>k8,getTronToolbox:()=>F8,getTronPrivateKeyFromMnemonic:()=>$8});var SH=E(()=>{I8()});import{AssetValue as KT,Chain as jy,derivationPathToString as r6,getChainConfig as a6,getRPCUrl as S8,NetworkDerivationPath as s6,SKConfig as e6,SwapKitError as CT}from"@swapkit/helpers";import{match as y9,P as f9}from"ts-pattern";function L1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return T9.test(y)}function C9(y){if(typeof y!=="object"||y===null)return;let T="response"in y?y.response:void 0;return typeof T?.status==="number"?T.status:void 0}function H9(y){return C9(y)===504}function U9(y){return y.hash?.().toString("hex")}function o9(y){return[...new Set([y,...e6.get("rpcUrls")[jy.Stellar]])].filter(Boolean)}async function q9(y){if(!L1(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}function P8(y={}){let T,H=y.derivationPath||s6[jy.Stellar],f=r6(H.slice(0,3));async function C({phrase:D,path:W}){let{HDKey:R}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:B}=await import("@scure/bip39"),{Keypair:A}=await import("@stellar/stellar-sdk"),_=B(D),x=R.fromMasterSeed(_).derive(W,!0);return A.fromRawEd25519Seed(Buffer.from(x.privateKey))}async function U(){if(T)return T;let D=y9(y).with({phrase:f9.string},({phrase:W})=>W).otherwise(()=>{return});if(!D)throw new CT("toolbox_stellar_no_signer");return T=await C({path:f,phrase:D}),T}async function o(D){let{Horizon:W}=await import("@stellar/stellar-sdk"),R=D||await S8(jy.Stellar);return new W.Server(R)}async function q(D,W){for(let R of W)try{return(await(await o(R)).transactions().transaction(D).call()).hash||D}catch{}return}async function X(D,W){let R=await S8(jy.Stellar),B=o9(R),A=U9(D),_;for(let L of B)try{let x=await o(L),{hash:k}=await x.submitTransaction(D);return k}catch(x){if(_=x,!H9(x))break;let k=A?await q(A,B):void 0;if(k)return k}throw new CT(W,_)}async function G(){try{return(await U()).publicKey()}catch{return""}}async function M(D){let W=D||await G();if(!W)throw new CT("toolbox_stellar_account_not_found");try{return(await(await o()).loadAccount(W)).balances.map((A)=>{if(A.asset_type==="native")return KT.from({chain:jy.Stellar,value:A.balance});let _="asset_code"in A?A.asset_code:"",L="asset_issuer"in A?A.asset_issuer:"";return KT.from({asset:`${jy.Stellar}.${_}-${L}`,asyncTokenLookup:!1,value:A.balance})})}catch{return[KT.from({chain:jy.Stellar,value:0})]}}async function Y({recipient:D,assetValue:W,memo:R,sender:B}){if(R){if(new TextEncoder().encode(R).length>28)throw new CT("helpers_invalid_memo_type")}if(!await q9(D))throw new CT("core_transaction_invalid_recipient_address");let _=B||await G();if(!_)throw new CT("toolbox_stellar_no_signer");let{Asset:L,Memo:x,Networks:k,Operation:w,TransactionBuilder:n}=await import("@stellar/stellar-sdk"),F=await o(),z=await F.fetchBaseFee(),$=await F.loadAccount(_),I=new n($,{fee:String(z),networkPassphrase:k.PUBLIC});if(W.isGasAsset)try{await F.loadAccount(D),I.addOperation(w.payment({amount:W.getValue("string"),asset:L.native(),destination:D}))}catch{I.addOperation(w.createAccount({destination:D,startingBalance:W.getValue("string")}))}else I.addOperation(w.payment({amount:W.getValue("string"),asset:new L(W.symbol,W.address),destination:D}));if(R)I.addMemo(x.text(R));return I.setTimeout(30).build()}async function Z(D){let{TransactionBuilder:W,Networks:R}=await import("@stellar/stellar-sdk"),B=await U(),A=W.fromXDR(D.toXDR(),R.PUBLIC);return A.sign(B),A}function Q(D){return X(D,"toolbox_stellar_broadcast_error")}async function N({recipient:D,assetValue:W,memo:R}){let B=await U(),A=B.publicKey(),_=await Y({assetValue:W,memo:R,recipient:D,sender:A});return _.sign(B),X(_,"toolbox_stellar_transaction_failed")}async function J(D){let W=await Z(D);return Q(W)}async function O(){let{baseDecimal:D}=a6(jy.Stellar);try{let B=(await(await o()).feeStats()).fee_charged.p50;return KT.from({chain:jy.Stellar,fromBaseDecimal:D,value:B})}catch{return KT.from({chain:jy.Stellar,fromBaseDecimal:D,value:"100"})}}return{broadcastTransaction:Q,createTransaction:Y,estimateTransactionFee:O,getAddress:G,getBalance:M,signAndBroadcastTransaction:J,signTransaction:Z,transfer:N,validateAddress:L1}}var T9;var E8=E(()=>{T9=/^G[A-Z2-7]{55}$/});var Y1={};Ty(Y1,{validateStellarAddress:()=>L1,getStellarToolbox:()=>P8});var A1=E(()=>{E8()});import{AssetValue as X9,Chain as j,CosmosChains as PH,EVMChains as EH,FeeOption as G9,SwapKitError as Q9,UTXOChains as b8}from"@swapkit/helpers";async function FW(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:T}=await Promise.resolve().then(() => (hT(),uT)),{validateEVMAddress:H}=await Promise.resolve().then(() => (m1(),A5)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (r1(),d1)),{getCosmosAddressValidator:C}=await Promise.resolve().then(() => (D0(),O0)),{validateHyperCoreAddress:U}=await Promise.resolve().then(() => (wC(),xC)),{validateSolanaAddress:o}=await Promise.resolve().then(() => (IC(),FC)),{validateStarknetAddress:q}=await Promise.resolve().then(() => (S0(),I0)),{validateSuiAddress:X}=await Promise.resolve().then(() => (v0(),b0)),{validateTonAddress:G}=await Promise.resolve().then(() => (K0(),j0)),{getUTXOAddressValidator:M}=await Promise.resolve().then(() => (TH(),fH)),{validateNearAddress:Y}=await Promise.resolve().then(() => (JH(),AH)),{validateRadixAddress:Z}=await Promise.resolve().then(() => (BH(),NH)),{validateRippleAddress:Q}=await Promise.resolve().then(() => (DH(),OH)),{validateTronAddress:N}=await Promise.resolve().then(() => (SH(),IH)),{validateStellarAddress:J}=await Promise.resolve().then(() => (A1(),Y1));return function({address:D,chain:W}){return y(W).with(...EH,()=>H(D)).with(...b8,(B)=>{return M(B)(D)}).with(...PH,(B)=>{return C(B)(D)}).with(j.Aptos,()=>T(D)).with(j.Radix,()=>Z(D)).with(j.Hype,()=>U(D)).with(j.Near,()=>Y(D)).with(j.Ripple,()=>Q(D)).with(j.Solana,()=>o(D)).with(j.Stellar,()=>J(D)).with(j.Starknet,()=>q(D)).with(j.Sui,()=>X(D)).with(j.Ton,()=>G(D)).with(j.Tron,()=>N(D)).with(j.Cardano,()=>f(D)).otherwise(()=>!1)}}function IW(y){return async function(H){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...EH,async(C)=>{let U=await V8(C),o=await U.createTransaction(H),q="feeOptionKey"in H?H.feeOptionKey:G9.Fast;return U.estimateTransactionFee({...o,feeOption:q})}).with(j.Bitcoin,j.BitcoinCash,j.Dogecoin,j.Dash,j.Litecoin,j.Solana,j.Ripple,j.Tron,j.Near,j.Cardano,j.Hype,async(C)=>{return(await V8(C)).estimateTransactionFee(H)}).with(j.Aptos,async()=>{let{getAptosToolbox:C}=await Promise.resolve().then(() => (hT(),uT));return C().estimateTransactionFee(H)}).with(j.Starknet,async()=>{let{getStarknetToolbox:C}=await Promise.resolve().then(() => (S0(),I0));return(await C()).estimateTransactionFee(H)}).with(j.Stellar,async()=>{let{getStellarToolbox:C}=await Promise.resolve().then(() => (A1(),Y1));return C().estimateTransactionFee()}).with(j.Sui,async()=>{let{getSuiToolbox:C}=await Promise.resolve().then(() => (v0(),b0));return C().estimateTransactionFee(H)}).with(j.Ton,async()=>{let{getTONToolbox:C}=await Promise.resolve().then(() => (K0(),j0));return C().estimateTransactionFee(H)}).with(...PH,async()=>{let{estimateTransactionFee:C}=await Promise.resolve().then(() => (D0(),O0));return C(H)}).otherwise(async()=>X9.from({chain:y}))}}async function V8(y,T){let{match:H}=await import("ts-pattern");return H(y).returnType().with(...EH,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (h1(),W5));return await f(y,T)}).with(...b8,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (TH(),fH));return f(y,T)}).with(...PH,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (D0(),O0));return f(y,T)}).with(j.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (hT(),uT));return f(T)}).with(j.Hype,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (wC(),xC));return f(T)}).with(j.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (BH(),NH));return f(T)}).with(j.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (DH(),OH));return f(T)}).with(j.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (IC(),FC));return f(T)}).with(j.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (A1(),Y1));return f(T)}).with(j.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (S0(),I0));return f(T)}).with(j.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (v0(),b0));return f(T)}).with(j.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (SH(),IH));return f(T)}).with(j.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (JH(),AH));return f(T)}).with(j.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (r1(),d1));return f(T)}).with(j.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (K0(),j0));return f(T)}).otherwise(()=>{throw new Q9("toolbox_not_supported",{chain:y})})}export{V8 as getToolbox,IW as getFeeEstimator,FW as getAddressValidator};
|