@swapkit/toolboxes 4.19.0 → 4.20.1
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 +25 -0
- package/dist/chunk-3pne8gaa.js +1 -0
- package/dist/chunk-44m22jy1.js +1 -0
- package/dist/chunk-54gntgt1.js +2 -0
- package/dist/chunk-ntbvmmch.js +2 -0
- package/dist/chunk-x9db9hmg.js +1 -0
- package/dist/chunk-xs0j1eze.js +2 -0
- package/dist/src/aptos/index.js +1 -1
- package/dist/src/cardano/index.cjs +1 -1
- package/dist/src/cardano/index.js +1 -1
- package/dist/src/cosmos/index.cjs +1 -1
- package/dist/src/cosmos/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/near/index.cjs +1 -1
- package/dist/src/near/index.js +1 -1
- package/dist/src/radix/index.cjs +1 -1
- package/dist/src/radix/index.js +1 -1
- package/dist/src/ripple/index.cjs +1 -1
- package/dist/src/ripple/index.js +1 -1
- package/dist/src/solana/index.js +1 -1
- package/dist/src/starknet/index.js +1 -1
- package/dist/src/stellar/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.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/src/utxo/index.js +1 -1
- package/dist/types/cardano/toolbox.d.ts +1 -1
- package/dist/types/cosmos/toolbox/cosmos.d.ts +2 -3
- package/dist/types/evm/helpers.d.ts +11 -1
- package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +90 -5
- package/dist/types/evm/toolbox/evm.d.ts +1584 -88
- package/dist/types/evm/toolbox/op.d.ts +72 -4
- package/dist/types/evm/types.d.ts +7 -7
- package/dist/types/near/toolbox.d.ts +1 -2
- package/dist/types/radix/index.d.ts +2 -2
- package/dist/types/ripple/index.d.ts +4 -8
- package/dist/types/substrate/substrate.d.ts +1 -1
- package/dist/types/ton/toolbox.d.ts +6 -6
- package/dist/types/ton/types.d.ts +5 -0
- package/dist/types/tron/index.d.ts +2 -2
- package/dist/types/tron/toolbox.d.ts +3 -1
- package/dist/types/tron/types.d.ts +5 -0
- package/package.json +4 -2
package/dist/src/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var vU=Object.create;var{getPrototypeOf:pU,defineProperty:qT,getOwnPropertyNames:ZH,getOwnPropertyDescriptor:lU}=Object,MH=Object.prototype.hasOwnProperty;function WH(y){return this[y]}var jU,KU,_1=(y,T,H)=>{var f=y!=null&&typeof y==="object";if(f){var C=T?jU??=new WeakMap:KU??=new WeakMap,U=C.get(y);if(U)return U}H=y!=null?vU(pU(y)):{};let o=T||!y||!y.__esModule?qT(H,"default",{value:y,enumerable:!0}):H;for(let q of ZH(y))if(!MH.call(o,q))qT(o,q,{get:WH.bind(y,q),enumerable:!0});if(f)C.set(y,o);return o},Ry=(y)=>{var T=(_H??=new WeakMap).get(y),H;if(T)return T;if(T=qT({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of ZH(y))if(!MH.call(T,f))qT(T,f,{get:WH.bind(y,f),enumerable:!(H=lU(y,f))||H.enumerable})}return _H.set(y,T),T},_H;var uU=(y)=>y;function hU(y,T){this[y]=uU.bind(null,T)}var Ny=(y,T)=>{for(var H in T)qT(y,H,{get:T[H],enumerable:!0,configurable:!0,set:hU.bind(T,H)})};var V=(y,T)=>()=>(y&&(T=y(y=0)),T);function vf(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 mU.test(T)}function LH({derivationPath:y,provider:T,...H}={}){let f,C=t.derivationPathToString(y||t.NetworkDerivationPath[t.Chain.Aptos],{allHardened:!0});async function U(){if(f)return f;return f=await Of.match(H).with({phrase:Of.P.string},async({phrase:J})=>{let{Ed25519Account:O}=await import("@aptos-labs/ts-sdk");return O.fromDerivationPath({mnemonic:J,path:C})}).with({signer:Of.P.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||t.getRPCUrlSync(t.Chain.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 t.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:D,chain:W}=t.getChainConfig(t.Chain.Aptos);try{let R=await o(),B=await R.getAccountAPTAmount({accountAddress:O}),A=[t.AssetValue.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===Bf.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(t.AssetValue.from({asset:`${t.Chain.Aptos}.APT-${x}`,fromBaseDecimal:w,value:String(L.amount)}))}}return A}catch{return[t.AssetValue.from({chain:W})]}}async function G(J){if(!J){let{baseDecimal:_}=t.getChainConfig(t.Chain.Aptos),L=T||t.getRPCUrlSync(t.Chain.Aptos),x=await fetch(`${L}/estimate_gas_price`),{gas_estimate:k}=await x.json();return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:_,value:String(k)})}let O=await U();if(!O)throw new t.SwapKitError("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 t.SwapKitError("toolbox_aptos_transaction_creation_error");let B=BigInt(R.gas_used)*BigInt(R.gas_unit_price),{baseDecimal:A}=t.getChainConfig(t.Chain.Aptos);return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:A,value:B.toString()})}async function M({recipient:J,assetValue:O,maxGasAmount:D,sender:W}){if(!vf(J))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let R=W||await q();if(!R)throw new t.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:B}=await import("@aptos-labs/ts-sdk"),A=await o(),_=B.from(R);try{let L=O.isGasAsset?Bf.TRANSFER:Bf.FUNGIBLE_STORE_TRANSFER,x=Of.match({address:O?.address,isGasAsset:O.isGasAsset}).with({isGasAsset:!0},()=>[B.from(J),O.getBaseValue("bigint")]).with({address:Of.P.string},({address:k})=>[B.from(k),B.from(J),O.getBaseValue("bigint")]).otherwise(()=>null);if(!x)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return A.transaction.build.simple({data:{function:L,functionArguments:x,typeArguments:O.isGasAsset?[]:[Bf.FUNGIBLE_ASSET_METADATA]},options:D?{maxGasAmount:D}:void 0,sender:_})}catch(L){if(L instanceof t.SwapKitError)throw L;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}async function Y(J){let O=await U();if(!O)throw new t.SwapKitError("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 t.SwapKitError("toolbox_aptos_no_signer");if(!vf(D))throw new t.SwapKitError("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 t.SwapKitError)throw R;throw new t.SwapKitError("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 t.SwapKitError("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:vf}}function YH({provider:y}){return async function({assetValue:H,recipient:f}){if(!vf(f))throw new t.SwapKitError("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:Bf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let U=H.address;if(!U)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[U,C.from(f).toString(),H.getBaseValue("string")],function:Bf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Bf.FUNGIBLE_ASSET_METADATA]})).hash}}var t,Of,Bf,mU;var AH=V(()=>{t=require("@swapkit/helpers"),Of=require("ts-pattern"),Bf={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"},mU=/^[0-9a-fA-F]+$/});var hT={};Ny(hT,{validateAptosAddress:()=>vf,getAptosToolbox:()=>LH,createAptosExtensionTransfer:()=>YH});module.exports=Ry(hT);var mT=V(()=>{AH()});function zH(){function y(){let T=Date.now(),H=Z1||T;return Z1=H,T>Z1?T:H+1}return tU+y().toString(36)}function Fy(y){return async function(H,f=!0){let C=await JH.SwapKitApi.getChainBalance({address:H,chain:y,scamFilter:f}),{baseDecimal:U}=XT.getChainConfig(y),o=C.map(({identifier:X,value:G,decimal:M})=>{return new XT.AssetValue({decimal:M||U,identifier:X,value:G})});if(!o.some((X)=>X.isGasAsset))return[XT.AssetValue.from({chain:y}),...o];return o}}var XT,JH,tU,Z1=0;var sy=V(()=>{XT=require("@swapkit/helpers"),JH=require("@swapkit/helpers/api"),tU=typeof process<"u"&&process.pid?process.pid.toString(36):""});function GT(y){return{getBalance:Fy(y)}}function cU(y){return y}var tT=V(()=>{sy()});function BH(y){return new Df.JsonRpcProvider(y)}async function A1(y,T){return BH(T||await e.getRPCUrl(y))}function QT(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function J1(y){let{explorerUrl:T,chainIdHex:H,rpcUrls:f}=e.getChainConfig(y);return function(){return y!==e.Chain.Ethereum?{...gU({chain:y}),blockExplorerUrls:[T],chainId:H,rpcUrls:f}:void 0}}function z1(y){return![e.Chain.Adi,e.Chain.Arbitrum,e.Chain.BinanceSmartChain].includes(y)}function gU({chain:y}){let{name:T,nativeCurrency:H,baseDecimal:f}=e.getChainConfig(y);return Y1.match(y).with(e.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(e.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(e.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(e.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(e.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(e.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:e.Chain.Ethereum}})).with(e.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:e.Chain.Polygon}})).otherwise(()=>({chainName:T,nativeCurrency:{decimals:f,name:H,symbol:H}}))}async function N1(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 OH(y,T){let H=T!==void 0?`index ${T}: `:"",f=(C,U)=>{throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:C,message:`${H}${U}`}})};Y1.match(y).when(({chainId:C})=>typeof C!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:C})=>!iU(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})=>!NH(C?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:C})=>!NH(C?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function DH(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 M1(y){return y.charAt(0).toUpperCase()+y.slice(1)}function W1(y,T){if(y.isTuple()&&y.components){let H=M1(y.name);return T[H]=y.components.map((f)=>({name:f.name,type:W1(f,T)})),H}if(y.isArray()){let H=y.arrayChildren;if(H?.isTuple()&&H.components){let f=M1(y.name.replace(/s$/,""));return T[f]=H.components.map((C)=>({name:C.name,type:W1(C,T)})),`${f}[]`}return`${H?.type??"bytes"}[]`}return y.type}function L1(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]=L1(H[U.name]??y[C],U);return f}if(Array.isArray(y)){let H=T?.arrayChildren;return y.map((f)=>L1(f,H??void 0))}return y}function dU({chain:y,abi:T,data:H,to:f}){let U=new Df.Interface(T).parseTransaction({data:H});if(!U)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let o={},q=M1(U.name);o[q]=U.fragment.inputs.map((Z)=>({name:Z.name,type:W1(Z,o)}));let X={};for(let[Z,Q]of U.fragment.inputs.entries())X[Q.name]=L1(U.args[Z],Q);let{chainId:G}=e.getChainConfig(y),M={chainId:Number(G),verifyingContract:Df.getAddress(f)},Y=DH(M);return{domain:M,message:X,primaryType:q,types:{EIP712Domain:Y,...o}}}function B1(y,T){if(!Array.isArray(y)||y.length===0)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[H,f]of y.entries())if(OH(f,H),T!==void 0&&f.chainId!==T)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${H}: authorization chainId (${f.chainId}) does not match transaction chainId (${T})`}})}var e,Df,Y1,NH=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),iU=(y)=>{try{return typeof y==="string"&&!!Df.getAddress(y)}catch{return!1}};var _T=V(()=>{e=require("@swapkit/helpers"),Df=require("ethers"),Y1=require("ts-pattern")});var RH;var xH=V(()=>{RH=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function lf({chain:y=F.Chain.Ethereum,provider:T,signer:H,isEIP1559Compatible:f=!0}){return{approve:y8({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),approvedAmount:nH({chain:y,provider:T}),broadcastTransaction:T.broadcastTransaction,call:k1({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),createApprovalTx:H8({chain:y,provider:T,signer:H}),createContract:R1({chain:y,provider:T}),createContractTxObject:Rf({chain:y,provider:T}),createTransaction:O1({chain:y,provider:T,signer:H}),createTransferTx:O1({chain:y,provider:T,signer:H}),EIP1193SendTransaction:Kf(T),estimateCall:$H({provider:T,signer:H}),estimateGasLimit:T8({chain:y,provider:T,signer:H}),estimateGasPrices:xf({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:U8({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return H?H.getAddress():void 0},getBalance:GT(y).getBalance,getNetworkParams:J1(y),isApproved:eU({chain:y,provider:T}),sendTransaction:FH({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),signAuthorization:C8({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:f8({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),validateAddress:MT}}function MT(y){try{return Py.getAddress(y),!0}catch{return!1}}function jf(y){return y instanceof Py.BrowserProvider}function WT(y,T,H){return new Py.Contract(y,Py.Interface.from(T),H)}function R1({provider:y}){return function(H,f){return new Py.Contract(H,Py.Interface.from(f),y)}}function x1({abi:y,funcName:T}){let H=y.find((f)=>f.name===T);if(!H)throw new F.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:T});return H.stateMutability&&rU.includes(H.stateMutability)}function wH(y){return Py.getAddress(y)}function Kf(y){return function({value:H,...f}){if(!jf(y))throw new F.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:C,gasPrice:U,maxFeePerGas:o,maxPriorityFeePerGas:q,...X}=f;return y.send("eth_sendTransaction",[{...X,value:QT(BigInt(H||0))}])}}function kH(y,T){let H=uf(y,T);if(H)return Py.getAddress(H.toLowerCase());throw new F.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function uf({chain:y,symbol:T,ticker:H},f){try{let C=y===F.Chain.BinanceSmartChain&&T==="BNB"&&H==="BNB",U=y===F.Chain.Hyperevm&&T==="HYPE"&&H==="HYPE",o=y===f&&T===f&&H===f,q=sU.includes(y)&&T==="ETH"&&H==="ETH";if(o||C||U||q)return w1[f];return Py.getAddress(T.slice(H.length+1).replace(/^0X/,""))}catch{return null}}function Rf({provider:y}){return async({contractAddress:T,abi:H,funcName:f,funcParams:C=[],txOverrides:U})=>WT(T,H,y).getFunction(f).populateTransaction(...C.concat(U).filter((o)=>typeof o<"u"))}function xf({chain:y,provider:T,isEIP1559Compatible:H=!0}){return D1.match(y).with(F.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:C,maxPriorityFeePerGas:U}=await T.getFeeData();if(!C||U===null)throw new F.SwapKitError("toolbox_evm_no_fee_data");return{[F.FeeOption.Average]:{maxFeePerGas:F.applyFeeMultiplierToBigInt(C,F.FeeOption.Average),maxPriorityFeePerGas:F.applyFeeMultiplierToBigInt(U,F.FeeOption.Average)},[F.FeeOption.Fast]:{maxFeePerGas:F.applyFeeMultiplierToBigInt(C,F.FeeOption.Fast),maxPriorityFeePerGas:F.applyFeeMultiplierToBigInt(U,F.FeeOption.Fast)},[F.FeeOption.Fastest]:{maxFeePerGas:F.applyFeeMultiplierToBigInt(C,F.FeeOption.Fastest),maxPriorityFeePerGas:F.applyFeeMultiplierToBigInt(U,F.FeeOption.Fastest)}}}catch(C){throw new F.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}).with(F.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:C}=await T.getFeeData();if(!C)throw new F.SwapKitError("toolbox_evm_no_fee_data");let U=C*12n/10n;return{[F.FeeOption.Average]:{gasPrice:U},[F.FeeOption.Fast]:{gasPrice:F.applyFeeMultiplierToBigInt(U,F.FeeOption.Fast)},[F.FeeOption.Fastest]:{gasPrice:F.applyFeeMultiplierToBigInt(U,F.FeeOption.Fastest)}}}catch(C){throw new F.SwapKitError("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 F.SwapKitError("toolbox_evm_no_fee_data");return{[F.FeeOption.Average]:{maxFeePerGas:C,maxPriorityFeePerGas:U},[F.FeeOption.Fast]:{maxFeePerGas:F.applyFeeMultiplierToBigInt(C,F.FeeOption.Fast),maxPriorityFeePerGas:F.applyFeeMultiplierToBigInt(U,F.FeeOption.Fast)},[F.FeeOption.Fastest]:{maxFeePerGas:F.applyFeeMultiplierToBigInt(C,F.FeeOption.Fastest),maxPriorityFeePerGas:F.applyFeeMultiplierToBigInt(U,F.FeeOption.Fastest)}}}if(!o)throw new F.SwapKitError("toolbox_evm_no_gas_price");return{[F.FeeOption.Average]:{gasPrice:o},[F.FeeOption.Fast]:{gasPrice:F.applyFeeMultiplierToBigInt(o,F.FeeOption.Fast)},[F.FeeOption.Fastest]:{gasPrice:F.applyFeeMultiplierToBigInt(o,F.FeeOption.Fastest)}}}catch(C){throw new F.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}})}function k1({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=F.FeeOption.Fast}){let Z=U||y;if(!o)throw new F.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=x1({abi:q,funcName:X});if(Q&&jf(Z)&&H){let O=Rf({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=WT(o,q,Z);if(Q){if(!H)throw new F.SwapKitError("toolbox_evm_no_signer");let O=M?.from||await H.getAddress();if(!O)throw new F.SwapKitError("toolbox_evm_no_signer_address");let D=N.connect(H),W=xf({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 nH({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:C,from:U}){return k1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:pf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[U,C]})}}function eU({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:C,from:U,amount:o=ZT}){let q=await nH({chain:T,provider:y})({assetAddress:f,from:U,spenderAddress:C});return F.SwapKitNumber.fromBigInt(q).gte(F.SwapKitNumber.fromBigInt(BigInt(o)))}}function y8({signer:y,isEIP1559Compatible:T=!0,provider:H,chain:f}){return async function({assetAddress:U,spenderAddress:o,feeOptionKey:q=F.FeeOption.Fast,amount:X,gasLimitFallback:G,from:M,nonce:Y}){let Z=[o,BigInt(X||ZT)],Q=await y?.getAddress()||M,N={abi:pf.erc20ABI,contractAddress:U,funcName:"approve",funcParams:Z,signer:y,txOverrides:{from:Q}};if(jf(H)){let O=Rf({chain:f,provider:H}),D=Kf(H),W=await O(N);return D(W)}return k1({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 f8({signer:y,isEIP1559Compatible:T=!0,provider:H}){return async function({assetValue:C,memo:U,recipient:o,feeOptionKey:q=F.FeeOption.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=FH({chain:Q,isEIP1559Compatible:T,provider:H,signer:y});if(!N)throw new F.SwapKitError("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(!uf(C,Q))throw new F.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:W,gasPrice:R}=(await xf({chain:Q,isEIP1559Compatible:T,provider:H})())[q],B=await O1({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 $H({provider:y,signer:T}){return function({contractAddress:f,abi:C,funcName:U,funcParams:o=[],txOverrides:q}){if(!f)throw new F.SwapKitError("toolbox_evm_no_contract_address");let X=WT(f,C,y);return T?X.connect(T).getFunction(U).estimateGas(...o,q):X.getFunction(U).estimateGas(...o,q)}}function T8({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:uf(f,f.chain);if(Z&&X)return $H({provider:y,signer:T})({abi:pf.erc20ABI,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 C8({signer:y}){if(!y)return;return(T)=>N1(y,T)}function FH({provider:y,signer:T,isEIP1559Compatible:H=!0,chain:f}){return async function({feeOptionKey:U=F.FeeOption.Fast,...o}){let{from:q,to:X,data:G,value:M,...Y}=o;if(!T)throw new F.SwapKitError("toolbox_evm_no_signer");if(!X)throw new F.SwapKitError("toolbox_evm_no_to_address");let Z={...Y,data:G||"0x",from:q,to:X,value:BigInt(M||0)};if(jf(y))return Kf(y)(Z);let Q=q||await T.getAddress(),N=o.nonce||await y.getTransactionCount(Q),J=(await y.getNetwork()).chainId,O=$1(Z,H);if(O==="eip7702")B1(Z.authorizations||[],J);let D=D1.match(O).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),W={...Z,chainId:J,nonce:N,type:D,...O==="eip7702"&&{authorizationList:Z.authorizations}},R=xf({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]:QT(BigInt(k))}),{}):{},_;try{_=QT(Z.gasLimit||await y.estimateGas(W)*11n/10n)}catch(L){throw new F.SwapKitError("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 F.SwapKitError("toolbox_evm_error_sending_transaction",{error:L})}}}function O1({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 F.SwapKitError("toolbox_evm_no_from_address");if(F.isGasAsset(f)){let{hexlify:D,toUtf8Bytes:W}=await import("ethers");return{...Y,data:o||D(W(C||"")),from:N,to:U,value:Z}}let J=uf(f,Q);if(!J)throw new F.SwapKitError("toolbox_evm_no_contract_address");return Rf({chain:f.chain,provider:y})({abi:pf.erc20ABI,contractAddress:J,funcName:"transfer",funcParams:[U,Z],txOverrides:{from:N,gasPrice:M,maxFeePerGas:X,maxPriorityFeePerGas:G}})}}function H8({provider:y,signer:T,chain:H}){return async function({assetAddress:C,spenderAddress:U,amount:o,from:q}){let X=await T?.getAddress()||q,G=Rf({chain:H,provider:y}),M=["bigint","number"].includes(typeof o)?o:o||ZT;return await G({abi:pf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:[U,BigInt(M)],txOverrides:{from:X}})}}function U8({provider:y,isEIP1559Compatible:T=!0,chain:H}){return async function({feeOption:C=F.FeeOption.Fast,...U}){let q=await xf({chain:H,isEIP1559Compatible:T,provider:y})(),X=await y.estimateGas(U),G=F.AssetValue.from({chain:H}),{gasPrice:M,maxFeePerGas:Y,maxPriorityFeePerGas:Z}=q[C];if(!T&&M)return G.set(F.SwapKitNumber.fromBigInt(M*X,G.decimal));if(Y&&Z){let Q=(Y+Z)*X;return G.set(F.SwapKitNumber.fromBigInt(Q,G.decimal))}throw new F.SwapKitError("toolbox_evm_no_gas_price")}}var F,pf,Py,D1,ZT,rU,aU,w1,sU,cT=(y)=>y.type===4||(y.authorizations?.length??0)>0,n1=(y)=>!cT(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),$1=(y,T=!0)=>{if(cT(y))return"eip7702";if(n1(y)||T)return"eip1559";return"legacy"};var gT=V(()=>{tT();_T();F=require("@swapkit/helpers"),pf=require("@swapkit/helpers/contracts"),Py=require("ethers"),D1=require("ts-pattern"),ZT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");rU=["payable","nonpayable"];aU=F.EVMChains.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),w1={...aU,[F.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[F.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},sU=[F.Chain.Arbitrum,F.Chain.Aurora,F.Chain.Base,F.Chain.Optimism]});function iT(y){let T=My(oy.Chain.Ethereum)(y);async function H(f,C="0x5ba1e12693dc8f9c48aad8770482f4739beed696",U="aggregate",o=oy.FeeOption.Fast){let q=await T.createContractTxObject({abi:RH,contractAddress:C,funcName:U,funcParams:[f]});return T.sendTransaction({...q,feeOptionKey:o})}return{...T,multicall:H}}function My(y){return function({provider:H,...f}){let C=z1(y),U=LT.match(f).with({phrase:LT.P.string},({phrase:q})=>IH.HDNodeWallet.fromPhrase(q).connect(H)).with({signer:LT.P.any},({signer:q})=>q).otherwise(()=>{return});return lf({chain:y,isEIP1559Compatible:C,provider:H,signer:U})}}var oy,IH,LT,dT,rT,aT,sT,eT,y0,f0,SH,T0,C0,H0,U0,o0,q0,X0,G0,Q0,_0,YT,Z0,M0;var F1=V(()=>{xH();_T();gT();oy=require("@swapkit/helpers"),IH=require("ethers"),LT=require("ts-pattern");dT=My(oy.Chain.Adi),rT=My(oy.Chain.Arbitrum),aT=My(oy.Chain.Aurora),sT=My(oy.Chain.Avalanche),eT=My(oy.Chain.Base),y0=My(oy.Chain.Berachain),f0=My(oy.Chain.BinanceSmartChain),SH=My(oy.Chain.Botanix),T0=My(oy.Chain.Core),C0=My(oy.Chain.Corn),H0=My(oy.Chain.Cronos),U0=My(oy.Chain.Gnosis),o0=My(oy.Chain.Hyperevm),q0=My(oy.Chain.Linea),X0=My(oy.Chain.Polygon),G0=My(oy.Chain.MegaETH),Q0=My(oy.Chain.Monad),_0=My(oy.Chain.Plasma),YT=My(oy.Chain.Sonic),Z0=My(oy.Chain.Unichain),M0=My(oy.Chain.XLayer)});var PH;var EH=V(()=>{PH=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function I1(y){return new W0.Contract(q8,PH,y)}function VH(y){return async function(){let H=I1(y);if(H&&"l1BaseFee"in H)return await H?.l1BaseFee();return}}function bH(y){return async function({from:H,to:f,nonce:C,...U}){let{Transaction:o}=await import("ethers");if(!f)throw new Qy.SwapKitError("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 vH(y){return async function(H){let f=I1(y),C=await bH(y)(H);if(f&&"getL1Fee"in f)return f.getL1Fee(C)}}function pH(y){return async function(H){let C=(await y.getFeeData()).gasPrice??0n,U=await y.estimateGas(H);return C*U}}function X8(y){return async function(H){let f=await vH(y)(H)??0n,C=await pH(y)(H);return f+C}}function G8(y){return async function(H){let f=I1(y),C=await bH(y)(H);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(C)}}function Q8(y){return async function(){try{let{maxFeePerGas:H,maxPriorityFeePerGas:f,gasPrice:C}=await y.getFeeData(),U=await VH(y)(),o=C;if(!(H&&f))throw new Qy.SwapKitError("toolbox_evm_no_fee_data");return{[Qy.FeeOption.Average]:{gasPrice:o,l1GasPrice:U,maxFeePerGas:H,maxPriorityFeePerGas:f},[Qy.FeeOption.Fast]:{gasPrice:Qy.applyFeeMultiplierToBigInt(o,Qy.FeeOption.Fast),l1GasPrice:Qy.applyFeeMultiplierToBigInt(U||0n,Qy.FeeOption.Fast),maxFeePerGas:H,maxPriorityFeePerGas:Qy.applyFeeMultiplierToBigInt(f,Qy.FeeOption.Fast)},[Qy.FeeOption.Fastest]:{gasPrice:Qy.applyFeeMultiplierToBigInt(o,Qy.FeeOption.Fastest),l1GasPrice:Qy.applyFeeMultiplierToBigInt(U||0n,Qy.FeeOption.Fastest),maxFeePerGas:H,maxPriorityFeePerGas:Qy.applyFeeMultiplierToBigInt(f,Qy.FeeOption.Fastest)}}}catch(H){throw new Qy.SwapKitError("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}function L0({provider:y,...T}){let H=AT.match(T).with({phrase:AT.P.string},({phrase:U})=>W0.HDNodeWallet.fromPhrase(U).connect(y)).with({signer:AT.P.any},({signer:U})=>U).otherwise(()=>{return}),f=lf({provider:y,signer:H}),C=VH(y);return{...f,estimateGasPrices:Q8(y),estimateL1Gas:G8(y),estimateL1GasCost:vH(y),estimateL2GasCost:pH(y),estimateTotalGasCost:X8(y),getBalance:GT(Qy.Chain.Optimism).getBalance,getL1GasPrice:C}}var Qy,W0,AT,q8="0x420000000000000000000000000000000000000f";var S1=V(()=>{tT();EH();gT();Qy=require("@swapkit/helpers"),W0=require("ethers"),AT=require("ts-pattern")});var KH={};Ny(KH,{validateEVMAddress:()=>MT,toChecksumAddress:()=>wH,isStateChangingCall:()=>x1,isEIP7702Transaction:()=>cT,isEIP1559Transaction:()=>n1,isBrowserProvider:()=>jf,getTokenAddress:()=>uf,getEvmToolboxAsync:()=>jH,getEvmToolbox:()=>P1,getEstimateGasPrices:()=>xf,getEVMTxType:()=>$1,getEIP1193SendTransaction:()=>Kf,getCreateContractTxObject:()=>Rf,getCreateContract:()=>R1,getChecksumAddressFromAsset:()=>kH,createContract:()=>WT,XLayerToolbox:()=>M0,UNIToolbox:()=>Z0,SONICToolbox:()=>YT,PLASMAToolbox:()=>_0,OPToolbox:()=>L0,MONADToolbox:()=>Q0,MEGAETHToolbox:()=>G0,MAX_APPROVAL:()=>ZT,MATICToolbox:()=>X0,LINEAToolbox:()=>q0,HYPEREVMToolbox:()=>o0,GNOToolbox:()=>U0,ETHToolbox:()=>iT,ContractAddress:()=>w1,CROToolbox:()=>H0,CORNToolbox:()=>C0,COREToolbox:()=>T0,BotanixToolbox:()=>SH,BaseEVMToolbox:()=>lf,BSCToolbox:()=>f0,BERAToolbox:()=>y0,BASEToolbox:()=>eT,AVAXToolbox:()=>sT,AURORAToolbox:()=>aT,ARBToolbox:()=>rT,ADIToolbox:()=>dT});function P1(y,T){return lH.match(y).with(Gy.Chain.Adi,()=>dT(T)).with(Gy.Chain.Arbitrum,()=>rT(T)).with(Gy.Chain.Aurora,()=>aT(T)).with(Gy.Chain.Avalanche,()=>sT(T)).with(Gy.Chain.Base,()=>eT(T)).with(Gy.Chain.Berachain,()=>y0(T)).with(Gy.Chain.BinanceSmartChain,()=>f0(T)).with(Gy.Chain.Botanix,()=>YT(T)).with(Gy.Chain.Core,()=>T0(T)).with(Gy.Chain.Corn,()=>C0(T)).with(Gy.Chain.Cronos,()=>H0(T)).with(Gy.Chain.Ethereum,()=>iT(T)).with(Gy.Chain.Gnosis,()=>U0(T)).with(Gy.Chain.Hyperevm,()=>o0(T)).with(Gy.Chain.Linea,()=>q0(T)).with(Gy.Chain.MegaETH,()=>G0(T)).with(Gy.Chain.Monad,()=>Q0(T)).with(Gy.Chain.Optimism,()=>L0(T)).with(Gy.Chain.Plasma,()=>_0(T)).with(Gy.Chain.Polygon,()=>X0(T)).with(Gy.Chain.Sonic,()=>YT(T)).with(Gy.Chain.Unichain,()=>Z0(T)).with(Gy.Chain.XLayer,()=>M0(T)).exhaustive()}async function jH(y,T){let H={...T,provider:T?.provider||await A1(y)};return P1(y,H)}var Gy,lH;var E1=V(()=>{_T();F1();S1();Gy=require("@swapkit/helpers"),lH=require("ts-pattern");gT();F1();S1()});var uH;var hH=V(()=>{((H)=>{H.Test="goerli";H.Main="homestead"})(uH||={})});var mH={};Ny(mH,{validateEVMAddress:()=>MT,validateAuthorizations:()=>B1,validateAuthorization:()=>OH,toHexString:()=>QT,toChecksumAddress:()=>wH,signAuthorization:()=>N1,parseEIP712FromEVMTx:()=>dU,isStateChangingCall:()=>x1,isEIP7702Transaction:()=>cT,isEIP1559Transaction:()=>n1,isBrowserProvider:()=>jf,getTokenAddress:()=>uf,getProviderSync:()=>BH,getProvider:()=>A1,getNetworkParams:()=>J1,getIsEIP1559Compatible:()=>z1,getEvmToolboxAsync:()=>jH,getEvmToolbox:()=>P1,getEvmApi:()=>GT,getEstimateGasPrices:()=>xf,getEVMTxType:()=>$1,getEIP1193SendTransaction:()=>Kf,getCreateContractTxObject:()=>Rf,getCreateContract:()=>R1,getChecksumAddressFromAsset:()=>kH,createCustomEvmApi:()=>cU,createContract:()=>WT,buildEIP712DomainType:()=>DH,XLayerToolbox:()=>M0,UNIToolbox:()=>Z0,SONICToolbox:()=>YT,PLASMAToolbox:()=>_0,OPToolbox:()=>L0,MONADToolbox:()=>Q0,MEGAETHToolbox:()=>G0,MAX_APPROVAL:()=>ZT,MATICToolbox:()=>X0,LINEAToolbox:()=>q0,HYPEREVMToolbox:()=>o0,GNOToolbox:()=>U0,EthNetwork:()=>uH,ETHToolbox:()=>iT,ContractAddress:()=>w1,CROToolbox:()=>H0,CORNToolbox:()=>C0,COREToolbox:()=>T0,BotanixToolbox:()=>SH,BaseEVMToolbox:()=>lf,BSCToolbox:()=>f0,BERAToolbox:()=>y0,BASEToolbox:()=>eT,AVAXToolbox:()=>sT,AURORAToolbox:()=>aT,ARBToolbox:()=>rT,ADIToolbox:()=>dT});module.exports=Ry(mH);var V1=V(()=>{tT();_T();E1();hH()});async function v1(y,T){let H=await fetch(`${sH}${y}`,{...T,headers:{project_id:aH,...T?.headers}});if(!H.ok)throw Error(`Blockfrost API error: ${H.status} ${H.statusText}`);return H.json()}async function eH(y){try{return await v1(`/addresses/${y}/utxos`)}catch{return[]}}async function Z8(){return(await v1("/blocks/latest")).slot}async function M8(){let y=await v1("/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 Ey.default(y.collateral_percent),languageView:T,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new Ey.default(y.min_fee_a),minFeeB:new Ey.default(y.min_fee_b),minFeeRefScriptCostPerByte:new Ey.default(15),priceMem:new Ey.default(y.price_mem),priceSteps:new Ey.default(y.price_step),stakeKeyDeposit:new Ey.default(2000000),utxoCostPerByte:new Ey.default(y.coins_per_utxo_size)}}async function cH(y){let T=await fetch(`${sH}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:aH},method:"POST"});if(!T.ok){let H=await T.text();throw Error(`Transaction submission failed: ${H}`)}return T.json()}function W8(y,T){return y.map((H)=>{let f=H.amount.find((o)=>o.unit==="lovelace"),C=f?new Ey.default(f.quantity):new Ey.default(0),U=H.amount.filter((o)=>o.unit!=="lovelace").map((o)=>({amount:new Ey.default(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 L8(y){try{let T=await eH(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}=_y.getChainConfig(_y.Chain.Cardano);if(H>0n)C.push(_y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:U,value:H.toString()}));for(let[o,q]of f)C.push(_y.AssetValue.from({asset:`${_y.Chain.Cardano}.${o}`,value:q.toString()}));if(C.length===0)return[_y.AssetValue.from({chain:_y.Chain.Cardano})];return C}catch(T){let H=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${H}`),[_y.AssetValue.from({chain:_y.Chain.Cardano})]}}function y5(y){if(!y||typeof y!=="string")return!1;try{let T=gH.bech32.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function Y8(y,T=0,H=0){let f=iH.mnemonicToEntropy(y,dH.wordlist),U=(await rH.Bip32PrivateKey.fromEntropy(Buffer.from(Array.from(f)))).derive(b1+1852).derive(b1+1815).derive(b1+T),o=U.derive(0).derive(H),q=o.toBip32PublicKey().toPublicKey().toBytes(),X=wy.crypto.hash28(q),M=U.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),Y=wy.crypto.hash28(M),Z={hash:X,type:wy.types.HashType.ADDRESS},Q={hash:Y,type:wy.types.HashType.ADDRESS},J=new wy.address.BaseAddress(_8,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=wy.crypto.hash32(k),n=O.sign(w),I=_ instanceof Map?_:new Map,z=I.get(tH)||[];z.push([q,n]),I.set(tH,z);let $=[A,I,L,x];return W.Encoder.encode($).toString("hex")}catch(W){throw new _y.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(W)})}}}}function A8(y){let T,H,f;async function C(){if(!f)f=await M8();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 Y8(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 _y.SwapKitError("core_wallet_connection_not_found");return L8(N)}async function X(Q){if(Q)try{let{tx:D}=await G(Q),W=D.getFee();return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:W.toString()})}catch{}let N=await C(),J=400,O=N.minFeeB.plus(N.minFeeA.times(J));return _y.AssetValue.from({chain:_y.Chain.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 _y.SwapKitError("core_wallet_connection_not_found");let[R,B,A]=await Promise.all([eH(W),Z8(),C()]),_=R.filter((b)=>D?b.amount.every((m)=>m.unit==="lovelace"):b.amount.some((m)=>m.unit==="lovelace")).sort((b,m)=>{let Hy=b.amount.some((Xy)=>Xy.unit!=="lovelace"),Ay=m.amount.some((Xy)=>Xy.unit!=="lovelace");if(Hy===Ay)return 0;return Hy?1:-1}),L=wy.utils.getAddressFromString(W),x=wy.utils.getAddressFromString(N),k=W8(_,L),w=new Ey.default(J.getBaseValue("string")),n=[{address:x,amount:w,tokens:[]}],I;if(O){let b=new Map;b.set("msg",[O]),I={metadata:[{data:b,label:674}]}}let z={...A,minFeeB:A.minFeeB.plus(A.minFeeA.times(4))},S=new wy.Transaction({protocolParams:z}).paymentTransaction({auxiliaryData:I,changeAddress:L,inputs:k,outputs:n,ttl:B+3600}),{payload:u}=S.buildTransaction();return{tx:S,unsignedTx:u}}async function M(Q){let N=await U();if(!N||!("signTransaction"in N))throw new _y.SwapKitError("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 _y.SwapKitError("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 cH(W)}async function Z(Q){let N=await M(Q);return await cH(N)}return{createTransaction:G,estimateTransactionFee:X,getAddress:o,getBalance:q,signAndBroadcastTransaction:Z,signTransaction:M,transfer:Y,validateAddress:y5}}var gH,iH,dH,rH,wy,_y,Ey,aH="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",sH="https://cardano-mainnet.blockfrost.io/api/v0",_8,b1=2147483648,tH=0;var f5=V(()=>{gH=require("@scure/base"),iH=require("@scure/bip39"),dH=require("@scure/bip39/wordlists/english.js"),rH=require("@stricahq/bip32ed25519"),wy=require("@stricahq/typhonjs"),_y=require("@swapkit/helpers"),Ey=_1(require("bignumber.js")),_8=wy.types.NetworkId.MAINNET});var p1={};Ny(p1,{validateCardanoAddress:()=>y5,getCardanoToolbox:()=>A8});module.exports=Ry(p1);var l1=V(()=>{f5()});function JT(y){return iy.base64.encode(Uint8Array.from(iy.bech32.fromWords(iy.bech32.decode(y).words)))}function zT(y,T="thor"){return iy.bech32.encode(T,iy.bech32.toWords(iy.base64.decode(y)))}function J8(y){return iy.base64.encode(y)}function z8(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new T5.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iy.base64.decode(y)}var iy,T5;var j1=V(()=>{iy=require("@scure/base"),T5=require("@swapkit/helpers")});function ey(y){switch(y){case K.Chain.Maya:return{amount:[],gas:"10000000000"};case K.Chain.THORChain:return{amount:[],gas:"500000000"};case K.Chain.Kujira:return U5;case K.Chain.Noble:return o5;default:return H5}}async function yf(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 wf(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 u1(y,T){let H=await import("@cosmjs/stargate");return(H.SigningStargateClient??H.default?.SigningStargateClient).offline(y,T)}async function h1({sender:y,recipient:T,assetValue:H,memo:f="",feeRate:C,sequence:U,accountNumber:o}){let{chain:q,chainId:X}=H,G=await K.getRPCUrl(q),Y=await(await yf(G)).getAccount(y);if(!Y)throw new K.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let Z=K.AssetValue.from({chain:q}),Q=qf(Z.symbol),N=ey(q),J=Q&&C?{amount:[{amount:C.toString(),denom:Q}],gas:N.gas}:N,O={amount:[{amount:H.getBaseValue("string"),denom:qf(H.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:o??Number(Y.accountNumber),chainId:X,fee:J,memo:f,msgs:[{typeUrl:N8(q),value:O}],sequence:U??Y.sequence}}var K,K1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",C5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",H5,U5,o5,qf=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return K1;case"uYUM":case"YUM":return C5;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},NT=({symbol:y,chain:T})=>{if(T===K.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${K.Chain.Maya}.${y}`).toUpperCase();if(T===K.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${K.Chain.THORChain}.${y}`:y).toUpperCase();return qf(y,!1)},N8=(y)=>{switch(y){case K.Chain.Maya:case K.Chain.THORChain:return"/types.MsgSend";case K.Chain.Cosmos:case K.Chain.Kujira:case K.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new K.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},B8,m1=(y,T)=>{let H=B8[y.toLowerCase()];if(!H)return K.AssetValue.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:C,decimals:U}=H,o=f?{chain:f}:{asset:C};return K.AssetValue.from({...o,fromBaseDecimal:U,value:T})};var BT=V(()=>{K=require("@swapkit/helpers"),H5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},U5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},o5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};B8={atom:{chain:K.Chain.Cosmos,decimals:K.getChainConfig(K.Chain.Cosmos).baseDecimal},cacao:{chain:K.Chain.Maya,decimals:10},kuji:{chain:K.Chain.Kujira,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal},maya:{asset:`${K.Chain.Maya}.${K.Chain.Maya}`,decimals:4},rune:{chain:K.Chain.THORChain,decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},uatom:{chain:K.Chain.Cosmos,decimals:K.getChainConfig(K.Chain.Cosmos).baseDecimal},ukuji:{chain:K.Chain.Kujira,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal},usdc:{chain:K.Chain.Noble,decimals:K.getChainConfig(K.Chain.Noble).baseDecimal},uusdc:{chain:K.Chain.Noble,decimals:K.getChainConfig(K.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:K.getChainConfig(K.Chain.THORChain).baseDecimal},[K1.toLowerCase()]:{asset:`${K.Chain.Kujira}.USK`,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal}}});var q5={};Ny(q5,{$root:()=>E});var By,h,by,l,E;var X5=V(()=>{By=_1(require("protobufjs/minimal.js")),h=By.default.Reader,by=By.default.Writer,l=By.default.util,E=By.default.roots.default||(By.default.roots.default={});E.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.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 h))f=new h(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(!l.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!l.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!l.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 E.common.Asset)return f;let C=new E.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,By.default.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=l.Long?l.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"))E.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.common.Coin;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:o.asset=E.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 h))f=new h(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=E.common.Asset.verify(f.asset);if(C)return"asset."+C}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!l.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!l.isInteger(f.decimals)&&!(f.decimals&&l.isInteger(f.decimals.low)&&l.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(f){if(f instanceof E.common.Coin)return f;let C=new E.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");C.asset=E.common.Asset.fromObject(f.asset)}if(f.amount!=null)C.amount=String(f.amount);if(f.decimals!=null){if(l.Long)(C.decimals=l.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 l.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="",l.Long){let o=new l.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=E.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?l.Long.prototype.toString.call(f.decimals):C.longs===Number?new l.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,By.default.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.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 h))f=new h(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(!l.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!l.isString(f.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(f){if(f instanceof E.common.PubKeySet)return f;let C=new E.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,By.default.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=l.emptyArray,T.prototype.gas=l.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)E.common.Coin.encode(f.coins[U],C.uint32(42).fork()).ldelim();if(f.gas?.length)for(let U=0;U<f.gas.length;++U)E.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.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(E.common.Coin.decode(f,f.uint32()));break;case 6:if(!o.gas?.length)o.gas=[];o.gas.push(E.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 h))f=new h(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(!l.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!l.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!l.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!l.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=E.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=E.common.Coin.verify(f.gas[C]);if(U)return"gas."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!l.isString(f.memo))return"memo: string expected"}return null},T.fromObject=function(f){if(f instanceof E.common.Tx)return f;let C=new E.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]=E.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]=E.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]=E.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]=E.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,By.default.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=l.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)E.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.common.Fee;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:if(!o.coins?.length)o.coins=[];o.coins.push(E.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 h))f=new h(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=E.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!l.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(f){if(f instanceof E.common.Fee)return f;let C=new E.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]=E.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]=E.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,By.default.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.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 h))f=new h(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(!l.isString(f.value))return"value: string expected"}return null},T.fromObject=function(f){if(f instanceof E.common.ProtoUint)return f;let C=new E.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,By.default.util.toJSONOptions)},T})(),y})();E.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=l.emptyArray,T.prototype.memo="",T.prototype.signer=l.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)E.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.types.MsgDeposit;while(f.pos<U){let q=f.uint32();switch(q>>>3){case 1:if(!o.coins?.length)o.coins=[];o.coins.push(E.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 h))f=new h(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=E.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!l.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||l.isString(f.signer)))return"signer: buffer expected"}return null},T.fromObject=function(f){if(f instanceof E.types.MsgDeposit)return f;let C=new E.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]=E.common.Coin.fromObject(f.coins[U])}}if(f.memo!=null)C.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")l.base64.decode(f.signer,C.signer=l.newBuffer(l.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=l.newBuffer(U.signer)}if(f.coins?.length){U.coins=[];for(let o=0;o<f.coins.length;++o)U.coins[o]=E.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?l.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,By.default.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=l.newBuffer([]),T.prototype.toAddress=l.newBuffer([]),T.prototype.amount=l.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)E.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 h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,o=new E.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(E.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(q&7);break}}return o},T.decodeDelimited=function(f){if(!(f instanceof h))f=new h(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"||l.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||l.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=E.cosmos.base.v1beta1.Coin.verify(f.amount[C]);if(U)return"amount."+U}}return null},T.fromObject=function(f){if(f instanceof E.types.MsgSend)return f;let C=new E.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")l.base64.decode(f.fromAddress,C.fromAddress=l.newBuffer(l.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)C.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")l.base64.decode(f.toAddress,C.toAddress=l.newBuffer(l.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]=E.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=l.newBuffer(U.fromAddress);if(C.bytes===String)U.toAddress="";else if(U.toAddress=[],C.bytes!==Array)U.toAddress=l.newBuffer(U.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=C.bytes===String?l.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?l.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]=E.cosmos.base.v1beta1.Coin.toObject(f.amount[o],C)}return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,By.default.util.toJSONOptions)},T})(),y})();E.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 h))U=h.create(U);let q=o===void 0?U.len:U.pos+o,X=new E.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 h))U=new h(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(!l.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!l.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof E.cosmos.base.v1beta1.Coin)return U;let o=new E.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,By.default.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 h))U=h.create(U);let q=o===void 0?U.len:U.pos+o,X=new E.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 h))U=new h(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(!l.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!l.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof E.cosmos.base.v1beta1.DecCoin)return U;let o=new E.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,By.default.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 h))U=h.create(U);let q=o===void 0?U.len:U.pos+o,X=new E.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 h))U=new h(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(!l.isString(U.int))return"int: string expected"}return null},f.fromObject=function(U){if(U instanceof E.cosmos.base.v1beta1.IntProto)return U;let o=new E.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,By.default.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 h))U=h.create(U);let q=o===void 0?U.len:U.pos+o,X=new E.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 h))U=new h(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(!l.isString(U.dec))return"dec: string expected"}return null},f.fromObject=function(U){if(U instanceof E.cosmos.base.v1beta1.DecProto)return U;let o=new E.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,By.default.util.toJSONOptions)},f})(),H})(),T})(),y})()});async function kf(){let{$root:y}=await Promise.resolve().then(() => (X5(),q5)),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 Xf(y){let T=await import("@cosmjs/stargate"),H=T.AminoTypes??T.default?.AminoTypes,f=y===G5.Chain.THORChain?"thorchain":"mayachain";return new H({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:C,...U})=>({...U,signer:JT(C)}),toAmino:({signer:C,...U})=>({...U,signer:zT(C)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:C,to_address:U,...o})=>({...o,fromAddress:JT(C),toAddress:JT(U)}),toAmino:({fromAddress:C,toAddress:U,...o})=>({...o,from_address:zT(C),to_address:zT(U)})}})}var G5;var t1=V(()=>{j1();G5=require("@swapkit/helpers")});function i1(y){let{assetValue:T,recipient:H,memo:f,sender:C,asSignable:U,asAminoMessage:o}=y;if(H)return _5({asAminoMessage:o,asSignable:U,assetValue:T,memo:f,recipient:H,sender:C});return Z5({asAminoMessage:o,asSignable:U,assetValue:T,memo:f,sender:C})}async function _5({sender:y,recipient:T,assetValue:H,memo:f="",asSignable:C=!0,asAminoMessage:U=!1,sequence:o,accountNumber:q}){let X=H.chain,G=await ky.getRPCUrl(X),M=await Q5({rpcUrl:G,sender:y}),{chainId:Y}=ky.getChainConfig(X),Z=c1({assetValue:H,recipient:T,sender:y}),Q=C?await Gf(U?Z:Qf(Z),X):Z;return{accountNumber:q||Number(M.accountNumber),chainId:Y,fee:ey(X),memo:f,msgs:[Q],sequence:o||M.sequence}}async function Z5({sender:y,assetValue:T,memo:H="",asSignable:f=!0,asAminoMessage:C=!1,sequence:U,accountNumber:o}){let q=T.chain,X=await ky.getRPCUrl(q),G=await Q5({rpcUrl:X,sender:y}),{chainId:M}=ky.getChainConfig(q),Y=g1({assetValue:T,memo:H,sender:y}),Z=f?await Gf(C?Y:Qf(Y),q):Y;return{accountNumber:o||Number(G.accountNumber),chainId:M,fee:ey(q),memo:H,msgs:[Z],sequence:U||G.sequence}}function Qf(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=ky.AssetValue.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 OT({chain:y,memo:T,msgs:H}){let f=await kf(),C=await Xf(y),U={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:H.map((o)=>C.fromAmino(o))}};return f.encode(U)}var ky,O8,D8,c1=({sender:y,recipient:T,assetValue:H})=>{return{type:`${H.chain===ky.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:H.getBaseValue("string"),denom:qf(H.symbol,!0)}],from_address:y,to_address:T}}},g1=({sender:y,assetValue:T,memo:H=""})=>{return{type:`${T.chain===ky.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:NT(T)}],memo:H,signer:y}}},Y0=({sender:y,recipient:T,assetValue:H,memo:f})=>{return!T?g1({assetValue:H,memo:f,sender:y}):c1({assetValue:H,recipient:T,sender:y})},Gf=async(y,T)=>{return(await Xf(T)).fromAmino(y)},Q5=async({rpcUrl:y,sender:T})=>{let f=await(await yf(y)).getAccount(T);if(!f)throw new ky.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});return f};var M5=V(()=>{BT();t1();ky=require("@swapkit/helpers"),O8=ey(ky.Chain.THORChain).gas,D8=ey(ky.Chain.Maya).gas});var W5=()=>{};var L5=V(()=>{W5()});var d1=V(()=>{j1();M5();t1();L5()});async function s1(y,T){try{let f=(await a1.SwapKitApi.getGasRate()).find((C)=>C.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}async function r1({phrase:y,prefix:T,...H}){let f="derivationPath"in H?H.derivationPath:`${v.DerivationPath[H.chain]}/${H.index}`;return await N5.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[z5.stringToPath(f)],prefix:T})}async function R8({privateKey:y,prefix:T}){let H=await import("@cosmjs/proto-signing");return(H.DirectSecp256k1Wallet??H.default?.DirectSecp256k1Wallet).fromKey(y,T)}function B5(y){return async function({signature:H,message:f,address:C}){let U=await y(C);if(!U?.pubkey)throw new v.SwapKitError("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(_f.base64.decode(H));return X.verifySignature(G,_f.base64.decode(f),U.pubkey.value)}}function RT({chain:y,...T}){let H=v.CosmosChainPrefixes[y],f="index"in T?T.index||0:0,C=v.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:v.updateDerivationPath(v.NetworkDerivationPath[y],{index:f})),U;async function o(){if(U)return U;return U=await DT.match(T).with({phrase:DT.P.string},({phrase:Q})=>r1({derivationPath:C,phrase:Q,prefix:H})).with({signer:DT.P.any},({signer:Q})=>Q).otherwise(()=>{return}),U}async function q(Q){let N=await v.getRPCUrl(y);return(await yf(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 v.SwapKitError("toolbox_cosmos_signer_not_defined");return _f.base64.encode(N?.pubkey)}async function M(Q){let N=await o(),J=await X(),O=await v.getRPCUrl(y);if(!(N&&J))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await wf(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 v.getRPCUrl(y);if(!(N&&J))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let W=await(await wf(O,N)).signAndBroadcast(J,Q.msgs,Q.fee,Q.memo);if(W.code!==0)throw new v.SwapKitError("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=v.FeeOption.Fast}){let W=await o(),R=await X();if(!(W&&R))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let B=await v.getRPCUrl(y),A=v.AssetValue.from({chain:y}),_=NT(A),L=O||k8((await A5(y,Y5[y]))[D],_),x=await wf(B,W),k=qf(N.symbol),w=[{amount:N.getBaseValue("string"),denom:k}],{transactionHash:n}=await x.sendTokens(R,Q,w,L,J);return n}return{createPrivateKeyFromPhrase:$8(C),createTransaction:h1,fetchFeeRateFromSwapKit:s1,getAccount:q,getAddress:X,getBalance:async(Q,N)=>{let J=await J5(y)(Q),O=await Promise.all(J.filter(({denom:D})=>D&&!D.includes("IBC/")&&!([v.Chain.THORChain,v.Chain.Maya].includes(y)&&D.split("-").length>2)).map(({denom:D,amount:W})=>{let R=[v.Chain.THORChain,v.Chain.Maya].includes(y)&&(D.includes("/")||D.includes("˜"))?`${y}.${D}`:D;return m1(R,W)}));if(O.length===0)return[v.AssetValue.from({chain:y})];return O},getBalanceAsDenoms:J5(y),getFees:()=>A5(y,Y5[y]),getPubKey:G,getSignerFromPhrase:({phrase:Q,derivationPath:N})=>r1({derivationPath:v.derivationPathToString(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:O5(y),verifySignature:B5(q)}}async function x8(y,T){try{let f=(await a1.SwapKitApi.getGasRate()).find((C)=>C.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}function w8({assetValue:{chain:y}}){return v.AssetValue.from({chain:y,value:n8(y)})}async function A5(y,T){let{chainId:H,baseDecimal:f}=v.getChainConfig(y),C=await s1(H,T);return{average:v.SwapKitNumber.fromBigInt(BigInt(C),f),fast:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(C,v.FeeOption.Fast,!0)),f),fastest:v.SwapKitNumber.fromBigInt(BigInt(v.applyFeeMultiplier(C,v.FeeOption.Fastest,!0)),f)}}function k8(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function n8(y){return{[v.Chain.Cosmos]:0.007,[v.Chain.Kujira]:0.02,[v.Chain.Noble]:0.01,[v.Chain.THORChain]:0.02,[v.Chain.Maya]:0.02,[v.Chain.Harbor]:0.02}[y]||0}function O5(y){let T=v.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:C,words:U}=_f.bech32.decode(f);return _f.bech32.encode(C,U)===f.toLocaleLowerCase()}catch{return!1}}}function J5(y){return async function(H){let f=await v.getRPCUrl(y);return(await(await yf(f)).getAllBalances(H)).map((q)=>({...q,denom:q.denom.includes("/")?q.denom.toUpperCase():q.denom}))}}function $8(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 z5,N5,_f,v,a1,DT,Y5;var A0=V(()=>{BT();z5=require("@cosmjs/crypto"),N5=require("@cosmjs/proto-signing"),_f=require("@scure/base"),v=require("@swapkit/helpers"),a1=require("@swapkit/helpers/api"),DT=require("ts-pattern");Y5={[v.Chain.Cosmos]:1000,[v.Chain.Kujira]:1000,[v.Chain.Noble]:1000,[v.Chain.THORChain]:5000000,[v.Chain.Maya]:5000000,[v.Chain.Harbor]:5000000}});function F8({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 I8(y){return Zf.base64.encode(y)}function S8(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 Xf(y),Z=await kf(),Q=await u1(H,{aminoTypes:Y,registry:Z}),N=[];for(let D of C){let W=await Gf(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 OT({chain:y,memo:G,msgs:C.map(Qf)}),signature:I8(J)}}}function P8({prefix:y,chain:T}){return async function(f,C,U,o,q){let X=await yy.getRPCUrl(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 D5(U,o),J=C.map((W)=>[M(G(Zf.base64.decode(W.pubKey)),y),Zf.base64.decode(W.signature)]),O=await yf(X),{transactionHash:D}=await O.broadcastTx(Y(N,Z,Q,q,new Map(J)));return D}}async function D5(y,T,H=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:C}=(await import("@cosmjs/amino")).default;return f(y.map((U)=>C(Zf.base64.decode(U))),T,H)}function E8(y){return Zf.base64.decode(y)}async function V8({privateKey:y,message:T}){let{Secp256k1:H}=(await import("@cosmjs/crypto")).default,f=await H.createSignature(Zf.base64.decode(T),y);return Zf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function e1({chain:y,...T}){let{isStagenet:H}=yy.SKConfig.get("envs"),f=yy.SKConfig.get("thornodeUrls"),C=y===yy.Chain.Maya,U=hf.match({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":""}${yy.CosmosChainPrefixes[y]}`,q="index"in T?T.index||0:0,X="derivationPath"in T&&T.derivationPath?T.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[y],{index:q}),G=RT({chain:y,...T}),M=ey(y),Y;function Z(){return Y??=hf.match(T).with({phrase:hf.P.string},({phrase:W})=>G.getSignerFromPhrase({derivationPath:X,phrase:W})).with({signer:hf.P.any},({signer:W})=>Promise.resolve(W)).otherwise(()=>Promise.resolve(void 0)),Y}async function Q(){let W=await yy.getRPCUrl(y),R=await Z();if(!R)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let B=await kf(),A=await Xf(y),_=await wf(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 yy.SwapKitError("toolbox_cosmos_signer_not_defined");let x=await _.signAndBroadcast(L,B,W,R);if(x.code!==0)throw new yy.SwapKitError("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 yy.RequestClient.get(R);if(!B||Number.isNaN(B)||B<0)throw new yy.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:B.toString()});W=new yy.SwapKitNumber(B)}catch{W=new yy.SwapKitNumber({decimal:yy.getChainConfig(y).baseDecimal,value:C?1:0.02})}return{[yy.FeeOption.Average]:W,[yy.FeeOption.Fast]:W,[yy.FeeOption.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 yy.SwapKitError("toolbox_cosmos_no_signer");let k="signAmino"in _,w=Y0({assetValue:W,memo:R,recipient:B,sender:x});if(k){let z=await Gf(w,y),{signatures:$,authInfoBytes:S}=await L.sign(x,[z],M,R),u=A.encode({authInfoBytes:S,bodyBytes:await OT({chain:y,memo:R,msgs:[w].map(Qf)}),signatures:$}).finish();return(await L.broadcastTx(u)).transactionHash}let n=Qf(w),I=await Gf(n,y);return N({fee:M,memo:R,msgs:[I]})}async function D(W){let{signer:R,signingClient:B}=await Q(),A=(await R.getAccounts())?.[0]?.address;if(!A)throw new yy.SwapKitError("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:P8({chain:y,prefix:o}),buildAminoMsg:Y0,buildEncodedTxBody:OT,convertToSignable:Gf,createDefaultAminoTypes:()=>Xf(y),createDefaultRegistry:kf,createMultisig:D5,createTransaction:i1,deposit:O,getFees:J,importSignature:E8,parseAminoMessageForDirectSigning:Qf,pubkeyToAddress:async(W)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(W,o)},secp256k1HdWalletFromMnemonic:F8({derivationPath:yy.derivationPathToString(X),prefix:o}),signAndBroadcastTransaction:N,signMultisigTx:S8(y),signTransaction:D,signWithPrivateKey:V8,transfer:O}}var Zf,yy,hf;var yC=V(()=>{d1();BT();A0();Zf=require("@scure/base"),yy=require("@swapkit/helpers"),hf=require("ts-pattern")});var Mf,b8=(y,T)=>{switch(y){case Mf.Chain.Cosmos:case Mf.Chain.Kujira:case Mf.Chain.Noble:return RT({chain:y,...T});case Mf.Chain.Maya:case Mf.Chain.THORChain:return e1({chain:y,...T});default:throw new Mf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var R5=V(()=>{A0();yC();Mf=require("@swapkit/helpers");A0();yC()});var J0={};Ny(J0,{verifySignature:()=>B5,transferMsgAmino:()=>c1,toBase64:()=>J8,parseAminoMessageForDirectSigning:()=>Qf,getSignerFromPrivateKey:()=>R8,getSignerFromPhrase:()=>r1,getMsgSendDenom:()=>qf,getFeeRateFromSwapKit:()=>x8,getDenomWithChain:()=>NT,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>b8,getCosmosAddressValidator:()=>O5,getAssetFromDenom:()=>m1,fromBase64:()=>z8,fetchFeeRateFromSwapKit:()=>s1,estimateTransactionFee:()=>w8,depositMsgAmino:()=>g1,createTransaction:()=>i1,createThorchainToolbox:()=>e1,createStargateClient:()=>yf,createSigningStargateClient:()=>wf,createOfflineStargateClient:()=>u1,createDefaultRegistry:()=>kf,createDefaultAminoTypes:()=>Xf,createCosmosToolbox:()=>RT,cosmosCreateTransaction:()=>h1,convertToSignable:()=>Gf,buildTransferTx:()=>_5,buildEncodedTxBody:()=>OT,buildDepositTx:()=>Z5,buildAminoMsg:()=>Y0,bech32ToBase64:()=>JT,base64ToBech32:()=>zT,YUM_KUJIRA_FACTORY_DENOM:()=>C5,USK_KUJIRA_FACTORY_DENOM:()=>K1,THORCHAIN_GAS_VALUE:()=>O8,MAYA_GAS_VALUE:()=>D8,DEFAULT_NOBLE_FEE_MAINNET:()=>o5,DEFAULT_KUJI_FEE_MAINNET:()=>U5,DEFAULT_COSMOS_FEE_MAINNET:()=>H5});module.exports=Ry(J0);var z0=V(()=>{d1();R5();BT()});function v8({builder:y,grouping:T="na",orders:H}){return{builder:y,grouping:T,orders:H,type:"order"}}function p8({cancels:y}){return{cancels:y,type:"cancel"}}function l8({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function j8({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function K8({modifies:y}){return{modifies:y,type:"batchModify"}}function u8({asset:y,isCross:T,leverage:H}){return{asset:y,isCross:T,leverage:H,type:"updateLeverage"}}function h8({asset:y,isBuy:T,ntli:H}){return{asset:y,isBuy:T,ntli:H,type:"updateIsolatedMargin"}}function m8({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function t8({time:y}){return{time:y,type:"scheduleCancel"}}function c8({amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C}){return{amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C,type:"usdClassTransfer"}}function g8({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 i8({agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C}){return{agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C,type:"approveAgent"}}function d8({builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C}){return{builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C,type:"approveBuilderFee"}}function r8({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}}function Iy(...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 To(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 Wf(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 x5(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 Iy(new Uint8Array([205]),Wf(y,2));if(y<=0xffffffffn)return Iy(new Uint8Array([206]),Wf(y,4));return Iy(new Uint8Array([207]),Wf(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 Iy(new Uint8Array([209]),Wf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return Iy(new Uint8Array([210]),Wf(BigInt.asUintN(32,y),4));return Iy(new Uint8Array([211]),Wf(BigInt.asUintN(64,y),8))}function n5(y){let T=fo.encode(y);if(T.length<32)return Iy(new Uint8Array([160+T.length]),T);return Iy(To(217,0,T.length),T)}function Co(y){let T=y.map((f)=>fC(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 Iy(H,...T)}function Ho(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 Iy(H,...T.flatMap(([f,C])=>[n5(f),fC(C)]))}function fC(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return n5(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new N0.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return x5(BigInt(y))}if(typeof y==="bigint")return x5(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 Iy(T,y)}if(Array.isArray(y))return Co(y);if(typeof y==="object")return Ho(y);throw new N0.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function Uo(y){let T=y.startsWith("0x")?y.slice(2):y;if(T.length%2!==0||/[^a-fA-F0-9]/u.test(T))throw new N0.SwapKitError("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 $5(y){return{domain:a8,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...s8.Agent]}}}function F5(y){let T=yo[y.type],H=e8[y.type],{type:f,...C}=y;return{domain:{chainId:Number.parseInt(C.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:w5,version:"1"},message:{...C,hyperliquidChain:C.hyperliquidChain||k5},primaryType:T,types:{[T]:H}}}function I5(y){let T=B0.Signature.from(y);return{r:T.r,s:T.s,v:T.v}}function S5(y,T,{expiresAfter:H,vaultAddress:f}={}){let C=fC(y),U=Wf(BigInt(T),8),o=f?Iy(new Uint8Array([1]),Uo(f.toLowerCase())):new Uint8Array([0]),q=typeof H==="number"?Iy(new Uint8Array([0]),Wf(BigInt(H),8)):new Uint8Array;return B0.keccak256(Iy(C,U,o,q))}function P5(y){let T=y.hyperliquidChain||k5;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 N0,B0,w5="0x0000000000000000000000000000000000000000",a8,s8,k5="Mainnet",e8,yo,fo;var E5=V(()=>{N0=require("@swapkit/helpers"),B0=require("ethers"),a8={chainId:1337,name:"Exchange",verifyingContract:w5,version:"1"},s8={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},e8={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"}]},yo={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},fo=new TextEncoder});function ly(y,T){if(!HC(y))throw new Ty.SwapKitError(T,{address:y});return y.toLowerCase()}async function nf(y){let T=await O0();return Ty.RequestClient.post(`${T}/info`,{json:y})}function Zo({dex:y,user:T}){return nf({...y?{dex:y}:{},type:"clearinghouseState",user:ly(T,"helpers_invalid_params")})}function Mo({user:y}){return nf({type:"spotClearinghouseState",user:ly(y,"helpers_invalid_params")})}function Wo({dex:y,user:T}){return nf({...y?{dex:y}:{},type:"openOrders",user:ly(T,"helpers_invalid_params")})}function Lo({dex:y,user:T}){return nf({...y?{dex:y}:{},type:"frontendOpenOrders",user:ly(T,"helpers_invalid_params")})}function Yo({oidOrCloid:y,user:T}){return nf({oid:y,type:"orderStatus",user:ly(T,"helpers_invalid_params")})}function Ao({aggregateByTime:y,user:T}){return nf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:ly(T,"helpers_invalid_params")})}function Jo({aggregateByTime:y,endTime:T,startTime:H,user:f}){return nf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:H,type:"userFillsByTime",user:ly(f,"helpers_invalid_params")})}function V5({coin:y,token:T,value:H,spotMeta:f}){if(!H||Number(H)<=0)return null;let C=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,U=oo[C]||p5,o=f?.tokens?.find((X)=>X.name===y||T!==void 0&&X.index===Number(T)),q=o?`${dy}.${C}-${o.name}:${o.tokenId}`:`${dy}.${C}`;return new Ty.AssetValue({decimal:U,identifier:q,value:H})}function zo(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=Ty.AssetValue.from({chain:dy,value:0});T.set(H.toString({includeSynthProtocol:!0}),H)}return[...T.values()]}async function O0(){try{return await Ty.getRPCUrl(dy)}catch{let[y]=Ty.getChainConfig(dy).rpcUrls;if(!y)throw new Ty.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:dy});return y}}async function CC(){return`${await O0()}/exchange`}function No(y){let T=_o[y.type],{type:H,...f}=y,C=Qo[H];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:Go,version:"1"},message:f,primaryType:T,types:{[T]:C}}}async function l5({action:y,expiresAfter:T,nonce:H,vaultAddress:f}){let C=H||Date.now(),U=f?ly(f,"helpers_invalid_params"):void 0,o=await CC(),q=S5(y,C,{expiresAfter:T,vaultAddress:U});return{action:y,endpoint:o,expiresAfter:T,nonce:C,typedData:$5(q),vaultAddress:U}}async function j5({action:y,nonce:T,signatureChainId:H}){let f=T||y.nonce||Date.now(),C=H||y.signatureChainId||"0xa4b1",U=P5({...y,nonce:f,signatureChainId:C});return{action:U,endpoint:await CC(),nonce:f,typedData:F5(U)}}async function TC({assetValue:y,recipient:T,sender:H,signatureChainId:f,time:C}){let U=ly(T,"core_transaction_invalid_recipient_address"),o=ly(H,"core_transaction_invalid_sender_address"),q=await CC(),X=y.getValue("string"),G=C||Date.now(),M=y.address;if(!M)throw new Ty.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:o});let Y={amount:X,destination:U,hyperliquidChain:qo,signatureChainId:f||Xo,time:G,token:M,type:"spotSend"};return{action:Y,endpoint:q,nonce:G,typedData:No(Y)}}async function b5(y){let T=await Ty.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(T.status!=="ok")throw new Ty.SwapKitError("core_transaction_failed",{response:T});return T}async function Bo(y,T){let H=await O0(),f=T-5000;for(let C=0;C<5;C++){if(C>0)await new Promise((U)=>setTimeout(U,1000));try{let U=await Ty.RequestClient.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 HC(y){return y.startsWith("0x")&&MT(y)}function Oo(y){let T=Fy(dy),H=y&&"index"in y?y.index||0:0,f=Ty.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:Ty.updateDerivationPath(Ty.NetworkDerivationPath[dy],{index:H})),C,U=!1;function o(){if(U)return C;return C=mf.match(y).with({phrase:mf.P.string},({phrase:Z})=>{return v5.HDNodeWallet.fromPhrase(Z,void 0,f)}).with({signer:mf.P.not(mf.P.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 Ty.SwapKitError("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:I5(N),..."expiresAfter"in Z?{expiresAfter:Z.expiresAfter}:{},..."vaultAddress"in Z?{vaultAddress:Z.vaultAddress}:{}}}async function G(Z){let Q=ly(Z,"helpers_invalid_params");try{let N=await O0(),[J,O,D]=await Promise.all([Ty.RequestClient.post(`${N}/info`,{json:{type:"spotClearinghouseState",user:Q}}),Ty.RequestClient.post(`${N}/info`,{json:{type:"clearinghouseState",user:Q}}),Ty.RequestClient.post(`${N}/info`,{json:{type:"spotMeta"}})]),W=(J.spotState?.balances||J.balances||[]).map(({coin:B,token:A,total:_})=>V5({coin:B,spotMeta:D,token:A,value:_})).filter((B)=>!!B),R=V5({coin:"USDC",spotMeta:D,value:O.withdrawable||O.marginSummary?.accountValue||O.marginSummary?.totalRawUsd});return zo(R?[...W,R]:W)}catch{return T(Q)}}async function M(Z){let Q=o();if(!Q)throw new Ty.SwapKitError("toolbox_hypercore_no_signer");let N=Z.sender||await Q.getAddress(),J=await TC({...Z,feeRate:0,sender:N}),O=await X(J);return await b5(O),Bo(N,J.nonce)}function Y(){return Ty.AssetValue.from({chain:dy,value:0})}return{broadcastTransaction:b5,createL1ActionRequest:l5,createTransaction:TC,createUserSignedActionRequest:j5,estimateTransactionFee:Y,getAddress:q,getBalance:G,getState:{clearinghouse:Zo,frontendOpenOrders:Lo,openOrders:Wo,orderStatus:Yo,spotClearinghouse:Mo,userFills:Ao,userFillsByTime:Jo},signTransaction:X,transfer:M,validateAddress:HC}}var Ty,v5,mf,dy,p5,oo,qo="Mainnet",Xo="0xa4b1",Go="0x0000000000000000000000000000000000000000",Qo,_o;var K5=V(()=>{V1();sy();E5();Ty=require("@swapkit/helpers"),v5=require("ethers"),mf=require("ts-pattern"),dy=Ty.Chain.Hype,{baseDecimal:p5}=Ty.getChainConfig(dy),oo={HYPE:p5,USDC:6,USDT:6},Qo={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},_o={spotSend:"HyperliquidTransaction:SpotSend"}});var UC={};Ny(UC,{validateHyperCoreAddress:()=>HC,getHyperCoreToolbox:()=>Oo,createUserSignedActionRequest:()=>j5,createTransaction:()=>TC,createL1ActionRequest:()=>l5,buildUsdClassTransferAction:()=>c8,buildUpdateLeverageAction:()=>u8,buildUpdateIsolatedMarginAction:()=>h8,buildTopUpIsolatedOnlyMarginAction:()=>m8,buildTokenDelegateAction:()=>r8,buildSendAssetAction:()=>g8,buildScheduleCancelAction:()=>t8,buildOrderAction:()=>v8,buildModifyAction:()=>j8,buildCancelByCloidAction:()=>l8,buildCancelAction:()=>p8,buildBatchModifyAction:()=>K8,buildApproveBuilderFeeAction:()=>d8,buildApproveAgentAction:()=>i8});module.exports=Ry(UC);var oC=V(()=>{K5()});async function m5(y){let T=a.AssetValue.from({address:y,chain:a.Chain.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 Do(y){let T=await ff(),{PublicKey:H}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),C=new H(y),{baseDecimal:U}=a.getChainConfig(a.Chain.Solana),o=await T.getBalance(C),q=[a.AssetValue.from({chain:a.Chain.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 m5(Y),N=Q?.symbol||"UNKNOWN",J=Q?.decimals||M.tokenAmount.decimals;q.push(a.AssetValue.from({asset:`${a.Chain.Solana}.${N}-${Y}`,fromBaseDecimal:J,value:Z}))}return q}function XC(y){try{let T=new Tf.PublicKey(y);return Tf.PublicKey.isOnCurve(T.toBytes())}catch{return!1}}function Ro(y){let T=y&&"index"in y?y.index||0:0,H=a.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[a.Chain.Solana],{index:T})),f;async function C(){if(f)return f;return f=await xT.match(y).with({phrase:xT.P.string},({phrase:o})=>qC({derivationPath:H,phrase:o})).with({signer:xT.P.any},({signer:o})=>o).otherwise(()=>{return}),f}async function U(){let o=await C();return o?.publicKey?h5(o.publicKey):""}return{broadcastTransaction:D0(ff),createKeysForPath:qC,createTransaction:GC(ff),createTransactionFromInstructions:no,estimateTransactionFee:xo(ff),getAddress:U,getAddressFromPubKey:h5,getBalance:Fy(a.Chain.Solana),getBalanceFromRPC:Do,getConnection:ff,getPubkeyFromAddress:(o)=>new Tf.PublicKey(o),signAndBroadcastTransaction:async(o)=>{let q=await u5(ff,C)(o);return D0(ff)(q)},signTransaction:u5(ff,C),transfer:$o(ff,C),validateAddress:XC}}function xo(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:U})=>{let o=await y(),X=(await GC(y)({assetValue:H,isProgramDerivedAddress:C,memo:f,recipient:T,sender:U})).compileMessage(),G=await o.getFeeForMessage(X);if(G.value===null)throw new a.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:M}=a.getChainConfig(a.Chain.Solana);return a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:M,value:G.value})}}async function ff(){let{Connection:y}=await import("@solana/web3.js"),T=await a.getRPCUrl(a.Chain.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 wo(y){return async({assetValue:T,recipient:H,sender:f,isProgramDerivedAddress:C})=>{let U=await y(),o=new Tf.PublicKey(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 Tf.PublicKey(H)}))}if(T.address)return ko({amount:T.getBaseValue("number"),connection:U,decimals:T.decimal,from:o,isProgramDerivedAddress:C,recipient:H,tokenAddress:T.address});return}}async function ko({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 Tf.PublicKey(y),N=await q(Q,H),J=new Tf.PublicKey(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 GC(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:U})=>{let{createMemoInstruction:o}=await import("@solana/spl-memo"),q=new Tf.PublicKey(U);if(!(C||XC(T)))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let X=await y(),G=await wo(y)({assetValue:H,isProgramDerivedAddress:C,recipient:T,sender:U});if(!G)throw new a.SwapKitError("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 no({instructions:y}){let{Transaction:T}=await import("@solana/web3.js"),H=new T().add(...y);if(!H)throw new a.SwapKitError("core_transaction_invalid_sender_address");return H}function $o(y,T){return async({recipient:H,assetValue:f,memo:C,isProgramDerivedAddress:U})=>{let o=await T();if(!o)throw new a.SwapKitError("core_transaction_invalid_sender_address");let q=o.publicKey?.toString()??(await o.connect()).publicKey.toString(),X=await GC(y)({assetValue:f,isProgramDerivedAddress:U,memo:C,recipient:H,sender:q});if("signTransaction"in o){let G=await o.signTransaction(X);return D0(y)(G)}return X.sign(o),D0(y)(X)}}function D0(y){return async(T)=>{return(await y()).sendRawTransaction(T.serialize())}}function u5(y,T){return async(H)=>{let f=await T();if(!f)throw new a.SwapKitError("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 qC({phrase:y,derivationPath:T=a.DerivationPath.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 h5(y){return y.toString()}var Tf,a,xT;var t5=V(()=>{sy();Tf=require("@solana/web3.js"),a=require("@swapkit/helpers"),xT=require("ts-pattern")});var QC={};Ny(QC,{validateSolanaAddress:()=>XC,getSolanaToolbox:()=>Ro,fetchTokenMetaData:()=>m5,createKeysForPath:()=>qC});module.exports=Ry(QC);var _C=V(()=>{t5()});function R0(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function x0({phrase:y,derivationPath:T=i.DerivationPath.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 i.SwapKitError("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,MC,J,0),privateKey:Q,publicKey:N}}async function WC({phrase:y,derivationPath:T=i.DerivationPath.STRK}){let{Account:H,RpcProvider:f}=await import("starknet"),{privateKey:C,address:U}=await x0({derivationPath:T,phrase:y}),o=await i.getRPCUrl(i.Chain.Starknet),q=new f({nodeUrl:o});return new H({address:U,provider:q,signer:C})}function g5(y){let T=i.Chain.Starknet,H=y&&"index"in y?y.index||0:0,f=i.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:i.updateDerivationPath(i.NetworkDerivationPath[T],{index:H})),C,U,o;async function q(){if(U)return U;let{RpcProvider:A}=await import("starknet"),_=await i.getRPCUrl(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 i.SwapKitError("toolbox_starknet_no_signer");if(!o)throw new i.SwapKitError({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,MC,w,0).toLowerCase()!==x.address.toLowerCase())throw new i.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let I={addressSalt:o,classHash:MC,constructorCalldata:w},{transaction_hash:z}=await x.deployAccount(I);return await L.waitForTransaction(z),z}async function M(){if(!await X()){if(!o)throw new i.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await G()}}async function Y(){if(C)return C;return C=await jy.match(y).with({phrase:jy.P.string},async({phrase:A})=>{let{Account:_,RpcProvider:L}=await import("starknet"),{privateKey:x,address:k,publicKey:w}=await x0({derivationPath:f,phrase:A});o=w;let n=await i.getRPCUrl(i.Chain.Starknet),I=new L({nodeUrl:n});return new _({address:k,provider:I,signer:x})}).with({address:jy.P.string,privateKey:jy.P.string},async({privateKey:A,address:_})=>{let{Account:L}=await import("starknet"),x=await q();return new L({address:_,provider:x,signer:A})}).with({signer:jy.P.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=[ZC,c5];for(let n of w)try{let[I="0",z="0"]=await _.callContract({calldata:x.compile({account:A}),contractAddress:n,entrypoint:"balanceOf"}),$=L.uint256ToBN({high:I,low:z});jy.match(n).with(ZC,()=>{k.push(i.AssetValue.from({chain:T,value:$}))}).with(c5,()=>{if($>0n)k.push(i.AssetValue.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(!R0(A))throw new i.SwapKitError("core_transaction_invalid_recipient_address",{address:A});let k=_.isGasAsset?ZC:_.address;if(!k)throw new i.SwapKitError("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}=i.getChainConfig(i.Chain.Starknet),k=await Y(),w=await jy.match({sender:L,signer:k}).with({sender:jy.P.string},async({sender:n})=>{let{Account:I}=await import("starknet"),z=await q();return new I({address:n,provider:z,signer:"0x0"})}).with({signer:jy.P.nonNullable},({signer:n})=>n).otherwise((n)=>{throw new i.SwapKitError({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}),I=await w.estimateInvokeFee(n);if(I?.overall_fee)return i.AssetValue.from({chain:T,fromBaseDecimal:x,value:I.overall_fee})}catch(n){throw new i.SwapKitError("toolbox_starknet_fee_estimation_failed",n)}return i.AssetValue.from({chain:T,value:"0.00001"})}async function O({recipient:A,assetValue:_,memo:L}){let x=await Y();if(!x)throw new i.SwapKitError("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 i.SwapKitError("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 i.SwapKitError("toolbox_starknet_no_signer");return await M(),(await _.execute(A)).transaction_hash}function R(A){return W(A)}function B(A,_=!0){try{return Fy(T)(A,_)}catch{return Q(A)}}return{broadcastTransaction:W,createKeysForPath:WC,createTransaction:N,deployAccount:G,estimateTransactionFee:J,getAddress:Z,getBalance:B,getProvider:q,isAccountDeployed:X,signAndBroadcastTransaction:R,signMessage:D,transfer:O,validateAddress:R0}}var i,jy,ZC="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",c5="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",MC="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var i5=V(()=>{sy();i=require("@swapkit/helpers"),jy=require("ts-pattern")});var w0={};Ny(w0,{validateStarknetAddress:()=>R0,starknetCreateKeysForPath:()=>WC,getStarknetToolbox:()=>g5,deriveStarknetKeys:()=>x0});module.exports=Ry(w0);var k0=V(()=>{i5()});async function $0(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?$0(y,T,H,f,q,o.nextCursor):q}function F0({coinObjectId:y,digest:T,version:H}){return{digest:T,objectId:y,version:H}}function Io(y,T,H){let f=T.reduce((G,M)=>G+BigInt(M.balance),0n);if(f<H)throw new fy.SwapKitError("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(F0(U)),q=C.slice(1).map((G)=>y.objectRef(F0(G)));if(q.length>0)y.mergeCoins(o,q);let[X]=y.splitCoins(o,[H]);return X}function d5(y,T){let H=y.reduce((f,C)=>f+BigInt(C.balance),0n);if(H<T)throw new fy.SwapKitError("toolbox_sui_insufficient_balance",{available:H.toString(),required:T.toString()})}function s5(y){try{return a5.isValidSuiAddress(y)}catch{return!1}}function r5(y){return"signWithIntent"in y}function So({provider:y,...T}={}){let H;async function f(){if(H)return H;return H=await wT.match(T).with({phrase:wT.P.string},async({phrase:J})=>{let{Ed25519Keypair:O}=await import("@mysten/sui/keypairs/ed25519");return O.deriveKeypair(J)}).with({signer:wT.P.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||fy.getRPCUrlSync(fy.Chain.Sui)})}async function U(J){return BigInt(await J.getReferenceGasPrice())}async function o(){return(await f())?.toSuiAddress()||""}function q(J){try{let O=fy.AssetValue.from({address:J,chain:fy.Chain.Sui});return{asset:O.toString(),decimals:O.decimal}}catch{}return null}async function X(J){let O=J||await o();if(!O)throw new fy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:D,chain:W}=fy.getChainConfig(fy.Chain.Sui);try{let B=await(await C()).getAllBalances({owner:O}),A=B.find(({coinType:L})=>L===n0)?.totalBalance||"0",_=[fy.AssetValue.from({chain:W,fromBaseDecimal:D,value:A})];for(let{coinType:L,totalBalance:x}of B){if(L===n0||Number(x)<=0)continue;let k=q(L);if(k)_.push(fy.AssetValue.from({asset:k.asset,fromBaseDecimal:k.decimals,value:x}))}return _}catch{return[fy.AssetValue.from({chain:W})]}}async function G(J){let O=fy.AssetValue.from({chain:fy.Chain.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}=fy.getChainConfig(fy.Chain.Sui),_=BigInt(B.computationCost)+BigInt(B.storageCost)-BigInt(B.storageRebate);return fy.AssetValue.from({chain:fy.Chain.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||Fo;if(!B)throw new fy.SwapKitError("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(_),$0(_,B,n0,k+BigInt(A))]);d5(n,k+BigInt(A)),L.setGasPrice(w),L.setGasPayment(n.map(F0));let[I]=L.splitCoins(L.gas,[O.getBaseValue("string")]);L.transferObjects([I],J)}else{let k=O.address;if(!k)throw new fy.SwapKitError("toolbox_sui_missing_coin_type");let w=O.getBaseValue("bigint"),[n,I,z]=await Promise.all([U(_),$0(_,B,n0,BigInt(A)),$0(_,B,k,w)]);if(!z.length)throw new fy.SwapKitError("toolbox_sui_no_coins_found",{coinType:k});d5(I,BigInt(A)),L.setGasPrice(n),L.setGasPayment(I.map(F0));let $=Io(L,z,w);L.transferObjects([$],J)}L.setGasBudget(A);let x=await L.build({client:_});return{tx:L,txBytes:x}}catch(_){if(_ instanceof fy.SwapKitError)throw _;throw new fy.SwapKitError("toolbox_sui_transaction_creation_error",{error:_})}}async function Y(J){let O=await f();if(!O)throw new fy.SwapKitError("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 fy.SwapKitError("toolbox_sui_no_signer");let R=W.toSuiAddress()||await o();if(!R)throw new fy.SwapKitError("toolbox_sui_no_sender");let{txBytes:B}=await M({assetValue:J,gasBudget:O,recipient:D,sender:R}),A=await C();if(!r5(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 fy.SwapKitError("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(!r5(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:s5}}var a5,fy,wT,n0="0x2::sui::SUI",Fo=50000000;var e5=V(()=>{a5=require("@mysten/sui/utils"),fy=require("@swapkit/helpers"),wT=require("ts-pattern")});var I0={};Ny(I0,{validateSuiAddress:()=>s5,getSuiToolbox:()=>So});module.exports=Ry(I0);var S0=V(()=>{e5()});async function po(){let y=Date.now();if(P0&&y-f2<vo)return P0;return P0=await T2.getHttpEndpoint(),f2=y,P0}async function lo(){let[y]=Ly.SKConfig.get("rpcUrls")[Ly.Chain.Ton]??[];if(y)return y;return await po()}function jo(y={}){let T,H,f;async function C(){if(!T){let B=y.provider??await lo();T=new c.TonClient({endpoint:B})}return T}async function U(){return(await q()).address.toString()}async function o(){if(f)return f;return f=await $f.match(y).with({phrase:$f.P.string},async({phrase:B})=>C2.mnemonicToWalletKey(B.split(" "))).with({signer:$f.P.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 Ly.SwapKitError("core_wallet_connection_not_found");let x=c.WalletContractV4.create({publicKey:L.publicKey,workchain:0});H=_.open(x)}return H}let X=Fy(Ly.Chain.Ton);async function G({assetValue:B,recipient:A,memo:_,sender:L,sweep:x}){if(B.isGasAsset){let b=_?R(_).toBoc().toString("base64"):void 0,m=x?bo:void 0;return[{address:A,amount:B.getBaseValue("string"),payload:b,sendMode:m}]}if(x)throw new Ly.SwapKitError({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 Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:B.toString()}});let w=L??await U(),n=await D({jettonMasterAddress:k,ownerAddress:w}),I=c.Address.parse(A),z=c.Address.parse(w),$=B.getBaseValue("bigint"),S=_?R(_):void 0,u=W({destinationAddress:I,forwardPayload:S,jettonAmount:$,responseAddress:z});return[{address:n.toString(),amount:Vo.toString(),payload:u.toBoc().toString("base64")}]}function M({sender:B,...A}){return G({...A,sender:B})}function Y(B){return B.map((A)=>{let _=A.payload?c.Cell.fromBase64(A.payload):void 0,L=A.stateInit?c.loadStateInit(c.Cell.fromBase64(A.stateInit).asSlice()):void 0,x=c.Address.parse(A.address),k=c.Address.isFriendly(A.address)?c.Address.parseFriendly(A.address).isBounceable:!0;return c.internal({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 Ly.SwapKitError("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??y2,seqno:w}),I=c.external({body:n,init:k?void 0:_.init,to:_.address});return c.beginCell().store(c.storeMessage(I)).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:_}=Ly.getChainConfig(Ly.Chain.Ton),L=await $f.match(B).with($f.P.string,(w)=>{return c.Address.parseFriendly(w).address}).otherwise(async()=>{return(await q()).address});if(!L)throw new Ly.SwapKitError("toolbox_fee_estimation_failed",{chain:Ly.Chain.Ton});let x=Ly.AssetValue.from({chain:Ly.Chain.Ton,value:"0.01"}),k=await C();try{let w=await M({sender:B,...A}),n=await o(),I=await q();if(!I||!n)return x;let z=await I.getSeqno(),$=I.createTransfer({messages:Y(w),secretKey:n.secretKey,sendMode:w[0]?.sendMode??y2,seqno:z}),{source_fees:S}=await k.estimateExternalMessageFee(L,{body:$,ignoreSignature:!0,initCode:null,initData:null}),u=S.in_fwd_fee+S.storage_fee+S.gas_fee+S.fwd_fee;return x.set(Ly.SwapKitNumber.fromBigInt(BigInt(u),_))}catch{return x}}async function D({jettonMasterAddress:B,ownerAddress:A}){try{let _=await C(),L=c.Address.parse(B),x=c.Address.parse(A);return await _.open(c.JettonMaster.create(L)).getWalletAddress(x)}catch{throw new Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:B,ownerAddress:A}})}}function W({jettonAmount:B,destinationAddress:A,responseAddress:_,forwardAmount:L=Eo,forwardPayload:x}){let k=c.beginCell().storeUint(Po,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 c.beginCell().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:H2}}function H2(y){try{return c.Address.parse(y),!0}catch{return!1}}var T2,Ly,C2,c,$f,Po=260734629,Eo,Vo,y2,bo,vo=60000,P0,f2=0;var U2=V(()=>{sy();T2=require("@orbs-network/ton-access"),Ly=require("@swapkit/helpers"),C2=require("@ton/crypto"),c=require("@ton/ton"),$f=require("ts-pattern"),Eo=c.toNano("0.01"),Vo=c.toNano("0.05"),y2=c.SendMode.PAY_GAS_SEPARATELY+c.SendMode.IGNORE_ERRORS,bo=c.SendMode.CARRY_ALL_REMAINING_BALANCE+c.SendMode.IGNORE_ERRORS});var E0={};Ny(E0,{validateTonAddress:()=>H2,getTONToolbox:()=>jo});module.exports=Ry(E0);var V0=V(()=>{U2()});function Ky(y,T){if(!Number.isInteger(T)||T<0)throw RangeError(`${y} must be a non-negative integer, got: ${T}`)}function Lf({accountIndex:y,chain:T,derivationPath:H}){if(y!==void 0)Ky("accountIndex",y);let f=[...H?.slice(0,3)??o2.NetworkDerivationPath[T].slice(0,3)];if(y!==void 0)f[2]=y;return f}function tf({accountIndex:y,change:T=!1,chain:H,derivationPath:f,index:C}){return Ky("index",C),[...Lf({accountIndex:y,chain:H,derivationPath:f}),Number(T),C]}function Ff(y){return y[2]??0}function q2({deriveAddress:y,getBalance:T,getUtxos:H}){async function f(q){let{accountIndex:X,count:G,startIndex:M=0,change:Y=!1}=q;if(Ky("count",G),G<1)throw RangeError("count must be at least 1");Ky("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 o2;var kT=V(()=>{o2=require("@swapkit/helpers")});async function Ko({chain:y,txHash:T}){let H=`${nT(y)}/push/transaction`,f=JSON.stringify({data:T});try{let C=await g.RequestClient.post(H,{body:f,headers:{"Content-Type":"application/json"}});if(C.context.code!==200)throw new g.SwapKitError("toolbox_utxo_broadcast_failed",{error:C.context.error||"Transaction broadcast failed"});return C.data?.transaction_hash||T}catch(C){let U=await g.getRPCUrl(y);if(U){let o=JSON.stringify({id:zH(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),q=await g.RequestClient.post(U,{body:o,headers:{"Content-Type":"application/json"}});if(q.error)throw new g.SwapKitError("toolbox_utxo_broadcast_failed",{error:q.error?.message});if(q.result.includes('"code":-26'))throw new g.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return q.result}throw C}}function nT(y){return`https://api.blockchair.com/${uo(y)}`}function X2(y){switch(y){case g.Chain.Bitcoin:return 5;case g.Chain.Dogecoin:return 1e4;case g.Chain.Litecoin:return 1;case g.Chain.Zcash:return 1;default:return 2}}function uo(y){switch(y){case g.Chain.BitcoinCash:return"bitcoin-cash";case g.Chain.Litecoin:return"litecoin";case g.Chain.Dash:return"dash";case g.Chain.Dogecoin:return"dogecoin";case g.Chain.Zcash:return"zcash";case g.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function ho(y){try{let{feePerKb:T}=await g.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),H=T/1000;return Math.max(H,X2(y))}catch{return X2(y)}}async function b0(y,T){let H=await g.RequestClient.get(`${y}${T?`${y.includes("?")?"&":"?"}key=${T}`:""}`);if(!H||H.context.code!==200)throw new g.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return H.data}async function Q2({address:y,chain:T,apiKey:H}){if(!y)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await b0(`${nT(T)}/dashboards/address/${y}?transaction_details=true`,H))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function mo({address:y,chain:T,apiKey:H}){return(await Q2({address:y,apiKey:H,chain:T}))?.address.balance||0}async function _2({chain:y,apiKey:T,txHash:H}){if(!H)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await b0(`${nT(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 co({chain:y,apiKey:T,txHash:H}){if(!H)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let C=(await b0(`${nT(y)}/dashboards/transaction/${H}`,T))?.[H];if(!C)throw new g.SwapKitError("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<to);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 go({chain:y,address:T,apiKey:H,offset:f=0,limit:C=30}){return(await b0(`${nT(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 io(y){return y.reduce((T,H)=>T+H.value,0)}function G2(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 Z2({chain:y,address:T,apiKey:H,targetValue:f,accumulativeValue:C=0,offset:U=0,limit:o=30}){if(!T)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let q=await go({address:T,apiKey:H,chain:y,limit:o,offset:U,targetValue:f}),G=q.length<o,M=q.filter(({is_spent:O})=>!O),Y=io(M),Z=C+Y,Q=f&&Z>=f;if(G||Q)return G2(M,f);let N=await Z2({accumulativeValue:Z,address:T,apiKey:H,chain:y,limit:o,offset:U+o,targetValue:f}),J=[...M,...N];return G2(J,f)}catch(q){let X=q instanceof Error?q.message:String(q);return console.error(`Failed to fetch unspent UTXOs: ${X}`),[]}}async function ro({address:y,chain:T,apiKey:H,fetchTxHex:f=!0,targetValue:C}){let U=await Z2({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 _2({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 Oy(y){let T=g.SKConfig.get("apiKeys").blockchair||"";return g.warnOnce({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(H)=>Ko({chain:y,txHash:H}),getAddressData:(H)=>Q2({address:H,apiKey:T,chain:y}),getBalance:(H)=>mo({address:H,apiKey:T,chain:y}),getRawTx:(H)=>_2({apiKey:T,chain:y,txHash:H}),getSuggestedTxFee:()=>ho(y),getTransactionDetails:(H)=>co({apiKey:T,chain:y,txHash:H}),getUtxos:(H)=>ro({...H,apiKey:T,chain:y})}}function ao(y){return y}function so(){return function(T){switch(T){case g.Chain.Bitcoin:return If.NETWORKS.bitcoin;case g.Chain.BitcoinCash:return If.NETWORKS.bitcoinCash;case g.Chain.Dash:return If.NETWORKS.dash;case g.Chain.Litecoin:return If.NETWORKS.litecoin;case g.Chain.Dogecoin:return If.NETWORKS.dogecoin;case g.Chain.Zcash:return If.NETWORKS.zcash;default:throw new g.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}}var g,If,to=4294967294;var M2=V(()=>{sy();g=require("@swapkit/helpers"),If=require("@swapkit/utxo-signer")});function fq(y,T,H){return Cf.encodeCashAddr({hash:H,prefix:y,type:eo[T]})}function Tq(y){let T=Cf.decodeCashAddr(y),H=yq[T.type];if(!H)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:H}}var Cf,eo,yq,LC;var W2=V(()=>{Cf=require("@swapkit/utxo-signer"),eo={P2PKH:Cf.CashAddrType.P2PKH,P2SH:Cf.CashAddrType.P2SH},yq={[Cf.CashAddrType.P2PKH]:"P2PKH",[Cf.CashAddrType.P2SH]:"P2SH"};LC={decode:Tq,encode:fq}});function JC(y){try{return v0(y),!0}catch{return!1}}function zC(y){return v0(y)?.network}function Hf(y){let T=v0(y);if(T?.format==="legacy")return y;return Uq(T)}function $T(y){let T=v0(y);return oq(T)}function v0(y){try{let T=Cq(y);if(T)return T}catch{}try{let T=Hq(y);if(T)return T}catch{}throw new YC.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function Cq(y){try{let T=J2.decode(y);if(T.length!==21)throw new YC.SwapKitError("toolbox_utxo_invalid_address",{address:y});let H=T[0],f=Array.prototype.slice.call(T,1);switch(H){case Sf.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case Sf.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case Sf.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case Sf.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case Sf.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case Sf.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function Hq(y){if(y.indexOf(":")!==-1)try{return L2(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let H of T)try{return L2(`${H}:${y}`)}catch{}}return}function L2(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 Uq(y){let T=Sf.legacy[y.network][y.type],H=Buffer.alloc(1+y.hash.length);return H[0]=T,H.set(y.hash,1),J2.encode(H)}function oq(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 Y2,A2,YC,J2,AC,Sf;var z2=V(()=>{W2();Y2=require("@noble/hashes/sha2.js"),A2=require("@scure/base"),YC=require("@swapkit/helpers"),J2=A2.createBase58check(Y2.sha256);((H)=>{H.Mainnet="mainnet";H.Testnet="testnet"})(AC||={});Sf={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Vy(y){let T=new Uint8Array(Buffer.from(y,"utf8"));return B2.Script.encode(["RETURN",T])}var N2,B2,qq=1000,l0=10,j0=2,O2=10,Xq=41,Gq=107,K0,p0,FT,cf=(y)=>{if(y.startsWith("bc1")||y.startsWith("tb1")||y.startsWith("ltc1")||y.startsWith("tltc1"))return"P2WPKH";if(y.startsWith("1")||y.startsWith("m")||y.startsWith("n")||y.startsWith("bitcoincash:q")||y.startsWith("bitcoincash:p")||y.startsWith("q")||y.startsWith("p")||y.startsWith("L")||y.startsWith("M")||y.startsWith("3")||y.startsWith("D")||y.startsWith("A")||y.startsWith("9")||y.startsWith("X")||y.startsWith("7")||y.startsWith("y")||y.startsWith("t1")||y.startsWith("t3")||y.startsWith("tm"))return"P2PKH";throw new N2.SwapKitError("toolbox_utxo_invalid_address",{address:y})},Pf=({inputs:y,outputs:T,feeRate:H})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",U=(H?y.filter((G)=>G.value>=p0["type"in G&&G.type?G.type:"P2PKH"]*Math.ceil(H)):y).reduce((G,M)=>G+Yf(M),0),o=T?.reduce((G,M)=>G+IT(M),0)||FT[f],q=l0+U+o;return f==="P2WPKH"?Math.ceil(q+j0/4):q},Yf=(y)=>{if("type"in y&&y.type)return p0[y.type];if("address"in y&&y.address)return p0[cf(y.address)];return Xq+Gq},IT=(y,T)=>{if(y?.script)return O2+y.script.length+(y.script.length>=74?2:1);if(T)return FT[T];if("address"in y&&y.address)return FT[cf(y.address)];return FT.P2PKH};var NC=V(()=>{N2=require("@swapkit/helpers"),B2=require("@swapkit/utxo-signer");((H)=>{H.P2PKH="P2PKH";H.P2WPKH="P2WPKH"})(K0||={});p0={["P2PKH"]:148,["P2WPKH"]:68},FT={["P2PKH"]:34,["P2WPKH"]:31}});function ST(y){switch(y){case ry.Chain.Bitcoin:case ry.Chain.BitcoinCash:return 550;case ry.Chain.Dash:case ry.Chain.Litecoin:return 5500;case ry.Chain.Dogecoin:return 1e5;case ry.Chain.Zcash:return 546;default:throw new ry.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function uy({inputs:y,outputs:T,feeRate:H=1,chain:f=ry.Chain.Bitcoin,changeAddress:C=""}){let U=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",o=y.filter((N)=>Yf(N)*H<=N.value),X=U==="P2WPKH"?Math.ceil(j0/4):0,G=l0+X+T.reduce((N,J)=>N+IT(J),0),M=T.reduce((N,J)=>N+J.value,0),Y=G*H,Z=0,Q=[];for(let N of o){let J=Yf(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*IT({address:C,value:0});if(W>R){let B=R+Y,A=Z-(M+Math.ceil(B));if(A>Math.max(Yf({value:0})*H,ST(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*Pf({inputs:y,outputs:T}))}}var ry;var D2=V(()=>{NC();ry=require("@swapkit/helpers")});var gf=V(()=>{M2();z2();D2();NC()});function Ef(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Af(y){let T=Ef(y);return JC(T)&&zC(T)==="mainnet"}function df(y){try{if(y.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let H=u0.Address(u0.ZCASH_NETWORK).decode(y);return H.type==="pkh"||H.type==="sh"}catch{return!1}}var u0;var PT=V(()=>{gf();u0=require("@swapkit/utxo-signer")});function DC({address:y,chain:T}){return OC.match(T).with(P.Chain.BitcoinCash,()=>Af(y)).with(P.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return r.Address(ny(T)).decode(y),!0}catch{return!1}})}function ny(y){return OC.match(y).with(P.Chain.Bitcoin,()=>r.NETWORKS.bitcoin).with(P.Chain.BitcoinCash,()=>r.NETWORKS.bitcoinCash).with(P.Chain.Dash,()=>r.NETWORKS.dash).with(P.Chain.Dogecoin,()=>r.NETWORKS.dogecoin).with(P.Chain.Litecoin,()=>r.NETWORKS.litecoin).with(P.Chain.Zcash,()=>r.NETWORKS.zcash).exhaustive()}function Qq({phrase:y,derivationPath:T,network:H,seed:f}){let C=f??m0.mnemonicToSeedSync(y),o=BC.HDKey.fromMasterSeed(C,H.bip32).derive(T);if(!o.privateKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return o.privateKey}function R2(y){return x2.secp256k1.getPublicKey(y,!0)}function VT({publicKey:y,chain:T,network:H}){if(T===P.Chain.BitcoinCash){let U=r.p2pkh(y,H);if(!U.hash)throw new P.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:U.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let C=!ET.includes(T)?r.p2wpkh(y,H):r.p2pkh(y,H);if(!C.address)throw new P.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return C.address}function rf({phrase:y,derivationPath:T,chain:H,wif:f,seed:C}){let U=ny(H);if(f){let G=r.WIF(U).decode(f),M=R2(G);return{privateKey:G,publicKey:M}}if(!y)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let o=T||P.derivationPathToString(P.NetworkDerivationPath[H]),q=Qq({derivationPath:o,network:U,phrase:y,seed:C}),X=R2(q);return{privateKey:q,publicKey:X}}function _q(y,T){return r.WIF(ny(T)).encode(y)}function Zq({phrase:y,derivationPath:T,chain:H,seed:f}){let C=T.split("/");if(C.length<4)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${C.length}): ${T}`});let U=ny(H),o=f??m0.mnemonicToSeedSync(y),q=BC.HDKey.fromMasterSeed(o,U.bip32),X=C.slice(0,4).join("/");return q.derive(X)}function zf({inputs:y,outputs:T,chain:H,tx:f,sender:C,compiledMemo:U,enableRBF:o=!1}){let q=ny(H),X=!ET.includes(H),G=o?r.RBF_SEQUENCE:void 0,M=new Set;for(let Y of y){let Z=`${Y.hash}:${Y.index}`;if(M.has(Z))throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});M.add(Z);let Q=typeof Y.hash==="string"?Jf.hex.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:Jf.hex.decode(Y.txHex),sequence:G,txid:Q,...H===P.Chain.BitcoinCash?{sighashType:r.BCHSigHash.ALL}:{}});else throw new P.SwapKitError("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===P.Chain.BitcoinCash)Z=Hf(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 af(y){let T=await Oy(y).getSuggestedTxFee();return{[P.FeeOption.Average]:T,[P.FeeOption.Fast]:P.applyFeeMultiplier(T,P.FeeOption.Fast),[P.FeeOption.Fastest]:P.applyFeeMultiplier(T,P.FeeOption.Fastest)}}async function w2({assetValue:y,recipient:T,memo:H,sender:f,fetchTxHex:C=!1}){let U=y.chain,o=(await af(U))[P.FeeOption.Fastest],q=C||ET.includes(U),X=y.getBaseValue("number"),G=Math.ceil(X+o*5000);return{inputs:await Oy(U).getUtxos({address:f,fetchTxHex:q,targetValue:G}),outputs:[{address:T,value:X},...H?[{address:"",script:Vy(H),value:0}]:[]]}}async function k2({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C,fetchTxHex:U=!1,enableRBF:o=!1}){let q=y.chain,X=H?Vy(H):null,G=await w2({assetValue:y,fetchTxHex:U,memo:H,recipient:T,sender:C}),{inputs:M,outputs:Y}=uy({...G,chain:q,feeRate:f});if(!(M&&Y))throw new P.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Z=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),{inputs:Q,tx:N}=zf({chain:q,compiledMemo:X,enableRBF:o,inputs:M,outputs:Y,sender:C,tx:Z});return{inputs:Q,tx:N,utxos:G.inputs}}async function n2({assetValue:y,feeOptionKey:T=P.FeeOption.Fast,feeRate:H,memo:f,sender:C,recipient:U}){let o=y.chain,q=await w2({assetValue:y,memo:f,recipient:U,sender:C}),X=H?Math.floor(H):(await af(o))[T];return uy({...q,chain:o,feeRate:X})}function Mq(y){return async function({from:H,memo:f,feeRate:C,feeOptionKey:U=P.FeeOption.Fast,recipients:o=1}){let q=await Oy(y).getAddressData(H),X=C?Math.ceil(C):(await af(y))[U],G=q?.utxo.map((J)=>({...J,hash:"",type:"P2PKH"})).filter((J)=>J.value>Math.max(ST(y),Yf(J)*X));if(!G?.length)return P.AssetValue.from({chain:y});let M=BigInt(G.reduce((J,O)=>J+O.value,0)),Y=P.AssetValue.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:Vy(f),value:0});let Q=Pf({inputs:G,outputs:Z}),N=P.AssetValue.from({chain:y,value:BigInt(Q*X)});return Y.sub(N)}}function Wq(y){return async function(H){let{fee:f}=await n2(H);return P.AssetValue.from({chain:y,value:P.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function Lq({chain:y,phrase:T,derivationPath:H,seed:f}){let C=ny(y),{privateKey:U,publicKey:o}=rf({chain:y,derivationPath:H,phrase:T,seed:f}),q=y===P.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>VT({chain:y,network:C,publicKey:o}),privateKey:U,publicKey:o,signTransaction:(X)=>{return X.sign(U,q),X}}}function Yq(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 P.SwapKitError("toolbox_utxo_no_signer");if(!C)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});P.warnOnce({condition:X&&!h0.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&&h0.includes(y),Y=o||(await af(y))[U||P.FeeOption.Fast],{tx:Z}=await k2({assetValue:q,enableRBF:M,feeRate:Y,memo:f,recipient:C,sender:G}),Q=await T.signTransaction(Z);return Q.finalize(),Oy(y).broadcastTx(Jf.hex.encode(Q.extract()))}}function RC(y){return(T)=>DC({address:T,chain:y})}function xC(y){let T=ny(y);return function(f){if(!f)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return VT({chain:y,network:T,publicKey:f.publicKey})}}function Nf({chain:y,...T}){let H="phrase"in T?T.phrase:void 0,f="index"in T?T.index||0:0,C=H?m0.mnemonicToSeedSync(H):void 0,U="derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[y],{index:f}),o=P.derivationPathToString(U),q=H?Lq({chain:y,derivationPath:o,phrase:H,seed:C}):void 0,X="signer"in T?T.signer:void 0,G=q||X,M=H?rf({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=Lf({accountIndex:w,chain:y,derivationPath:U});return Zq({chain:y,derivationPath:P.derivationPathToString(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 I=Lf({accountIndex:w,chain:y,derivationPath:U});return{accountIndex:Ff(I),path:P.derivationPathToString(I),xpub:n.publicExtendedKey}}function O({accountIndex:w,index:n,change:I=!1}){let z=w===void 0?Q:Z(w);if(!z)return;let $=tf({accountIndex:w,chain:y,change:I,derivationPath:U,index:n}),S=ny(y),u=z.deriveChild(Number(I)).deriveChild(n);if(!u.publicKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let b=VT({chain:y,network:S,publicKey:u.publicKey}),m=Jf.hex.encode(u.publicKey);return{accountIndex:Ff($),address:b,change:I,index:n,path:P.derivationPathToString($),pubkey:m}}async function D(w){if(!h0.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let n=await Oy(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:I,memo:z}){if(!h0.includes(y))throw new P.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let $=await Oy(y).getTransactionDetails(w);if(!$.isRBF)throw new P.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:w});if($.confirmed)throw new P.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:$.blockId,txid:w});let S=$.inputs.reduce((Jy,py)=>Jy+py.value,0),b=$.outputs.find((Jy)=>Jy.recipient===I)?.value||0;if(b===0)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let m=await Promise.all($.inputs.map(async(Jy)=>{let py=await Oy(y).getRawTx(Jy.transaction_hash);return{hash:Jy.transaction_hash,index:Jy.index,txHex:py,value:Jy.value,witnessUtxo:void 0}})),Hy=z?Vy(z):null,Ay=Pf({feeRate:n,inputs:m.map((Jy)=>({...Jy,type:"P2WPKH"})),outputs:[{address:I,value:b}]}),Xy=Math.ceil(Ay*n);if(Xy<=$.fee)throw new P.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Xy,originalFee:$.fee});let Sy=Xy-$.fee,Dy=b-Sy;if(Dy<=0)throw new P.SwapKitError("toolbox_utxo_rbf_insufficient_change");let ty=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),cy=[{address:I,value:Dy},...z?[{address:"",script:Vy(z),value:0}]:[]],gy=S-Dy-Xy,$y=await Y();if(gy>ST(y)&&$y)cy.push({address:$y,value:gy});return zf({chain:y,compiledMemo:Hy,inputs:m,outputs:cy,sender:$y||I,tx:ty}),{feeDelta:Sy,newFee:Xy,originalFee:$.fee,tx:ty}}async function R({txid:w,newFeeRate:n,recipient:I,memo:z}){let{tx:$,originalFee:S,newFee:u}=await W({memo:z,newFeeRate:n,recipient:I,txid:w}),b=await x($);b.finalize();let m=await Oy(y).broadcastTx(Jf.hex.encode(b.extract()));return{newFee:u,originalFee:S,txid:m}}function B({accountIndex:w,index:n,change:I=!1}){Ky("index",n);let z=w===void 0?Q:Z(w);if(!z)return;return z.deriveChild(Number(I)).deriveChild(n).privateKey||void 0}function A({tx:w,inputDerivations:n}){if(!Q)throw new P.SwapKitError("toolbox_utxo_no_signer");let I=y===P.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let z=0;z<n.length;z++){let $=n[z];if(!$)continue;let{derivationIndex:S,isChange:u}=$,b=B({change:u,index:S});if(!b)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${z} at index ${S}`});w.signIdx(b,z,I)}return w}async function _({utxos:w,recipient:n,assetValue:I,memo:z,feeRate:$,feeOptionKey:S,changeAddress:u}){if(!Q)throw new P.SwapKitError("toolbox_utxo_no_signer");let b=$||(await af(y))[S||P.FeeOption.Fast],m=z?Vy(z):null,Hy=[{address:n,value:I.getBaseValue("number")}];if(m)Hy.push({address:"",script:m,value:0});let Ay=w.map(({hash:$y,index:Jy,value:py,txHex:bU,witnessUtxo:Q1})=>({hash:$y,index:Jy,txHex:bU,value:py,witnessUtxo:Q1?{script:Q1.script,value:Q1.value}:void 0})),{inputs:Xy,outputs:Sy}=uy({chain:y,feeRate:b,inputs:Ay,outputs:Hy});if(!(Xy&&Sy))throw new P.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:I,sender:"multiple addresses"});let Dy=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),ty=w[0]?.address,cy=u||await Y()||ty||n;zf({chain:y,compiledMemo:m,inputs:Xy,outputs:Sy,sender:cy,tx:Dy});let gy=Xy.map(($y)=>{let Jy=w.find((py)=>py.hash===$y.hash&&py.index===$y.index);return Jy?{derivationIndex:Jy.derivationIndex,isChange:Jy.isChange}:{derivationIndex:0,isChange:!1}});return A({inputDerivations:gy,tx:Dy}),Dy.finalize(),Oy(y).broadcastTx(Jf.hex.encode(Dy.extract()))}function L({address:w,gapLimit:n=20}){if(!Q)return;for(let I=0;I<n;I++){let z=O({change:!1,index:I}),$=O({change:!0,index:I}),S=z?.address===w?!1:$?.address===w;if(z?.address===w||$?.address===w)return{change:S,index:I}}return}function x(w){if(!G)throw new P.SwapKitError("toolbox_utxo_no_signer");return G.signTransaction(w)}async function k(w){let n=await x(w);return n.finalize(),await Oy(y).broadcastTx(Jf.hex.encode(n.extract()))}return{accumulative:uy,broadcastTx:(w)=>Oy(y).broadcastTx(w),bumpFee:R,calculateTxSize:Pf,createKeysForPath:(w)=>rf({...w,chain:y}),createReplacementTransaction:W,createTransaction:k2,deriveAddressAtIndex:O,derivePrivateKeyAtIndex:B,estimateMaxSendableAmount:Mq(y),estimateTransactionFee:Wq(y),getAddress:Y,getAddressFromKeys:xC(y),getBalance:Fy(y),getExtendedPublicKey:N,getExtendedPublicKeyInfo:J,getFeeRates:()=>af(y),getInputsOutputsFee:n2,getNetworkForChain:()=>ny(y),getPrivateKeyFromMnemonic:(w)=>_q(rf({...w,chain:y}).privateKey,y),isRBFEnabled:D,keys:M,resolveDerivationIndex:L,signAndBroadcastTransaction:k,signTransaction:x,signTransactionWithMultipleKeys:A,transfer:Yq(y,G),transferFromMultipleAddresses:_,validateAddress:RC(y)}}var x2,Jf,BC,m0,P,r,OC,ET,h0;var sf=V(()=>{sy();kT();gf();PT();x2=require("@noble/curves/secp256k1.js"),Jf=require("@scure/base"),BC=require("@scure/bip32"),m0=require("@scure/bip39"),P=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),OC=require("ts-pattern"),ET=[P.Chain.Dash,P.Chain.Dogecoin,P.Chain.Zcash,P.Chain.BitcoinCash],h0=[P.Chain.Bitcoin]});function bT(y){return Ef($T(y))}function Aq(y){let T=ny(ay);function H(C){return C.sign(y.privateKey,[zy.BCHSigHash.ALL]),C}function f(){let C=zy.p2pkh(y.publicKey,T);if(!C.hash)throw new Yy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let U=zy.encodeCashAddr({hash:C.hash,prefix:zy.CashAddrPrefix.MAINNET,type:zy.CashAddrType.P2PKH});return Promise.resolve(U.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:H}}function kC(y){let T="phrase"in y?y.phrase:void 0,H="index"in y?y.index||0:0,f=Yy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Yy.updateDerivationPath(Yy.NetworkDerivationPath[ay],{index:H})),C=T?rf({chain:ay,derivationPath:f,phrase:T}):void 0,U=C?Aq(C):("signer"in y)?y.signer:void 0;function o(){return Promise.resolve(U?.getAddress())}let{getBalance:q,getFeeRates:X,broadcastTx:G,...M}=Nf({chain:ay});function Y(N,J=!0){return q(Ef($T(N)))}function Z(N){if(!U)throw new Yy.SwapKitError("toolbox_utxo_no_signer");return U.signTransaction(N)}async function Q(N){let J=await Z(N);return J.finalize(),await G(wC.hex.encode(J.extract()))}return{...M,broadcastTx:G,buildTx:zq,createTransaction:$2,getAddress:o,getAddressFromKeys:Nq,getBalance:Y,getFeeRates:X,signAndBroadcastTransaction:Q,signTransaction:Z,stripPrefix:Ef,stripToCashAddress:bT,transfer:Jq({broadcastTx:G,getFeeRates:X,signer:U}),validateAddress:Af}}async function $2({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){if(!Af(T))throw new Yy.SwapKitError("toolbox_utxo_invalid_address",{address:T});let U=Math.ceil(y.getBaseValue("number")+f*7500),o=await Oy(ay).getUtxos({address:bT(C),fetchTxHex:!0,targetValue:U}),q=H?Vy(H):null,X=[],G=Hf(T);if(X.push({address:G,value:y.getBaseValue("number")}),q)X.push({script:q,value:0});let{inputs:M,outputs:Y}=uy({chain:ay,feeRate:f,inputs:o,outputs:X});if(!(M&&Y))throw new Yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Z=new zy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!q,version:1}),Q=Hf(C),{inputs:N,tx:J}=zf({chain:ay,compiledMemo:q,inputs:M,outputs:Y.map((O)=>("address"in O)&&O.address?{...O,address:Hf(O.address)}:O),sender:Q,tx:Z});return{inputs:N,tx:J,utxos:M}}function Jq({broadcastTx:y,getFeeRates:T,signer:H}){return async function({recipient:C,assetValue:U,feeOptionKey:o=Yy.FeeOption.Fast,...q}){let X=await H?.getAddress();if(!(H&&X))throw new Yy.SwapKitError("toolbox_utxo_no_signer");if(!C)throw new Yy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let G=q.feeRate||(await T())[o],{tx:M}=await $2({...q,assetValue:U,feeRate:G,recipient:C,sender:X}),Y=await H.signTransaction(M);return Y.finalize(),y(wC.hex.encode(Y.extract()))}}async function zq({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){let U=$T(T);if(!Af(U))throw new Yy.SwapKitError("toolbox_utxo_invalid_address",{address:U});let o=Math.ceil(y.getBaseValue("number")+f*7500),q=await Oy(ay).getUtxos({address:bT(C),fetchTxHex:!0,targetValue:o}),X=Number(f.toFixed(0)),G=H?Vy(H):null,M=[];if(M.push({address:Hf(T),value:y.getBaseValue("number")}),G)M.push({script:G,value:0});let{inputs:Y,outputs:Z}=uy({chain:ay,feeRate:X,inputs:q,outputs:M});if(!(Y&&Z))throw new Yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Q=new zy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:N,tx:J}=zf({chain:ay,compiledMemo:G,inputs:Y,outputs:Z,sender:Hf(C),tx:Q});return{inputs:N,tx:J,utxos:q}}function Nq(y){let T=zy.NETWORKS.bitcoinCash,H=zy.p2pkh(y.publicKey,T);if(!H.hash)throw new Yy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return zy.encodeCashAddr({hash:H.hash,prefix:zy.CashAddrPrefix.MAINNET,type:zy.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var wC,Yy,zy,ay;var t0=V(()=>{gf();sf();PT();wC=require("@scure/base"),Yy=require("@swapkit/helpers"),zy=require("@swapkit/utxo-signer"),ay=Yy.Chain.BitcoinCash});function I2(){let{isStagenet:y}=Wy.SKConfig.get("envs");return y?Uy.ZCASH_TEST_NETWORK:Uy.ZCASH_NETWORK}function Oq(y){return Bq.encode(y)}function Dq({phrase:y,derivationPath:T}){let H=$C.mnemonicToSeedSync(y),C=nC.HDKey.fromMasterSeed(H).derive(T);if(!C.privateKey||!C.publicKey)throw new Wy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:U,publicKey:o}=C,q=Uy.utils.hash160(o),{isStagenet:X}=Wy.SKConfig.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=Oq(M);return{getAddress:()=>Promise.resolve(Y),signTransaction:(Z)=>{if(Z instanceof Uy.ZcashPSBT){let Q=Z.toPCZT();return Q.signAllInputs(U,o,Uy.ZcashSigHash.ALL),Q.finalizeAllInputs(),Promise.resolve(Q.extract())}if(Z instanceof Uy.PCZT)return Z.signAllInputs(U,o,Uy.ZcashSigHash.ALL),Z.finalizeAllInputs(),Promise.resolve(Z.extract());return Z.signAllInputs(U,o,Uy.ZcashSigHash.ALL),Promise.resolve(Z)}}}function Rq({inputs:y,outputs:T,tx:H,sender:f,compiledMemo:C}){let U=I2();for(let o of y){let q=Uy.Address(U).decode(f),X=Uy.OutScript.encode(q);H.addInput({index:o.index,script:X,sequence:4294967295,txid:c0.hex.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 F2(y){let{assetValue:T,recipient:H,memo:f,feeRate:C,sender:U,fetchTxHex:o}=y,q=f?Vy(f):null,X=await Oy(Wy.Chain.Zcash).getUtxos({address:U,fetchTxHex:o!==!1}),G=[{address:H,value:Number(T.getBaseValue("string"))},...q?[{script:q,value:0}]:[]],{inputs:M,outputs:Y}=uy({chain:Wy.Chain.Zcash,changeAddress:U,feeRate:C,inputs:X,outputs:G});if(!(M&&Y))throw new Wy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:U});let Z=Uy.createZcashTransaction({consensusBranchId:Uy.ZcashConsensusBranchId.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:Uy.ZcashVersionGroupId.SAPLING}),{tx:Q,inputs:N}=Rq({compiledMemo:q,inputs:M,outputs:Y,sender:U,tx:Z});return{inputs:N,outputs:Y,tx:Q}}function FC(y){let T=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:X})=>X).with({phrase:ef.P.string},({phrase:X,derivationPath:G,index:M=0})=>{let Y=G||Wy.NetworkDerivationPath[Wy.Chain.Zcash]||[44,133,0,0,0],Z=Wy.updateDerivationPath(Y,{index:M}),Q=Wy.derivationPathToString(Z);return Dq({derivationPath:Q,phrase:X})}).otherwise(()=>{return}),H=Nf({chain:Wy.Chain.Zcash,signer:T});async function f(X){if(!T)throw new Wy.SwapKitError("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=Wy.FeeOption.Fast,...Y}){let Z=await T?.getAddress();if(!(T&&Z))throw new Wy.SwapKitError("toolbox_utxo_no_signer");let Q=Y.feeRate||(await H.getFeeRates())[M],{tx:N}=await F2({...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=$C.mnemonicToSeedSync(X),Z=nC.HDKey.fromMasterSeed(M).derive(G);if(!Z.privateKey||!Z.publicKey)throw new Wy.SwapKitError("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=I2();return Uy.WIF(Y).encode(M.privateKey)}return{...H,createKeysForPath:o,createTransaction:F2,getPrivateKeyFromMnemonic:q,signAndBroadcastTransaction:C,signTransaction:f,transfer:U,validateAddress:df}}var c0,nC,$C,Wy,Uy,ef,Bq;var IC=V(()=>{gf();sf();PT();c0=require("@scure/base"),nC=require("@scure/bip32"),$C=require("@scure/bip39"),Wy=require("@swapkit/helpers"),Uy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");Bq=c0.createBase58check(Uy.utils.sha256)});function V2({xpub:y,chain:T,count:H,startIndex:f=0,accountIndex:C}){if(Ky("count",H),H<1)throw RangeError("count must be at least 1");Ky("startIndex",f);let U=ny(T),o=P2.HDKey.fromExtendedKey(y,U.bip32),q=Lf({accountIndex:C,chain:T}),X=Ff(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=tf({accountIndex:C,chain:T,change:M,index:Q});G.push({accountIndex:X,address:VT({chain:T,network:U,publicKey:N.publicKey}),change:M,index:Q,path:E2.derivationPathToString(J),pubkey:S2.hex.encode(N.publicKey)})}}return G}var S2,P2,E2;var b2=V(()=>{kT();sf();S2=require("@scure/base"),P2=require("@scure/bip32"),E2=require("@swapkit/helpers")});function xq(y,T){switch(y){case Uf.Chain.BitcoinCash:return kC(T||{});case Uf.Chain.Zcash:return FC(T);case Uf.Chain.Bitcoin:case Uf.Chain.Dogecoin:case Uf.Chain.Litecoin:case Uf.Chain.Dash:return Nf({chain:y,...T});default:throw new Uf.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var Uf;var v2=V(()=>{t0();sf();IC();kT();b2();t0();PT();Uf=require("@swapkit/helpers")});var SC={};Ny(SC,{validateZcashAddress:()=>df,validateUtxoAddress:()=>DC,validateBchAddress:()=>Af,toLegacyAddress:()=>Hf,toCashAddress:()=>$T,stripToCashAddress:()=>bT,stripPrefix:()=>Ef,nonSegwitChains:()=>ET,isValidAddress:()=>JC,getUtxoToolbox:()=>xq,getUtxoNetwork:()=>so,getUtxoApi:()=>Oy,getUTXOAddressValidator:()=>RC,getUTXOAddressPath:()=>tf,getUTXOAccountPath:()=>Lf,getUTXOAccountIndexFromPath:()=>Ff,getScriptTypeForAddress:()=>cf,getOutputSize:()=>IT,getNetworkForChain:()=>ny,getInputSize:()=>Yf,getDustThreshold:()=>ST,detectAddressNetwork:()=>zC,deriveAddressesFromXpub:()=>V2,createZcashToolbox:()=>FC,createUTXOToolbox:()=>Nf,createHDWalletHelpers:()=>q2,createCustomUtxoApi:()=>ao,createBCHToolbox:()=>kC,compileMemo:()=>Vy,calculateTxSize:()=>Pf,assertDerivationIndex:()=>Ky,addressFromKeysGetter:()=>xC,addInputsAndOutputs:()=>zf,accumulative:()=>uy,UtxoNetwork:()=>AC,UTXOScriptType:()=>K0,TX_OVERHEAD:()=>l0,SEGWIT_MARKER_FLAG_WEIGHT:()=>j0,OutputSizes:()=>FT,OP_RETURN_OVERHEAD:()=>O2,MIN_TX_FEE:()=>qq,InputSizes:()=>p0});module.exports=Ry(SC);var PC=V(()=>{sf();kT();gf();v2();t0();IC()});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 i0(y){let{KeyPair:T}=await import("@near-js/crypto"),H=y.index||0,f=y.derivationPath?g0.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${H}'`,{secretKey:C}=l2.parseSeedPhrase(y.phrase,f),U=T.fromString(C);return K2(U)}async function EC(y){let{KeyPair:T}=await import("@near-js/crypto"),H=T.fromString(y);return K2(H)}function K2(y){return new j2(y)}async function d0(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 g0.SwapKitError("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 p2,g0,l2,j2;var VC=V(()=>{p2=require("@near-js/signers"),g0=require("@swapkit/helpers"),l2=_1(require("near-seed-phrase"));j2=class j2 extends p2.KeyPairSigner{#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 bC(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function vC(y){return"contractId"in y&&"methodName"in y}function pC(y){return"actions"in y}function lC(y){return"newAccountId"in y}function jC(y){return"contractCode"in y}function KC(y){return"customEstimator"in y}function uC(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 hC(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 wq(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function kq(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var xy;var mC=V(()=>{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 tC({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})}function nq(y){let T;async function H(){if(T)return T;return T=await yT.match(y).with({phrase:yT.P.string},async(z)=>{return await i0(z)}).with({signer:yT.P.any},({signer:z})=>z).otherwise(()=>{return}),T}async function f(){let z=await Cy.getRPCUrl(Cy.Chain.Near);return new u2.JsonRpcProvider({url:z})}async function C(z){let{Account:$}=await import("@near-js/accounts"),S=await f(),u=await H(),b=z||await U();return new $(b,S,u)}async function U(){let z=await H();if(!z)throw new Cy.SwapKitError("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 S=[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:S,receiverId:z.contractId})}async function X(z){if(!await H())throw new Cy.SwapKitError("toolbox_near_no_signer");let{assetValue:S,recipient:u,memo:b}=z,m=await U();if(!S.isGasAsset&&S.address){if(!await o({accountId:u,contractId:S.address}))return q({assetValue:S,contractId:S.address,memo:b,recipient:u})}let Hy=await G({...z,sender:m});return W(Hy)}async function G({recipient:z,assetValue:$,memo:S,attachedDeposit:u,sender:b,functionCall:m}){let Hy=await f();if(!vT(z))throw new Cy.SwapKitError("toolbox_near_invalid_address",{recipient:z});if(!vT(b))throw new Cy.SwapKitError("toolbox_near_invalid_address",{sender:b});if(m)return Y({...m,sender:b});if(!$.isGasAsset){let py=$.address;if(!py)throw new Cy.SwapKitError("toolbox_near_missing_contract_address");return Y({args:{amount:$.getBaseValue("string"),memo:S||null,receiver_id:z},attachedDeposit:u||"1",contractId:py,gas:"250000000000000",methodName:"ft_transfer",sender:b})}let{publicKey:Ay,nonce:Xy}=await d0(Hy,b),Sy=$.getBaseValue("bigint"),{actionCreators:Dy,createTransaction:ty}=await import("@near-js/transactions"),{baseDecode:cy}=await import("@near-js/utils"),gy=[Dy.transfer(Sy)];if(S&&u)gy.push(Dy.functionCall("memo",{memo:S},BigInt("250000000000000"),BigInt(u)));let $y=await Hy.block({finality:"final"}),Jy=cy($y.header.hash);return ty(b,Ay,z,Xy+1,gy,Jy)}function M(z){let $=z.encode();return Buffer.from($).toString("base64")}async function Y({args:z,attachedDeposit:$,contractId:S,gas:u,methodName:b,sender:m}){let Hy=await f(),{publicKey:Ay,nonce:Xy}=await d0(Hy,m),{createTransaction:Sy,actionCreators:Dy}=await import("@near-js/transactions"),{baseDecode:ty}=await import("@near-js/utils"),cy=await Hy.block({finality:"final"}),gy=ty(cy.header.hash),$y=[Dy.functionCall(b,Buffer.from(JSON.stringify(z)),BigInt(u),BigInt($))];return Sy(m,Ay,S,Xy+1,$y,gy)}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 Cy.SwapKitError("toolbox_near_no_signer");await N(z);let[S,u]=await $.signTransaction(z);return u}async function N(z){let $=z.publicKey;if($.toString?.().startsWith("ed25519:")||$.toString?.().startsWith("secp256k1:"))return;let{KeyType:S,PublicKey:u}=await import("@near-js/crypto"),b=$.data||$.ed25519Key?.data,m=$.secp256k1Key?.data;if(b){z.publicKey=new u({data:Uint8Array.from(b),keyType:S.ED25519});return}if(m)z.publicKey=new u({data:Uint8Array.from(m),keyType:S.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 S=await(await f()).sendTransaction(z),u=J(S);if(!u)throw new Cy.SwapKitError("toolbox_near_transfer_failed",{result:S});return u}async function W(z){let $=await H();if(!$)throw new Cy.SwapKitError("toolbox_near_no_signer");let S;try{S=await Q(z)}catch(u){let b;try{b=$.signAndSendTransaction?await $.signAndSendTransaction({actions:z.actions,receiverId:z.receiverId,signerId:z.signerId}):await $.signAndSendTransactions?.({transactions:[z]})}catch(Hy){throw new Cy.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:O(u),signAndSendError:O(Hy)}},Hy)}let m=J(b);if(m)return m;throw u}return D(S)}async function R(z){let $=await H();if("assetValue"in z){let u=await B();try{let b=await Cy.getRPCUrl(Cy.Chain.Near),m=await fetch(b,{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:Hy}}=await m.json(),{execution:Ay,send_sir:Xy}=Hy.transaction_costs.action_receipt_creation_config,{execution:Sy,send_sir:Dy}=Hy.transaction_costs.action_creation_config.transfer_cost,ty=BigInt(Dy)+BigInt(Sy),cy=BigInt(Xy)+BigInt(Ay),$y=(ty+cy)*BigInt(u.toString());return Cy.AssetValue.from({chain:Cy.Chain.Near,value:$y})}catch(b){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",b);let m=BigInt("115123062500"),Hy=BigInt("108059500000"),Xy=(m+Hy)*BigInt(u.toString());return Cy.AssetValue.from({chain:Cy.Chain.Near,value:Xy})}}let S=$?await C():void 0;return k(z,S)}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,$,S){if(!await H())throw new Cy.SwapKitError("toolbox_near_no_signer");let b=await C(),{formatNearAmount:m}=await import("@near-js/utils"),{PublicKey:Hy}=await import("@near-js/crypto"),Ay=m(S)||"0";return(await b.createAccount(z,Hy.fromString($),BigInt(Ay))).transaction.hash}async function _(z){let $=await H();try{if(!$)throw new Cy.SwapKitError("toolbox_near_no_signer");let{actionCreators:S}=await import("@near-js/transactions"),{contractId:u,methodName:b,args:m,deposit:Hy}=z,Ay=await C(),Xy=await k({args:m||{},contractId:u,methodName:b}),Sy=S.functionCall(b,m||{},Xy.getBaseValue("bigint"),BigInt(Hy||"1"));return(await Ay.signAndSendTransaction({actions:[Sy],receiverId:u})).transaction_outcome.id}catch(S){throw new Cy.SwapKitError("toolbox_near_transfer_failed",{error:S})}}async function L(z){let $=await C();return tC({account:$,changeMethods:z.changeMethods,contractId:z.contractId,viewMethods:z.viewMethods})}async function x(z){if(!await H())throw new Cy.SwapKitError("toolbox_near_no_signer");if(z.actions.length===0)throw new Cy.SwapKitError("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:z.actions,receiverId:z.receiverId})).transaction.hash}async function k(z,$){let S=await yT.match(z).when(bC,()=>xy.SIMPLE_TRANSFER).when(vC,(b)=>hC(b.methodName)).when(pC,(b)=>uC(b.actions)).when(lC,()=>xy.ACCOUNT_CREATION).when(jC,()=>xy.CONTRACT_DEPLOYMENT).when(KC,(b)=>{if(!$)throw new Cy.SwapKitError("toolbox_near_no_account");return b.customEstimator($)}).otherwise(()=>{throw new Cy.SwapKitError("toolbox_near_invalid_gas_params")}),u=BigInt(S)*BigInt(1000000000000);return Cy.AssetValue.from({chain:Cy.Chain.Near,value:u})}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 I(){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:Fy(Cy.Chain.Near),getGasPrice:n,getNearProvider:f,getPublicKey:I,getSignerFromPhrase:i0,getSignerFromPrivateKey:EC,serializeTransaction:M,signAndBroadcastTransaction:W,signTransaction:Q,transfer:X,validateAddress:vT}}var u2,Cy,yT;var cC=V(()=>{sy();VC();mC();u2=require("@near-js/providers"),Cy=require("@swapkit/helpers"),yT=require("ts-pattern")});var h2=V(()=>{cC()});var gC={};Ny(gC,{validateNearAddress:()=>vT,tgasToGas:()=>wq,isSimpleTransfer:()=>bC,isCustomEstimator:()=>KC,isContractDeployment:()=>jC,isContractCall:()=>vC,isBatchTransaction:()=>pC,isAccountCreation:()=>lC,getNearToolbox:()=>nq,getNearSignerFromPrivateKey:()=>EC,getNearSignerFromPhrase:()=>i0,getFullAccessPublicKey:()=>d0,getContractMethodGas:()=>hC,gasToTGas:()=>kq,estimateBatchGas:()=>uC,createNearContract:()=>tC,GAS_COSTS:()=>xy});module.exports=Ry(gC);var iC=V(()=>{VC();mC();cC();h2()});var dC={};Ny(dC,{validateRadixAddress:()=>c2,getRadixToolbox:()=>Pq});module.exports=Ry(dC);function c2(y){return y.startsWith("account_rdx1")&&y.length===66}function $q({networkApi:y}){return async function(H){let f=await Fq({address:H,networkApi:y}),C=await Iq({networkApi:y,resources:f});if(!C.some((o)=>o.isGasAsset))return[hy.AssetValue.from({chain:hy.Chain.Radix}),...C];return C}}async function Fq({address:y,networkApi:T}){let H=!0,f,C=[],U=await Sq(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 Iq({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=hy.AssetValue.from({asset:M.symbol!==hy.Chain.Radix?`${hy.Chain.Radix}.${M.symbol}-${G.resource_address}`:"XRD.XRD",value:G.amount});H.push(Y)}}return H}async function Sq(y){return(await y.status.getCurrent()).ledger_state.state_version}function Pq({dappConfig:y}={}){let T=y||hy.SKConfig.get("integrations").radix,H=t2.RadixDappToolkit({...T,networkId:T.network?.networkId||1}),f=m2.GatewayApiClient.initialize(H.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:$q({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new hy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c2}}var m2,t2,hy;var rC=V(()=>{m2=require("@radixdlt/babylon-gateway-api-sdk"),t2=require("@radixdlt/radix-dapp-toolkit"),hy=require("@swapkit/helpers")});function r0(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function pT(y){if(r0(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 g2.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function Eq(y){if(!r0(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 fT(y){if(r0(y))return y.toUpperCase();if(y.length<=3)return y;return pT(y)}var g2;var a0=V(()=>{g2=require("@swapkit/helpers")});async function Vq(y,T){let H=fT(y),f=e0.find((C)=>fT(C.currency)===H&&C.issuer===T);if(f)return f;try{let C=await s0.RequestClient.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){s0.warnOnce({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 bq(y){return e0.filter((T)=>T.issuer===y)}function vq(y,T){let H=fT(y);return e0.some((f)=>fT(f.currency)===H&&f.issuer===T)}var s0,e0;var i2=V(()=>{a0();s0=require("@swapkit/helpers"),e0=[{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 aC={};Ny(aC,{validateRippleAddress:()=>f1,parseXrplTokenIdentifier:()=>a2,normalizeCurrency:()=>fT,isKnownToken:()=>vq,isHexCurrency:()=>r0,hexToCurrency:()=>Eq,hashes:()=>e2.hashes,getXrplTokenInfo:()=>Vq,getRippleToolbox:()=>lq,getKnownTokensByIssuer:()=>bq,formatXrplTokenIdentifier:()=>s2,currencyToHex:()=>pT,XRPL_TOKEN_ERROR_CODES:()=>y1,XRPL_KNOWN_TOKENS:()=>e0});module.exports=Ry(aC);function a2(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(!of.isValidAddress(T[2]))return null;return{currency:T[1],issuer:T[2]}}function s2(y,T){return`${d.Chain.Ripple}.${y}-${T}`}function pq(y){if(y.isGasAsset)return of.xrpToDrops(y.getValue("string"));let T=a2(y.toString());if(!T)throw new d.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:T.currency,issuer:T.issuer,value:y.getValue("string")}}function r2(y){let T=of.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(H)=>Promise.resolve(T.sign(H))}}function f1(y){return of.isValidAddress(y)}function lq(y={}){let T=TT.match(y).with({phrase:TT.P.string},({phrase:W})=>r2(W)).with({signer:TT.P.any},({signer:W})=>W).otherwise(()=>{return}),H;async function f(){let W=await d.getRPCUrl(d.Chain.Ripple);if(!W)throw new d.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:d.Chain.Ripple}});let R=new of.Client(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 d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},o=async(W)=>{let R=W||await U(),{baseDecimal:B}=d.getChainConfig(d.Chain.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=[d.AssetValue.from({chain:d.Chain.Ripple,fromBaseDecimal:B,value:x})];for(let w of L.result.lines){let n=s2(w.currency,w.account);if(Number.parseFloat(w.balance)!==0)k.push(d.AssetValue.from({asset:n,asyncTokenLookup:!1,value:w.balance}))}return k}catch(_){if(_.data?.error_code===d2.ACCOUNT_NOT_FOUND)return[d.AssetValue.from({chain:d.Chain.Ripple,value:0})];throw new d.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:R,error:_}})}},q=async()=>{let{baseDecimal:W}=d.getChainConfig(d.Chain.Ripple),A=(await(await C()).request({command:"fee"})).result.drops.open_ledger_fee;return d.AssetValue.from({chain:d.Chain.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===d2.ACCOUNT_NOT_FOUND)return[];throw new d.SwapKitError({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),_=pT(R);return A.some((L)=>{return pT(L.currency)===_&&L.account===B})}async function M({currency:W,issuer:R,limit:B,sender:A}){let _=A||await U();if(!f1(R))throw new d.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:R}});let L=Number.parseFloat(B);if(Number.isNaN(L)||L<0)throw new d.SwapKitError({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(!f1(R))throw new d.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let x=A||await U();if(W.chain!==d.Chain.Ripple)throw new d.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:W.toString()}});let k=pq(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 I=await(await C()).autofill(w);if(I.LastLedgerSequence&&L>0)I.LastLedgerSequence+=Math.ceil(L/4);return I}function Z(W){if(!T)throw new d.SwapKitError({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=TT.match(_).with(y1.tecNO_LINE,()=>"No trust line exists for this token").with(y1.tecPATH_DRY,()=>"Payment path could not deliver funds").with(y1.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new d.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:d.Chain.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 d.SwapKitError)throw R;throw new d.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:d.Chain.Ripple,error:R}})}};async function J(W){if(!T)throw new d.SwapKitError({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 d.SwapKitError({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:r2,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:f1}}var d,TT,of,e2,d2,y1;var sC=V(()=>{a0();d=require("@swapkit/helpers"),TT=require("ts-pattern"),of=require("xrpl");a0();i2();e2=require("xrpl"),d2={ACCOUNT_NOT_FOUND:19},y1={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function eC(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 Vf.SwapKitError("toolbox_tron_transaction_creation_failed")}function lT(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 T1(y,T,H){let f=y.get(T);if(f)f.push(H);else y.set(T,[H])}function hq(y){let T=new Map,H=0;while(H<y.length){let[f,C]=eC(y,H);H=C;let U=Number(f>>3n),o=Number(f&7n);if(o===C1){let[q,X]=eC(y,H);H=X,T1(T,U,{data:new Uint8Array(lT(q)),wireType:C1})}else if(o===H1){let[q,X]=eC(y,H);H=X;let G=Number(q);if(G<0||H+G>y.length)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let M=y.slice(H,H+G);H+=G,T1(T,U,{data:M,wireType:H1})}else if(o===yU){if(H+8>y.length)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let q=y.slice(H,H+8);H+=8,T1(T,U,{data:q,wireType:yU})}else if(o===fU){if(H+4>y.length)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let q=y.slice(H,H+4);H+=4,T1(T,U,{data:q,wireType:fU})}else throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed")}return T}function mq(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(lT(G))),q===H1)T.push(new Uint8Array(lT(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 CU(y,T){if(!y||y.length%2!==0)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let H=CT.hexToBytes(y),f=hq(H);if(T.expiration!==void 0)f.set(jq,[{data:new Uint8Array(lT(BigInt(T.expiration))),wireType:C1}]);if(T.data!==void 0)f.set(Kq,[{data:CT.hexToBytes(T.data),wireType:H1}]);if(T.fee_limit!==void 0)f.set(uq,[{data:new Uint8Array(lT(BigInt(T.fee_limit))),wireType:C1}]);let C=mq(f),U=CT.bytesToHex(C),o=CT.bytesToHex(TU.sha256(C));return{raw_data_hex:U,txID:o}}var TU,CT,Vf,C1=0,yU=1,H1=2,fU=5,jq=8,Kq=10,uq=18;var HU=V(()=>{TU=require("@noble/hashes/sha2.js"),CT=require("@noble/hashes/utils.js"),Vf=require("@swapkit/helpers")});function my(y){if(typeof y!=="string")return!1;try{let T=U1.decode(y);return T.length===21&&T[0]===qU}catch{return!1}}function XU(y){return vy.bytesToHex(U1.decode(y))}function cq(y){return U1.decode(y).slice(1)}function GU(y){let T=yH.secp256k1.getPublicKey(vy.hexToBytes(y),!1),H=UU.keccak_256(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=qU,f.set(H,1),U1.encode(f)}function QU({txID:y,privateKey:T}){let H=yH.secp256k1.sign(vy.hexToBytes(y),vy.hexToBytes(T),{format:"recovered",prehash:!1}),f=H[0]??0,C=vy.bytesToHex(H.slice(1,33)),U=vy.bytesToHex(H.slice(33,65)),o=(f+27).toString(16).padStart(2,"0");return C+U+o}function HT({txID:y,raw_data_hex:T}){let H=vy.bytesToHex(fH.sha256(vy.hexToBytes(T)));if(y!==H)throw new TH.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:H,txID:y})}function gq(y){return`000000000000000000000000${vy.bytesToHex(cq(y))}`}function iq(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=tq)throw new TH.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function UT(y){return y.map(({type:T,value:H})=>T==="address"?gq(H):iq(BigInt(H))).join("")}function _U(y){return vy.bytesToHex(new TextEncoder().encode(y))}var yH,fH,UU,vy,oU,TH,U1,qU=65,tq;var CH=V(()=>{yH=require("@noble/curves/secp256k1.js"),fH=require("@noble/hashes/sha2.js"),UU=require("@noble/hashes/sha3.js"),vy=require("@noble/hashes/utils.js"),oU=require("@scure/base"),TH=require("@swapkit/helpers"),U1=oU.createBase58check(fH.sha256),tq=2n**256n});function MU(){try{return Zy.getRPCUrlSync(Zy.Chain.Tron)}catch{return ZU}}function WU(){let y=new AbortController,T=setTimeout(()=>y.abort(),eq);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function bf(y,T){let{signal:H,cleanup:f}=WU();try{let C=await fetch(`${MU()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:H});if(!C.ok)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function LU(y,T){let{signal:H,cleanup:f}=WU();try{let C=await fetch(`${T??MU()}${y}`,{headers:{"Content-Type":"application/json"},signal:H});if(!C.ok)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function YU(y){if(!my(y))throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await LU(`/v1/accounts/${y}`,ZU);if(!(T.success&&T.data)||T.data.length===0)return;let H;try{H=XU(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.SwapKitError)throw T;throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function AU({from:y,to:T,amount:H}){let C=await bf("/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.SwapKitError("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.SwapKitError("toolbox_tron_transaction_creation_failed");return HT(C),C}async function JU({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f,feeLimit:C,callValue:U=0}){let o=await bf("/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.SwapKitError("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.SwapKitError("toolbox_tron_transaction_creation_failed");return HT(o.transaction),o.transaction}function zU({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return bf("/wallet/triggerconstantcontract",{contract_address:T,function_selector:H,owner_address:y,parameter:f,visible:!0})}function yX({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return bf("/wallet/estimateenergy",{contract_address:T,function_selector:H,owner_address:y,parameter:f,visible:!0})}async function jT(y){try{let{result:T,txid:H}=await bf("/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.SwapKitError("toolbox_tron_token_transfer_failed");return H}catch(T){throw new Zy.SwapKitError("toolbox_tron_broadcast_failed",{error:T})}}async function KT(){let y={};try{let{chainParameter:T}=await LU("/wallet/getchainparameters");for(let H of T)y[H.key]=H.value}catch(T){Zy.warnOnce({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??dq,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??rq,energyFee:y.getEnergyFee??aq,memoFee:y.getMemoFee??sq}}async function HH(y){try{let T=await bf("/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 Zy.warnOnce({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 uT(y){try{let T=await bf("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function UH(y){try{let T=await yX({...y,ownerAddress:y.sender}),H=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new Zy.SwapKitError("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.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){Zy.warnOnce({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 zU({...y,ownerAddress:y.sender});return T}catch(T){return Zy.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${T instanceof Error?T.message:T}`}),65000}}async function NU({assetAddress:y,owner:T,spender:H}){let f=UT([{type:"address",value:T},{type:"address",value:H}]),U=(await zU({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 Zy,ZU="https://api.trongrid.io",dq=1000,rq=1e6,aq=420,sq=1e6,eq=30000;var BU=V(()=>{CH();Zy=require("@swapkit/helpers")});function FU({phrase:y,derivationPath:T}){let H=kU.HDKey.fromMasterSeed(nU.mnemonicToSeedSync(y)).derive(T);if(!H.privateKey)throw new p.SwapKitError("toolbox_tron_no_signer");return wU.bytesToHex(H.privateKey)}function IU({phrase:y,derivationPath:T,index:H}){let f=T||p.derivationPathToString(p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:H||0}));return FU({derivationPath:f,phrase:y})}function TX({phrase:y,derivationPath:T}){let H=FU({derivationPath:T,phrase:y}),f=GU(H);return{getAddress:()=>Promise.resolve(f),signTransaction:(C)=>{HT(C);let U=QU({privateKey:H,txID:C.txID});return Promise.resolve({...C,signature:[U]})}}}function xU({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/,""):_U(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}=CU(y.raw_data_hex,C);return{...y,raw_data:{...y.raw_data,...U},raw_data_hex:o,txID:q}}function SU(y={}){let T="index"in y?y.index||0:0,H=p.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:T})),f,C=!1;function U(){if(C)return Promise.resolve(f);return f=oT.match(y).with({phrase:oT.P.string},({phrase:_})=>TX({derivationPath:H,phrase:_})).with({signer:oT.P.not(oT.P.nullish)},({signer:_})=>_).otherwise(()=>{return}),C=!0,Promise.resolve(f)}async function o(){let _=await U();if(!_)throw new p.SwapKitError("toolbox_tron_no_signer");return _.getAddress()}async function q(_,L){let x=_||DU,k=L??(await KT()).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:I=0}){let z=await UH({contractAddress:_,functionSelector:L,parameter:x,sender:k}),$=await q(z+I),S=await JU({contractAddress:_,feeLimit:$,functionSelector:L,ownerAddress:k,parameter:x});return xU({expiration:n,feeLimit:$,memo:w,transaction:S})}async function G(_){if(!my(_))return[p.AssetValue.from({chain:p.Chain.Tron})];try{let L=await YU(_);if(!L)return[p.AssetValue.from({chain:p.Chain.Tron})];let x=[p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:6,value:String(L.balance)})],k=L.trc20?.find((w)=>(qH in w));if(k){let w=k[qH];x.push(p.AssetValue.from({asset:`TRON.USDT-${qH}`,fromBaseDecimal:6,value:w}))}return x}catch(L){return p.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${L instanceof Error?L.message:L}`}),[p.AssetValue.from({chain:p.Chain.Tron})]}}async function M({recipient:_,assetValue:L,memo:x,expiration:k}){if(!my(_))throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let w=await U();if(!w)throw new p.SwapKitError("toolbox_tron_no_signer");try{let n=await o(),I=await O({assetValue:L,expiration:k,memo:x,recipient:_,sender:n}),z=await w.signTransaction(I),$=await jT(z);if(!$)throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return $}catch(n){throw new p.SwapKitError("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([KT(),uT(L),HH(x)]),I=w?0:k.createAccountFee,z=Y({feePerUnit:k.bandwidthFee,requiredBandwidth:OU,resources:n.bandwidth}),$=_?k.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:I+z+$})}async function Q({assetValue:_,memo:L,recipient:x,senderAddress:k}){let w=_.address;if(!w)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:_.toString()});let[n,I,z,$]=await Promise.all([KT(),uT(x),HH(k),UH({contractAddress:w,functionSelector:"transfer(address,uint256)",parameter:UT([{type:"address",value:x},{type:"uint256",value:_.getBaseValue("string")}]),sender:k})]),u=$+(I?0:oH),b=Y({feePerUnit:n.bandwidthFee,requiredBandwidth:RU,resources:z.bandwidth}),m=Math.max(0,z.energy.total-z.energy.used),Hy=u>m?(u-m)*n.energyFee:0,Ay=L?n.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:b+Hy+Ay})}async function N({assetValue:_,memo:L,recipient:x}){let[k,w]=await Promise.all([KT(),uT(x)]);if(_.isGasAsset){let $=w?0:k.createAccountFee,S=L?k.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:$+OU*k.bandwidthFee+S})}let I=await q(DU+(w?0:oH),k.energyFee),z=L?k.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:I+RU*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 p.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${n instanceof Error?n.message:n}`}),new p.SwapKitError("toolbox_fee_estimation_failed",{chain:p.Chain.Tron,error:n})}}async function O({recipient:_,assetValue:L,memo:x,sender:k,expiration:w}){if(!my(_)||!my(k))throw new p.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(L.isGasAsset){let z=await AU({amount:L.getBaseValue("number"),from:k,to:_});return xU({expiration:w,memo:x,transaction:z})}let n=L.address;if(!n)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let I=await uT(_);return X({contractAddress:n,expiration:w,extraEnergy:I?0:oH,functionSelector:"transfer(address,uint256)",memo:x,parameter:UT([{type:"address",value:_},{type:"uint256",value:L.getBaseValue("string")}]),sender:k})}async function D(_){HT(_);let L=await U();if(!L)throw new p.SwapKitError("toolbox_tron_no_signer");return L.signTransaction(_)}async function W(_){let L=await D(_);return jT(L)}function R({assetAddress:_,spenderAddress:L,from:x}){return NU({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(!my(_)||!my(L))throw new p.SwapKitError("toolbox_tron_approve_failed");let w=await U();if(!w)throw new p.SwapKitError("toolbox_tron_no_signer");let n=k||await o(),I=x!==void 0?BigInt(x).toString():fX;try{let z=await X({contractAddress:_,functionSelector:"approve(address,uint256)",parameter:UT([{type:"address",value:L},{type:"uint256",value:I}]),sender:n}),$=await w.signTransaction(z),S=await jT($);if(!S)throw new p.SwapKitError("toolbox_tron_approve_failed");return S}catch(z){if(z instanceof p.SwapKitError)throw z;throw new p.SwapKitError("toolbox_tron_approve_failed",{error:z})}}return{approve:A,broadcastTransaction:jT,createTransaction:O,estimateTransactionFee:J,getAddress:o,getApprovedAmount:R,getBalance:G,getRpcUrl:()=>p.getRPCUrl(p.Chain.Tron),isApproved:B,signAndBroadcastTransaction:W,signTransaction:D,transfer:M,validateAddress:my}}var wU,kU,nU,p,oT,$U,OU=268,DU=65000,oH=25000,RU=345,qH="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",fX="115792089237316195423570985008687907853269984665640564039457584007913129639935";var PU=V(()=>{HU();BU();CH();wU=require("@noble/hashes/utils.js"),kU=require("@scure/bip32"),nU=require("@scure/bip39"),p=require("@swapkit/helpers"),oT=require("ts-pattern"),$U=my});var XH={};Ny(XH,{validateTronAddress:()=>$U,getTronToolbox:()=>SU,getTronPrivateKeyFromMnemonic:()=>IU});module.exports=Ry(XH);var GH=V(()=>{PU()});function q1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return CX.test(y)}function HX(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 UX(y){return HX(y)===504}function oX(y){return y.hash?.().toString("hex")}function qX(y){return[...new Set([y,...s.SKConfig.get("rpcUrls")[s.Chain.Stellar]])].filter(Boolean)}async function XX(y){if(!q1(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}function EU(y={}){let T,H=y.derivationPath||s.NetworkDerivationPath[s.Chain.Stellar],f=s.derivationPathToString(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=o1.match(y).with({phrase:o1.P.string},({phrase:W})=>W).otherwise(()=>{return});if(!D)throw new s.SwapKitError("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 s.getRPCUrl(s.Chain.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 s.getRPCUrl(s.Chain.Stellar),B=qX(R),A=oX(D),_;for(let L of B)try{let x=await o(L),{hash:k}=await x.submitTransaction(D);return k}catch(x){if(_=x,!UX(x))break;let k=A?await q(A,B):void 0;if(k)return k}throw new s.SwapKitError(W,_)}async function G(){try{return(await U()).publicKey()}catch{return""}}async function M(D){let W=D||await G();if(!W)throw new s.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await o()).loadAccount(W)).balances.map((A)=>{if(A.asset_type==="native")return s.AssetValue.from({chain:s.Chain.Stellar,value:A.balance});let _="asset_code"in A?A.asset_code:"",L="asset_issuer"in A?A.asset_issuer:"";return s.AssetValue.from({asset:`${s.Chain.Stellar}.${_}-${L}`,asyncTokenLookup:!1,value:A.balance})})}catch{return[s.AssetValue.from({chain:s.Chain.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 s.SwapKitError("helpers_invalid_memo_type")}if(!await XX(D))throw new s.SwapKitError("core_transaction_invalid_recipient_address");let _=B||await G();if(!_)throw new s.SwapKitError("toolbox_stellar_no_signer");let{Asset:L,Memo:x,Networks:k,Operation:w,TransactionBuilder:n}=await import("@stellar/stellar-sdk"),I=await o(),z=await I.fetchBaseFee(),$=await I.loadAccount(_),S=new n($,{fee:String(z),networkPassphrase:k.PUBLIC});if(W.isGasAsset)try{await I.loadAccount(D),S.addOperation(w.payment({amount:W.getValue("string"),asset:L.native(),destination:D}))}catch{S.addOperation(w.createAccount({destination:D,startingBalance:W.getValue("string")}))}else S.addOperation(w.payment({amount:W.getValue("string"),asset:new L(W.symbol,W.address),destination:D}));if(R)S.addMemo(x.text(R));return S.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}=s.getChainConfig(s.Chain.Stellar);try{let B=(await(await o()).feeStats()).fee_charged.p50;return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:D,value:B})}catch{return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:D,value:"100"})}}return{broadcastTransaction:Q,createTransaction:Y,estimateTransactionFee:O,getAddress:G,getBalance:M,signAndBroadcastTransaction:J,signTransaction:Z,transfer:N,validateAddress:q1}}var s,o1,CX;var VU=V(()=>{s=require("@swapkit/helpers"),o1=require("ts-pattern"),CX=/^G[A-Z2-7]{55}$/});var X1={};Ny(X1,{validateStellarAddress:()=>q1,getStellarToolbox:()=>EU});module.exports=Ry(X1);var G1=V(()=>{VU()});var _X={};Ny(_X,{getToolbox:()=>QH,getFeeEstimator:()=>QX,getAddressValidator:()=>GX});module.exports=Ry(_X);var j=require("@swapkit/helpers");async function GX(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:T}=await Promise.resolve().then(() => (mT(),hT)),{validateEVMAddress:H}=await Promise.resolve().then(() => (V1(),mH)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (l1(),p1)),{getCosmosAddressValidator:C}=await Promise.resolve().then(() => (z0(),J0)),{validateHyperCoreAddress:U}=await Promise.resolve().then(() => (oC(),UC)),{validateSolanaAddress:o}=await Promise.resolve().then(() => (_C(),QC)),{validateStarknetAddress:q}=await Promise.resolve().then(() => (k0(),w0)),{validateSuiAddress:X}=await Promise.resolve().then(() => (S0(),I0)),{validateTonAddress:G}=await Promise.resolve().then(() => (V0(),E0)),{getUTXOAddressValidator:M}=await Promise.resolve().then(() => (PC(),SC)),{validateNearAddress:Y}=await Promise.resolve().then(() => (iC(),gC)),{validateRadixAddress:Z}=await Promise.resolve().then(() => (rC(),dC)),{validateRippleAddress:Q}=await Promise.resolve().then(() => (sC(),aC)),{validateTronAddress:N}=await Promise.resolve().then(() => (GH(),XH)),{validateStellarAddress:J}=await Promise.resolve().then(() => (G1(),X1));return function({address:D,chain:W}){return y(W).with(...j.EVMChains,()=>H(D)).with(...j.UTXOChains,(B)=>{return M(B)(D)}).with(...j.CosmosChains,(B)=>{return C(B)(D)}).with(j.Chain.Aptos,()=>T(D)).with(j.Chain.Radix,()=>Z(D)).with(j.Chain.Hype,()=>U(D)).with(j.Chain.Near,()=>Y(D)).with(j.Chain.Ripple,()=>Q(D)).with(j.Chain.Solana,()=>o(D)).with(j.Chain.Stellar,()=>J(D)).with(j.Chain.Starknet,()=>q(D)).with(j.Chain.Sui,()=>X(D)).with(j.Chain.Ton,()=>G(D)).with(j.Chain.Tron,()=>N(D)).with(j.Chain.Cardano,()=>f(D)).otherwise(()=>!1)}}function QX(y){return async function(H){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...j.EVMChains,async(C)=>{let U=await QH(C),o=await U.createTransaction(H),q="feeOptionKey"in H?H.feeOptionKey:j.FeeOption.Fast;return U.estimateTransactionFee({...o,feeOption:q})}).with(j.Chain.Bitcoin,j.Chain.BitcoinCash,j.Chain.Dogecoin,j.Chain.Dash,j.Chain.Litecoin,j.Chain.Solana,j.Chain.Ripple,j.Chain.Tron,j.Chain.Near,j.Chain.Cardano,j.Chain.Hype,async(C)=>{return(await QH(C)).estimateTransactionFee(H)}).with(j.Chain.Aptos,async()=>{let{getAptosToolbox:C}=await Promise.resolve().then(() => (mT(),hT));return C().estimateTransactionFee(H)}).with(j.Chain.Starknet,async()=>{let{getStarknetToolbox:C}=await Promise.resolve().then(() => (k0(),w0));return(await C()).estimateTransactionFee(H)}).with(j.Chain.Stellar,async()=>{let{getStellarToolbox:C}=await Promise.resolve().then(() => (G1(),X1));return C().estimateTransactionFee()}).with(j.Chain.Sui,async()=>{let{getSuiToolbox:C}=await Promise.resolve().then(() => (S0(),I0));return C().estimateTransactionFee(H)}).with(j.Chain.Ton,async()=>{let{getTONToolbox:C}=await Promise.resolve().then(() => (V0(),E0));return C().estimateTransactionFee(H)}).with(...j.CosmosChains,async()=>{let{estimateTransactionFee:C}=await Promise.resolve().then(() => (z0(),J0));return C(H)}).otherwise(async()=>j.AssetValue.from({chain:y}))}}async function QH(y,T){let{match:H}=await import("ts-pattern");return H(y).returnType().with(...j.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (E1(),KH));return await f(y,T)}).with(...j.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (PC(),SC));return f(y,T)}).with(...j.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (z0(),J0));return f(y,T)}).with(j.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (mT(),hT));return f(T)}).with(j.Chain.Hype,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (oC(),UC));return f(T)}).with(j.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (rC(),dC));return f(T)}).with(j.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (sC(),aC));return f(T)}).with(j.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (_C(),QC));return f(T)}).with(j.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (G1(),X1));return f(T)}).with(j.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (k0(),w0));return f(T)}).with(j.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (S0(),I0));return f(T)}).with(j.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (GH(),XH));return f(T)}).with(j.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (iC(),gC));return f(T)}).with(j.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (l1(),p1));return f(T)}).with(j.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (V0(),E0));return f(T)}).otherwise(()=>{throw new j.SwapKitError("toolbox_not_supported",{chain:y})})}
|
|
1
|
+
var F8=Object.create;var{getPrototypeOf:x8,defineProperty:q0,getOwnPropertyNames:_C,getOwnPropertyDescriptor:I8}=Object,ZC=Object.prototype.hasOwnProperty;function WC(y){return this[y]}var S8,n8,LC=(y,T,C)=>{var f=y!=null&&typeof y==="object";if(f){var H=T?S8??=new WeakMap:n8??=new WeakMap,U=H.get(y);if(U)return U}C=y!=null?F8(x8(y)):{};let q=T||!y||!y.__esModule?q0(C,"default",{value:y,enumerable:!0}):C;for(let X of _C(y))if(!ZC.call(q,X))q0(q,X,{get:WC.bind(y,X),enumerable:!0});if(f)H.set(y,q);return q},ky=(y)=>{var T=(QC??=new WeakMap).get(y),C;if(T)return T;if(T=q0({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of _C(y))if(!ZC.call(T,f))q0(T,f,{get:WC.bind(y,f),enumerable:!(C=I8(y,f))||C.enumerable})}return QC.set(y,T),T},QC;var P8=(y)=>y;function o8(y,T){this[y]=P8.bind(null,T)}var Dy=(y,T)=>{for(var C in T)q0(y,C,{get:T[C],enumerable:!0,configurable:!0,set:o8.bind(T,C)})};var E=(y,T)=>()=>(y&&(T=y(y=0)),T);function vf(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 V8.test(T)}function YC({derivationPath:y,provider:T,...C}={}){let f,H=m.derivationPathToString(y||m.NetworkDerivationPath[m.Chain.Aptos],{allHardened:!0});async function U(){if(f)return f;return f=await Of.match(C).with({phrase:Of.P.string},async({phrase:A})=>{let{Ed25519Account:N}=await import("@aptos-labs/ts-sdk");return N.fromDerivationPath({mnemonic:A,path:H})}).with({signer:Of.P.any},({signer:A})=>A).otherwise(()=>{return}),f}async function q(){let{Aptos:A,AptosConfig:N,Network:O}=await import("@aptos-labs/ts-sdk"),D=new N({clientConfig:{http2:!1},fullnode:T||m.getRPCUrlSync(m.Chain.Aptos),network:O.MAINNET});return new A(D)}async function X(){return(await U())?.accountAddress.toString()||""}async function G(A){let N=A||await X();if(!N)throw new m.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:O,chain:D}=m.getChainConfig(m.Chain.Aptos);try{let k=await q(),w=await k.getAccountAPTAmount({accountAddress:N}),J=[m.AssetValue.from({chain:D,fromBaseDecimal:O,value:w.toString()})],Z=await k.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:N}}}});for(let _ of Z){if(_.asset_type===Df.COIN_TYPE||Number(_.amount)<=0)continue;let R=_.asset_type;if(R){let $=("metadata"in _&&typeof _.metadata==="object"&&_.metadata!==null?_.metadata:void 0)?.decimals??O;J.push(m.AssetValue.from({asset:`${m.Chain.Aptos}.APT-${R}`,fromBaseDecimal:$,value:String(_.amount)}))}}return J}catch{return[m.AssetValue.from({chain:D})]}}async function Q(A){if(!A){let{baseDecimal:Z}=m.getChainConfig(m.Chain.Aptos),_=T||m.getRPCUrlSync(m.Chain.Aptos),R=await fetch(`${_}/estimate_gas_price`),{gas_estimate:F}=await R.json();return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:Z,value:String(F)})}let N=await U();if(!N)throw new m.SwapKitError("toolbox_aptos_no_signer");let O=await L(A),D=await q(),[k]=await D.transaction.simulate.simple({signerPublicKey:N.publicKey,transaction:O});if(!k)throw new m.SwapKitError("toolbox_aptos_transaction_creation_error");let w=BigInt(k.gas_used)*BigInt(k.gas_unit_price),{baseDecimal:J}=m.getChainConfig(m.Chain.Aptos);return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:J,value:w.toString()})}async function L({recipient:A,assetValue:N,maxGasAmount:O,sender:D}){if(!vf(A))throw new m.SwapKitError("core_transaction_invalid_recipient_address");let k=D||await X();if(!k)throw new m.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:w}=await import("@aptos-labs/ts-sdk"),J=await q(),Z=w.from(k);try{let _=N.isGasAsset?Df.TRANSFER:Df.FUNGIBLE_STORE_TRANSFER,R=Of.match({address:N?.address,isGasAsset:N.isGasAsset}).with({isGasAsset:!0},()=>[w.from(A),N.getBaseValue("bigint")]).with({address:Of.P.string},({address:F})=>[w.from(F),w.from(A),N.getBaseValue("bigint")]).otherwise(()=>null);if(!R)throw new m.SwapKitError("toolbox_aptos_missing_asset_type");return J.transaction.build.simple({data:{function:_,functionArguments:R,typeArguments:N.isGasAsset?[]:[Df.FUNGIBLE_ASSET_METADATA]},options:O?{maxGasAmount:O}:void 0,sender:Z})}catch(_){if(_ instanceof m.SwapKitError)throw _;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",_)}}async function z(A){let N=await U();if(!N)throw new m.SwapKitError("toolbox_aptos_no_signer");return(await q()).transaction.sign({signer:N,transaction:A})}async function Y({assetValue:A,maxGasAmount:N,recipient:O}){let D=await U();if(!D)throw new m.SwapKitError("toolbox_aptos_no_signer");if(!vf(O))throw new m.SwapKitError("core_transaction_invalid_recipient_address");try{let k=D.accountAddress.toString(),w=await L({assetValue:A,maxGasAmount:N,recipient:O,sender:k});return(await(await q()).signAndSubmitTransaction({signer:D,transaction:w})).hash}catch(k){if(k instanceof m.SwapKitError)throw k;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",k)}}async function W({senderAuthenticator:A,transaction:N}){try{return(await(await q()).transaction.submit.simple({senderAuthenticator:A,transaction:N})).hash}catch(O){throw new m.SwapKitError("toolbox_aptos_broadcast_error",O)}}async function B(A){let N=await z(A);return W({senderAuthenticator:N,transaction:A})}return{broadcastTransaction:W,createTransaction:L,estimateTransactionFee:Q,getAddress:X,getBalance:G,signAndBroadcastTransaction:B,signTransaction:z,transfer:Y,validateAddress:vf}}function JC({provider:y}){return async function({assetValue:C,recipient:f}){if(!vf(f))throw new m.SwapKitError("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:Df.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let U=C.address;if(!U)throw new m.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[U,H.from(f).toString(),C.getBaseValue("string")],function:Df.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Df.FUNGIBLE_ASSET_METADATA]})).hash}}var m,Of,Df,V8;var zC=E(()=>{m=require("@swapkit/helpers"),Of=require("ts-pattern"),Df={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"},V8=/^[0-9a-fA-F]+$/});var u0={};Dy(u0,{validateAptosAddress:()=>vf,getAptosToolbox:()=>YC,createAptosExtensionTransfer:()=>JC});module.exports=ky(u0);var h0=E(()=>{zC()});function MC(){function y(){let T=Date.now(),C=_1||T;return _1=C,T>_1?T:C+1}return E8+y().toString(36)}function Sy(y){return async function(C,f=!0){let H=await AC.SwapKitApi.getChainBalance({address:C,chain:y,scamFilter:f}),{baseDecimal:U}=X0.getChainConfig(y),q=H.map(({identifier:G,value:Q,decimal:L})=>{return new X0.AssetValue({decimal:L||U,identifier:G,value:Q})});if(!q.some((G)=>G.isGasAsset))return[X0.AssetValue.from({chain:y}),...q];return q}}var X0,AC,E8,_1=0;var sy=E(()=>{X0=require("@swapkit/helpers"),AC=require("@swapkit/helpers/api"),E8=typeof process<"u"&&process.pid?process.pid.toString(36):""});function G0(y){return{getBalance:Sy(y)}}function v8(y){return y}var m0=E(()=>{sy()});function NC(y){return new Py.JsonRpcProvider(y)}async function b8(y,T){return NC(T||await c.getRPCUrl(y))}function J1(y){let T=c.SKConfig.get("rpcUrls")[y]?.filter(Boolean)??[];if(T.length===0)throw new c.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:y});let{chainId:C}=c.getChainConfig(y),f=Py.Network.from(Number(C)),[H]=T;if(T.length===1)return new Py.JsonRpcProvider(H,f,{staticNetwork:f});return new Py.FallbackProvider(T.map((U,q)=>({priority:q+1,provider:new Py.JsonRpcProvider(U,f,{staticNetwork:f}),stallTimeout:2000})),f,{quorum:1})}function qf(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function z1(y){let{explorerUrl:T,chainIdHex:C,rpcUrls:f}=c.getChainConfig(y);return function(){return y!==c.Chain.Ethereum?{...j8({chain:y}),blockExplorerUrls:[T],chainId:C,rpcUrls:f}:void 0}}function A1(y){return![c.Chain.Adi,c.Chain.Arbitrum,c.Chain.BinanceSmartChain].includes(y)}function j8({chain:y}){let{name:T,nativeCurrency:C,baseDecimal:f}=c.getChainConfig(y);return Y1.match(y).with(c.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(c.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(c.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(c.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(c.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(c.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:c.Chain.Polygon}})).otherwise(()=>({chainName:T,nativeCurrency:{decimals:f,name:C,symbol:C}}))}async function M1(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 DC(y,T){let C=T!==void 0?`index ${T}: `:"",f=(H,U)=>{throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:H,message:`${C}${U}`}})};Y1.match(y).when(({chainId:H})=>typeof H!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:H})=>!K8(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})=>!BC(H?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:H})=>!BC(H?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function OC(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 Z1(y){return y.charAt(0).toUpperCase()+y.slice(1)}function W1(y,T){if(y.isTuple()&&y.components){let C=Z1(y.name);return T[C]=y.components.map((f)=>({name:f.name,type:W1(f,T)})),C}if(y.isArray()){let C=y.arrayChildren;if(C?.isTuple()&&C.components){let f=Z1(y.name.replace(/s$/,""));return T[f]=C.components.map((H)=>({name:H.name,type:W1(H,T)})),`${f}[]`}return`${C?.type??"bytes"}[]`}return y.type}function L1(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]=L1(C[U.name]??y[H],U);return f}if(Array.isArray(y)){let C=T?.arrayChildren;return y.map((f)=>L1(f,C??void 0))}return y}function p8({chain:y,abi:T,data:C,to:f}){let U=new Py.Interface(T).parseTransaction({data:C});if(!U)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let q={},X=Z1(U.name);q[X]=U.fragment.inputs.map((Y)=>({name:Y.name,type:W1(Y,q)}));let G={};for(let[Y,W]of U.fragment.inputs.entries())G[W.name]=L1(U.args[Y],W);let{chainId:Q}=c.getChainConfig(y),L={chainId:Number(Q),verifyingContract:Py.getAddress(f)},z=OC(L);return{domain:L,message:G,primaryType:X,types:{EIP712Domain:z,...q}}}function B1(y,T){if(!Array.isArray(y)||y.length===0)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[C,f]of y.entries())if(DC(f,C),T!==void 0&&f.chainId!==T)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${C}: authorization chainId (${f.chainId}) does not match transaction chainId (${T})`}})}var c,Py,Y1,BC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),K8=(y)=>{try{return typeof y==="string"&&!!Py.getAddress(y)}catch{return!1}};var Q0=E(()=>{c=require("@swapkit/helpers"),Py=require("ethers"),Y1=require("ts-pattern")});var RC;var kC=E(()=>{RC=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function jf({chain:y=S.Chain.Ethereum,provider:T,signer:C,isEIP1559Compatible:f=!0}){return{approve:t8({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),approvedAmount:FC({chain:y,provider:T}),broadcastTransaction:T.broadcastTransaction,call:w1({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),createApprovalTx:d8({chain:y,provider:T,signer:C}),createContract:O1({chain:y,provider:T}),createContractTxObject:Rf({chain:y,provider:T}),createTransaction:N1({chain:y,provider:T,signer:C}),createTransferTx:N1({chain:y,provider:T,signer:C}),EIP1193SendTransaction:pf(T),estimateCall:xC({provider:T,signer:C}),estimateGasLimit:c8({chain:y,provider:T,signer:C}),estimateGasPrices:kf({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:r8({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return C?C.getAddress():void 0},getBalance:G0(y).getBalance,getNetworkParams:z1(y),isApproved:m8({chain:y,provider:T}),sendTransaction:IC({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),signAuthorization:i8({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:g8({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),validateAddress:Z0}}function Z0(y){try{return oy.getAddress(y),!0}catch{return!1}}function Kf(y){return y instanceof oy.BrowserProvider}function W0(y,T,C){return new oy.Contract(y,oy.Interface.from(T),C)}function O1({provider:y}){return function(C,f){return new oy.Contract(C,oy.Interface.from(f),y)}}function R1({abi:y,funcName:T}){let C=y.find((f)=>f.name===T);if(!C)throw new S.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:T});return C.stateMutability&&l8.includes(C.stateMutability)}function wC(y){return oy.getAddress(y)}function pf(y){return function({value:C,...f}){if(!Kf(y))throw new S.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:H,gasPrice:U,maxFeePerGas:q,maxPriorityFeePerGas:X,...G}=f;return y.send("eth_sendTransaction",[{...G,value:qf(BigInt(C||0))}])}}function $C(y,T){let C=lf(y,T);if(C)return oy.getAddress(C.toLowerCase());throw new S.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function lf({chain:y,symbol:T,ticker:C},f){try{let H=y===S.Chain.BinanceSmartChain&&T==="BNB"&&C==="BNB",U=y===S.Chain.Hyperevm&&T==="HYPE"&&C==="HYPE",q=y===f&&T===f&&C===f,X=h8.includes(y)&&T==="ETH"&&C==="ETH";if(q||H||U||X)return k1[f];return oy.getAddress(T.slice(C.length+1).replace(/^0X/,""))}catch{return null}}function Rf({provider:y}){return async({contractAddress:T,abi:C,funcName:f,funcParams:H=[],txOverrides:U})=>{let q=await W0(T,C,y).getFunction(f).populateTransaction(...H.concat(U).filter((X)=>typeof X<"u"));return{...q,value:qf(BigInt(q.value||0))}}}function kf({chain:y,provider:T,isEIP1559Compatible:C=!0}){return D1.match(y).with(S.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:H,maxPriorityFeePerGas:U}=await T.getFeeData();if(!H||U===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Average),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(U,S.FeeOption.Average)},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(U,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(U,S.FeeOption.Fastest)}}}catch(H){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}).with(S.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:H}=await T.getFeeData();if(!H)throw new S.SwapKitError("toolbox_evm_no_fee_data");let U=H*12n/10n;return{[S.FeeOption.Average]:{gasPrice:U},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(U,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(U,S.FeeOption.Fastest)}}}catch(H){throw new S.SwapKitError("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 S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:H,maxPriorityFeePerGas:U},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(U,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(U,S.FeeOption.Fastest)}}}if(!q)throw new S.SwapKitError("toolbox_evm_no_gas_price");return{[S.FeeOption.Average]:{gasPrice:q},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(q,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(q,S.FeeOption.Fastest)}}}catch(H){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}})}function w1({provider:y,isEIP1559Compatible:T,signer:C,chain:f}){return async function({callProvider:U,contractAddress:q,abi:X,funcName:G,funcParams:Q=[],txOverrides:L={},feeOption:z=S.FeeOption.Fast}){let Y=U||y;if(!q)throw new S.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let W=R1({abi:X,funcName:G});if(W&&Kf(Y)&&C){let N=Rf({chain:f,provider:Y}),O=L?.from||await C?.getAddress(),D=await N({abi:X,contractAddress:q,funcName:G,funcParams:Q,txOverrides:{...L,from:O}});return pf(Y)(D)}let B=W0(q,X,Y);if(W){if(!C)throw new S.SwapKitError("toolbox_evm_no_signer");let N=L?.from||await C.getAddress();if(!N)throw new S.SwapKitError("toolbox_evm_no_signer_address");let O=B.connect(C),D=kf({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:k,maxPriorityFeePerGas:w,gasPrice:J}=(await D())[z],Z=await B.getFunction(G).estimateGas(...Q,L),_=await O[G](...Q,{...L,gasLimit:Z,gasPrice:J,maxFeePerGas:k,maxPriorityFeePerGas:w,nonce:L?.nonce||await Y.getTransactionCount(N)});return typeof _?.hash==="string"?_?.hash:_}let A=await B[G]?.(...Q);return typeof A?.hash==="string"?A?.hash:A}}function FC({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:H,from:U}){return w1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:bf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[U,H]})}}function m8({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:H,from:U,amount:q=_0}){let X=await FC({chain:T,provider:y})({assetAddress:f,from:U,spenderAddress:H});return S.SwapKitNumber.fromBigInt(X).gte(S.SwapKitNumber.fromBigInt(BigInt(q)))}}function t8({signer:y,isEIP1559Compatible:T=!0,provider:C,chain:f}){return async function({assetAddress:U,spenderAddress:q,feeOptionKey:X=S.FeeOption.Fast,amount:G,gasLimitFallback:Q,from:L,nonce:z}){let Y=[q,BigInt(G||_0)],W=await y?.getAddress()||L,B={abi:bf.erc20ABI,contractAddress:U,funcName:"approve",funcParams:Y,signer:y,txOverrides:{from:W}};if(Kf(C)){let N=Rf({chain:f,provider:C}),O=pf(C),D=await N(B);return O(D)}return w1({chain:f,isEIP1559Compatible:T,provider:C,signer:y})({...B,feeOption:X,funcParams:Y,txOverrides:{from:W,gasLimit:Q?BigInt(Q.toString()):void 0,nonce:z}})}}function g8({signer:y,isEIP1559Compatible:T=!0,provider:C}){return async function({assetValue:H,memo:U,recipient:q,feeOptionKey:X=S.FeeOption.Fast,sender:G,...Q}){let{hexlify:L,toUtf8Bytes:z}=await import("ethers"),Y=H.getBaseValue("bigint"),W=H.chain,B=G||await y?.getAddress(),A=IC({chain:W,isEIP1559Compatible:T,provider:C,signer:y});if(!B)throw new S.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset){let J={...Q,data:L(z(U||"")),feeOptionKey:X,from:B,to:q,value:qf(Y)};return A(J)}if(!lf(H,W))throw new S.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:O,maxPriorityFeePerGas:D,gasPrice:k}=(await kf({chain:W,isEIP1559Compatible:T,provider:C})())[X],w=await N1({chain:W,provider:C,signer:y})({assetValue:H,data:L(z(U||"")),gasPrice:k,maxFeePerGas:O,maxPriorityFeePerGas:D,memo:U,recipient:q,sender:B});return A(w)}}function xC({provider:y,signer:T}){return function({contractAddress:f,abi:H,funcName:U,funcParams:q=[],txOverrides:X}){if(!f)throw new S.SwapKitError("toolbox_evm_no_contract_address");let G=W0(f,H,y);return T?G.connect(T).getFunction(U).estimateGas(...q,X):G.getFunction(U).estimateGas(...q,X)}}function c8({provider:y,signer:T}){return async function({assetValue:f,recipient:H,memo:U,data:q,sender:X,funcName:G,funcParams:Q,txOverrides:L}){let z=f.bigIntValue,Y=f.isGasAsset?null:lf(f,f.chain);if(Y&&G)return xC({provider:y,signer:T})({abi:bf.erc20ABI,contractAddress:Y,funcName:G,funcParams:Q,txOverrides:L});let{hexlify:W,toUtf8Bytes:B}=await import("ethers");return y.estimateGas({data:q?q:U?W(B(U)):void 0,from:X,to:H,value:z})}}function i8({signer:y}){if(!y)return;return(T)=>M1(y,T)}function IC({provider:y,signer:T,isEIP1559Compatible:C=!0,chain:f}){return async function({feeOptionKey:U=S.FeeOption.Fast,...q}){let{from:X,to:G,data:Q,value:L,...z}=q;if(!T)throw new S.SwapKitError("toolbox_evm_no_signer");if(!G)throw new S.SwapKitError("toolbox_evm_no_to_address");let Y={...z,data:Q||"0x",from:X,to:G,value:BigInt(L||0)};if(Kf(y))return pf(y)(Y);let W=X||await T.getAddress(),B=q.nonce||await y.getTransactionCount(W),A=(await y.getNetwork()).chainId,N=F1(Y,C);if(N==="eip7702")B1(Y.authorizations||[],A);let O=D1.match(N).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),D={...Y,chainId:A,nonce:B,type:O,...N==="eip7702"&&{authorizationList:Y.authorizations}},k=kf({chain:f,isEIP1559Compatible:C,provider:y}),J=N!=="legacy"&&!(Y.maxFeePerGas&&Y.maxPriorityFeePerGas)||!Y.gasPrice?Object.entries((await k())[U]).reduce((_,[R,F])=>({..._,[R]:qf(BigInt(F))}),{}):{},Z;try{Z=qf(Y.gasLimit?BigInt(Y.gasLimit):await y.estimateGas(D)*11n/10n)}catch(_){throw new S.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:_})}try{let _={...D,gasLimit:Z,...J};try{return(await T.sendTransaction(_)).hash}catch{let R=await T.signTransaction({..._,from:W});return(await y.broadcastTransaction(R)).hash}}catch(_){throw new S.SwapKitError("toolbox_evm_error_sending_transaction",{error:_})}}}function N1({provider:y,signer:T}){return async function({assetValue:f,memo:H,recipient:U,data:q,sender:X,maxFeePerGas:G,maxPriorityFeePerGas:Q,gasPrice:L,...z}){let Y=f.getBaseValue("bigint"),W=f.chain,B=X||await T?.getAddress();if(!B)throw new S.SwapKitError("toolbox_evm_no_from_address");if(S.isGasAsset(f)){let{hexlify:O,toUtf8Bytes:D}=await import("ethers");return{...z,data:q||O(D(H||"")),from:B,to:U,value:qf(Y)}}let A=lf(f,W);if(!A)throw new S.SwapKitError("toolbox_evm_no_contract_address");return Rf({chain:f.chain,provider:y})({abi:bf.erc20ABI,contractAddress:A,funcName:"transfer",funcParams:[U,Y],txOverrides:{from:B,gasPrice:L,maxFeePerGas:G,maxPriorityFeePerGas:Q}})}}function d8({provider:y,signer:T,chain:C}){return async function({assetAddress:H,spenderAddress:U,amount:q,from:X}){let G=await T?.getAddress()||X,Q=Rf({chain:C,provider:y}),L=["bigint","number"].includes(typeof q)?q:q||_0;return await Q({abi:bf.erc20ABI,contractAddress:H,funcName:"approve",funcParams:[U,BigInt(L)],txOverrides:{from:G}})}}function r8({provider:y,isEIP1559Compatible:T=!0,chain:C}){return async function({feeOption:H=S.FeeOption.Fast,...U}){let X=await kf({chain:C,isEIP1559Compatible:T,provider:y})(),G=await y.estimateGas(U),Q=S.AssetValue.from({chain:C}),{gasPrice:L,maxFeePerGas:z,maxPriorityFeePerGas:Y}=X[H];if(!T&&L)return Q.set(S.SwapKitNumber.fromBigInt(L*G,Q.decimal));if(z&&Y){let W=(z+Y)*G;return Q.set(S.SwapKitNumber.fromBigInt(W,Q.decimal))}throw new S.SwapKitError("toolbox_evm_no_gas_price")}}var S,bf,oy,D1,_0,l8,u8,k1,h8,t0=(y)=>y.type===4||(y.authorizations?.length??0)>0,$1=(y)=>!t0(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),F1=(y,T=!0)=>{if(t0(y))return"eip7702";if($1(y)||T)return"eip1559";return"legacy"};var g0=E(()=>{m0();Q0();S=require("@swapkit/helpers"),bf=require("@swapkit/helpers/contracts"),oy=require("ethers"),D1=require("ts-pattern"),_0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");l8=["payable","nonpayable"];u8=S.EVMChains.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),k1={...u8,[S.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[S.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},h8=[S.Chain.Arbitrum,S.Chain.Aurora,S.Chain.Base,S.Chain.Optimism]});function c0(y){let T=Yy(qy.Chain.Ethereum)(y);async function C(f,H="0x5ba1e12693dc8f9c48aad8770482f4739beed696",U="aggregate",q=qy.FeeOption.Fast){let X=await T.createContractTxObject({abi:RC,contractAddress:H,funcName:U,funcParams:[f]});return T.sendTransaction({...X,feeOptionKey:q})}return{...T,multicall:C}}function Yy(y){return function({provider:C,...f}){let H=A1(y),U=L0.match(f).with({phrase:L0.P.string},({phrase:X})=>SC.HDNodeWallet.fromPhrase(X).connect(C)).with({signer:L0.P.any},({signer:X})=>X).otherwise(()=>{return});return jf({chain:y,isEIP1559Compatible:H,provider:C,signer:U})}}var qy,SC,L0,i0,d0,r0,a0,s0,e0,yT,nC,fT,TT,HT,CT,UT,qT,XT,GT,QT,_T,Y0,ZT,WT;var x1=E(()=>{kC();Q0();g0();qy=require("@swapkit/helpers"),SC=require("ethers"),L0=require("ts-pattern");i0=Yy(qy.Chain.Adi),d0=Yy(qy.Chain.Arbitrum),r0=Yy(qy.Chain.Aurora),a0=Yy(qy.Chain.Avalanche),s0=Yy(qy.Chain.Base),e0=Yy(qy.Chain.Berachain),yT=Yy(qy.Chain.BinanceSmartChain),nC=Yy(qy.Chain.Botanix),fT=Yy(qy.Chain.Core),TT=Yy(qy.Chain.Corn),HT=Yy(qy.Chain.Cronos),CT=Yy(qy.Chain.Gnosis),UT=Yy(qy.Chain.Hyperevm),qT=Yy(qy.Chain.Linea),XT=Yy(qy.Chain.Polygon),GT=Yy(qy.Chain.MegaETH),QT=Yy(qy.Chain.Monad),_T=Yy(qy.Chain.Plasma),Y0=Yy(qy.Chain.Sonic),ZT=Yy(qy.Chain.Unichain),WT=Yy(qy.Chain.XLayer)});var PC;var oC=E(()=>{PC=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function I1(y){return new LT.Contract(s8,PC,y)}function VC(y){return async function(){let C=I1(y);if(C&&"l1BaseFee"in C)return await C?.l1BaseFee();return}}function EC(y){return async function({from:C,to:f,nonce:H,...U}){let{Transaction:q}=await import("ethers");if(!f)throw new Wy.SwapKitError("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 vC(y){return async function(C){let f=I1(y),H=await EC(y)(C);if(f&&"getL1Fee"in f)return f.getL1Fee(H)}}function bC(y){return async function(C){let H=(await y.getFeeData()).gasPrice??0n,U=await y.estimateGas(C);return H*U}}function e8(y){return async function(C){let f=await vC(y)(C)??0n,H=await bC(y)(C);return f+H}}function yU(y){return async function(C){let f=I1(y),H=await EC(y)(C);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(H)}}function fU(y){return async function(){try{let{maxFeePerGas:C,maxPriorityFeePerGas:f,gasPrice:H}=await y.getFeeData(),U=await VC(y)(),q=H;if(!(C&&f))throw new Wy.SwapKitError("toolbox_evm_no_fee_data");return{[Wy.FeeOption.Average]:{gasPrice:q,l1GasPrice:U,maxFeePerGas:C,maxPriorityFeePerGas:f},[Wy.FeeOption.Fast]:{gasPrice:Wy.applyFeeMultiplierToBigInt(q,Wy.FeeOption.Fast),l1GasPrice:Wy.applyFeeMultiplierToBigInt(U||0n,Wy.FeeOption.Fast),maxFeePerGas:C,maxPriorityFeePerGas:Wy.applyFeeMultiplierToBigInt(f,Wy.FeeOption.Fast)},[Wy.FeeOption.Fastest]:{gasPrice:Wy.applyFeeMultiplierToBigInt(q,Wy.FeeOption.Fastest),l1GasPrice:Wy.applyFeeMultiplierToBigInt(U||0n,Wy.FeeOption.Fastest),maxFeePerGas:C,maxPriorityFeePerGas:Wy.applyFeeMultiplierToBigInt(f,Wy.FeeOption.Fastest)}}}catch(C){throw new Wy.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}function YT({provider:y,...T}){let C=J0.match(T).with({phrase:J0.P.string},({phrase:U})=>LT.HDNodeWallet.fromPhrase(U).connect(y)).with({signer:J0.P.any},({signer:U})=>U).otherwise(()=>{return}),f=jf({provider:y,signer:C}),H=VC(y);return{...f,estimateGasPrices:fU(y),estimateL1Gas:yU(y),estimateL1GasCost:vC(y),estimateL2GasCost:bC(y),estimateTotalGasCost:e8(y),getBalance:G0(Wy.Chain.Optimism).getBalance,getL1GasPrice:H}}var Wy,LT,J0,s8="0x420000000000000000000000000000000000000f";var S1=E(()=>{m0();oC();g0();Wy=require("@swapkit/helpers"),LT=require("ethers"),J0=require("ts-pattern")});var pC={};Dy(pC,{validateEVMAddress:()=>Z0,toChecksumAddress:()=>wC,isStateChangingCall:()=>R1,isEIP7702Transaction:()=>t0,isEIP1559Transaction:()=>$1,isBrowserProvider:()=>Kf,getTokenAddress:()=>lf,getEvmToolboxAsync:()=>KC,getEvmToolbox:()=>n1,getEstimateGasPrices:()=>kf,getEVMTxType:()=>F1,getEIP1193SendTransaction:()=>pf,getCreateContractTxObject:()=>Rf,getCreateContract:()=>O1,getChecksumAddressFromAsset:()=>$C,createContract:()=>W0,XLayerToolbox:()=>WT,UNIToolbox:()=>ZT,SONICToolbox:()=>Y0,PLASMAToolbox:()=>_T,OPToolbox:()=>YT,MONADToolbox:()=>QT,MEGAETHToolbox:()=>GT,MAX_APPROVAL:()=>_0,MATICToolbox:()=>XT,LINEAToolbox:()=>qT,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>CT,ETHToolbox:()=>c0,ContractAddress:()=>k1,CROToolbox:()=>HT,CORNToolbox:()=>TT,COREToolbox:()=>fT,BotanixToolbox:()=>nC,BaseEVMToolbox:()=>jf,BSCToolbox:()=>yT,BERAToolbox:()=>e0,BASEToolbox:()=>s0,AVAXToolbox:()=>a0,AURORAToolbox:()=>r0,ARBToolbox:()=>d0,ADIToolbox:()=>i0});function n1(y,T){return jC.match(y).with(Qy.Chain.Adi,()=>i0(T)).with(Qy.Chain.Arbitrum,()=>d0(T)).with(Qy.Chain.Aurora,()=>r0(T)).with(Qy.Chain.Avalanche,()=>a0(T)).with(Qy.Chain.Base,()=>s0(T)).with(Qy.Chain.Berachain,()=>e0(T)).with(Qy.Chain.BinanceSmartChain,()=>yT(T)).with(Qy.Chain.Botanix,()=>Y0(T)).with(Qy.Chain.Core,()=>fT(T)).with(Qy.Chain.Corn,()=>TT(T)).with(Qy.Chain.Cronos,()=>HT(T)).with(Qy.Chain.Ethereum,()=>c0(T)).with(Qy.Chain.Gnosis,()=>CT(T)).with(Qy.Chain.Hyperevm,()=>UT(T)).with(Qy.Chain.Linea,()=>qT(T)).with(Qy.Chain.MegaETH,()=>GT(T)).with(Qy.Chain.Monad,()=>QT(T)).with(Qy.Chain.Optimism,()=>YT(T)).with(Qy.Chain.Plasma,()=>_T(T)).with(Qy.Chain.Polygon,()=>XT(T)).with(Qy.Chain.Sonic,()=>Y0(T)).with(Qy.Chain.Unichain,()=>ZT(T)).with(Qy.Chain.XLayer,()=>WT(T)).exhaustive()}async function KC(y,T){let C={...T,provider:T?.provider||J1(y)};return n1(y,C)}var Qy,jC;var P1=E(()=>{Q0();x1();S1();Qy=require("@swapkit/helpers"),jC=require("ts-pattern");g0();x1();S1()});var lC;var uC=E(()=>{((C)=>{C.Test="goerli";C.Main="homestead"})(lC||={})});var hC={};Dy(hC,{validateEVMAddress:()=>Z0,validateAuthorizations:()=>B1,validateAuthorization:()=>DC,toHexString:()=>qf,toChecksumAddress:()=>wC,signAuthorization:()=>M1,parseEIP712FromEVMTx:()=>p8,isStateChangingCall:()=>R1,isEIP7702Transaction:()=>t0,isEIP1559Transaction:()=>$1,isBrowserProvider:()=>Kf,getTokenAddress:()=>lf,getProviderSync:()=>NC,getProvider:()=>b8,getNetworkParams:()=>z1,getIsEIP1559Compatible:()=>A1,getFallbackProvider:()=>J1,getEvmToolboxAsync:()=>KC,getEvmToolbox:()=>n1,getEvmApi:()=>G0,getEstimateGasPrices:()=>kf,getEVMTxType:()=>F1,getEIP1193SendTransaction:()=>pf,getCreateContractTxObject:()=>Rf,getCreateContract:()=>O1,getChecksumAddressFromAsset:()=>$C,createCustomEvmApi:()=>v8,createContract:()=>W0,buildEIP712DomainType:()=>OC,XLayerToolbox:()=>WT,UNIToolbox:()=>ZT,SONICToolbox:()=>Y0,PLASMAToolbox:()=>_T,OPToolbox:()=>YT,MONADToolbox:()=>QT,MEGAETHToolbox:()=>GT,MAX_APPROVAL:()=>_0,MATICToolbox:()=>XT,LINEAToolbox:()=>qT,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>CT,EthNetwork:()=>lC,ETHToolbox:()=>c0,ContractAddress:()=>k1,CROToolbox:()=>HT,CORNToolbox:()=>TT,COREToolbox:()=>fT,BotanixToolbox:()=>nC,BaseEVMToolbox:()=>jf,BSCToolbox:()=>yT,BERAToolbox:()=>e0,BASEToolbox:()=>s0,AVAXToolbox:()=>a0,AURORAToolbox:()=>r0,ARBToolbox:()=>d0,ADIToolbox:()=>i0});module.exports=ky(hC);var o1=E(()=>{m0();Q0();P1();uC()});async function E1(y,T){let C=await fetch(`${rC}${y}`,{...T,headers:{project_id:dC,...T?.headers}});if(!C.ok)throw Error(`Blockfrost API error: ${C.status} ${C.statusText}`);return C.json()}async function aC(y){try{return await E1(`/addresses/${y}/utxos`)}catch{return[]}}async function TU(){return(await E1("/blocks/latest")).slot}async function HU(){let y=await E1("/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 Vy.default(y.collateral_percent),languageView:T,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new Vy.default(y.min_fee_a),minFeeB:new Vy.default(y.min_fee_b),minFeeRefScriptCostPerByte:new Vy.default(15),priceMem:new Vy.default(y.price_mem),priceSteps:new Vy.default(y.price_step),stakeKeyDeposit:new Vy.default(2000000),utxoCostPerByte:new Vy.default(y.coins_per_utxo_size)}}async function tC(y){let T=await fetch(`${rC}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:dC},method:"POST"});if(!T.ok){let C=await T.text();throw Error(`Transaction submission failed: ${C}`)}return T.json()}function CU(y,T){return y.map((C)=>{let f=C.amount.find((q)=>q.unit==="lovelace"),H=f?new Vy.default(f.quantity):new Vy.default(0),U=C.amount.filter((q)=>q.unit!=="lovelace").map((q)=>({amount:new Vy.default(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 UU(y){try{let T=await aC(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 L=f.get(G)||0n;f.set(G,L+BigInt(Q))}}}let H=[],{baseDecimal:U}=Ly.getChainConfig(Ly.Chain.Cardano);if(C>0n)H.push(Ly.AssetValue.from({chain:Ly.Chain.Cardano,fromBaseDecimal:U,value:C.toString()}));for(let[q,X]of f)H.push(Ly.AssetValue.from({asset:`${Ly.Chain.Cardano}.${q}`,value:X.toString()}));if(H.length===0)return[Ly.AssetValue.from({chain:Ly.Chain.Cardano})];return H}catch(T){let C=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${C}`),[Ly.AssetValue.from({chain:Ly.Chain.Cardano})]}}function sC(y){if(!y||typeof y!=="string")return!1;try{let T=gC.bech32.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function qU(y,T=0,C=0){let{Bip32PrivateKey:f}=await import("@stricahq/bip32ed25519"),{types:H,address:U,crypto:q}=await import("@stricahq/typhonjs"),X=cC.mnemonicToEntropy(y,iC.wordlist),Q=(await f.fromEntropy(Buffer.from(Array.from(X)))).derive(V1+1852).derive(V1+1815).derive(V1+T),L=Q.derive(0).derive(C),z=L.toBip32PublicKey().toPublicKey().toBytes(),Y=q.hash28(z),B=Q.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),A=q.hash28(B),N={hash:Y,type:H.HashType.ADDRESS},O={hash:A,type:H.HashType.ADDRESS},k=new U.BaseAddress(H.NetworkId.MAINNET,N,O).getBech32(),w=L.toPrivateKey();return{getAddress:()=>k,publicKey:z,publicKeyHash:Y,signTransaction:async(J)=>{try{let Z=await import("@stricahq/cbors"),_=Buffer.from(J,"hex"),R=Z.Decoder.decode(_),[F,$,x,n]=R.value,M=Z.Encoder.encode(F),I=q.hash32(M),P=w.sign(I),b=$ instanceof Map?$:new Map,v=b.get(mC)||[];v.push([z,P]),b.set(mC,v);let t=[F,b,x,n];return Z.Encoder.encode(t).toString("hex")}catch(Z){throw new Ly.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(Z)})}}}}function XU(y){let T,C,f;async function H(){if(!f)f=await HU();return f}async function U(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let W=y.index??0;return T=await qU(y.phrase,0,W),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function q(){if(C)return C;let W=await U();if(!W)return"";if("getAddress"in W)return C=await W.getAddress(),C;return""}async function X(W){let B=W||await q();if(!B)throw new Ly.SwapKitError("core_wallet_connection_not_found");return UU(B)}async function G(W){if(W)try{let{tx:O}=await Q(W),D=O.getFee();return Ly.AssetValue.from({chain:Ly.Chain.Cardano,fromBaseDecimal:6,value:D.toString()})}catch{}let B=await H(),A=400,N=B.minFeeB.plus(B.minFeeA.times(A));return Ly.AssetValue.from({chain:Ly.Chain.Cardano,fromBaseDecimal:6,value:N.toString()})}async function Q({sender:W="",recipient:B,assetValue:A,memo:N,pureLovelaceOnly:O=!1}){let{Transaction:D,utils:k}=await import("@stricahq/typhonjs"),w=W||await q();if(!w)throw new Ly.SwapKitError("core_wallet_connection_not_found");let[J,Z,_]=await Promise.all([aC(w),TU(),H()]),R=J.filter((a)=>O?a.amount.every((_y)=>_y.unit==="lovelace"):a.amount.some((_y)=>_y.unit==="lovelace")).sort((a,_y)=>{let Zy=a.amount.some((Ay)=>Ay.unit!=="lovelace"),$y=_y.amount.some((Ay)=>Ay.unit!=="lovelace");if(Zy===$y)return 0;return Zy?1:-1}),F=k.getAddressFromString(w),$=k.getAddressFromString(B),x=CU(R,F),n=new Vy.default(A.getBaseValue("string")),M=[{address:$,amount:n,tokens:[]}],I;if(N){let a=new Map;a.set("msg",[N]),I={metadata:[{data:a,label:674}]}}let P={..._,minFeeB:_.minFeeB.plus(_.minFeeA.times(4))},v=new D({protocolParams:P}).paymentTransaction({auxiliaryData:I,changeAddress:F,inputs:x,outputs:M,ttl:Z+3600}),{payload:t}=v.buildTransaction();return{tx:v,unsignedTx:t}}async function L(W){let B=await U();if(!B||!("signTransaction"in B))throw new Ly.SwapKitError("core_wallet_connection_not_found");return B.signTransaction(W)}async function z({recipient:W,assetValue:B,memo:A}){let N=await U();if(!N||!("signTransaction"in N))throw new Ly.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:O}=await Q({assetValue:B,memo:A,recipient:W,sender:await q()}),D=await L(O);return await tC(D)}async function Y(W){let B=await L(W);return await tC(B)}return{createTransaction:Q,estimateTransactionFee:G,getAddress:q,getBalance:X,signAndBroadcastTransaction:Y,signTransaction:L,transfer:z,validateAddress:sC}}var gC,cC,iC,Ly,Vy,dC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",rC="https://cardano-mainnet.blockfrost.io/api/v0",V1=2147483648,mC=0;var eC=E(()=>{gC=require("@scure/base"),cC=require("@scure/bip39"),iC=require("@scure/bip39/wordlists/english.js"),Ly=require("@swapkit/helpers"),Vy=LC(require("bignumber.js"))});var v1={};Dy(v1,{validateCardanoAddress:()=>sC,getCardanoToolbox:()=>XU});module.exports=ky(v1);var b1=E(()=>{eC()});function z0(y){return iy.base64.encode(Uint8Array.from(iy.bech32.fromWords(iy.bech32.decode(y).words)))}function A0(y,T="thor"){return iy.bech32.encode(T,iy.bech32.toWords(iy.base64.decode(y)))}function GU(y){return iy.base64.encode(y)}function QU(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new y5.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iy.base64.decode(y)}var iy,y5;var j1=E(()=>{iy=require("@scure/base"),y5=require("@swapkit/helpers")});function ey(y){switch(y){case u.Chain.Maya:return{amount:[],gas:"10000000000"};case u.Chain.THORChain:return{amount:[],gas:"500000000"};case u.Chain.Kujira:return H5;case u.Chain.Noble:return C5;default:return T5}}async function yf(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 wf(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 p1(y,T){let C=await import("@cosmjs/stargate");return(C.SigningStargateClient??C.default?.SigningStargateClient).offline(y,T)}async function l1({sender:y,recipient:T,assetValue:C,memo:f="",feeRate:H,sequence:U,accountNumber:q}){let{chain:X,chainId:G}=C,Q=await u.getRPCUrl(X),z=await(await yf(Q)).getAccount(y);if(!z)throw new u.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let Y=u.AssetValue.from({chain:X}),W=Xf(Y.symbol),B=ey(X),A=W&&H?{amount:[{amount:H.toString(),denom:W}],gas:B.gas}:B,N={amount:[{amount:C.getBaseValue("string"),denom:Xf(C.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:q??Number(z.accountNumber),chainId:G,fee:A,memo:f,msgs:[{typeUrl:_U(X),value:N}],sequence:U??z.sequence}}var u,K1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",f5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",T5,H5,C5,Xf=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return K1;case"uYUM":case"YUM":return f5;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},M0=({symbol:y,chain:T})=>{if(T===u.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${u.Chain.Maya}.${y}`).toUpperCase();if(T===u.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${u.Chain.THORChain}.${y}`:y).toUpperCase();return Xf(y,!1)},_U=(y)=>{switch(y){case u.Chain.Maya:case u.Chain.THORChain:return"/types.MsgSend";case u.Chain.Cosmos:case u.Chain.Kujira:case u.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new u.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},ZU,u1=(y,T)=>{let C=ZU[y.toLowerCase()];if(!C)return u.AssetValue.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:H,decimals:U}=C,q=f?{chain:f}:{asset:H};return u.AssetValue.from({...q,fromBaseDecimal:U,value:T})};var B0=E(()=>{u=require("@swapkit/helpers"),T5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},H5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},C5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};ZU={atom:{chain:u.Chain.Cosmos,decimals:u.getChainConfig(u.Chain.Cosmos).baseDecimal},cacao:{chain:u.Chain.Maya,decimals:10},kuji:{chain:u.Chain.Kujira,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal},maya:{asset:`${u.Chain.Maya}.${u.Chain.Maya}`,decimals:4},rune:{chain:u.Chain.THORChain,decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},uatom:{chain:u.Chain.Cosmos,decimals:u.getChainConfig(u.Chain.Cosmos).baseDecimal},ukuji:{chain:u.Chain.Kujira,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal},usdc:{chain:u.Chain.Noble,decimals:u.getChainConfig(u.Chain.Noble).baseDecimal},uusdc:{chain:u.Chain.Noble,decimals:u.getChainConfig(u.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:u.getChainConfig(u.Chain.THORChain).baseDecimal},[K1.toLowerCase()]:{asset:`${u.Chain.Kujira}.USK`,decimals:u.getChainConfig(u.Chain.Kujira).baseDecimal}}});var U5={};Dy(U5,{$root:()=>V});var Oy,h,vy,p,V;var q5=E(()=>{Oy=LC(require("protobufjs/minimal.js")),h=Oy.default.Reader,vy=Oy.default.Writer,p=Oy.default.util,V=Oy.default.roots.default||(Oy.default.roots.default={});V.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=vy.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.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 h))f=new h(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(!p.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!p.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!p.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 V.common.Asset)return f;let H=new V.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,Oy.default.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=p.Long?p.Long.fromBits(0,0,!1):0,T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=vy.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))V.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.common.Coin;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:q.asset=V.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 h))f=new h(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=V.common.Asset.verify(f.asset);if(H)return"asset."+H}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!p.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!p.isInteger(f.decimals)&&!(f.decimals&&p.isInteger(f.decimals.low)&&p.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(f){if(f instanceof V.common.Coin)return f;let H=new V.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");H.asset=V.common.Asset.fromObject(f.asset)}if(f.amount!=null)H.amount=String(f.amount);if(f.decimals!=null){if(p.Long)(H.decimals=p.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 p.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="",p.Long){let q=new p.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=V.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?p.Long.prototype.toString.call(f.decimals):H.longs===Number?new p.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Oy.default.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=vy.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.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 h))f=new h(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(!p.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!p.isString(f.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.PubKeySet)return f;let H=new V.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,Oy.default.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=p.emptyArray,T.prototype.gas=p.emptyArray,T.prototype.memo="",T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=vy.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)V.common.Coin.encode(f.coins[U],H.uint32(42).fork()).ldelim();if(f.gas?.length)for(let U=0;U<f.gas.length;++U)V.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.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(V.common.Coin.decode(f,f.uint32()));break;case 6:if(!q.gas?.length)q.gas=[];q.gas.push(V.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 h))f=new h(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(!p.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!p.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!p.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!p.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=V.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=V.common.Coin.verify(f.gas[H]);if(U)return"gas."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!p.isString(f.memo))return"memo: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.Tx)return f;let H=new V.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]=V.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]=V.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]=V.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]=V.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,Oy.default.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=p.emptyArray,T.prototype.poolDeduct="",T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=vy.create();if(f.coins?.length)for(let U=0;U<f.coins.length;++U)V.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.common.Fee;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:if(!q.coins?.length)q.coins=[];q.coins.push(V.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 h))f=new h(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=V.common.Coin.verify(f.coins[H]);if(U)return"coins."+U}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!p.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.Fee)return f;let H=new V.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]=V.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]=V.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,Oy.default.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=vy.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.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 h))f=new h(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(!p.isString(f.value))return"value: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.ProtoUint)return f;let H=new V.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,Oy.default.util.toJSONOptions)},T})(),y})();V.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=p.emptyArray,T.prototype.memo="",T.prototype.signer=p.newBuffer([]),T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=vy.create();if(f.coins?.length)for(let U=0;U<f.coins.length;++U)V.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.types.MsgDeposit;while(f.pos<U){let X=f.uint32();switch(X>>>3){case 1:if(!q.coins?.length)q.coins=[];q.coins.push(V.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 h))f=new h(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=V.common.Coin.verify(f.coins[H]);if(U)return"coins."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!p.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||p.isString(f.signer)))return"signer: buffer expected"}return null},T.fromObject=function(f){if(f instanceof V.types.MsgDeposit)return f;let H=new V.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]=V.common.Coin.fromObject(f.coins[U])}}if(f.memo!=null)H.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")p.base64.decode(f.signer,H.signer=p.newBuffer(p.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=p.newBuffer(U.signer)}if(f.coins?.length){U.coins=[];for(let q=0;q<f.coins.length;++q)U.coins[q]=V.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?p.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,Oy.default.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=p.newBuffer([]),T.prototype.toAddress=p.newBuffer([]),T.prototype.amount=p.emptyArray,T.create=function(f){return new T(f)},T.encode=function(f,H){if(!H)H=vy.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)V.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 h))f=h.create(f);let U=H===void 0?f.len:f.pos+H,q=new V.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(V.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(X&7);break}}return q},T.decodeDelimited=function(f){if(!(f instanceof h))f=new h(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"||p.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||p.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=V.cosmos.base.v1beta1.Coin.verify(f.amount[H]);if(U)return"amount."+U}}return null},T.fromObject=function(f){if(f instanceof V.types.MsgSend)return f;let H=new V.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")p.base64.decode(f.fromAddress,H.fromAddress=p.newBuffer(p.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)H.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")p.base64.decode(f.toAddress,H.toAddress=p.newBuffer(p.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]=V.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=p.newBuffer(U.fromAddress);if(H.bytes===String)U.toAddress="";else if(U.toAddress=[],H.bytes!==Array)U.toAddress=p.newBuffer(U.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=H.bytes===String?p.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?p.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]=V.cosmos.base.v1beta1.Coin.toObject(f.amount[q],H)}return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Oy.default.util.toJSONOptions)},T})(),y})();V.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=vy.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 h))U=h.create(U);let X=q===void 0?U.len:U.pos+q,G=new V.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 h))U=new h(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(!p.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!p.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof V.cosmos.base.v1beta1.Coin)return U;let q=new V.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,Oy.default.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=vy.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 h))U=h.create(U);let X=q===void 0?U.len:U.pos+q,G=new V.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 h))U=new h(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(!p.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!p.isString(U.amount))return"amount: string expected"}return null},f.fromObject=function(U){if(U instanceof V.cosmos.base.v1beta1.DecCoin)return U;let q=new V.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,Oy.default.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=vy.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 h))U=h.create(U);let X=q===void 0?U.len:U.pos+q,G=new V.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 h))U=new h(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(!p.isString(U.int))return"int: string expected"}return null},f.fromObject=function(U){if(U instanceof V.cosmos.base.v1beta1.IntProto)return U;let q=new V.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,Oy.default.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=vy.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 h))U=h.create(U);let X=q===void 0?U.len:U.pos+q,G=new V.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 h))U=new h(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(!p.isString(U.dec))return"dec: string expected"}return null},f.fromObject=function(U){if(U instanceof V.cosmos.base.v1beta1.DecProto)return U;let q=new V.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,Oy.default.util.toJSONOptions)},f})(),C})(),T})(),y})()});async function $f(){let{$root:y}=await Promise.resolve().then(() => (q5(),U5)),T=await import("@cosmjs/proto-signing"),C=await import("@cosmjs/stargate"),f=T.Registry??T.default?.Registry,H=C.defaultRegistryTypes??C.default?.defaultRegistryTypes;return new f([...H,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function Gf(y){let T=await import("@cosmjs/stargate"),C=T.AminoTypes??T.default?.AminoTypes,f=y===X5.Chain.THORChain?"thorchain":"mayachain";return new C({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:H,...U})=>({...U,signer:z0(H)}),toAmino:({signer:H,...U})=>({...U,signer:A0(H)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:H,to_address:U,...q})=>({...q,fromAddress:z0(H),toAddress:z0(U)}),toAmino:({fromAddress:H,toAddress:U,...q})=>({...q,from_address:A0(H),to_address:A0(U)})}})}var X5;var h1=E(()=>{j1();X5=require("@swapkit/helpers")});function g1(y){let{assetValue:T,recipient:C,memo:f,sender:H,asSignable:U,asAminoMessage:q}=y;if(C)return Q5({asAminoMessage:q,asSignable:U,assetValue:T,memo:f,recipient:C,sender:H});return _5({asAminoMessage:q,asSignable:U,assetValue:T,memo:f,sender:H})}async function Q5({sender:y,recipient:T,assetValue:C,memo:f="",asSignable:H=!0,asAminoMessage:U=!1,sequence:q,accountNumber:X}){let G=C.chain,Q=await Fy.getRPCUrl(G),L=await G5({rpcUrl:Q,sender:y}),{chainId:z}=Fy.getChainConfig(G),Y=m1({assetValue:C,recipient:T,sender:y}),W=H?await Qf(U?Y:_f(Y),G):Y;return{accountNumber:X||Number(L.accountNumber),chainId:z,fee:ey(G),memo:f,msgs:[W],sequence:q||L.sequence}}async function _5({sender:y,assetValue:T,memo:C="",asSignable:f=!0,asAminoMessage:H=!1,sequence:U,accountNumber:q}){let X=T.chain,G=await Fy.getRPCUrl(X),Q=await G5({rpcUrl:G,sender:y}),{chainId:L}=Fy.getChainConfig(X),z=t1({assetValue:T,memo:C,sender:y}),Y=f?await Qf(H?z:_f(z),X):z;return{accountNumber:q||Number(Q.accountNumber),chainId:L,fee:ey(X),memo:C,msgs:[Y],sequence:U||Q.sequence}}function _f(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((T)=>{let C=Fy.AssetValue.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 N0({chain:y,memo:T,msgs:C}){let f=await $f(),H=await Gf(y),U={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:C.map((q)=>H.fromAmino(q))}};return f.encode(U)}var Fy,WU,LU,m1=({sender:y,recipient:T,assetValue:C})=>{return{type:`${C.chain===Fy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:C.getBaseValue("string"),denom:Xf(C.symbol,!0)}],from_address:y,to_address:T}}},t1=({sender:y,assetValue:T,memo:C=""})=>{return{type:`${T.chain===Fy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:M0(T)}],memo:C,signer:y}}},JT=({sender:y,recipient:T,assetValue:C,memo:f})=>{return!T?t1({assetValue:C,memo:f,sender:y}):m1({assetValue:C,recipient:T,sender:y})},Qf=async(y,T)=>{return(await Gf(T)).fromAmino(y)},G5=async({rpcUrl:y,sender:T})=>{let f=await(await yf(y)).getAccount(T);if(!f)throw new Fy.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});return f};var Z5=E(()=>{B0();h1();Fy=require("@swapkit/helpers"),WU=ey(Fy.Chain.THORChain).gas,LU=ey(Fy.Chain.Maya).gas});var W5=()=>{};var L5=E(()=>{W5()});var c1=E(()=>{j1();Z5();h1();L5()});async function r1(y,T){try{let f=(await d1.SwapKitApi.getGasRate()).find((H)=>H.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}async function i1({phrase:y,prefix:T,...C}){let f=await import("@cosmjs/proto-signing"),H=await import("@cosmjs/crypto"),U=f.DirectSecp256k1HdWallet??f.default?.DirectSecp256k1HdWallet,q=H.stringToPath??H.default?.stringToPath,X="derivationPath"in C?C.derivationPath:`${j.DerivationPath[C.chain]}/${C.index}`;return await U.fromMnemonic(y,{hdPaths:[q(X)],prefix:T})}async function YU({privateKey:y,prefix:T}){let C=await import("@cosmjs/proto-signing");return(C.DirectSecp256k1Wallet??C.default?.DirectSecp256k1Wallet).fromKey(y,T)}function A5(y){return async function({signature:C,message:f,address:H}){let U=await y(H);if(!U?.pubkey)throw new j.SwapKitError("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(Zf.base64.decode(C));return G.verifySignature(Q,Zf.base64.decode(f),U.pubkey.value)}}function O0({chain:y,...T}){let C=j.CosmosChainPrefixes[y],f="index"in T?T.index||0:0,H=j.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[y],{index:f})),U;async function q(){if(U)return U;return U=await D0.match(T).with({phrase:D0.P.string},({phrase:W})=>i1({derivationPath:H,phrase:W,prefix:C})).with({signer:D0.P.any},({signer:W})=>W).otherwise(()=>{return}),U}async function X(W){let B=await j.getRPCUrl(y);return(await yf(B)).getAccount(W)}async function G(){let W=await q(),[B]=await W?.getAccounts()||[];return B?.address}async function Q(){let W=await q(),[B]=await W?.getAccounts()||[];if(!B?.pubkey)throw new j.SwapKitError("toolbox_cosmos_signer_not_defined");return Zf.base64.encode(B?.pubkey)}async function L(W){let B=await q(),A=await G(),N=await j.getRPCUrl(y);if(!(B&&A))throw new j.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await wf(N,B)).sign(A,W.msgs,W.fee,W.memo,{accountNumber:BigInt(W.accountNumber),chainId:W.chainId,sequence:W.sequence})}async function z(W){let B=await q(),A=await G(),N=await j.getRPCUrl(y);if(!(B&&A))throw new j.SwapKitError("toolbox_cosmos_signer_not_defined");let D=await(await wf(N,B)).signAndBroadcast(A,W.msgs,W.fee,W.memo);if(D.code!==0)throw new j.SwapKitError("core_swap_transaction_error",{code:D.code,message:D.rawLog});return D.transactionHash}async function Y({recipient:W,assetValue:B,memo:A="",feeRate:N,feeOptionKey:O=j.FeeOption.Fast}){let D=await q(),k=await G();if(!(D&&k))throw new j.SwapKitError("toolbox_cosmos_signer_not_defined");let w=await j.getRPCUrl(y),J=j.AssetValue.from({chain:y}),Z=M0(J),_=N||AU((await J5(y,Y5[y]))[O],Z),R=await wf(w,D),F=Xf(B.symbol),$=[{amount:B.getBaseValue("string"),denom:F}],{transactionHash:x}=await R.sendTokens(k,W,$,_,A);return x}return{createPrivateKeyFromPhrase:BU(H),createTransaction:l1,fetchFeeRateFromSwapKit:r1,getAccount:X,getAddress:G,getBalance:async(W,B)=>{let A=await z5(y)(W),N=await Promise.all(A.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([j.Chain.THORChain,j.Chain.Maya].includes(y)&&O.split("-").length>2)).map(({denom:O,amount:D})=>{let k=[j.Chain.THORChain,j.Chain.Maya].includes(y)&&(O.includes("/")||O.includes("˜"))?`${y}.${O}`:O;return u1(k,D)}));if(N.length===0)return[j.AssetValue.from({chain:y})];return N},getBalanceAsDenoms:z5(y),getFees:()=>J5(y,Y5[y]),getPubKey:Q,getSignerFromPhrase:({phrase:W,derivationPath:B})=>i1({derivationPath:j.derivationPathToString(B),index:f,phrase:W,prefix:C}),getSignerFromPrivateKey:async(W)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(W,C)},signAndBroadcastTransaction:z,signTransaction:L,transfer:Y,validateAddress:M5(y),verifySignature:A5(X)}}async function JU(y,T){try{let f=(await d1.SwapKitApi.getGasRate()).find((H)=>H.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}function zU({assetValue:{chain:y}}){return j.AssetValue.from({chain:y,value:MU(y)})}async function J5(y,T){let{chainId:C,baseDecimal:f}=j.getChainConfig(y),H=await r1(C,T);return{average:j.SwapKitNumber.fromBigInt(BigInt(H),f),fast:j.SwapKitNumber.fromBigInt(BigInt(j.applyFeeMultiplier(H,j.FeeOption.Fast,!0)),f),fastest:j.SwapKitNumber.fromBigInt(BigInt(j.applyFeeMultiplier(H,j.FeeOption.Fastest,!0)),f)}}function AU(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function MU(y){return{[j.Chain.Cosmos]:0.007,[j.Chain.Kujira]:0.02,[j.Chain.Noble]:0.01,[j.Chain.THORChain]:0.02,[j.Chain.Maya]:0.02,[j.Chain.Harbor]:0.02}[y]||0}function M5(y){let T=j.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:H,words:U}=Zf.bech32.decode(f);return Zf.bech32.encode(H,U)===f.toLocaleLowerCase()}catch{return!1}}}function z5(y){return async function(C){let f=await j.getRPCUrl(y);return(await(await yf(f)).getAllBalances(C)).map((X)=>({...X,denom:X.denom.includes("/")?X.denom.toUpperCase():X.denom}))}}function BU(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),L=await G.mnemonicToSeed(Q),{privkey:z}=q.derivePath(U.Secp256k1,L,H(y));return z}}var Zf,j,d1,D0,Y5;var zT=E(()=>{B0();Zf=require("@scure/base"),j=require("@swapkit/helpers"),d1=require("@swapkit/helpers/api"),D0=require("ts-pattern");Y5={[j.Chain.Cosmos]:1000,[j.Chain.Kujira]:1000,[j.Chain.Noble]:1000,[j.Chain.THORChain]:5000000,[j.Chain.Maya]:5000000,[j.Chain.Harbor]:5000000}});function NU({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 DU(y){return Wf.base64.encode(y)}function OU(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,L=(await C.getAccounts())?.[0]?.address||"",z=await Gf(y),Y=await $f(),W=await p1(C,{aminoTypes:z,registry:Y}),B=[];for(let O of H){let D=await Qf(O,y);B.push(D)}let{signatures:[A]}=await W.sign(L,B,G,Q,{accountNumber:BigInt(U),chainId:X,sequence:q});return{bodyBytes:await N0({chain:y,memo:Q,msgs:H.map(_f)}),signature:DU(A)}}}function RU({prefix:y,chain:T}){return async function(f,H,U,q,X){let G=await yy.getRPCUrl(T),{encodeSecp256k1Pubkey:Q,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:Y,fee:W}=JSON.parse(f),B=await B5(U,q),A=H.map((D)=>[L(Q(Wf.base64.decode(D.pubKey)),y),Wf.base64.decode(D.signature)]),N=await yf(G),{transactionHash:O}=await N.broadcastTx(z(B,Y,W,X,new Map(A)));return O}}async function B5(y,T,C=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:H}=(await import("@cosmjs/amino")).default;return f(y.map((U)=>H(Wf.base64.decode(U))),T,C)}function kU(y){return Wf.base64.decode(y)}async function wU({privateKey:y,message:T}){let{Secp256k1:C}=(await import("@cosmjs/crypto")).default,f=await C.createSignature(Wf.base64.decode(T),y);return Wf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function a1({chain:y,...T}){let{isStagenet:C}=yy.SKConfig.get("envs"),f=yy.SKConfig.get("thornodeUrls"),H=y===yy.Chain.Maya,U=uf.match({isMayachain:H,isStagenet:C}).with({isMayachain:!0},({isStagenet:D})=>D?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:D})=>D?f.THOR_STAGENET:f.THOR),q=`${C?"s":""}${yy.CosmosChainPrefixes[y]}`,X="index"in T?T.index||0:0,G="derivationPath"in T&&T.derivationPath?T.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[y],{index:X}),Q=O0({chain:y,...T}),L=ey(y),z;function Y(){return z??=uf.match(T).with({phrase:uf.P.string},({phrase:D})=>Q.getSignerFromPhrase({derivationPath:G,phrase:D})).with({signer:uf.P.any},({signer:D})=>Promise.resolve(D)).otherwise(()=>Promise.resolve(void 0)),z}async function W(){let D=await yy.getRPCUrl(y),k=await Y();if(!k)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let w=await $f(),J=await Gf(y),Z=await wf(D,k,{aminoTypes:J,registry:w});return{signer:k,signingClient:Z}}async function B({fee:D,memo:k,msgs:w}){let{signer:J,signingClient:Z}=await W(),_=(await J.getAccounts())?.[0]?.address;if(!_)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");let R=await Z.signAndBroadcast(_,w,D,k);if(R.code!==0)throw new yy.SwapKitError("core_swap_transaction_error",{code:R.code,message:R.rawLog});return R.transactionHash}async function A(){let D,k=`${U}/${H?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:w}}=await yy.RequestClient.get(k);if(!w||Number.isNaN(w)||w<0)throw new yy.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:w.toString()});D=new yy.SwapKitNumber(w)}catch{D=new yy.SwapKitNumber({decimal:yy.getChainConfig(y).baseDecimal,value:H?1:0.02})}return{[yy.FeeOption.Average]:D,[yy.FeeOption.Fast]:D,[yy.FeeOption.Fastest]:D}}async function N({assetValue:D,memo:k="",recipient:w}){let{TxRaw:J}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:Z,signingClient:_}=await W(),R=(await Z.getAccounts())?.[0]?.address;if(!R)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let F="signAmino"in Z,$=JT({assetValue:D,memo:k,recipient:w,sender:R});if(F){let M=await Qf($,y),{signatures:I,authInfoBytes:P}=await _.sign(R,[M],L,k),b=J.encode({authInfoBytes:P,bodyBytes:await N0({chain:y,memo:k,msgs:[$].map(_f)}),signatures:I}).finish();return(await _.broadcastTx(b)).transactionHash}let x=_f($),n=await Qf(x,y);return B({fee:L,memo:k,msgs:[n]})}async function O(D){let{signer:k,signingClient:w}=await W(),J=(await k.getAccounts())?.[0]?.address;if(!J)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");return w.sign(J,D.msgs,D.fee,D.memo,{accountNumber:BigInt(D.accountNumber),chainId:D.chainId,sequence:D.sequence})}return{...Q,broadcastMultisigTx:RU({chain:y,prefix:q}),buildAminoMsg:JT,buildEncodedTxBody:N0,convertToSignable:Qf,createDefaultAminoTypes:()=>Gf(y),createDefaultRegistry:$f,createMultisig:B5,createTransaction:g1,deposit:N,getFees:A,importSignature:kU,parseAminoMessageForDirectSigning:_f,pubkeyToAddress:async(D)=>{let{pubkeyToAddress:k}=(await import("@cosmjs/amino")).default;return k(D,q)},secp256k1HdWalletFromMnemonic:NU({derivationPath:yy.derivationPathToString(G),prefix:q}),signAndBroadcastTransaction:B,signMultisigTx:OU(y),signTransaction:O,signWithPrivateKey:wU,transfer:N}}var Wf,yy,uf;var s1=E(()=>{c1();B0();zT();Wf=require("@scure/base"),yy=require("@swapkit/helpers"),uf=require("ts-pattern")});var Lf,$U=(y,T)=>{switch(y){case Lf.Chain.Cosmos:case Lf.Chain.Kujira:case Lf.Chain.Noble:return O0({chain:y,...T});case Lf.Chain.Maya:case Lf.Chain.THORChain:return a1({chain:y,...T});default:throw new Lf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var N5=E(()=>{zT();s1();Lf=require("@swapkit/helpers");zT();s1()});var AT={};Dy(AT,{verifySignature:()=>A5,transferMsgAmino:()=>m1,toBase64:()=>GU,parseAminoMessageForDirectSigning:()=>_f,getSignerFromPrivateKey:()=>YU,getSignerFromPhrase:()=>i1,getMsgSendDenom:()=>Xf,getFeeRateFromSwapKit:()=>JU,getDenomWithChain:()=>M0,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>$U,getCosmosAddressValidator:()=>M5,getAssetFromDenom:()=>u1,fromBase64:()=>QU,fetchFeeRateFromSwapKit:()=>r1,estimateTransactionFee:()=>zU,depositMsgAmino:()=>t1,createTransaction:()=>g1,createThorchainToolbox:()=>a1,createStargateClient:()=>yf,createSigningStargateClient:()=>wf,createOfflineStargateClient:()=>p1,createDefaultRegistry:()=>$f,createDefaultAminoTypes:()=>Gf,createCosmosToolbox:()=>O0,cosmosCreateTransaction:()=>l1,convertToSignable:()=>Qf,buildTransferTx:()=>Q5,buildEncodedTxBody:()=>N0,buildDepositTx:()=>_5,buildAminoMsg:()=>JT,bech32ToBase64:()=>z0,base64ToBech32:()=>A0,YUM_KUJIRA_FACTORY_DENOM:()=>f5,USK_KUJIRA_FACTORY_DENOM:()=>K1,THORCHAIN_GAS_VALUE:()=>WU,MAYA_GAS_VALUE:()=>LU,DEFAULT_NOBLE_FEE_MAINNET:()=>C5,DEFAULT_KUJI_FEE_MAINNET:()=>H5,DEFAULT_COSMOS_FEE_MAINNET:()=>T5});module.exports=ky(AT);var MT=E(()=>{c1();N5();B0()});function FU({builder:y,grouping:T="na",orders:C}){return{builder:y,grouping:T,orders:C,type:"order"}}function xU({cancels:y}){return{cancels:y,type:"cancel"}}function IU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function SU({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function nU({modifies:y}){return{modifies:y,type:"batchModify"}}function PU({asset:y,isCross:T,leverage:C}){return{asset:y,isCross:T,leverage:C,type:"updateLeverage"}}function oU({asset:y,isBuy:T,ntli:C}){return{asset:y,isBuy:T,ntli:C,type:"updateIsolatedMargin"}}function VU({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function EU({time:y}){return{time:y,type:"scheduleCancel"}}function vU({amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H}){return{amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H,type:"usdClassTransfer"}}function bU({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 jU({agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H}){return{agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H,type:"approveAgent"}}function KU({builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H}){return{builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H,type:"approveBuilderFee"}}function pU({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}}function ny(...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 gU(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 Yf(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 D5(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 ny(new Uint8Array([205]),Yf(y,2));if(y<=0xffffffffn)return ny(new Uint8Array([206]),Yf(y,4));return ny(new Uint8Array([207]),Yf(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 ny(new Uint8Array([209]),Yf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return ny(new Uint8Array([210]),Yf(BigInt.asUintN(32,y),4));return ny(new Uint8Array([211]),Yf(BigInt.asUintN(64,y),8))}function k5(y){let T=tU.encode(y);if(T.length<32)return ny(new Uint8Array([160+T.length]),T);return ny(gU(217,0,T.length),T)}function cU(y){let T=y.map((f)=>e1(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 ny(C,...T)}function iU(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 ny(C,...T.flatMap(([f,H])=>[k5(f),e1(H)]))}function e1(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return k5(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new BT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return D5(BigInt(y))}if(typeof y==="bigint")return D5(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 ny(T,y)}if(Array.isArray(y))return cU(y);if(typeof y==="object")return iU(y);throw new BT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function dU(y){let T=y.startsWith("0x")?y.slice(2):y;if(T.length%2!==0||/[^a-fA-F0-9]/u.test(T))throw new BT.SwapKitError("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 w5(y){return{domain:lU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...uU.Agent]}}}function $5(y){let T=mU[y.type],C=hU[y.type],{type:f,...H}=y;return{domain:{chainId:Number.parseInt(H.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:O5,version:"1"},message:{...H,hyperliquidChain:H.hyperliquidChain||R5},primaryType:T,types:{[T]:C}}}function F5(y){let T=NT.Signature.from(y);return{r:T.r,s:T.s,v:T.v}}function x5(y,T,{expiresAfter:C,vaultAddress:f}={}){let H=e1(y),U=Yf(BigInt(T),8),q=f?ny(new Uint8Array([1]),dU(f.toLowerCase())):new Uint8Array([0]),X=typeof C==="number"?ny(new Uint8Array([0]),Yf(BigInt(C),8)):new Uint8Array;return NT.keccak256(ny(H,U,q,X))}function I5(y){let T=y.hyperliquidChain||R5;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 BT,NT,O5="0x0000000000000000000000000000000000000000",lU,uU,R5="Mainnet",hU,mU,tU;var S5=E(()=>{BT=require("@swapkit/helpers"),NT=require("ethers"),lU={chainId:1337,name:"Exchange",verifyingContract:O5,version:"1"},uU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},hU={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"}]},mU={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},tU=new TextEncoder});function Ky(y,T){if(!TH(y))throw new Hy.SwapKitError(T,{address:y});return y.toLowerCase()}async function Ff(y){let T=await DT();return Hy.RequestClient.post(`${T}/info`,{json:y})}function Tq({dex:y,user:T}){return Ff({...y?{dex:y}:{},type:"clearinghouseState",user:Ky(T,"helpers_invalid_params")})}function Hq({user:y}){return Ff({type:"spotClearinghouseState",user:Ky(y,"helpers_invalid_params")})}function Cq({dex:y,user:T}){return Ff({...y?{dex:y}:{},type:"openOrders",user:Ky(T,"helpers_invalid_params")})}function Uq({dex:y,user:T}){return Ff({...y?{dex:y}:{},type:"frontendOpenOrders",user:Ky(T,"helpers_invalid_params")})}function qq({oidOrCloid:y,user:T}){return Ff({oid:y,type:"orderStatus",user:Ky(T,"helpers_invalid_params")})}function Xq({aggregateByTime:y,user:T}){return Ff({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:Ky(T,"helpers_invalid_params")})}function Gq({aggregateByTime:y,endTime:T,startTime:C,user:f}){return Ff({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:C,type:"userFillsByTime",user:Ky(f,"helpers_invalid_params")})}function n5({coin:y,token:T,value:C,spotMeta:f}){if(!C||Number(C)<=0)return null;let H=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,U=rU[H]||V5,q=f?.tokens?.find((G)=>G.name===y||T!==void 0&&G.index===Number(T)),X=q?`${dy}.${H}-${q.name}:${q.tokenId}`:`${dy}.${H}`;return new Hy.AssetValue({decimal:U,identifier:X,value:C})}function Qq(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=Hy.AssetValue.from({chain:dy,value:0});T.set(C.toString({includeSynthProtocol:!0}),C)}return[...T.values()]}async function DT(){try{return await Hy.getRPCUrl(dy)}catch{let[y]=Hy.getChainConfig(dy).rpcUrls;if(!y)throw new Hy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:dy});return y}}async function fH(){return`${await DT()}/exchange`}function _q(y){let T=fq[y.type],{type:C,...f}=y,H=yq[C];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:eU,version:"1"},message:f,primaryType:T,types:{[T]:H}}}async function E5({action:y,expiresAfter:T,nonce:C,vaultAddress:f}){let H=C||Date.now(),U=f?Ky(f,"helpers_invalid_params"):void 0,q=await fH(),X=x5(y,H,{expiresAfter:T,vaultAddress:U});return{action:y,endpoint:q,expiresAfter:T,nonce:H,typedData:w5(X),vaultAddress:U}}async function v5({action:y,nonce:T,signatureChainId:C}){let f=T||y.nonce||Date.now(),H=C||y.signatureChainId||"0xa4b1",U=I5({...y,nonce:f,signatureChainId:H});return{action:U,endpoint:await fH(),nonce:f,typedData:$5(U)}}async function yH({assetValue:y,recipient:T,sender:C,signatureChainId:f,time:H}){let U=Ky(T,"core_transaction_invalid_recipient_address"),q=Ky(C,"core_transaction_invalid_sender_address"),X=await fH(),G=y.getValue("string"),Q=H||Date.now(),L=y.address;if(!L)throw new Hy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:q});let z={amount:G,destination:U,hyperliquidChain:aU,signatureChainId:f||sU,time:Q,token:L,type:"spotSend"};return{action:z,endpoint:X,nonce:Q,typedData:_q(z)}}async function P5(y){let T=await Hy.RequestClient.post(y.endpoint,{json:{action:y.action,...typeof y.expiresAfter==="number"?{expiresAfter:y.expiresAfter}:{},nonce:y.nonce,signature:y.signature,...y.vaultAddress?{vaultAddress:y.vaultAddress}:{}}});if(T.status!=="ok")throw new Hy.SwapKitError("core_transaction_failed",{response:T});return T}async function Zq(y,T){let C=await DT(),f=T-5000;for(let H=0;H<5;H++){if(H>0)await new Promise((U)=>setTimeout(U,1000));try{let U=await Hy.RequestClient.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 TH(y){return y.startsWith("0x")&&Z0(y)}function Wq(y){let T=Sy(dy),C=y&&"index"in y?y.index||0:0,f=Hy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:Hy.updateDerivationPath(Hy.NetworkDerivationPath[dy],{index:C})),H,U=!1;function q(){if(U)return H;return H=hf.match(y).with({phrase:hf.P.string},({phrase:Y})=>{return o5.HDNodeWallet.fromPhrase(Y,void 0,f)}).with({signer:hf.P.not(hf.P.nullish)},({signer:Y})=>Y).otherwise(()=>{return}),U=!0,H}async function X(){let Y=q();return Y?await Y.getAddress():""}async function G(Y){let W=q();if(!W)throw new Hy.SwapKitError("toolbox_hypercore_no_signer");let B=await W.signTypedData(Y.typedData.domain,Y.typedData.types,Y.typedData.message);return{action:Y.action,endpoint:Y.endpoint,nonce:Y.nonce,signature:F5(B),..."expiresAfter"in Y?{expiresAfter:Y.expiresAfter}:{},..."vaultAddress"in Y?{vaultAddress:Y.vaultAddress}:{}}}async function Q(Y){let W=Ky(Y,"helpers_invalid_params");try{let B=await DT(),[A,N,O]=await Promise.all([Hy.RequestClient.post(`${B}/info`,{json:{type:"spotClearinghouseState",user:W}}),Hy.RequestClient.post(`${B}/info`,{json:{type:"clearinghouseState",user:W}}),Hy.RequestClient.post(`${B}/info`,{json:{type:"spotMeta"}})]),D=(A.spotState?.balances||A.balances||[]).map(({coin:w,token:J,total:Z})=>n5({coin:w,spotMeta:O,token:J,value:Z})).filter((w)=>!!w),k=n5({coin:"USDC",spotMeta:O,value:N.withdrawable||N.marginSummary?.accountValue||N.marginSummary?.totalRawUsd});return Qq(k?[...D,k]:D)}catch{return T(W)}}async function L(Y){let W=q();if(!W)throw new Hy.SwapKitError("toolbox_hypercore_no_signer");let B=Y.sender||await W.getAddress(),A=await yH({...Y,feeRate:0,sender:B}),N=await G(A);return await P5(N),Zq(B,A.nonce)}function z(){return Hy.AssetValue.from({chain:dy,value:0})}return{broadcastTransaction:P5,createL1ActionRequest:E5,createTransaction:yH,createUserSignedActionRequest:v5,estimateTransactionFee:z,getAddress:X,getBalance:Q,getState:{clearinghouse:Tq,frontendOpenOrders:Uq,openOrders:Cq,orderStatus:qq,spotClearinghouse:Hq,userFills:Xq,userFillsByTime:Gq},signTransaction:G,transfer:L,validateAddress:TH}}var Hy,o5,hf,dy,V5,rU,aU="Mainnet",sU="0xa4b1",eU="0x0000000000000000000000000000000000000000",yq,fq;var b5=E(()=>{o1();sy();S5();Hy=require("@swapkit/helpers"),o5=require("ethers"),hf=require("ts-pattern"),dy=Hy.Chain.Hype,{baseDecimal:V5}=Hy.getChainConfig(dy),rU={HYPE:V5,USDC:6,USDT:6},yq={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},fq={spotSend:"HyperliquidTransaction:SpotSend"}});var HH={};Dy(HH,{validateHyperCoreAddress:()=>TH,getHyperCoreToolbox:()=>Wq,createUserSignedActionRequest:()=>v5,createTransaction:()=>yH,createL1ActionRequest:()=>E5,buildUsdClassTransferAction:()=>vU,buildUpdateLeverageAction:()=>PU,buildUpdateIsolatedMarginAction:()=>oU,buildTopUpIsolatedOnlyMarginAction:()=>VU,buildTokenDelegateAction:()=>pU,buildSendAssetAction:()=>bU,buildScheduleCancelAction:()=>EU,buildOrderAction:()=>FU,buildModifyAction:()=>SU,buildCancelByCloidAction:()=>IU,buildCancelAction:()=>xU,buildBatchModifyAction:()=>nU,buildApproveBuilderFeeAction:()=>KU,buildApproveAgentAction:()=>jU});module.exports=ky(HH);var CH=E(()=>{b5()});async function p5(y){let T=s.AssetValue.from({address:y,chain:s.Chain.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 Lq(y){let T=await ff(),{PublicKey:C}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),H=new C(y),{baseDecimal:U}=s.getChainConfig(s.Chain.Solana),q=await T.getBalance(H),X=[s.AssetValue.from({chain:s.Chain.Solana,fromBaseDecimal:U,value:q||0})],G=await T.getParsedTokenAccountsByOwner(H,{programId:f});for(let{account:Q}of G.value){let L=Q.data.parsed.info,z=L.mint,Y=L.tokenAmount.amount;if(Number(Y)===0)continue;let W=await p5(z),B=W?.symbol||"UNKNOWN",A=W?.decimals||L.tokenAmount.decimals;X.push(s.AssetValue.from({asset:`${s.Chain.Solana}.${B}-${z}`,fromBaseDecimal:A,value:Y}))}return X}function qH(y){try{let T=new Tf.PublicKey(y);return Tf.PublicKey.isOnCurve(T.toBytes())}catch{return!1}}function Yq(y){let T=y&&"index"in y?y.index||0:0,C=s.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[s.Chain.Solana],{index:T})),f;async function H(){if(f)return f;return f=await R0.match(y).with({phrase:R0.P.string},({phrase:q})=>UH({derivationPath:C,phrase:q})).with({signer:R0.P.any},({signer:q})=>q).otherwise(()=>{return}),f}async function U(){let q=await H();return q?.publicKey?K5(q.publicKey):""}return{broadcastTransaction:OT(ff),createKeysForPath:UH,createTransaction:XH(ff),createTransactionFromInstructions:Mq,estimateTransactionFee:Jq(ff),getAddress:U,getAddressFromPubKey:K5,getBalance:Sy(s.Chain.Solana),getBalanceFromRPC:Lq,getConnection:ff,getPubkeyFromAddress:(q)=>new Tf.PublicKey(q),signAndBroadcastTransaction:async(q)=>{let X=await j5(ff,H)(q);return OT(ff)(X)},signTransaction:j5(ff,H),transfer:Bq(ff,H),validateAddress:qH}}function Jq(y){return async({recipient:T,assetValue:C,memo:f,isProgramDerivedAddress:H,sender:U})=>{let q=await y(),G=(await XH(y)({assetValue:C,isProgramDerivedAddress:H,memo:f,recipient:T,sender:U})).compileMessage(),Q=await q.getFeeForMessage(G);if(Q.value===null)throw new s.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:L}=s.getChainConfig(s.Chain.Solana);return s.AssetValue.from({chain:s.Chain.Solana,fromBaseDecimal:L,value:Q.value})}}async function ff(){let{Connection:y}=await import("@solana/web3.js"),T=await s.getRPCUrl(s.Chain.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 zq(y){return async({assetValue:T,recipient:C,sender:f,isProgramDerivedAddress:H})=>{let U=await y(),q=new Tf.PublicKey(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 Tf.PublicKey(C)}))}if(T.address)return Aq({amount:T.getBaseValue("number"),connection:U,decimals:T.decimal,from:q,isProgramDerivedAddress:H,recipient:C,tokenAddress:T.address});return}}async function Aq({tokenAddress:y,recipient:T,from:C,connection:f,amount:H,decimals:U,isProgramDerivedAddress:q}){let{getAssociatedTokenAddress:X,getAccount:G,createAssociatedTokenAccountInstruction:Q,createTransferCheckedInstruction:L}=await import("@solana/spl-token"),{Transaction:z}=await import("@solana/web3.js"),Y=new z,W=new Tf.PublicKey(y),B=await X(W,C),A=new Tf.PublicKey(T),N=await X(W,A,q),O=!1;try{await G(f,N),O=!0}catch{}if(!O)Y.add(Q(C,N,A,W));return Y.add(L(B,W,N,C,H,U)),Y}function XH(y){return async({recipient:T,assetValue:C,memo:f,isProgramDerivedAddress:H,sender:U})=>{let{createMemoInstruction:q}=await import("@solana/spl-memo"),X=new Tf.PublicKey(U);if(!(H||qH(T)))throw new s.SwapKitError("core_transaction_invalid_recipient_address");let G=await y(),Q=await zq(y)({assetValue:C,isProgramDerivedAddress:H,recipient:T,sender:U});if(!Q)throw new s.SwapKitError("core_transaction_invalid_sender_address");if(f)Q.add(q(f));let L=await G.getLatestBlockhash();return Q.recentBlockhash=L.blockhash,Q.feePayer=X,Q}}async function Mq({instructions:y}){let{Transaction:T}=await import("@solana/web3.js"),C=new T().add(...y);if(!C)throw new s.SwapKitError("core_transaction_invalid_sender_address");return C}function Bq(y,T){return async({recipient:C,assetValue:f,memo:H,isProgramDerivedAddress:U})=>{let q=await T();if(!q)throw new s.SwapKitError("core_transaction_invalid_sender_address");let X=q.publicKey?.toString()??(await q.connect()).publicKey.toString(),G=await XH(y)({assetValue:f,isProgramDerivedAddress:U,memo:H,recipient:C,sender:X});if("signTransaction"in q){let Q=await q.signTransaction(G);return OT(y)(Q)}return G.sign(q),OT(y)(G)}}function OT(y){return async(T)=>{return(await y()).sendRawTransaction(T.serialize())}}function j5(y,T){return async(C)=>{let f=await T();if(!f)throw new s.SwapKitError("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 UH({phrase:y,derivationPath:T=s.DerivationPath.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 K5(y){return y.toString()}var Tf,s,R0;var l5=E(()=>{sy();Tf=require("@solana/web3.js"),s=require("@swapkit/helpers"),R0=require("ts-pattern")});var GH={};Dy(GH,{validateSolanaAddress:()=>qH,getSolanaToolbox:()=>Yq,fetchTokenMetaData:()=>p5,createKeysForPath:()=>UH});module.exports=ky(GH);var QH=E(()=>{l5()});function RT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function kT({phrase:y,derivationPath:T=i.DerivationPath.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),L=C.fromMasterSeed(G).derive(T);if(!L.privateKey)throw new i.SwapKitError("toolbox_starknet_no_signer");let z=q.addHexPrefix(Buffer.from(L.privateKey).toString("hex")),Y=H.starkCurve.grindKey(z),W=q.addHexPrefix(Y),B=H.starkCurve.getStarkKey(W),A=X.compile([B,0]);return{address:U.calculateContractAddressFromHash(B,ZH,A,0),privateKey:W,publicKey:B}}async function WH({phrase:y,derivationPath:T=i.DerivationPath.STRK}){let{Account:C,RpcProvider:f}=await import("starknet"),{privateKey:H,address:U}=await kT({derivationPath:T,phrase:y}),q=await i.getRPCUrl(i.Chain.Starknet),X=new f({nodeUrl:q});return new C({address:U,provider:X,signer:H})}function h5(y){let T=i.Chain.Starknet,C=y&&"index"in y?y.index||0:0,f=i.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:i.updateDerivationPath(i.NetworkDerivationPath[T],{index:C})),H,U,q;async function X(){if(U)return U;let{RpcProvider:J}=await import("starknet"),Z=await i.getRPCUrl(T);return U=new J({nodeUrl:Z}),U}async function G(J){let Z=await X(),_=J||await Y();if(!_)return!1;try{return await Z.getClassHashAt(_),!0}catch(R){if(R instanceof Error&&R.message.includes("Contract not found"))return!1;let F=R;if(F?.code===20||F?.code===19)return!1;throw R}}async function Q(){let{CallData:J,hash:Z}=await import("starknet"),_=await X(),R=await z();if(!R)throw new i.SwapKitError("toolbox_starknet_no_signer");if(!q)throw new i.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await G())return R.address;let $=J.compile([q,0]);if(Z.calculateContractAddressFromHash(q,ZH,$,0).toLowerCase()!==R.address.toLowerCase())throw new i.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let n={addressSalt:q,classHash:ZH,constructorCalldata:$},{transaction_hash:M}=await R.deployAccount(n);return await _.waitForTransaction(M),M}async function L(){if(!await G()){if(!q)throw new i.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Starknet account is not deployed and cannot be auto-deployed without public key. Use phrase-based wallet initialization."}});await Q()}}async function z(){if(H)return H;return H=await py.match(y).with({phrase:py.P.string},async({phrase:J})=>{let{Account:Z,RpcProvider:_}=await import("starknet"),{privateKey:R,address:F,publicKey:$}=await kT({derivationPath:f,phrase:J});q=$;let x=await i.getRPCUrl(i.Chain.Starknet),n=new _({nodeUrl:x});return new Z({address:F,provider:n,signer:R})}).with({address:py.P.string,privateKey:py.P.string},async({privateKey:J,address:Z})=>{let{Account:_}=await import("starknet"),R=await X();return new _({address:Z,provider:R,signer:J})}).with({signer:py.P.instanceOf(Object)},({signer:J})=>J).otherwise(()=>{return}),H}async function Y(){return(await z())?.address??""}async function W(J){let Z=await X(),{uint256:_,CallData:R}=await import("starknet"),F=[],$=[_H,u5];for(let x of $)try{let[n="0",M="0"]=await Z.callContract({calldata:R.compile({account:J}),contractAddress:x,entrypoint:"balanceOf"}),I=_.uint256ToBN({high:n,low:M});py.match(x).with(_H,()=>{F.push(i.AssetValue.from({chain:T,value:I}))}).with(u5,()=>{if(I>0n)F.push(i.AssetValue.from({asset:`${T}.ETH-${x}`,value:I}))}).otherwise(()=>{})}catch{}return F}async function B({recipient:J,assetValue:Z}){let{CallData:_,uint256:R}=await import("starknet");if(!RT(J))throw new i.SwapKitError("core_transaction_invalid_recipient_address",{address:J});let F=Z.isGasAsset?_H:Z.address;if(!F)throw new i.SwapKitError("toolbox_starknet_invalid_address",{address:F,assetValue:Z});let $=R.bnToUint256(Z.getBaseValue("bigint"));return[{calldata:_.compile([J,$]),contractAddress:F,entrypoint:"transfer"}]}async function A({recipient:J,assetValue:Z,sender:_}){let{baseDecimal:R}=i.getChainConfig(i.Chain.Starknet),F=await z(),$=await py.match({sender:_,signer:F}).with({sender:py.P.string},async({sender:x})=>{let{Account:n}=await import("starknet"),M=await X();return new n({address:x,provider:M,signer:"0x0"})}).with({signer:py.P.nonNullable},({signer:x})=>x).otherwise((x)=>{throw new i.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:x}})});try{let x=await B({assetValue:Z,recipient:J}),n=await $.estimateInvokeFee(x);if(n?.overall_fee)return i.AssetValue.from({chain:T,fromBaseDecimal:R,value:n.overall_fee})}catch(x){throw new i.SwapKitError("toolbox_starknet_fee_estimation_failed",x)}return i.AssetValue.from({chain:T,value:"0.00001"})}async function N({recipient:J,assetValue:Z,memo:_}){let R=await z();if(!R)throw new i.SwapKitError("toolbox_starknet_no_signer");await L();let F=await B({assetValue:Z,memo:_,recipient:J});return(await R.execute(F)).transaction_hash}async function O(J){let Z=await z();if(!Z)throw new i.SwapKitError("toolbox_starknet_no_signer");let _=await Z.signMessage(J);return Array.isArray(_)?_:[_.r.toString(),_.s.toString()]}async function D(J){let Z=await z();if(!Z)throw new i.SwapKitError("toolbox_starknet_no_signer");return await L(),(await Z.execute(J)).transaction_hash}function k(J){return D(J)}function w(J,Z=!0){try{return Sy(T)(J,Z)}catch{return W(J)}}return{broadcastTransaction:D,createKeysForPath:WH,createTransaction:B,deployAccount:Q,estimateTransactionFee:A,getAddress:Y,getBalance:w,getProvider:X,isAccountDeployed:G,signAndBroadcastTransaction:k,signMessage:O,transfer:N,validateAddress:RT}}var i,py,_H="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",u5="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",ZH="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var m5=E(()=>{sy();i=require("@swapkit/helpers"),py=require("ts-pattern")});var wT={};Dy(wT,{validateStarknetAddress:()=>RT,starknetCreateKeysForPath:()=>WH,getStarknetToolbox:()=>h5,deriveStarknetKeys:()=>kT});module.exports=ky(wT);var $T=E(()=>{m5()});async function xT(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,L)=>Q+BigInt(L.balance),0n);return q.hasNextPage&&G<f?xT(y,T,C,f,X,q.nextCursor):X}function IT({coinObjectId:y,digest:T,version:C}){return{digest:T,objectId:y,version:C}}function Dq(y,T,C){let f=T.reduce((Q,L)=>Q+BigInt(L.balance),0n);if(f<C)throw new Ty.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:C.toString()});let{selectedCoins:H}=T.reduce((Q,L)=>{if(Q.total>=C)return Q;return{selectedCoins:[...Q.selectedCoins,L],total:Q.total+BigInt(L.balance)}},{selectedCoins:[],total:0n}),U=H[0],q=y.objectRef(IT(U)),X=H.slice(1).map((Q)=>y.objectRef(IT(Q)));if(X.length>0)y.mergeCoins(q,X);let[G]=y.splitCoins(q,[C]);return G}function t5(y,T){let C=y.reduce((f,H)=>f+BigInt(H.balance),0n);if(C<T)throw new Ty.SwapKitError("toolbox_sui_insufficient_balance",{available:C.toString(),required:T.toString()})}function i5(y){try{return c5.isValidSuiAddress(y)}catch{return!1}}function g5(y){return"signWithIntent"in y}function Oq({provider:y,...T}={}){let C;async function f(){if(C)return C;return C=await k0.match(T).with({phrase:k0.P.string},async({phrase:A})=>{let{Ed25519Keypair:N}=await import("@mysten/sui/keypairs/ed25519");return N.deriveKeypair(A)}).with({signer:k0.P.any},({signer:A})=>A).otherwise(()=>{return}),C}async function H(A=y){let{SuiJsonRpcClient:N}=await import("@mysten/sui/jsonRpc");return new N({network:"mainnet",url:A||Ty.getRPCUrlSync(Ty.Chain.Sui)})}async function U(A){return BigInt(await A.getReferenceGasPrice())}async function q(){return(await f())?.toSuiAddress()||""}function X(A){try{let N=Ty.AssetValue.from({address:A,chain:Ty.Chain.Sui});return{asset:N.toString(),decimals:N.decimal}}catch{}return null}async function G(A){let N=A||await q();if(!N)throw new Ty.SwapKitError("toolbox_sui_address_required");let{baseDecimal:O,chain:D}=Ty.getChainConfig(Ty.Chain.Sui);try{let w=await(await H()).getAllBalances({owner:N}),J=w.find(({coinType:_})=>_===FT)?.totalBalance||"0",Z=[Ty.AssetValue.from({chain:D,fromBaseDecimal:O,value:J})];for(let{coinType:_,totalBalance:R}of w){if(_===FT||Number(R)<=0)continue;let F=X(_);if(F)Z.push(Ty.AssetValue.from({asset:F.asset,fromBaseDecimal:F.decimals,value:R}))}return Z}catch{return[Ty.AssetValue.from({chain:D})]}}async function Q(A){let N=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!A)return N;try{let O=await H(),{txBytes:D}=await L(A),{effects:{status:k,gasUsed:w}}=await O.dryRunTransactionBlock({transactionBlock:D});if(k.status!=="success")return N;let{baseDecimal:J}=Ty.getChainConfig(Ty.Chain.Sui),Z=BigInt(w.computationCost)+BigInt(w.storageCost)-BigInt(w.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,fromBaseDecimal:J,value:Z.toString()})}catch{return N}}async function L({recipient:A,assetValue:N,gasBudget:O,sender:D}){let{Transaction:k}=await import("@mysten/sui/transactions"),w=D||await q(),J=O||Nq;if(!w)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let Z=await H(),_=new k;if(_.setSender(w),N.isGasAsset||N.symbol==="SUI"){let F=N.getBaseValue("bigint"),[$,x]=await Promise.all([U(Z),xT(Z,w,FT,F+BigInt(J))]);t5(x,F+BigInt(J)),_.setGasPrice($),_.setGasPayment(x.map(IT));let[n]=_.splitCoins(_.gas,[N.getBaseValue("string")]);_.transferObjects([n],A)}else{let F=N.address;if(!F)throw new Ty.SwapKitError("toolbox_sui_missing_coin_type");let $=N.getBaseValue("bigint"),[x,n,M]=await Promise.all([U(Z),xT(Z,w,FT,BigInt(J)),xT(Z,w,F,$)]);if(!M.length)throw new Ty.SwapKitError("toolbox_sui_no_coins_found",{coinType:F});t5(n,BigInt(J)),_.setGasPrice(x),_.setGasPayment(n.map(IT));let I=Dq(_,M,$);_.transferObjects([I],A)}_.setGasBudget(J);let R=await _.build({client:Z});return{tx:_,txBytes:R}}catch(Z){if(Z instanceof Ty.SwapKitError)throw Z;throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:Z})}}async function z(A){let N=await f();if(!N)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(A instanceof Uint8Array)return N.signTransaction(A);let{txBytes:O}="tx"in A?A:await L(A);return N.signTransaction(O)}async function Y({assetValue:A,gasBudget:N,recipient:O}){let D=await f();if(!D)throw new Ty.SwapKitError("toolbox_sui_no_signer");let k=D.toSuiAddress()||await q();if(!k)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:w}=await L({assetValue:A,gasBudget:N,recipient:O,sender:k}),J=await H();if(!g5(D)){let _=await D.signTransaction(w),{digest:R}=await J.executeTransactionBlock({signature:_.signature,transactionBlock:_.bytes});return R}let{digest:Z}=await J.signAndExecuteTransaction({signer:D,transaction:w});return Z}async function W(A){let N=await H(),{digest:O}=await N.executeTransactionBlock({signature:A.signature,transactionBlock:A.bytes});return O}async function B(A){let N=await f();if(!N)throw new Ty.SwapKitError("toolbox_sui_no_signer");let O=await H(),D;if(typeof A==="string")D=Uint8Array.from(Buffer.from(A,"base64"));else if(A instanceof Uint8Array)D=A;else D=await A.build({client:O});if(!g5(N)){let w=await N.signTransaction(D),{digest:J}=await O.executeTransactionBlock({signature:w.signature,transactionBlock:w.bytes});return J}let{digest:k}=await O.signAndExecuteTransaction({signer:N,transaction:D});return k}return{broadcastTransaction:W,createTransaction:L,estimateTransactionFee:Q,getAddress:q,getBalance:G,signAndBroadcastTransaction:B,signTransaction:z,transfer:Y,validateAddress:i5}}var c5,Ty,k0,FT="0x2::sui::SUI",Nq=50000000;var d5=E(()=>{c5=require("@mysten/sui/utils"),Ty=require("@swapkit/helpers"),k0=require("ts-pattern")});var ST={};Dy(ST,{validateSuiAddress:()=>i5,getSuiToolbox:()=>Oq});module.exports=ky(ST);var nT=E(()=>{d5()});async function xq(){let y=Date.now();if(PT&&y-a5<Fq)return PT;let{getHttpEndpoint:T}=await import("@orbs-network/ton-access");return PT=await T(),a5=y,PT}async function Iq(){let[y]=zy.SKConfig.get("rpcUrls")[zy.Chain.Ton]??[];if(y)return y;return await xq()}function Sq(y={}){let T,C,f;async function H(){if(!T){let{TonClient:J}=await import("@ton/ton"),Z=y.provider??await Iq();T=new J({endpoint:Z})}return T}async function U(){return(await X()).address.toString()}async function q(){if(f)return f;return f=await xf.match(y).with({phrase:xf.P.string},async({phrase:J})=>{let{mnemonicToWalletKey:Z}=await import("@ton/crypto");return Z(J.split(" "))}).with({signer:xf.P.any},({signer:J})=>J).otherwise(()=>{return}),f}async function X(J){if(!C||J){let Z=await q(),_=await H(),R=J||Z;if(!R)throw new zy.SwapKitError("core_wallet_connection_not_found");let{WalletContractV4:F}=await import("@ton/ton"),$=F.create({publicKey:R.publicKey,workchain:0});C=_.open($)}return C}let G=Sy(zy.Chain.Ton);async function Q({assetValue:J,recipient:Z,memo:_,sender:R,sweep:F}){if(J.isGasAsset){let t=_?w(_).toBoc().toString("base64"):void 0;return[{address:Z,amount:J.getBaseValue("string"),payload:t}]}if(F)throw new zy.SwapKitError({errorKey:"core_swap_invalid_params",info:{asset:J.toString(),reason:"TON sweep is only supported for the native gas asset"}});let $=J.address;if(!$)throw new zy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let x=R??await U(),n=await D({jettonMasterAddress:$,ownerAddress:x}),M=fy.Address.parse(Z),I=fy.Address.parse(x),P=J.getBaseValue("bigint"),b=_?w(_):void 0,v=k({destinationAddress:M,forwardPayload:b,jettonAmount:P,responseAddress:I});return[{address:n.toString(),amount:wq.toString(),payload:v.toBoc().toString("base64")}]}async function L({sender:J,sweep:Z,..._}){return{messages:await Q({..._,sender:J,sweep:Z}),sendMode:Z?$q:r5}}function z(J){if(!Array.isArray(J))return J;let[Z]=J;return{messages:J.map(({sendMode:R,...F})=>F),sendMode:Z?.sendMode??r5}}function Y(J){return J.map((Z)=>{let _=Z.payload?fy.Cell.fromBase64(Z.payload):void 0,R=Z.stateInit?fy.loadStateInit(fy.Cell.fromBase64(Z.stateInit).asSlice()):void 0,F=fy.Address.parse(Z.address),$=fy.Address.isFriendly(Z.address)?fy.Address.parseFriendly(Z.address).isBounceable:!0;return fy.internal({body:_,bounce:$,init:R,to:F,value:BigInt(Z.amount)})})}async function W(J){let Z=await q(),_=await X();if(!_||!Z)throw new zy.SwapKitError("core_wallet_connection_not_found");let R=await H(),{state:F}=await R.getContractState(_.address),$=F==="active",x=$?await _.getSeqno():0,{messages:n,sendMode:M}=z(J),I=_.createTransfer({messages:Y(n),secretKey:Z.secretKey,sendMode:M,seqno:x}),P=fy.external({body:I,init:$?void 0:_.init,to:_.address});return fy.beginCell().store(fy.storeMessage(P)).endCell()}async function B(J){return await(await H()).sendFile(J.toBoc()),J.hash().toString("hex")}async function A(J){let Z=await W(J);return B(Z)}async function N({assetValue:J,recipient:Z,memo:_,sweep:R}){let F=await L({assetValue:J,memo:_,recipient:Z,sweep:R});return A(F)}async function O({sender:J,...Z}){let{baseDecimal:_}=zy.getChainConfig(zy.Chain.Ton),R=await xf.match(J).with(xf.P.string,(x)=>{return fy.Address.parseFriendly(x).address}).otherwise(async()=>{return(await X()).address});if(!R)throw new zy.SwapKitError("toolbox_fee_estimation_failed",{chain:zy.Chain.Ton});let F=zy.AssetValue.from({chain:zy.Chain.Ton,value:"0.01"}),$=await H();try{let x=await L({sender:J,...Z}),n=await q(),M=await X();if(!M||!n)return F;let I=await M.getSeqno(),P=M.createTransfer({messages:Y(x.messages),secretKey:n.secretKey,sendMode:x.sendMode,seqno:I}),{source_fees:b}=await $.estimateExternalMessageFee(R,{body:P,ignoreSignature:!0,initCode:null,initData:null}),v=b.in_fwd_fee+b.storage_fee+b.gas_fee+b.fwd_fee;return F.set(zy.SwapKitNumber.fromBigInt(BigInt(v),_))}catch{return F}}async function D({jettonMasterAddress:J,ownerAddress:Z}){try{let _=await H(),R=fy.Address.parse(J),F=fy.Address.parse(Z),{JettonMaster:$}=await import("@ton/ton");return await _.open($.create(R)).getWalletAddress(F)}catch{throw new zy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:Z}})}}function k({jettonAmount:J,destinationAddress:Z,responseAddress:_,forwardAmount:R=kq,forwardPayload:F}){let $=fy.beginCell().storeUint(Rq,32).storeUint(0,64).storeCoins(J).storeAddress(Z).storeAddress(_).storeBit(0).storeCoins(R);if(F)$.storeBit(1).storeRef(F);else $.storeBit(0);return $.endCell()}function w(J){return fy.beginCell().storeUint(0,32).storeStringTail(J).endCell()}return{broadcastTransaction:B,createTransaction:L,estimateTransactionFee:O,getAddress:U,getBalance:G,getJettonWalletAddress:D,sign:W,signAndBroadcastTransaction:A,transfer:N,validateAddress:s5}}function s5(y){try{return fy.Address.parse(y),!0}catch{return!1}}var zy,fy,xf,Rq=260734629,kq,wq,r5,$q,Fq=60000,PT,a5=0;var e5=E(()=>{sy();zy=require("@swapkit/helpers"),fy=require("@ton/core"),xf=require("ts-pattern"),kq=fy.toNano("0.01"),wq=fy.toNano("0.05"),r5=fy.SendMode.PAY_GAS_SEPARATELY+fy.SendMode.IGNORE_ERRORS,$q=fy.SendMode.CARRY_ALL_REMAINING_BALANCE+fy.SendMode.IGNORE_ERRORS});var oT={};Dy(oT,{validateTonAddress:()=>s5,getTONToolbox:()=>Sq});module.exports=ky(oT);var VT=E(()=>{e5()});function ly(y,T){if(!Number.isInteger(T)||T<0)throw RangeError(`${y} must be a non-negative integer, got: ${T}`)}function Jf({accountIndex:y,chain:T,derivationPath:C}){if(y!==void 0)ly("accountIndex",y);let f=[...C?.slice(0,3)??y2.NetworkDerivationPath[T].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({accountIndex:y,change:T=!1,chain:C,derivationPath:f,index:H}){return ly("index",H),[...Jf({accountIndex:y,chain:C,derivationPath:f}),Number(T),H]}function If(y){return y[2]??0}function f2({deriveAddress:y,getBalance:T,getUtxos:C}){async function f(X){let{accountIndex:G,count:Q,startIndex:L=0,change:z=!1}=X;if(ly("count",Q),Q<1)throw RangeError("count must be at least 1");ly("startIndex",L);let Y=[];for(let W=0;W<Q;W++){let B=await y({accountIndex:G,change:z,index:L+W});if(B)Y.push(B)}return Y}async function H(X){let{gapLimit:G=20,change:Q=!1}=X??{},L=[],z=0,Y=0;while(z<G){let W=await y({change:Q,index:Y});if(!W)break;if((await T(W.address)).some((N)=>N.getValue("number")>0))L.push(W),z=0;else z++;Y++}return L}async function U(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),L=[...G,...Q],z=await Promise.all(L.map(async(W)=>{let A=(await T(W.address)).reduce((N,O)=>N+O.getValue("number"),0);return{...W,balance:A}})),Y=z.reduce((W,B)=>W+B.balance,0);return{addresses:z,total:Y}}async function q(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),L=[...G,...Q];return(await Promise.all(L.map(async(Y)=>{return(await C(Y.address)).map((B)=>({...B,address:Y.address,derivationIndex:Y.index,isChange:Y.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:U,getAggregatedUtxos:q,scanForAddresses:H}}var y2;var w0=E(()=>{y2=require("@swapkit/helpers")});async function nq({chain:y,txHash:T}){let C=`${$0(y)}/push/transaction`,f=JSON.stringify({data:T});try{let H=await g.RequestClient.post(C,{body:f,headers:{"Content-Type":"application/json"}});if(H.context.code!==200)throw new g.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.context.error||"Transaction broadcast failed"});return H.data?.transaction_hash||T}catch(H){let U=await g.getRPCUrl(y);if(U){let q=JSON.stringify({id:MC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),X=await g.RequestClient.post(U,{body:q,headers:{"Content-Type":"application/json"}});if(X.error)throw new g.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new g.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw H}}function $0(y){return`https://api.blockchair.com/${Pq(y)}`}function T2(y){switch(y){case g.Chain.Bitcoin:return 5;case g.Chain.Dogecoin:return 1e4;case g.Chain.Litecoin:return 1;case g.Chain.Zcash:return 1;default:return 2}}function Pq(y){switch(y){case g.Chain.BitcoinCash:return"bitcoin-cash";case g.Chain.Litecoin:return"litecoin";case g.Chain.Dash:return"dash";case g.Chain.Dogecoin:return"dogecoin";case g.Chain.Zcash:return"zcash";case g.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function oq(y){try{let{feePerKb:T}=await g.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),C=T/1000;return Math.max(C,T2(y))}catch{return T2(y)}}async function ET(y,T){let C=await g.RequestClient.get(`${y}${T?`${y.includes("?")?"&":"?"}key=${T}`:""}`);if(!C||C.context.code!==200)throw new g.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return C.data}async function C2({address:y,chain:T,apiKey:C}){if(!y)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await ET(`${$0(T)}/dashboards/address/${y}?transaction_details=true`,C))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function Vq({address:y,chain:T,apiKey:C}){return(await C2({address:y,apiKey:C,chain:T}))?.address.balance||0}async function U2({chain:y,apiKey:T,txHash:C}){if(!C)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await ET(`${$0(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 vq({chain:y,apiKey:T,txHash:C}){if(!C)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let H=(await ET(`${$0(y)}/dashboards/transaction/${C}`,T))?.[C];if(!H)throw new g.SwapKitError("toolbox_utxo_tx_not_found",{txHash:C});let{transaction:U,inputs:q,outputs:X}=H,G=q.map((L)=>L.spending_sequence),Q=U.is_rbf===!0||G.some((L)=>L<Eq);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 bq({chain:y,address:T,apiKey:C,offset:f=0,limit:H=30}){return(await ET(`${$0(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:L,transaction_hash:z,index:Y,value:W,spending_signature_hex:B})=>({hash:z,index:Y,is_confirmed:L!==-1,is_spent:G,script_hex:Q,txHex:B,value:W}))}function jq(y){return y.reduce((T,C)=>T+C.value,0)}function H2(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 q2({chain:y,address:T,apiKey:C,targetValue:f,accumulativeValue:H=0,offset:U=0,limit:q=30}){if(!T)throw new g.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await bq({address:T,apiKey:C,chain:y,limit:q,offset:U,targetValue:f}),Q=X.length<q,L=X.filter(({is_spent:N})=>!N),z=jq(L),Y=H+z,W=f&&Y>=f;if(Q||W)return H2(L,f);let B=await q2({accumulativeValue:Y,address:T,apiKey:C,chain:y,limit:q,offset:U+q,targetValue:f}),A=[...L,...B];return H2(A,f)}catch(X){let G=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${G}`),[]}}async function Kq({address:y,chain:T,apiKey:C,fetchTxHex:f=!0,targetValue:H}){let U=await q2({address:y,apiKey:C,chain:T,targetValue:H}),q=[];for(let{hash:X,index:G,script_hex:Q,value:L}of U){let z;if(f)z=await U2({apiKey:C,chain:T,txHash:X});q.push({address:y,hash:X,index:G,txHex:z,value:L,witnessUtxo:{script:Buffer.from(Q,"hex"),value:L}})}return q}function Ry(y){let T=g.SKConfig.get("apiKeys").blockchair||"";return g.warnOnce({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(C)=>nq({chain:y,txHash:C}),getAddressData:(C)=>C2({address:C,apiKey:T,chain:y}),getBalance:(C)=>Vq({address:C,apiKey:T,chain:y}),getRawTx:(C)=>U2({apiKey:T,chain:y,txHash:C}),getSuggestedTxFee:()=>oq(y),getTransactionDetails:(C)=>vq({apiKey:T,chain:y,txHash:C}),getUtxos:(C)=>Kq({...C,apiKey:T,chain:y})}}function pq(y){return y}function lq(){return function(T){switch(T){case g.Chain.Bitcoin:return Sf.NETWORKS.bitcoin;case g.Chain.BitcoinCash:return Sf.NETWORKS.bitcoinCash;case g.Chain.Dash:return Sf.NETWORKS.dash;case g.Chain.Litecoin:return Sf.NETWORKS.litecoin;case g.Chain.Dogecoin:return Sf.NETWORKS.dogecoin;case g.Chain.Zcash:return Sf.NETWORKS.zcash;default:throw new g.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}}var g,Sf,Eq=4294967294;var X2=E(()=>{sy();g=require("@swapkit/helpers"),Sf=require("@swapkit/utxo-signer")});function mq(y,T,C){return Hf.encodeCashAddr({hash:C,prefix:y,type:uq[T]})}function tq(y){let T=Hf.decodeCashAddr(y),C=hq[T.type];if(!C)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:C}}var Hf,uq,hq,LH;var G2=E(()=>{Hf=require("@swapkit/utxo-signer"),uq={P2PKH:Hf.CashAddrType.P2PKH,P2SH:Hf.CashAddrType.P2SH},hq={[Hf.CashAddrType.P2PKH]:"P2PKH",[Hf.CashAddrType.P2SH]:"P2SH"};LH={decode:tq,encode:mq}});function zH(y){try{return vT(y),!0}catch{return!1}}function AH(y){return vT(y)?.network}function Cf(y){let T=vT(y);if(T?.format==="legacy")return y;return iq(T)}function F0(y){let T=vT(y);return dq(T)}function vT(y){try{let T=gq(y);if(T)return T}catch{}try{let T=cq(y);if(T)return T}catch{}throw new YH.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function gq(y){try{let T=W2.decode(y);if(T.length!==21)throw new YH.SwapKitError("toolbox_utxo_invalid_address",{address:y});let C=T[0],f=Array.prototype.slice.call(T,1);switch(C){case nf.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case nf.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case nf.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case nf.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case nf.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case nf.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function cq(y){if(y.indexOf(":")!==-1)try{return Q2(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let C of T)try{return Q2(`${C}:${y}`)}catch{}}return}function Q2(y){try{let{hash:T,prefix:C,type:f}=LH.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 iq(y){let T=nf.legacy[y.network][y.type],C=Buffer.alloc(1+y.hash.length);return C[0]=T,C.set(y.hash,1),W2.encode(C)}function dq(y){let T=y.network==="mainnet"?"bitcoincash":"bchtest",C=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return LH.encode(T,C,f)}var _2,Z2,YH,W2,JH,nf;var L2=E(()=>{G2();_2=require("@noble/hashes/sha2.js"),Z2=require("@scure/base"),YH=require("@swapkit/helpers"),W2=Z2.createBase58check(_2.sha256);((C)=>{C.Mainnet="mainnet";C.Testnet="testnet"})(JH||={});nf={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Ey(y){let T=new Uint8Array(Buffer.from(y,"utf8"));return J2.Script.encode(["RETURN",T])}var Y2,J2,rq=1000,jT=10,KT=2,z2=10,aq=41,sq=107,pT,bT,x0,tf=(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 Y2.SwapKitError("toolbox_utxo_invalid_address",{address:y})},Pf=({inputs:y,outputs:T,feeRate:C})=>{let f=y[0]&&"address"in y[0]&&y[0].address?tf(y[0].address):"P2PKH",U=(C?y.filter((Q)=>Q.value>=bT["type"in Q&&Q.type?Q.type:"P2PKH"]*Math.ceil(C)):y).reduce((Q,L)=>Q+zf(L),0),q=T?.reduce((Q,L)=>Q+I0(L),0)||x0[f],X=jT+U+q;return f==="P2WPKH"?Math.ceil(X+KT/4):X},zf=(y)=>{if("type"in y&&y.type)return bT[y.type];if("address"in y&&y.address)return bT[tf(y.address)];return aq+sq},I0=(y,T)=>{if(y?.script)return z2+y.script.length+(y.script.length>=74?2:1);if(T)return x0[T];if("address"in y&&y.address)return x0[tf(y.address)];return x0.P2PKH};var MH=E(()=>{Y2=require("@swapkit/helpers"),J2=require("@swapkit/utxo-signer");((C)=>{C.P2PKH="P2PKH";C.P2WPKH="P2WPKH"})(pT||={});bT={["P2PKH"]:148,["P2WPKH"]:68},x0={["P2PKH"]:34,["P2WPKH"]:31}});function S0(y){switch(y){case ry.Chain.Bitcoin:case ry.Chain.BitcoinCash:return 550;case ry.Chain.Dash:case ry.Chain.Litecoin:return 5500;case ry.Chain.Dogecoin:return 1e5;case ry.Chain.Zcash:return 546;default:throw new ry.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function uy({inputs:y,outputs:T,feeRate:C=1,chain:f=ry.Chain.Bitcoin,changeAddress:H=""}){let U=y[0]&&"address"in y[0]&&y[0].address?tf(y[0].address):"P2PKH",q=y.filter((B)=>zf(B)*C<=B.value),G=U==="P2WPKH"?Math.ceil(KT/4):0,Q=jT+G+T.reduce((B,A)=>B+I0(A),0),L=T.reduce((B,A)=>B+A.value,0),z=Q*C,Y=0,W=[];for(let B of q){let A=zf(B),N=C*A;z+=N,Y+=B.value,W.push(B);let O=z+L;if(Y<O)continue;let D=Y-O,k=C*I0({address:H,value:0});if(D>k){let w=k+z,J=Y-(L+Math.ceil(w));if(J>Math.max(zf({value:0})*C,S0(f)))return{fee:Math.ceil(w),inputs:W,outputs:T.concat({address:H,value:J})}}return{fee:Math.ceil(z),inputs:W,outputs:T}}return{fee:Math.ceil(C*Pf({inputs:y,outputs:T}))}}var ry;var A2=E(()=>{MH();ry=require("@swapkit/helpers")});var gf=E(()=>{X2();L2();A2();MH()});function of(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Af(y){let T=of(y);return zH(T)&&AH(T)==="mainnet"}function cf(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=lT.Address(lT.ZCASH_NETWORK).decode(y);return C.type==="pkh"||C.type==="sh"}catch{return!1}}var lT;var n0=E(()=>{gf();lT=require("@swapkit/utxo-signer")});function DH({address:y,chain:T}){return NH.match(T).with(o.Chain.BitcoinCash,()=>Af(y)).with(o.Chain.Zcash,()=>cf(y)).otherwise(()=>{try{return r.Address(xy(T)).decode(y),!0}catch{return!1}})}function xy(y){return NH.match(y).with(o.Chain.Bitcoin,()=>r.NETWORKS.bitcoin).with(o.Chain.BitcoinCash,()=>r.NETWORKS.bitcoinCash).with(o.Chain.Dash,()=>r.NETWORKS.dash).with(o.Chain.Dogecoin,()=>r.NETWORKS.dogecoin).with(o.Chain.Litecoin,()=>r.NETWORKS.litecoin).with(o.Chain.Zcash,()=>r.NETWORKS.zcash).exhaustive()}function eq({phrase:y,derivationPath:T,network:C,seed:f}){let H=f??hT.mnemonicToSeedSync(y),q=BH.HDKey.fromMasterSeed(H,C.bip32).derive(T);if(!q.privateKey)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return q.privateKey}function M2(y){return B2.secp256k1.getPublicKey(y,!0)}function o0({publicKey:y,chain:T,network:C}){if(T===o.Chain.BitcoinCash){let U=r.p2pkh(y,C);if(!U.hash)throw new o.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:U.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let H=!P0.includes(T)?r.p2wpkh(y,C):r.p2pkh(y,C);if(!H.address)throw new o.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return H.address}function df({phrase:y,derivationPath:T,chain:C,wif:f,seed:H}){let U=xy(C);if(f){let Q=r.WIF(U).decode(f),L=M2(Q);return{privateKey:Q,publicKey:L}}if(!y)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let q=T||o.derivationPathToString(o.NetworkDerivationPath[C]),X=eq({derivationPath:q,network:U,phrase:y,seed:H}),G=M2(X);return{privateKey:X,publicKey:G}}function yX(y,T){return r.WIF(xy(T)).encode(y)}function fX({phrase:y,derivationPath:T,chain:C,seed:f}){let H=T.split("/");if(H.length<4)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${H.length}): ${T}`});let U=xy(C),q=f??hT.mnemonicToSeedSync(y),X=BH.HDKey.fromMasterSeed(q,U.bip32),G=H.slice(0,4).join("/");return X.derive(G)}function Bf({inputs:y,outputs:T,chain:C,tx:f,sender:H,compiledMemo:U,enableRBF:q=!1}){let X=xy(C),G=!P0.includes(C),Q=q?r.RBF_SEQUENCE:void 0,L=new Set;for(let z of y){let Y=`${z.hash}:${z.index}`;if(L.has(Y))throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});L.add(Y);let W=typeof z.hash==="string"?Mf.hex.decode(z.hash):z.hash;if(G&&z.witnessUtxo)f.addInput({index:z.index,sequence:Q,txid:W,witnessUtxo:{amount:BigInt(z.witnessUtxo.value),script:z.witnessUtxo.script}});else if(z.txHex)f.addInput({index:z.index,nonWitnessUtxo:Mf.hex.decode(z.txHex),sequence:Q,txid:W,...C===o.Chain.BitcoinCash?{sighashType:r.BCHSigHash.ALL}:{}});else throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let z of T){let Y="address"in z&&z.address?z.address:H;if(C===o.Chain.BitcoinCash)Y=Cf(Y);if(z.script){if(U)f.addOutput({amount:0n,script:U})}else f.addOutputAddress(Y,BigInt(z.value),X)}return{inputs:y,tx:f}}async function rf(y){let T=await Ry(y).getSuggestedTxFee();return{[o.FeeOption.Average]:T,[o.FeeOption.Fast]:o.applyFeeMultiplier(T,o.FeeOption.Fast),[o.FeeOption.Fastest]:o.applyFeeMultiplier(T,o.FeeOption.Fastest)}}async function N2({assetValue:y,recipient:T,memo:C,sender:f,fetchTxHex:H=!1}){let U=y.chain,q=(await rf(U))[o.FeeOption.Fastest],X=H||P0.includes(U),G=y.getBaseValue("number"),Q=Math.ceil(G+q*5000);return{inputs:await Ry(U).getUtxos({address:f,fetchTxHex:X,targetValue:Q}),outputs:[{address:T,value:G},...C?[{address:"",script:Ey(C),value:0}]:[]]}}async function D2({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H,fetchTxHex:U=!1,enableRBF:q=!1}){let X=y.chain,G=C?Ey(C):null,Q=await N2({assetValue:y,fetchTxHex:U,memo:C,recipient:T,sender:H}),{inputs:L,outputs:z}=uy({...Q,chain:X,feeRate:f});if(!(L&&z))throw new o.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let Y=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:W,tx:B}=Bf({chain:X,compiledMemo:G,enableRBF:q,inputs:L,outputs:z,sender:H,tx:Y});return{inputs:W,tx:B,utxos:Q.inputs}}async function O2({assetValue:y,feeOptionKey:T=o.FeeOption.Fast,feeRate:C,memo:f,sender:H,recipient:U}){let q=y.chain,X=await N2({assetValue:y,memo:f,recipient:U,sender:H}),G=C?Math.floor(C):(await rf(q))[T];return uy({...X,chain:q,feeRate:G})}function TX(y){return async function({from:C,memo:f,feeRate:H,feeOptionKey:U=o.FeeOption.Fast,recipients:q=1}){let X=await Ry(y).getAddressData(C),G=H?Math.ceil(H):(await rf(y))[U],Q=X?.utxo.map((A)=>({...A,hash:"",type:"P2PKH"})).filter((A)=>A.value>Math.max(S0(y),zf(A)*G));if(!Q?.length)return o.AssetValue.from({chain:y});let L=BigInt(Q.reduce((A,N)=>A+N.value,0)),z=o.AssetValue.from({chain:y,value:L}),Y=typeof q==="number"?Array.from({length:q},()=>({address:C,value:0})):q;if(f)Y.push({address:C,script:Ey(f),value:0});let W=Pf({inputs:Q,outputs:Y}),B=o.AssetValue.from({chain:y,value:BigInt(W*G)});return z.sub(B)}}function HX(y){return async function(C){let{fee:f}=await O2(C);return o.AssetValue.from({chain:y,value:o.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function CX({chain:y,phrase:T,derivationPath:C,seed:f}){let H=xy(y),{privateKey:U,publicKey:q}=df({chain:y,derivationPath:C,phrase:T,seed:f}),X=y===o.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>o0({chain:y,network:H,publicKey:q}),privateKey:U,publicKey:q,signTransaction:(G)=>{return G.sign(U,X),G}}}function UX(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 o.SwapKitError("toolbox_utxo_no_signer");if(!H)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});o.warnOnce({condition:G&&!uT.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 L=G&&uT.includes(y),z=q||(await rf(y))[U||o.FeeOption.Fast],{tx:Y}=await D2({assetValue:X,enableRBF:L,feeRate:z,memo:f,recipient:H,sender:Q}),W=await T.signTransaction(Y);return W.finalize(),Ry(y).broadcastTx(Mf.hex.encode(W.extract()))}}function OH(y){return(T)=>DH({address:T,chain:y})}function RH(y){let T=xy(y);return function(f){if(!f)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return o0({chain:y,network:T,publicKey:f.publicKey})}}function Nf({chain:y,...T}){let C="phrase"in T?T.phrase:void 0,f="index"in T?T.index||0:0,H=C?hT.mnemonicToSeedSync(C):void 0,U="derivationPath"in T&&T.derivationPath?T.derivationPath:o.updateDerivationPath(o.NetworkDerivationPath[y],{index:f}),q=o.derivationPathToString(U),X=C?CX({chain:y,derivationPath:q,phrase:C,seed:H}):void 0,G="signer"in T?T.signer:void 0,Q=X||G,L=C?df({chain:y,derivationPath:q,phrase:C,seed:H}):void 0;function z(){if(Q)return Q.getAddress();return Promise.resolve(void 0)}function Y($){if(!C)return;let x=Jf({accountIndex:$,chain:y,derivationPath:U});return fX({chain:y,derivationPath:o.derivationPathToString(x),phrase:C,seed:H})}let W=Y();function B(){if(!W)return;return W.publicExtendedKey}function A({accountIndex:$}={}){let x=$===void 0?W:Y($);if(!x)return;let n=Jf({accountIndex:$,chain:y,derivationPath:U});return{accountIndex:If(n),path:o.derivationPathToString(n),xpub:x.publicExtendedKey}}function N({accountIndex:$,index:x,change:n=!1}){let M=$===void 0?W:Y($);if(!M)return;let I=mf({accountIndex:$,chain:y,change:n,derivationPath:U,index:x}),P=xy(y),b=M.deriveChild(Number(n)).deriveChild(x);if(!b.publicKey)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let v=o0({chain:y,network:P,publicKey:b.publicKey}),t=Mf.hex.encode(b.publicKey);return{accountIndex:If(I),address:v,change:n,index:x,path:o.derivationPathToString(I),pubkey:t}}async function O($){if(!uT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let x=await Ry(y).getTransactionDetails($);return{canReplace:x.isRBF&&!x.confirmed,confirmed:x.confirmed,enabled:x.isRBF,fee:x.fee,sequences:x.sequences,supported:!0}}async function D({txid:$,newFeeRate:x,recipient:n,memo:M}){if(!uT.includes(y))throw new o.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let I=await Ry(y).getTransactionDetails($);if(!I.isRBF)throw new o.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:$});if(I.confirmed)throw new o.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:I.blockId,txid:$});let P=I.inputs.reduce((By,jy)=>By+jy.value,0),v=I.outputs.find((By)=>By.recipient===n)?.value||0;if(v===0)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let t=await Promise.all(I.inputs.map(async(By)=>{let jy=await Ry(y).getRawTx(By.transaction_hash);return{hash:By.transaction_hash,index:By.index,txHex:jy,value:By.value,witnessUtxo:void 0}})),a=M?Ey(M):null,_y=Pf({feeRate:x,inputs:t.map((By)=>({...By,type:"P2WPKH"})),outputs:[{address:n,value:v}]}),Zy=Math.ceil(_y*x);if(Zy<=I.fee)throw new o.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Zy,originalFee:I.fee});let $y=Zy-I.fee,Ay=v-$y;if(Ay<=0)throw new o.SwapKitError("toolbox_utxo_rbf_insufficient_change");let ty=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),gy=[{address:n,value:Ay},...M?[{address:"",script:Ey(M),value:0}]:[]],cy=P-Ay-Zy,Iy=await z();if(cy>S0(y)&&Iy)gy.push({address:Iy,value:cy});return Bf({chain:y,compiledMemo:a,inputs:t,outputs:gy,sender:Iy||n,tx:ty}),{feeDelta:$y,newFee:Zy,originalFee:I.fee,tx:ty}}async function k({txid:$,newFeeRate:x,recipient:n,memo:M}){let{tx:I,originalFee:P,newFee:b}=await D({memo:M,newFeeRate:x,recipient:n,txid:$}),v=await R(I);v.finalize();let t=await Ry(y).broadcastTx(Mf.hex.encode(v.extract()));return{newFee:b,originalFee:P,txid:t}}function w({accountIndex:$,index:x,change:n=!1}){ly("index",x);let M=$===void 0?W:Y($);if(!M)return;return M.deriveChild(Number(n)).deriveChild(x).privateKey||void 0}function J({tx:$,inputDerivations:x}){if(!W)throw new o.SwapKitError("toolbox_utxo_no_signer");let n=y===o.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let M=0;M<x.length;M++){let I=x[M];if(!I)continue;let{derivationIndex:P,isChange:b}=I,v=w({change:b,index:P});if(!v)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${M} at index ${P}`});$.signIdx(v,M,n)}return $}async function Z({utxos:$,recipient:x,assetValue:n,memo:M,feeRate:I,feeOptionKey:P,changeAddress:b}){if(!W)throw new o.SwapKitError("toolbox_utxo_no_signer");let v=I||(await rf(y))[P||o.FeeOption.Fast],t=M?Ey(M):null,a=[{address:x,value:n.getBaseValue("number")}];if(t)a.push({address:"",script:t,value:0});let _y=$.map(({hash:Iy,index:By,value:jy,txHex:$8,witnessUtxo:Q1})=>({hash:Iy,index:By,txHex:$8,value:jy,witnessUtxo:Q1?{script:Q1.script,value:Q1.value}:void 0})),{inputs:Zy,outputs:$y}=uy({chain:y,feeRate:v,inputs:_y,outputs:a});if(!(Zy&&$y))throw new o.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:"multiple addresses"});let Ay=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),ty=$[0]?.address,gy=b||await z()||ty||x;Bf({chain:y,compiledMemo:t,inputs:Zy,outputs:$y,sender:gy,tx:Ay});let cy=Zy.map((Iy)=>{let By=$.find((jy)=>jy.hash===Iy.hash&&jy.index===Iy.index);return By?{derivationIndex:By.derivationIndex,isChange:By.isChange}:{derivationIndex:0,isChange:!1}});return J({inputDerivations:cy,tx:Ay}),Ay.finalize(),Ry(y).broadcastTx(Mf.hex.encode(Ay.extract()))}function _({address:$,gapLimit:x=20}){if(!W)return;for(let n=0;n<x;n++){let M=N({change:!1,index:n}),I=N({change:!0,index:n}),P=M?.address===$?!1:I?.address===$;if(M?.address===$||I?.address===$)return{change:P,index:n}}return}function R($){if(!Q)throw new o.SwapKitError("toolbox_utxo_no_signer");return Q.signTransaction($)}async function F($){let x=await R($);return x.finalize(),await Ry(y).broadcastTx(Mf.hex.encode(x.extract()))}return{accumulative:uy,broadcastTx:($)=>Ry(y).broadcastTx($),bumpFee:k,calculateTxSize:Pf,createKeysForPath:($)=>df({...$,chain:y}),createReplacementTransaction:D,createTransaction:D2,deriveAddressAtIndex:N,derivePrivateKeyAtIndex:w,estimateMaxSendableAmount:TX(y),estimateTransactionFee:HX(y),getAddress:z,getAddressFromKeys:RH(y),getBalance:Sy(y),getExtendedPublicKey:B,getExtendedPublicKeyInfo:A,getFeeRates:()=>rf(y),getInputsOutputsFee:O2,getNetworkForChain:()=>xy(y),getPrivateKeyFromMnemonic:($)=>yX(df({...$,chain:y}).privateKey,y),isRBFEnabled:O,keys:L,resolveDerivationIndex:_,signAndBroadcastTransaction:F,signTransaction:R,signTransactionWithMultipleKeys:J,transfer:UX(y,Q),transferFromMultipleAddresses:Z,validateAddress:OH(y)}}var B2,Mf,BH,hT,o,r,NH,P0,uT;var af=E(()=>{sy();w0();gf();n0();B2=require("@noble/curves/secp256k1.js"),Mf=require("@scure/base"),BH=require("@scure/bip32"),hT=require("@scure/bip39"),o=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),NH=require("ts-pattern"),P0=[o.Chain.Dash,o.Chain.Dogecoin,o.Chain.Zcash,o.Chain.BitcoinCash],uT=[o.Chain.Bitcoin]});function V0(y){return of(F0(y))}function qX(y){let T=xy(ay);function C(H){return H.sign(y.privateKey,[Ny.BCHSigHash.ALL]),H}function f(){let H=Ny.p2pkh(y.publicKey,T);if(!H.hash)throw new My.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let U=Ny.encodeCashAddr({hash:H.hash,prefix:Ny.CashAddrPrefix.MAINNET,type:Ny.CashAddrType.P2PKH});return Promise.resolve(U.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:C}}function wH(y){let T="phrase"in y?y.phrase:void 0,C="index"in y?y.index||0:0,f=My.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:My.updateDerivationPath(My.NetworkDerivationPath[ay],{index:C})),H=T?df({chain:ay,derivationPath:f,phrase:T}):void 0,U=H?qX(H):("signer"in y)?y.signer:void 0;function q(){return Promise.resolve(U?.getAddress())}let{getBalance:X,getFeeRates:G,broadcastTx:Q,...L}=Nf({chain:ay});function z(B,A=!0){return X(of(F0(B)))}function Y(B){if(!U)throw new My.SwapKitError("toolbox_utxo_no_signer");return U.signTransaction(B)}async function W(B){let A=await Y(B);return A.finalize(),await Q(kH.hex.encode(A.extract()))}return{...L,broadcastTx:Q,buildTx:GX,createTransaction:R2,getAddress:q,getAddressFromKeys:QX,getBalance:z,getFeeRates:G,signAndBroadcastTransaction:W,signTransaction:Y,stripPrefix:of,stripToCashAddress:V0,transfer:XX({broadcastTx:Q,getFeeRates:G,signer:U}),validateAddress:Af}}async function R2({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){if(!Af(T))throw new My.SwapKitError("toolbox_utxo_invalid_address",{address:T});let U=Math.ceil(y.getBaseValue("number")+f*7500),q=await Ry(ay).getUtxos({address:V0(H),fetchTxHex:!0,targetValue:U}),X=C?Ey(C):null,G=[],Q=Cf(T);if(G.push({address:Q,value:y.getBaseValue("number")}),X)G.push({script:X,value:0});let{inputs:L,outputs:z}=uy({chain:ay,feeRate:f,inputs:q,outputs:G});if(!(L&&z))throw new My.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let Y=new Ny.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),W=Cf(H),{inputs:B,tx:A}=Bf({chain:ay,compiledMemo:X,inputs:L,outputs:z.map((N)=>("address"in N)&&N.address?{...N,address:Cf(N.address)}:N),sender:W,tx:Y});return{inputs:B,tx:A,utxos:L}}function XX({broadcastTx:y,getFeeRates:T,signer:C}){return async function({recipient:H,assetValue:U,feeOptionKey:q=My.FeeOption.Fast,...X}){let G=await C?.getAddress();if(!(C&&G))throw new My.SwapKitError("toolbox_utxo_no_signer");if(!H)throw new My.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Q=X.feeRate||(await T())[q],{tx:L}=await R2({...X,assetValue:U,feeRate:Q,recipient:H,sender:G}),z=await C.signTransaction(L);return z.finalize(),y(kH.hex.encode(z.extract()))}}async function GX({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){let U=F0(T);if(!Af(U))throw new My.SwapKitError("toolbox_utxo_invalid_address",{address:U});let q=Math.ceil(y.getBaseValue("number")+f*7500),X=await Ry(ay).getUtxos({address:V0(H),fetchTxHex:!0,targetValue:q}),G=Number(f.toFixed(0)),Q=C?Ey(C):null,L=[];if(L.push({address:Cf(T),value:y.getBaseValue("number")}),Q)L.push({script:Q,value:0});let{inputs:z,outputs:Y}=uy({chain:ay,feeRate:G,inputs:X,outputs:L});if(!(z&&Y))throw new My.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let W=new Ny.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:B,tx:A}=Bf({chain:ay,compiledMemo:Q,inputs:z,outputs:Y,sender:Cf(H),tx:W});return{inputs:B,tx:A,utxos:X}}function QX(y){let T=Ny.NETWORKS.bitcoinCash,C=Ny.p2pkh(y.publicKey,T);if(!C.hash)throw new My.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Ny.encodeCashAddr({hash:C.hash,prefix:Ny.CashAddrPrefix.MAINNET,type:Ny.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var kH,My,Ny,ay;var mT=E(()=>{gf();af();n0();kH=require("@scure/base"),My=require("@swapkit/helpers"),Ny=require("@swapkit/utxo-signer"),ay=My.Chain.BitcoinCash});function w2(){let{isStagenet:y}=Jy.SKConfig.get("envs");return y?Uy.ZCASH_TEST_NETWORK:Uy.ZCASH_NETWORK}function ZX(y){return _X.encode(y)}function WX({phrase:y,derivationPath:T}){let C=FH.mnemonicToSeedSync(y),H=$H.HDKey.fromMasterSeed(C).derive(T);if(!H.privateKey||!H.publicKey)throw new Jy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:U,publicKey:q}=H,X=Uy.utils.hash160(q),{isStagenet:G}=Jy.SKConfig.get("envs"),Q=G?new Uint8Array([29,37]):new Uint8Array([28,184]),L=new Uint8Array(Q.length+X.length);L.set(Q,0),L.set(X,Q.length);let z=ZX(L);return{getAddress:()=>Promise.resolve(z),signTransaction:(Y)=>{if(Y instanceof Uy.ZcashPSBT){let W=Y.toPCZT();return W.signAllInputs(U,q,Uy.ZcashSigHash.ALL),W.finalizeAllInputs(),Promise.resolve(W.extract())}if(Y instanceof Uy.PCZT)return Y.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Y.finalizeAllInputs(),Promise.resolve(Y.extract());return Y.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Promise.resolve(Y)}}}function LX({inputs:y,outputs:T,tx:C,sender:f,compiledMemo:H}){let U=w2();for(let q of y){let X=Uy.Address(U).decode(f),G=Uy.OutScript.encode(X);C.addInput({index:q.index,script:G,sequence:4294967295,txid:tT.hex.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 k2(y){let{assetValue:T,recipient:C,memo:f,feeRate:H,sender:U,fetchTxHex:q}=y,X=f?Ey(f):null,G=await Ry(Jy.Chain.Zcash).getUtxos({address:U,fetchTxHex:q!==!1}),Q=[{address:C,value:Number(T.getBaseValue("string"))},...X?[{script:X,value:0}]:[]],{inputs:L,outputs:z}=uy({chain:Jy.Chain.Zcash,changeAddress:U,feeRate:H,inputs:G,outputs:Q});if(!(L&&z))throw new Jy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:U});let Y=Uy.createZcashTransaction({consensusBranchId:Uy.ZcashConsensusBranchId.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:Uy.ZcashVersionGroupId.SAPLING}),{tx:W,inputs:B}=LX({compiledMemo:X,inputs:L,outputs:z,sender:U,tx:Y});return{inputs:B,outputs:z,tx:W}}function xH(y){let T=sf.match(y).with({signer:sf.P.not(sf.P.nullish)},({signer:G})=>G).with({phrase:sf.P.string},({phrase:G,derivationPath:Q,index:L=0})=>{let z=Q||Jy.NetworkDerivationPath[Jy.Chain.Zcash]||[44,133,0,0,0],Y=Jy.updateDerivationPath(z,{index:L}),W=Jy.derivationPathToString(Y);return WX({derivationPath:W,phrase:G})}).otherwise(()=>{return}),C=Nf({chain:Jy.Chain.Zcash,signer:T});async function f(G){if(!T)throw new Jy.SwapKitError("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:L=Jy.FeeOption.Fast,...z}){let Y=await T?.getAddress();if(!(T&&Y))throw new Jy.SwapKitError("toolbox_utxo_no_signer");let W=z.feeRate||(await C.getFeeRates())[L],{tx:B}=await k2({...z,assetValue:Q,feeRate:W,recipient:G,sender:Y}),N=(await T.signTransaction(B)).toHex();return C.broadcastTx(N)}function q({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let L=FH.mnemonicToSeedSync(G),Y=$H.HDKey.fromMasterSeed(L).derive(Q);if(!Y.privateKey||!Y.publicKey)throw new Jy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:Y.privateKey,publicKey:Y.publicKey}}function X({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let L=q({derivationPath:Q,phrase:G}),z=w2();return Uy.WIF(z).encode(L.privateKey)}return{...C,createKeysForPath:q,createTransaction:k2,getPrivateKeyFromMnemonic:X,signAndBroadcastTransaction:H,signTransaction:f,transfer:U,validateAddress:cf}}var tT,$H,FH,Jy,Uy,sf,_X;var IH=E(()=>{gf();af();n0();tT=require("@scure/base"),$H=require("@scure/bip32"),FH=require("@scure/bip39"),Jy=require("@swapkit/helpers"),Uy=require("@swapkit/utxo-signer"),sf=require("ts-pattern");_X=tT.createBase58check(Uy.utils.sha256)});function I2({xpub:y,chain:T,count:C,startIndex:f=0,accountIndex:H}){if(ly("count",C),C<1)throw RangeError("count must be at least 1");ly("startIndex",f);let U=xy(T),q=F2.HDKey.fromExtendedKey(y,U.bip32),X=Jf({accountIndex:H,chain:T}),G=If(X),Q=[];for(let L of[!1,!0]){let z=q.deriveChild(Number(L));for(let Y=0;Y<C;Y++){let W=f+Y,B=z.deriveChild(W);if(!B.publicKey)continue;let A=mf({accountIndex:H,chain:T,change:L,index:W});Q.push({accountIndex:G,address:o0({chain:T,network:U,publicKey:B.publicKey}),change:L,index:W,path:x2.derivationPathToString(A),pubkey:$2.hex.encode(B.publicKey)})}}return Q}var $2,F2,x2;var S2=E(()=>{w0();af();$2=require("@scure/base"),F2=require("@scure/bip32"),x2=require("@swapkit/helpers")});function YX(y,T){switch(y){case Uf.Chain.BitcoinCash:return wH(T||{});case Uf.Chain.Zcash:return xH(T);case Uf.Chain.Bitcoin:case Uf.Chain.Dogecoin:case Uf.Chain.Litecoin:case Uf.Chain.Dash:return Nf({chain:y,...T});default:throw new Uf.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var Uf;var n2=E(()=>{mT();af();IH();w0();S2();mT();n0();Uf=require("@swapkit/helpers")});var SH={};Dy(SH,{validateZcashAddress:()=>cf,validateUtxoAddress:()=>DH,validateBchAddress:()=>Af,toLegacyAddress:()=>Cf,toCashAddress:()=>F0,stripToCashAddress:()=>V0,stripPrefix:()=>of,nonSegwitChains:()=>P0,isValidAddress:()=>zH,getUtxoToolbox:()=>YX,getUtxoNetwork:()=>lq,getUtxoApi:()=>Ry,getUTXOAddressValidator:()=>OH,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Jf,getUTXOAccountIndexFromPath:()=>If,getScriptTypeForAddress:()=>tf,getOutputSize:()=>I0,getNetworkForChain:()=>xy,getInputSize:()=>zf,getDustThreshold:()=>S0,detectAddressNetwork:()=>AH,deriveAddressesFromXpub:()=>I2,createZcashToolbox:()=>xH,createUTXOToolbox:()=>Nf,createHDWalletHelpers:()=>f2,createCustomUtxoApi:()=>pq,createBCHToolbox:()=>wH,compileMemo:()=>Ey,calculateTxSize:()=>Pf,assertDerivationIndex:()=>ly,addressFromKeysGetter:()=>RH,addInputsAndOutputs:()=>Bf,accumulative:()=>uy,UtxoNetwork:()=>JH,UTXOScriptType:()=>pT,TX_OVERHEAD:()=>jT,SEGWIT_MARKER_FLAG_WEIGHT:()=>KT,OutputSizes:()=>x0,OP_RETURN_OVERHEAD:()=>z2,MIN_TX_FEE:()=>rq,InputSizes:()=>bT});module.exports=ky(SH);var nH=E(()=>{af();w0();gf();n2();mT();IH()});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 cT(y){let{KeyPair:T}=await import("@near-js/crypto"),C=y.index||0,f=y.derivationPath?gT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${C}'`,{parseSeedPhrase:H}=await import("near-seed-phrase"),{secretKey:U}=H(y.phrase,f),q=T.fromString(U);return P2(q)}async function PH(y){let{KeyPair:T}=await import("@near-js/crypto"),C=T.fromString(y);return P2(C)}async function P2(y){let{KeyPairSigner:T}=await import("@near-js/signers");class C extends T{#y;constructor(f){super(f);this.#y=f}getAddress(){let f=this.#y.getPublicKey(),H=Buffer.from(f.data).toString("hex");return Promise.resolve(H)}}return new C(y)}async function iT(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 gT.SwapKitError("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 gT;var oH=E(()=>{gT=require("@swapkit/helpers")});function VH(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function EH(y){return"contractId"in y&&"methodName"in y}function vH(y){return"actions"in y}function bH(y){return"newAccountId"in y}function jH(y){return"contractCode"in y}function KH(y){return"customEstimator"in y}function pH(y){let T=0;for(let C of y)switch(C.enum){case"transfer":T+=Number(wy.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(wy.CONTRACT_CALL);break;case"createAccount":T+=Number(wy.ACCOUNT_CREATION);break;case"deployContract":T+=Number(wy.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(wy.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(wy.ACCESS_KEY_DELETION);break;case"stake":T+=Number(wy.STAKE);break;default:T+=Number(wy.CONTRACT_CALL)}return T.toString()}function lH(y){if(y==="ft_transfer"||y==="ft_transfer_call")return wy.TOKEN_TRANSFER;if(y==="storage_deposit")return wy.STORAGE_DEPOSIT;return wy.CONTRACT_CALL}function JX(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function zX(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var wy;var uH=E(()=>{wy={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 hH({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})}function AX(y){let T;async function C(){if(T)return T;return T=await ef.match(y).with({phrase:ef.P.string},async(M)=>{return await cT(M)}).with({signer:ef.P.any},({signer:M})=>M).otherwise(()=>{return}),T}async function f(){let{JsonRpcProvider:M}=await import("@near-js/providers"),I=await Cy.getRPCUrl(Cy.Chain.Near);return new M({url:I})}async function H(M){let{Account:I}=await import("@near-js/accounts"),P=await f(),b=await C(),v=M||await U();return new I(v,P,b)}async function U(){let M=await C();if(!M)throw new Cy.SwapKitError("toolbox_near_no_signer");return await M.getAddress()}async function q(M){return(await _({changeMethods:[],contractId:M.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:M.accountId})}async function X(M){let P=[await Y({args:{account_id:M.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await Y({args:{amount:M.assetValue.getBaseValue("string"),memo:M.memo||null,receiver_id:M.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return R({actions:P,receiverId:M.contractId})}async function G(M){if(!await C())throw new Cy.SwapKitError("toolbox_near_no_signer");let{assetValue:P,recipient:b,memo:v}=M,t=await U();if(!P.isGasAsset&&P.address){if(!await q({accountId:b,contractId:P.address}))return X({assetValue:P,contractId:P.address,memo:v,recipient:b})}let a=await Q({...M,sender:t});return D(a)}async function Q({recipient:M,assetValue:I,memo:P,attachedDeposit:b,sender:v,functionCall:t}){let a=await f();if(!E0(M))throw new Cy.SwapKitError("toolbox_near_invalid_address",{recipient:M});if(!E0(v))throw new Cy.SwapKitError("toolbox_near_invalid_address",{sender:v});if(t)return z({...t,sender:v});if(!I.isGasAsset){let jy=I.address;if(!jy)throw new Cy.SwapKitError("toolbox_near_missing_contract_address");return z({args:{amount:I.getBaseValue("string"),memo:P||null,receiver_id:M},attachedDeposit:b||"1",contractId:jy,gas:"250000000000000",methodName:"ft_transfer",sender:v})}let{publicKey:_y,nonce:Zy}=await iT(a,v),$y=I.getBaseValue("bigint"),{actionCreators:Ay,createTransaction:ty}=await import("@near-js/transactions"),{baseDecode:gy}=await import("@near-js/utils"),cy=[Ay.transfer($y)];if(P&&b)cy.push(Ay.functionCall("memo",{memo:P},BigInt("250000000000000"),BigInt(b)));let Iy=await a.block({finality:"final"}),By=gy(Iy.header.hash);return ty(v,_y,M,Zy+1,cy,By)}function L(M){let I=M.encode();return Buffer.from(I).toString("base64")}async function z({args:M,attachedDeposit:I,contractId:P,gas:b,methodName:v,sender:t}){let a=await f(),{publicKey:_y,nonce:Zy}=await iT(a,t),{createTransaction:$y,actionCreators:Ay}=await import("@near-js/transactions"),{baseDecode:ty}=await import("@near-js/utils"),gy=await a.block({finality:"final"}),cy=ty(gy.header.hash),Iy=[Ay.functionCall(v,Buffer.from(JSON.stringify(M)),BigInt(b),BigInt(I))];return $y(t,_y,P,Zy+1,Iy,cy)}async function Y(M){let{actionCreators:I}=await import("@near-js/transactions");return I.functionCall(M.methodName,Buffer.from(JSON.stringify(M.args)),BigInt(M.gas),BigInt(M.attachedDeposit))}async function W(M){let I=await C();if(!I)throw new Cy.SwapKitError("toolbox_near_no_signer");await B(M);let[P,b]=await I.signTransaction(M);return b}async function B(M){let I=M.publicKey;if(I.toString?.().startsWith("ed25519:")||I.toString?.().startsWith("secp256k1:"))return;let{KeyType:P,PublicKey:b}=await import("@near-js/crypto"),v=I.data||I.ed25519Key?.data,t=I.secp256k1Key?.data;if(v){M.publicKey=new b({data:Uint8Array.from(v),keyType:P.ED25519});return}if(t)M.publicKey=new b({data:Uint8Array.from(t),keyType:P.SECP256K1})}function A(M){if(typeof M==="string")return M;if(Array.isArray(M))return M.map(A).find(Boolean);if(!(M&&typeof M==="object"))return;let I=M;return I.transaction?.hash||I.transaction_outcome?.id}function N(M){return M instanceof Error?M.message:String(M)}async function O(M){let P=await(await f()).sendTransaction(M),b=A(P);if(!b)throw new Cy.SwapKitError("toolbox_near_transfer_failed",{result:P});return b}async function D(M){let I=await C();if(!I)throw new Cy.SwapKitError("toolbox_near_no_signer");let P;try{P=await W(M)}catch(b){let v;try{v=I.signAndSendTransaction?await I.signAndSendTransaction({actions:M.actions,receiverId:M.receiverId,signerId:M.signerId}):await I.signAndSendTransactions?.({transactions:[M]})}catch(a){throw new Cy.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:N(b),signAndSendError:N(a)}},a)}let t=A(v);if(t)return t;throw b}return O(P)}async function k(M){let I=await C();if("assetValue"in M){let b=await w();try{let v=await Cy.getRPCUrl(Cy.Chain.Near),t=await fetch(v,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:a}}=await t.json(),{execution:_y,send_sir:Zy}=a.transaction_costs.action_receipt_creation_config,{execution:$y,send_sir:Ay}=a.transaction_costs.action_creation_config.transfer_cost,ty=BigInt(Ay)+BigInt($y),gy=BigInt(Zy)+BigInt(_y),Iy=(ty+gy)*BigInt(b.toString());return Cy.AssetValue.from({chain:Cy.Chain.Near,value:Iy})}catch(v){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",v);let t=BigInt("115123062500"),a=BigInt("108059500000"),Zy=(t+a)*BigInt(b.toString());return Cy.AssetValue.from({chain:Cy.Chain.Near,value:Zy})}}let P=I?await H():void 0;return F(M,P)}async function w(){let M=await f();try{return await M.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function J(M,I,P){if(!await C())throw new Cy.SwapKitError("toolbox_near_no_signer");let v=await H(),{formatNearAmount:t}=await import("@near-js/utils"),{PublicKey:a}=await import("@near-js/crypto"),_y=t(P)||"0";return(await v.createAccount(M,a.fromString(I),BigInt(_y))).transaction.hash}async function Z(M){let I=await C();try{if(!I)throw new Cy.SwapKitError("toolbox_near_no_signer");let{actionCreators:P}=await import("@near-js/transactions"),{contractId:b,methodName:v,args:t,deposit:a}=M,_y=await H(),Zy=await F({args:t||{},contractId:b,methodName:v}),$y=P.functionCall(v,t||{},Zy.getBaseValue("bigint"),BigInt(a||"1"));return(await _y.signAndSendTransaction({actions:[$y],receiverId:b})).transaction_outcome.id}catch(P){throw new Cy.SwapKitError("toolbox_near_transfer_failed",{error:P})}}async function _(M){let I=await H();return hH({account:I,changeMethods:M.changeMethods,contractId:M.contractId,viewMethods:M.viewMethods})}async function R(M){if(!await C())throw new Cy.SwapKitError("toolbox_near_no_signer");if(M.actions.length===0)throw new Cy.SwapKitError("toolbox_near_empty_batch");return(await(await H()).signAndSendTransaction({actions:M.actions,receiverId:M.receiverId})).transaction.hash}async function F(M,I){let P=await ef.match(M).when(VH,()=>wy.SIMPLE_TRANSFER).when(EH,(v)=>lH(v.methodName)).when(vH,(v)=>pH(v.actions)).when(bH,()=>wy.ACCOUNT_CREATION).when(jH,()=>wy.CONTRACT_DEPLOYMENT).when(KH,(v)=>{if(!I)throw new Cy.SwapKitError("toolbox_near_no_account");return v.customEstimator(I)}).otherwise(()=>{throw new Cy.SwapKitError("toolbox_near_invalid_gas_params")}),b=BigInt(P)*BigInt(1000000000000);return Cy.AssetValue.from({chain:Cy.Chain.Near,value:b})}function $(M,I){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),F(M,I)}async function x(){let M=await f();try{return(await M.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function n(){let M=await C();return M?(await M.getPublicKey()).toString():""}return{broadcastTransaction:O,callFunction:Z,createAction:Y,createContract:_,createContractFunctionCall:z,createSubAccount:J,createTransaction:Q,estimateGas:$,estimateGasLimit:F,estimateTransactionFee:k,executeBatchTransaction:R,getAddress:U,getBalance:Sy(Cy.Chain.Near),getGasPrice:x,getNearProvider:f,getPublicKey:n,getSignerFromPhrase:cT,getSignerFromPrivateKey:PH,serializeTransaction:L,signAndBroadcastTransaction:D,signTransaction:W,transfer:G,validateAddress:E0}}var Cy,ef;var mH=E(()=>{sy();oH();uH();Cy=require("@swapkit/helpers"),ef=require("ts-pattern")});var o2=E(()=>{mH()});var tH={};Dy(tH,{validateNearAddress:()=>E0,tgasToGas:()=>JX,isSimpleTransfer:()=>VH,isCustomEstimator:()=>KH,isContractDeployment:()=>jH,isContractCall:()=>EH,isBatchTransaction:()=>vH,isAccountCreation:()=>bH,getNearToolbox:()=>AX,getNearSignerFromPrivateKey:()=>PH,getNearSignerFromPhrase:()=>cT,getFullAccessPublicKey:()=>iT,getContractMethodGas:()=>lH,gasToTGas:()=>zX,estimateBatchGas:()=>pH,createNearContract:()=>hH,GAS_COSTS:()=>wy});module.exports=ky(tH);var gH=E(()=>{oH();uH();mH();o2()});var cH={};Dy(cH,{validateRadixAddress:()=>V2,getRadixToolbox:()=>DX});module.exports=ky(cH);function V2(y){return y.startsWith("account_rdx1")&&y.length===66}async function MX({address:y,networkApi:T}){let C=!0,f,H=[],U=await NX(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 BX({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 L=Q.metadata?.items.find((Y)=>Y.key==="symbol"),z=L?.value.typed.type==="String"?L.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 L=G.get(Q.resource_address)||{decimals:0,symbol:"?"},z=hy.AssetValue.from({asset:L.symbol!==hy.Chain.Radix?`${hy.Chain.Radix}.${L.symbol}-${Q.resource_address}`:"XRD.XRD",value:Q.amount});C.push(z)}}return C}async function NX(y){return(await y.status.getCurrent()).ledger_state.state_version}function DX({dappConfig:y}={}){let T=y||hy.SKConfig.get("integrations").radix,C;async function f(){if(C)return C;let{GatewayApiClient:U}=await import("@radixdlt/babylon-gateway-api-sdk"),{RadixDappToolkit:q}=await import("@radixdlt/radix-dapp-toolkit"),X=q({...T,networkId:T.network?.networkId||1});return C=U.initialize(X.gatewayApi.clientConfig),C}async function H(U){let q=await f(),X=await MX({address:U,networkApi:q}),G=await BX({networkApi:q,resources:X});if(!G.some((L)=>L.isGasAsset))return[hy.AssetValue.from({chain:hy.Chain.Radix}),...G];return G}return{getAddress:()=>"",getBalance:H,getNetworkApi:f,signAndBroadcast:()=>{throw new hy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:V2}}var hy;var iH=E(()=>{hy=require("@swapkit/helpers")});function dT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function v0(y){if(dT(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 E2.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function OX(y){if(!dT(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 y0(y){if(dT(y))return y.toUpperCase();if(y.length<=3)return y;return v0(y)}var E2;var rT=E(()=>{E2=require("@swapkit/helpers")});async function RX(y,T){let C=y0(y),f=sT.find((H)=>y0(H.currency)===C&&H.issuer===T);if(f)return f;try{let H=await aT.RequestClient.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){aT.warnOnce({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 kX(y){return sT.filter((T)=>T.issuer===y)}function wX(y,T){let C=y0(y);return sT.some((f)=>y0(f.currency)===C&&f.issuer===T)}var aT,sT;var v2=E(()=>{rT();aT=require("@swapkit/helpers"),sT=[{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 dH={};Dy(dH,{validateRippleAddress:()=>b0,parseXrplTokenIdentifier:()=>K2,normalizeCurrency:()=>y0,isKnownToken:()=>wX,isHexCurrency:()=>dT,hexToCurrency:()=>OX,getXrplTokenInfo:()=>RX,getRippleToolbox:()=>FX,getKnownTokensByIssuer:()=>kX,formatXrplTokenIdentifier:()=>p2,currencyToHex:()=>v0,XRPL_TOKEN_ERROR_CODES:()=>eT,XRPL_KNOWN_TOKENS:()=>sT});module.exports=ky(dH);function K2(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(!b0(T[2]))return null;return{currency:T[1],issuer:T[2]}}function p2(y,T){return`${d.Chain.Ripple}.${y}-${T}`}async function $X(y){if(y.isGasAsset){let{xrpToDrops:C}=await import("xrpl");return C(y.getValue("string"))}let T=K2(y.toString());if(!T)throw new d.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:T.currency,issuer:T.issuer,value:y.getValue("string")}}function j2(y){let T,C=()=>{return T??=import("xrpl").then(({Wallet:f})=>f.fromMnemonic(y)),T};return{getAddress:async()=>(await C()).address,signTransaction:async(f)=>(await C()).sign(f)}}function b0(y){return y1.isValidClassicAddress(y)||y1.isValidXAddress(y)}function FX(y={}){let T;async function C(){if(T)return T;return T=await f0.match(y).with({phrase:f0.P.string},({phrase:k})=>j2(k)).with({signer:f0.P.any},({signer:k})=>k).otherwise(()=>{return}),T}let f;async function H(){let k=await d.getRPCUrl(d.Chain.Ripple);if(!k)throw new d.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:d.Chain.Ripple}});let{Client:w}=await import("xrpl"),J=new w(k);return await J.connect(),J}async function U(){if(f){let k=await f.catch(()=>null);if(k?.isConnected())return k}return f=H(),f}let q=async()=>{let k=await C();if(!k)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return k.getAddress()},X=async(k)=>{let w=k||await q(),{baseDecimal:J}=d.getChainConfig(d.Chain.Ripple),Z=await U();try{let[_,R]=await Promise.all([Z.request({account:w,command:"account_info"}),Z.request({account:w,command:"account_lines"})]),F=_.result.account_data.Balance,$=[d.AssetValue.from({chain:d.Chain.Ripple,fromBaseDecimal:J,value:F})];for(let x of R.result.lines){let n=p2(x.currency,x.account);if(Number.parseFloat(x.balance)!==0)$.push(d.AssetValue.from({asset:n,asyncTokenLookup:!1,value:x.balance}))}return $}catch(_){if(_.data?.error_code===b2.ACCOUNT_NOT_FOUND)return[d.AssetValue.from({chain:d.Chain.Ripple,value:0})];throw new d.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:w,error:_}})}},G=async()=>{let{baseDecimal:k}=d.getChainConfig(d.Chain.Ripple),Z=(await(await U()).request({command:"fee"})).result.drops.open_ledger_fee;return d.AssetValue.from({chain:d.Chain.Ripple,fromBaseDecimal:k,value:Z})};async function Q(k){let w=k||await q(),J=await U();try{return(await J.request({account:w,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(Z){if(Z.data?.error_code===b2.ACCOUNT_NOT_FOUND)return[];throw new d.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:w,error:Z}})}}async function L({address:k,currency:w,issuer:J}){let Z=await Q(k),_=v0(w);return Z.some((R)=>{return v0(R.currency)===_&&R.account===J})}async function z({currency:k,issuer:w,limit:J,sender:Z}){let _=Z||await q();if(!b0(w))throw new d.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:w}});let R=Number.parseFloat(J);if(Number.isNaN(R)||R<0)throw new d.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:J}});let F=await U(),$={Account:_,LimitAmount:{currency:k,issuer:w,value:J},TransactionType:"TrustSet"};return F.autofill($)}async function Y({assetValue:k,recipient:w,memo:J,sender:Z,destinationTag:_,extendBySeconds:R=150}){if(!b0(w))throw new d.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let F=Z||await q();if(k.chain!==d.Chain.Ripple)throw new d.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:k.toString()}});let $=await $X(k),x={Account:F,Amount:$,Destination:w,TransactionType:"Payment",..._!==void 0&&{DestinationTag:_}};if(J)x.Memos=[{Memo:{MemoData:Buffer.from(J).toString("hex")}}];let M=await(await U()).autofill(x);if(M.LastLedgerSequence&&R>0)M.LastLedgerSequence+=Math.ceil(R/4);return M}async function W(k){let w=await C();if(!w)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return w.signTransaction(k)}async function B(k){let J=await(await U()).submitAndWait(k),{result:Z}=J;if(Z.validated)return Z.hash;let _=Z.meta?.TransactionResult,R=f0.match(_).with(eT.tecNO_LINE,()=>"No trust line exists for this token").with(eT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(eT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new d.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:d.Chain.Ripple,...R?{reason:R}:{txResult:_}}})}let A=async(k)=>{try{let w=await W(k);return B(w.tx_blob)}catch(w){if(w instanceof d.SwapKitError)throw w;throw new d.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:d.Chain.Ripple,error:w}})}};async function N(k){let w=await C();if(!w)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let J=await w.getAddress(),Z=await Y({...k,sender:J}),_=await W(Z);return B(_.tx_blob)}async function O(k){let w=await C();if(!w)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let J=await w.getAddress(),Z=await z({...k,sender:J}),_=await W(Z);return B(_.tx_blob)}function D(){let k=f;if(f=null,k)k.then((w)=>{if(w?.isConnected())return w.disconnect();return}).catch((w)=>{console.warn("XRPL Cleanup failed silently:",w)})}return{broadcastTransaction:B,createSigner:j2,createTransaction:Y,disconnect:D,estimateTransactionFee:G,getAddress:q,getBalance:X,getTrustLines:Q,hasTrustLine:L,setTrustLine:z,setTrustLineAndBroadcast:O,signAndBroadcastTransaction:A,signTransaction:W,transfer:N,validateAddress:b0}}var d,y1,f0,b2,eT;var rH=E(()=>{rT();d=require("@swapkit/helpers"),y1=require("ripple-address-codec"),f0=require("ts-pattern");rT();v2();b2={ACCOUNT_NOT_FOUND:19},eT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function aH(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 Vf.SwapKitError("toolbox_tron_transaction_creation_failed")}function j0(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 f1(y,T,C){let f=y.get(T);if(f)f.push(C);else y.set(T,[C])}function nX(y){let T=new Map,C=0;while(C<y.length){let[f,H]=aH(y,C);C=H;let U=Number(f>>3n),q=Number(f&7n);if(q===T1){let[X,G]=aH(y,C);C=G,f1(T,U,{data:new Uint8Array(j0(X)),wireType:T1})}else if(q===H1){let[X,G]=aH(y,C);C=G;let Q=Number(X);if(Q<0||C+Q>y.length)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let L=y.slice(C,C+Q);C+=Q,f1(T,U,{data:L,wireType:H1})}else if(q===l2){if(C+8>y.length)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let X=y.slice(C,C+8);C+=8,f1(T,U,{data:X,wireType:l2})}else if(q===u2){if(C+4>y.length)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let X=y.slice(C,C+4);C+=4,f1(T,U,{data:X,wireType:u2})}else throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed")}return T}function PX(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(j0(Q))),X===H1)T.push(new Uint8Array(j0(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 m2(y,T){if(!y||y.length%2!==0)throw new Vf.SwapKitError("toolbox_tron_transaction_creation_failed");let C=T0.hexToBytes(y),f=nX(C);if(T.expiration!==void 0)f.set(xX,[{data:new Uint8Array(j0(BigInt(T.expiration))),wireType:T1}]);if(T.data!==void 0)f.set(IX,[{data:T0.hexToBytes(T.data),wireType:H1}]);if(T.fee_limit!==void 0)f.set(SX,[{data:new Uint8Array(j0(BigInt(T.fee_limit))),wireType:T1}]);let H=PX(f),U=T0.bytesToHex(H),q=T0.bytesToHex(h2.sha256(H));return{raw_data_hex:U,txID:q}}var h2,T0,Vf,T1=0,l2=1,H1=2,u2=5,xX=8,IX=10,SX=18;var t2=E(()=>{h2=require("@noble/hashes/sha2.js"),T0=require("@noble/hashes/utils.js"),Vf=require("@swapkit/helpers")});function my(y){if(typeof y!=="string")return!1;try{let T=C1.decode(y);return T.length===21&&T[0]===i2}catch{return!1}}function d2(y){return by.bytesToHex(C1.decode(y))}function VX(y){return C1.decode(y).slice(1)}function r2(y){let T=sH.secp256k1.getPublicKey(by.hexToBytes(y),!1),C=g2.keccak_256(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=i2,f.set(C,1),C1.encode(f)}function a2({txID:y,privateKey:T}){let C=sH.secp256k1.sign(by.hexToBytes(y),by.hexToBytes(T),{format:"recovered",prehash:!1}),f=C[0]??0,H=by.bytesToHex(C.slice(1,33)),U=by.bytesToHex(C.slice(33,65)),q=(f+27).toString(16).padStart(2,"0");return H+U+q}function H0({txID:y,raw_data_hex:T}){let C=by.bytesToHex(eH.sha256(by.hexToBytes(T)));if(y!==C)throw new yC.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:C,txID:y})}function EX(y){return`000000000000000000000000${by.bytesToHex(VX(y))}`}function vX(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=oX)throw new yC.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function C0(y){return y.map(({type:T,value:C})=>T==="address"?EX(C):vX(BigInt(C))).join("")}function s2(y){return by.bytesToHex(new TextEncoder().encode(y))}var sH,eH,g2,by,c2,yC,C1,i2=65,oX;var fC=E(()=>{sH=require("@noble/curves/secp256k1.js"),eH=require("@noble/hashes/sha2.js"),g2=require("@noble/hashes/sha3.js"),by=require("@noble/hashes/utils.js"),c2=require("@scure/base"),yC=require("@swapkit/helpers"),C1=c2.createBase58check(eH.sha256),oX=2n**256n});function f8(){try{return Gy.getRPCUrlSync(Gy.Chain.Tron)}catch{return y8}}function T8(){let y=new AbortController,T=setTimeout(()=>y.abort(),lX);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function Ef(y,T){let{signal:C,cleanup:f}=T8();try{let H=await fetch(`${f8()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:C});if(!H.ok)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${H.status} ${H.statusText} on ${y}`});return await H.json()}finally{f()}}async function H8(y,T){let{signal:C,cleanup:f}=T8();try{let H=await fetch(`${T??f8()}${y}`,{headers:{"Content-Type":"application/json"},signal:C});if(!H.ok)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${H.status} ${H.statusText} on ${y}`});return await H.json()}finally{f()}}async function C8(y){if(!my(y))throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await H8(`/v1/accounts/${y}`,y8);if(!(T.success&&T.data)||T.data.length===0)return;let C;try{C=d2(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 Gy.SwapKitError)throw T;throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function U8({from:y,to:T,amount:C}){let H=await Ef("/wallet/createtransaction",{amount:C,owner_address:y,to_address:T,visible:!0});if(!H.txID||!H.raw_data_hex||!H.raw_data)throw new Gy.SwapKitError("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 Gy.SwapKitError("toolbox_tron_transaction_creation_failed");return H0(H),H}async function q8({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f,feeLimit:H,callValue:U=0}){let q=await Ef("/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 Gy.SwapKitError("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 Gy.SwapKitError("toolbox_tron_transaction_creation_failed");return H0(q.transaction),q.transaction}function X8({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f}){return Ef("/wallet/triggerconstantcontract",{contract_address:T,function_selector:C,owner_address:y,parameter:f,visible:!0})}function uX({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f}){return Ef("/wallet/estimateenergy",{contract_address:T,function_selector:C,owner_address:y,parameter:f,visible:!0})}function e2(y){let T=typeof y==="number"?y:typeof y==="string"?Number(y):Number.NaN;return Number.isFinite(T)&&T>0?T:void 0}async function K0(y){try{let{result:T,txid:C}=await Ef("/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 Gy.SwapKitError("toolbox_tron_token_transfer_failed");return C}catch(T){throw new Gy.SwapKitError("toolbox_tron_broadcast_failed",{error:T})}}async function p0(){let y={};try{let{chainParameter:T}=await H8("/wallet/getchainparameters");for(let C of T)y[C.key]=C.value}catch(T){Gy.warnOnce({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??bX,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??jX,energyFee:y.getEnergyFee??KX,memoFee:y.getMemoFee??pX}}async function TC(y){try{let T=await Ef("/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 Gy.warnOnce({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 l0(y){try{let T=await Ef("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function HC(y){try{let T=await uX({...y,ownerAddress:y.sender}),C=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:T.result.message||"estimateenergy failed"});if(C!==void 0){let f=e2(C);if(f!==void 0)return f;throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){Gy.warnOnce({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 X8({...y,ownerAddress:y.sender}),C=e2(T);if(C!==void 0)return C;throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid triggerconstantcontract energy response"})}catch(T){throw Gy.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy: ${T instanceof Error?T.message:T}`}),new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`Unable to estimate contract energy: ${T instanceof Error?T.message:T}`})}}async function G8({assetAddress:y,owner:T,spender:C}){let f=C0([{type:"address",value:T},{type:"address",value:C}]),U=(await X8({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 Gy,y8="https://api.trongrid.io",bX=1000,jX=1e6,KX=420,pX=1e6,lX=30000;var Q8=E(()=>{fC();Gy=require("@swapkit/helpers")});function M8({phrase:y,derivationPath:T}){let C=J8.HDKey.fromMasterSeed(z8.mnemonicToSeedSync(y)).derive(T);if(!C.privateKey)throw new K.SwapKitError("toolbox_tron_no_signer");return Y8.bytesToHex(C.privateKey)}function B8(y,T){return{...y,value:String(T)}}function N8(y,T){if(!T)return y;return{...y,data:T.startsWith("0x")?T:`0x${T}`}}function D8({phrase:y,derivationPath:T,index:C}){let f=T||K.derivationPathToString(K.updateDerivationPath(K.NetworkDerivationPath[K.Chain.Tron],{index:C||0}));return M8({derivationPath:f,phrase:y})}function mX({phrase:y,derivationPath:T}){let C=M8({derivationPath:T,phrase:y}),f=r2(C);return{getAddress:()=>Promise.resolve(f),signTransaction:(H)=>{H0(H);let U=a2({privateKey:C,txID:H.txID});return Promise.resolve({...H,signature:[U]})}}}function L8({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=T.startsWith("0x")?T.replace(/^0x/,""):s2(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}=m2(y.raw_data_hex,H);return{...y,raw_data:{...y.raw_data,...U},raw_data_hex:q,txID:X}}function O8(y={}){let T="index"in y?y.index||0:0,C=K.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:K.updateDerivationPath(K.NetworkDerivationPath[K.Chain.Tron],{index:T})),f,H=!1;function U(){if(H)return Promise.resolve(f);return f=U0.match(y).with({phrase:U0.P.string},({phrase:Z})=>mX({derivationPath:C,phrase:Z})).with({signer:U0.P.not(U0.P.nullish)},({signer:Z})=>Z).otherwise(()=>{return}),H=!0,Promise.resolve(f)}async function q(){let Z=await U();if(!Z)throw new K.SwapKitError("toolbox_tron_no_signer");return Z.getAddress()}async function X(Z,_){let R=Z||Z8,F=_??(await p0()).energyFee,$=R*F,x=Math.ceil($*1.5);return Math.min(Math.max(x,1e7),150000000)}async function G({contractAddress:Z,functionSelector:_,parameter:R,sender:F,memo:$,expiration:x,extraEnergy:n=0}){let M=await HC({contractAddress:Z,functionSelector:_,parameter:R,sender:F}),I=await X(M+n),P=await q8({contractAddress:Z,feeLimit:I,functionSelector:_,ownerAddress:F,parameter:R});return L8({expiration:x,feeLimit:I,memo:$,transaction:P})}async function Q(Z){if(!my(Z))return[K.AssetValue.from({chain:K.Chain.Tron})];try{let _=await C8(Z);if(!_)return[K.AssetValue.from({chain:K.Chain.Tron})];let R=[K.AssetValue.from({chain:K.Chain.Tron,fromBaseDecimal:6,value:String(_.balance)})],F=_.trc20?.find(($)=>(UC in $));if(F){let $=F[UC];R.push(K.AssetValue.from({asset:`TRON.USDT-${UC}`,fromBaseDecimal:6,value:$}))}return R}catch(_){return K.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${_ instanceof Error?_.message:_}`}),[K.AssetValue.from({chain:K.Chain.Tron})]}}async function L({recipient:Z,assetValue:_,memo:R,expiration:F}){if(!my(Z))throw new K.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let $=await U();if(!$)throw new K.SwapKitError("toolbox_tron_no_signer");try{let x=await q(),n=await N({assetValue:_,expiration:F,memo:R,recipient:Z,sender:x}),M=await $.signTransaction(n),I=await K0(M);if(!I)throw new K.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return I}catch(x){throw new K.SwapKitError("toolbox_tron_token_transfer_failed",{message:x instanceof Error?x.message:String(x)})}}function z({requiredBandwidth:Z,resources:_,feePerUnit:R}){let F=Math.max(0,_.free+_.total-_.used);return Z>F?(Z-F)*R:0}async function Y({memo:Z,recipient:_,senderAddress:R}){let[F,$,x]=await Promise.all([p0(),l0(_),TC(R)]),n=$?0:F.createAccountFee,M=z({feePerUnit:F.bandwidthFee,requiredBandwidth:_8,resources:x.bandwidth}),I=Z?F.memoFee:0;return K.AssetValue.from({chain:K.Chain.Tron,fromBaseDecimal:K.BaseDecimal.TRON,value:n+M+I})}async function W({assetValue:Z,memo:_,recipient:R,senderAddress:F}){let $=Z.address;if(!$)throw new K.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Z.toString()});let[x,n,M,I]=await Promise.all([p0(),l0(R),TC(F),HC({contractAddress:$,functionSelector:"transfer(address,uint256)",parameter:C0([{type:"address",value:R},{type:"uint256",value:Z.getBaseValue("string")}]),sender:F})]),b=I+(n?0:CC),v=z({feePerUnit:x.bandwidthFee,requiredBandwidth:W8,resources:M.bandwidth}),t=Math.max(0,M.energy.total-M.energy.used),a=b>t?(b-t)*x.energyFee:0,_y=_?x.memoFee:0;return K.AssetValue.from({chain:K.Chain.Tron,fromBaseDecimal:K.BaseDecimal.TRON,value:v+a+_y})}async function B({assetValue:Z,memo:_,recipient:R}){let[F,$]=await Promise.all([p0(),l0(R)]);if(Z.isGasAsset){let I=$?0:F.createAccountFee,P=_?F.memoFee:0;return K.AssetValue.from({chain:K.Chain.Tron,fromBaseDecimal:K.BaseDecimal.TRON,value:I+_8*F.bandwidthFee+P})}let n=await X(Z8+($?0:CC),F.energyFee),M=_?F.memoFee:0;return K.AssetValue.from({chain:K.Chain.Tron,fromBaseDecimal:K.BaseDecimal.TRON,value:n+W8*F.bandwidthFee+M})}async function A({assetValue:Z,memo:_,recipient:R,sender:F}){let $=await U();try{let x=F?F:$?await q():void 0;if(!x)return B({assetValue:Z,memo:_,recipient:R});return Z.isGasAsset?Y({memo:_,recipient:R,senderAddress:x}):W({assetValue:Z,memo:_,recipient:R,senderAddress:x})}catch(x){throw K.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${x instanceof Error?x.message:x}`}),new K.SwapKitError("toolbox_fee_estimation_failed",{chain:K.Chain.Tron,error:x})}}async function N({recipient:Z,assetValue:_,memo:R,sender:F,expiration:$}){if(!my(Z)||!my(F))throw new K.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(_.isGasAsset){let M=await U8({amount:_.getBaseValue("number"),from:F,to:Z});return L8({expiration:$,memo:R,transaction:M})}let x=_.address;if(!x)throw new K.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:_.toString()});let n=await l0(Z);return G({contractAddress:x,expiration:$,extraEnergy:n?0:CC,functionSelector:"transfer(address,uint256)",memo:R,parameter:C0([{type:"address",value:Z},{type:"uint256",value:_.getBaseValue("string")}]),sender:F})}async function O(Z){H0(Z);let _=await U();if(!_)throw new K.SwapKitError("toolbox_tron_no_signer");return _.signTransaction(Z)}async function D(Z){let _=await O(Z);return K0(_)}function k({assetAddress:Z,spenderAddress:_,from:R}){return G8({assetAddress:Z,owner:R,spender:_})}async function w({assetAddress:Z,spenderAddress:_,from:R,amount:F}){let $=await k({assetAddress:Z,from:R,spenderAddress:_});if(!F)return $>0n;return $>=BigInt(F)}async function J({assetAddress:Z,spenderAddress:_,amount:R,from:F}){if(!my(Z)||!my(_))throw new K.SwapKitError("toolbox_tron_approve_failed");let $=await U();if(!$)throw new K.SwapKitError("toolbox_tron_no_signer");let x=F||await q(),n=R!==void 0?BigInt(R).toString():hX;try{let M=await G({contractAddress:Z,functionSelector:"approve(address,uint256)",parameter:C0([{type:"address",value:_},{type:"uint256",value:n}]),sender:x}),I=await $.signTransaction(M),P=await K0(I);if(!P)throw new K.SwapKitError("toolbox_tron_approve_failed");return P}catch(M){if(M instanceof K.SwapKitError)throw M;throw new K.SwapKitError("toolbox_tron_approve_failed",{error:M})}}return{approve:J,broadcastTransaction:K0,createTransaction:N,estimateTransactionFee:A,getAddress:q,getApprovedAmount:k,getBalance:Q,getRpcUrl:()=>K.getRPCUrl(K.Chain.Tron),isApproved:w,signAndBroadcastTransaction:D,signTransaction:O,transfer:L,validateAddress:my}}var Y8,J8,z8,K,U0,A8,_8=268,Z8=65000,CC=25000,W8=345,UC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",hX="115792089237316195423570985008687907853269984665640564039457584007913129639935";var R8=E(()=>{t2();Q8();fC();Y8=require("@noble/hashes/utils.js"),J8=require("@scure/bip32"),z8=require("@scure/bip39"),K=require("@swapkit/helpers"),U0=require("ts-pattern"),A8=my});var qC={};Dy(qC,{withTronTransactionValue:()=>B8,withTronTransactionData:()=>N8,validateTronAddress:()=>A8,getTronToolbox:()=>O8,getTronPrivateKeyFromMnemonic:()=>D8});module.exports=ky(qC);var XC=E(()=>{R8()});function q1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return tX.test(y)}function gX(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 cX(y){return gX(y)===504}function iX(y){return y.hash?.().toString("hex")}function dX(y){return[...new Set([y,...e.SKConfig.get("rpcUrls")[e.Chain.Stellar]])].filter(Boolean)}async function rX(y){if(!q1(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}function k8(y={}){let T,C=y.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],f=e.derivationPathToString(C.slice(0,3));async function H({phrase:O,path:D}){let{HDKey:k}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:w}=await import("@scure/bip39"),{Keypair:J}=await import("@stellar/stellar-sdk"),Z=w(O),R=k.fromMasterSeed(Z).derive(D,!0);return J.fromRawEd25519Seed(Buffer.from(R.privateKey))}async function U(){if(T)return T;let O=U1.match(y).with({phrase:U1.P.string},({phrase:D})=>D).otherwise(()=>{return});if(!O)throw new e.SwapKitError("toolbox_stellar_no_signer");return T=await H({path:f,phrase:O}),T}async function q(O){let{Horizon:D}=await import("@stellar/stellar-sdk"),k=O||await e.getRPCUrl(e.Chain.Stellar);return new D.Server(k)}async function X(O,D){for(let k of D)try{return(await(await q(k)).transactions().transaction(O).call()).hash||O}catch{}return}async function G(O,D){let k=await e.getRPCUrl(e.Chain.Stellar),w=dX(k),J=iX(O),Z;for(let _ of w)try{let R=await q(_),{hash:F}=await R.submitTransaction(O);return F}catch(R){if(Z=R,!cX(R))break;let F=J?await X(J,w):void 0;if(F)return F}throw new e.SwapKitError(D,Z)}async function Q(){try{return(await U()).publicKey()}catch{return""}}async function L(O){let D=O||await Q();if(!D)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await q()).loadAccount(D)).balances.map((J)=>{if(J.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:J.balance});let Z="asset_code"in J?J.asset_code:"",_="asset_issuer"in J?J.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${Z}-${_}`,asyncTokenLookup:!1,value:J.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function z({recipient:O,assetValue:D,memo:k,sender:w}){if(k){if(new TextEncoder().encode(k).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await rX(O))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let Z=w||await Q();if(!Z)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:_,Memo:R,Networks:F,Operation:$,TransactionBuilder:x}=await import("@stellar/stellar-sdk"),n=await q(),M=await n.fetchBaseFee(),I=await n.loadAccount(Z),P=new x(I,{fee:String(M),networkPassphrase:F.PUBLIC});if(D.isGasAsset)try{await n.loadAccount(O),P.addOperation($.payment({amount:D.getValue("string"),asset:_.native(),destination:O}))}catch{P.addOperation($.createAccount({destination:O,startingBalance:D.getValue("string")}))}else P.addOperation($.payment({amount:D.getValue("string"),asset:new _(D.symbol,D.address),destination:O}));if(k)P.addMemo(R.text(k));return P.setTimeout(30).build()}async function Y(O){let{TransactionBuilder:D,Networks:k}=await import("@stellar/stellar-sdk"),w=await U(),J=D.fromXDR(O.toXDR(),k.PUBLIC);return J.sign(w),J}function W(O){return G(O,"toolbox_stellar_broadcast_error")}async function B({recipient:O,assetValue:D,memo:k}){let w=await U(),J=w.publicKey(),Z=await z({assetValue:D,memo:k,recipient:O,sender:J});return Z.sign(w),G(Z,"toolbox_stellar_transaction_failed")}async function A(O){let D=await Y(O);return W(D)}async function N(){let{baseDecimal:O}=e.getChainConfig(e.Chain.Stellar);try{let w=(await(await q()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:O,value:w})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:O,value:"100"})}}return{broadcastTransaction:W,createTransaction:z,estimateTransactionFee:N,getAddress:Q,getBalance:L,signAndBroadcastTransaction:A,signTransaction:Y,transfer:B,validateAddress:q1}}var e,U1,tX;var w8=E(()=>{e=require("@swapkit/helpers"),U1=require("ts-pattern"),tX=/^G[A-Z2-7]{55}$/});var X1={};Dy(X1,{validateStellarAddress:()=>q1,getStellarToolbox:()=>k8});module.exports=ky(X1);var G1=E(()=>{w8()});var eX={};Dy(eX,{getToolbox:()=>GC,getFeeEstimator:()=>sX,getAddressValidator:()=>aX});module.exports=ky(eX);var l=require("@swapkit/helpers");async function aX(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:T}=await Promise.resolve().then(() => (h0(),u0)),{validateEVMAddress:C}=await Promise.resolve().then(() => (o1(),hC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (b1(),v1)),{getCosmosAddressValidator:H}=await Promise.resolve().then(() => (MT(),AT)),{validateHyperCoreAddress:U}=await Promise.resolve().then(() => (CH(),HH)),{validateSolanaAddress:q}=await Promise.resolve().then(() => (QH(),GH)),{validateStarknetAddress:X}=await Promise.resolve().then(() => ($T(),wT)),{validateSuiAddress:G}=await Promise.resolve().then(() => (nT(),ST)),{validateTonAddress:Q}=await Promise.resolve().then(() => (VT(),oT)),{getUTXOAddressValidator:L}=await Promise.resolve().then(() => (nH(),SH)),{validateNearAddress:z}=await Promise.resolve().then(() => (gH(),tH)),{validateRadixAddress:Y}=await Promise.resolve().then(() => (iH(),cH)),{validateRippleAddress:W}=await Promise.resolve().then(() => (rH(),dH)),{validateTronAddress:B}=await Promise.resolve().then(() => (XC(),qC)),{validateStellarAddress:A}=await Promise.resolve().then(() => (G1(),X1));return function({address:O,chain:D}){return y(D).with(...l.EVMChains,()=>C(O)).with(...l.UTXOChains,(w)=>{return L(w)(O)}).with(...l.CosmosChains,(w)=>{return H(w)(O)}).with(l.Chain.Aptos,()=>T(O)).with(l.Chain.Radix,()=>Y(O)).with(l.Chain.Hype,()=>U(O)).with(l.Chain.Near,()=>z(O)).with(l.Chain.Ripple,()=>W(O)).with(l.Chain.Solana,()=>q(O)).with(l.Chain.Stellar,()=>A(O)).with(l.Chain.Starknet,()=>X(O)).with(l.Chain.Sui,()=>G(O)).with(l.Chain.Ton,()=>Q(O)).with(l.Chain.Tron,()=>B(O)).with(l.Chain.Cardano,()=>f(O)).otherwise(()=>!1)}}function sX(y){return async function(C){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...l.EVMChains,async(H)=>{let U=await GC(H),q=await U.createTransaction(C),X="feeOptionKey"in C?C.feeOptionKey:l.FeeOption.Fast;return U.estimateTransactionFee({...q,feeOption:X})}).with(l.Chain.Bitcoin,l.Chain.BitcoinCash,l.Chain.Dogecoin,l.Chain.Dash,l.Chain.Litecoin,l.Chain.Solana,l.Chain.Ripple,l.Chain.Tron,l.Chain.Near,l.Chain.Cardano,l.Chain.Hype,async(H)=>{return(await GC(H)).estimateTransactionFee(C)}).with(l.Chain.Aptos,async()=>{let{getAptosToolbox:H}=await Promise.resolve().then(() => (h0(),u0));return H().estimateTransactionFee(C)}).with(l.Chain.Starknet,async()=>{let{getStarknetToolbox:H}=await Promise.resolve().then(() => ($T(),wT));return(await H()).estimateTransactionFee(C)}).with(l.Chain.Stellar,async()=>{let{getStellarToolbox:H}=await Promise.resolve().then(() => (G1(),X1));return H().estimateTransactionFee()}).with(l.Chain.Sui,async()=>{let{getSuiToolbox:H}=await Promise.resolve().then(() => (nT(),ST));return H().estimateTransactionFee(C)}).with(l.Chain.Ton,async()=>{let{getTONToolbox:H}=await Promise.resolve().then(() => (VT(),oT));return H().estimateTransactionFee(C)}).with(...l.CosmosChains,async()=>{let{estimateTransactionFee:H}=await Promise.resolve().then(() => (MT(),AT));return H(C)}).otherwise(async()=>l.AssetValue.from({chain:y}))}}async function GC(y,T){let{match:C}=await import("ts-pattern");return C(y).returnType().with(...l.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (P1(),pC));return await f(y,T)}).with(...l.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (nH(),SH));return f(y,T)}).with(...l.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (MT(),AT));return f(y,T)}).with(l.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (h0(),u0));return f(T)}).with(l.Chain.Hype,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (CH(),HH));return f(T)}).with(l.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (iH(),cH));return f(T)}).with(l.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (rH(),dH));return f(T)}).with(l.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (QH(),GH));return f(T)}).with(l.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (G1(),X1));return f(T)}).with(l.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => ($T(),wT));return f(T)}).with(l.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (nT(),ST));return f(T)}).with(l.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (XC(),qC));return f(T)}).with(l.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (gH(),tH));return f(T)}).with(l.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (b1(),v1));return f(T)}).with(l.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (VT(),oT));return f(T)}).otherwise(()=>{throw new l.SwapKitError("toolbox_not_supported",{chain:y})})}
|